node_sys/class/fs/
read_stream.rs

1use crate::interface::ReadableStream;
2use js_sys::Function;
3use wasm_bindgen::{prelude::*, JsCast};
4
5#[wasm_bindgen(module = "fs")]
6extern {
7    #[wasm_bindgen(extends = ReadableStream)]
8    #[derive(Clone, Debug)]
9    pub type ReadStream;
10
11    //******************//
12    // Instance Methods //
13    //******************//
14
15    #[wasm_bindgen(method, getter, js_name = "bytesRead")]
16    pub fn bytes_read(this: &ReadStream) -> f64;
17
18    #[wasm_bindgen(method, getter)]
19    pub fn path(this: &ReadStream) -> JsValue; // Buffer | string
20
21    #[wasm_bindgen(method, getter)]
22    pub fn pending(this: &ReadStream) -> bool;
23}
24
25//******************************//
26// Instance Methods (Overloads) //
27//******************************//
28
29#[wasm_bindgen]
30impl ReadStream {
31    pub fn add_listener_with_open(&self, listener: &Function) -> ReadStream {
32        self.add_listener("open", listener).unchecked_into()
33    }
34
35    pub fn add_listener_with_close(&self, listener: &Function) -> ReadStream {
36        self.add_listener("close", listener).unchecked_into()
37    }
38
39    pub fn on_with_open(&self, listener: &Function) -> ReadStream {
40        self.on("open", listener).unchecked_into()
41    }
42
43    pub fn on_with_close(&self, listener: &Function) -> ReadStream {
44        self.on("close", listener).unchecked_into()
45    }
46
47    pub fn once_with_open(&self, listener: &Function) -> ReadStream {
48        self.once("open", listener).unchecked_into()
49    }
50
51    pub fn once_with_close(&self, listener: &Function) -> ReadStream {
52        self.once("close", listener).unchecked_into()
53    }
54
55    pub fn prepend_listener_with_open(&self, listener: &Function) -> ReadStream {
56        self.prepend_listener("open", listener).unchecked_into()
57    }
58
59    pub fn prepend_listener_with_close(&self, listener: &Function) -> ReadStream {
60        self.prepend_listener("close", listener).unchecked_into()
61    }
62
63    pub fn prepend_once_listener_with_open(&self, listener: &Function) -> ReadStream {
64        self.prepend_once_listener("open", listener).unchecked_into()
65    }
66
67    pub fn prepend_once_listener_with_close(&self, listener: &Function) -> ReadStream {
68        self.prepend_once_listener("close", listener).unchecked_into()
69    }
70}