workflow_node/node_sys/class/fs/
write_stream.rs1use crate::node_sys::interface::WritableStream;
2use js_sys::Function;
3use wasm_bindgen::{JsCast, prelude::*};
4
5#[wasm_bindgen(module = "fs")]
6extern "C" {
7 #[wasm_bindgen(extends = WritableStream)]
8 #[derive(Clone, Debug)]
9 pub type WriteStream;
10
11 #[wasm_bindgen(method, getter, js_name = "bytesWritten")]
16 pub fn bytes_written(this: &WriteStream) -> f64;
17
18 #[wasm_bindgen(method, getter)]
19 pub fn path(this: &WriteStream) -> JsValue; #[wasm_bindgen(method, getter)]
22 pub fn pending(this: &WriteStream) -> bool;
23}
24
25impl WriteStream {
34 pub fn add_listener_with_open(&self, listener: &Function) -> WriteStream {
35 self.add_listener("open", listener).unchecked_into()
36 }
37
38 pub fn add_listener_with_close(&self, listener: &Function) -> WriteStream {
39 self.add_listener("close", listener).unchecked_into()
40 }
41
42 pub fn on_with_open(&self, listener: &Function) -> WriteStream {
43 self.on("open", listener).unchecked_into()
44 }
45
46 pub fn on_with_close(&self, listener: &Function) -> WriteStream {
47 self.on("close", listener).unchecked_into()
48 }
49
50 pub fn once_with_open(&self, listener: &Function) -> WriteStream {
51 self.once("open", listener).unchecked_into()
52 }
53
54 pub fn once_with_close(&self, listener: &Function) -> WriteStream {
55 self.once("close", listener).unchecked_into()
56 }
57
58 pub fn prepend_listener_with_open(&self, listener: &Function) -> WriteStream {
59 self.prepend_listener("open", listener).unchecked_into()
60 }
61
62 pub fn prepend_listener_with_close(&self, listener: &Function) -> WriteStream {
63 self.prepend_listener("close", listener).unchecked_into()
64 }
65
66 pub fn prepend_once_listener_with_open(&self, listener: &Function) -> WriteStream {
67 self.prepend_once_listener("open", listener)
68 .unchecked_into()
69 }
70
71 pub fn prepend_once_listener_with_close(&self, listener: &Function) -> WriteStream {
72 self.prepend_once_listener("close", listener)
73 .unchecked_into()
74 }
75}