Skip to main content

workflow_node/node_sys/interface/
writable_stream.rs

1use crate::node_sys::class::EventEmitter;
2use js_sys::{Function, JsString, Uint8Array};
3use wasm_bindgen::prelude::*;
4
5#[wasm_bindgen]
6extern "C" {
7    #[wasm_bindgen(extends = EventEmitter)]
8    #[derive(Clone, Debug)]
9    pub type WritableStream;
10
11    //******************//
12    // Instance Methods //
13    //******************//
14
15    #[wasm_bindgen(method)]
16    fn end(this: &WritableStream, cb: Option<&Function>);
17
18    #[wasm_bindgen(method, js_name = "end")]
19    fn end_with_data(this: &WritableStream, buffer: &Uint8Array, cb: Option<&Function>);
20
21    #[wasm_bindgen(method, js_name = "end")]
22    fn end_with_string(
23        this: &WritableStream,
24        string: &JsString,
25        encoding: Option<&JsString>,
26        cb: Option<&Function>,
27    );
28
29    #[wasm_bindgen(method)]
30    fn write_with_data(this: &WritableStream, buffer: &Uint8Array, cb: Option<&Function>) -> bool;
31
32    #[wasm_bindgen(method)]
33    fn write_with_string(
34        this: &WritableStream,
35        string: &JsString,
36        encoding: Option<&JsString>,
37        cb: Option<&Function>,
38    ) -> bool;
39
40    //*********************//
41    // Instance Properties //
42    //*********************//
43
44    #[wasm_bindgen(method, getter)]
45    fn writeable(this: &WritableStream) -> bool;
46}