mirror of
https://codeberg.org/demostf/edit.git
synced 2026-06-03 11:54:07 +02:00
document rust api
This commit is contained in:
parent
06baf1b809
commit
e7bbd1c090
4 changed files with 26 additions and 6 deletions
20
README.md
20
README.md
|
|
@ -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();
|
||||
}
|
||||
```
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue