node_sys/class/fs/
stats.rs

1use js_sys::{Date, Object};
2use wasm_bindgen::prelude::*;
3
4#[wasm_bindgen(module = "fs")]
5extern {
6    #[wasm_bindgen(extends = Object)]
7    #[derive(Clone, Debug)]
8    pub type Stats;
9
10    //******************//
11    // Instance Methods //
12    //******************//
13
14    #[wasm_bindgen(method, js_name = "isBlockDevice")]
15    pub fn is_block_device(this: &Stats) -> bool;
16
17    #[wasm_bindgen(method, js_name = "isCharacterDevice")]
18    pub fn is_character_device(this: &Stats) -> bool;
19
20    #[wasm_bindgen(method, js_name = "isDirectory")]
21    pub fn is_directory(this: &Stats) -> bool;
22
23    #[wasm_bindgen(method, js_name = "isFIFO")]
24    pub fn is_fifo(this: &Stats) -> bool;
25
26    #[wasm_bindgen(method, js_name = "isFile")]
27    pub fn is_file(this: &Stats) -> bool;
28
29    #[wasm_bindgen(method, js_name = "isSocket")]
30    pub fn is_socket(this: &Stats) -> bool;
31
32    #[wasm_bindgen(method, js_name = "isSymbolicLink")]
33    pub fn is_symbolic_link(this: &Stats) -> bool;
34
35    //*********************//
36    // Instance Properties //
37    //*********************//
38
39    #[wasm_bindgen(method, getter)]
40    pub fn dev(this: &Stats) -> f64;
41
42    #[wasm_bindgen(method, getter)]
43    pub fn ino(this: &Stats) -> f64;
44
45    #[wasm_bindgen(method, getter)]
46    pub fn mode(this: &Stats) -> f64;
47
48    #[wasm_bindgen(method, getter)]
49    pub fn nlink(this: &Stats) -> f64;
50
51    #[wasm_bindgen(method, getter)]
52    pub fn uid(this: &Stats) -> f64;
53
54    #[wasm_bindgen(method, getter)]
55    pub fn gid(this: &Stats) -> f64;
56
57    #[wasm_bindgen(method, getter)]
58    pub fn rdev(this: &Stats) -> f64;
59
60    #[wasm_bindgen(method, getter)]
61    pub fn size(this: &Stats) -> f64;
62
63    #[wasm_bindgen(method, getter)]
64    pub fn blksize(this: &Stats) -> f64;
65
66    #[wasm_bindgen(method, getter)]
67    pub fn blocks(this: &Stats) -> f64;
68
69    #[wasm_bindgen(method, getter, js_name = "atimeMs")]
70    pub fn atime_ms(this: &Stats) -> f64;
71
72    #[wasm_bindgen(method, getter, js_name = "mtimeMs")]
73    pub fn mtime_ms(this: &Stats) -> f64;
74
75    #[wasm_bindgen(method, getter, js_name = "ctimeMs")]
76    pub fn ctime_ms(this: &Stats) -> f64;
77
78    #[wasm_bindgen(method, getter, js_name = "birthtimeMs")]
79    pub fn birthtime_ms(this: &Stats) -> f64;
80
81    // NOTE: requires bigint
82    #[wasm_bindgen(method, getter, js_name = "atimeNs")]
83    pub fn atime_ns(this: &Stats) -> u64;
84
85    // NOTE: requires bigint
86    #[wasm_bindgen(method, getter, js_name = "mtimeNs")]
87    pub fn mtime_ns(this: &Stats) -> u64;
88
89    // NOTE: requires bigint
90    #[wasm_bindgen(method, getter, js_name = "ctimeNs")]
91    pub fn ctime_ns(this: &Stats) -> u64;
92
93    // NOTE: requires bigint
94    #[wasm_bindgen(method, getter, js_name = "birthtimeNs")]
95    pub fn birthtime_ns(this: &Stats) -> u64;
96
97    #[wasm_bindgen(method, getter)]
98    pub fn atime(this: &Stats) -> Date;
99
100    #[wasm_bindgen(method, getter)]
101    pub fn mtime(this: &Stats) -> Date;
102
103    #[wasm_bindgen(method, getter)]
104    pub fn ctime(this: &Stats) -> Date;
105
106    #[wasm_bindgen(method, getter)]
107    pub fn birthtime(this: &Stats) -> Date;
108}