document rust api

This commit is contained in:
Robin Appelman 2022-10-23 20:28:48 +02:00
commit e7bbd1c090
4 changed files with 26 additions and 6 deletions

View file

@ -1 +1,21 @@
# Demo editor
## Rust api
```rust
use edit::{edit, EditOptions, TickRange};
fn main() {
let options = EditOptions {
unlock_pov: true,
cut: Some(TickRange {
from: 1000.into(),
to: 2000.into(),
}),
..EditOptions::default()
};
let input = fs::read("in.demo").unwrap();
let output = edit(&input, options);
fs::write("out.dem", output).unwrap();
}
```

View file

@ -10,5 +10,5 @@ export interface TickRange {
export async function edit(bytes: Uint8Array, options: EditOptions): Promise<Uint8Array> {
let m = await import(/* webpackChunkName: "demos-tf-edit" */ "../pkg/index.js");
return m.edit(bytes, options);
return m.edit_js(bytes, options);
}

View file

@ -1,5 +1,5 @@
use clap::Parser;
use edit::{edit_inner, EditOptions, TickRange};
use edit::{edit, EditOptions, TickRange};
use std::fs;
#[derive(Parser, Debug)]
@ -33,6 +33,6 @@ fn main() {
let args: Args = Args::parse();
let options = args.get_options();
let file = fs::read(&args.path).unwrap();
let output = edit_inner(&file, options);
let output = edit(&file, options);
fs::write("out.dem", output).unwrap();
}

View file

@ -36,13 +36,13 @@ fn set_panic_hook() {
}
#[wasm_bindgen]
pub fn edit(input: &[u8], options: JsValue) -> Vec<u8> {
pub fn edit_js(input: &[u8], options: JsValue) -> Vec<u8> {
set_panic_hook();
let options: EditOptions = serde_wasm_bindgen::from_value(options).expect("invalid options");
edit_inner(input, options)
edit(input, options)
}
pub fn edit_inner(input: &[u8], options: EditOptions) -> Vec<u8> {
pub fn edit(input: &[u8], options: EditOptions) -> Vec<u8> {
if options.cut.is_some() {
cut(input, options)
} else {