1 |
|
2 |
|
3 | import { Volume } from './volume';
|
4 | import { EventEmitter } from 'events';
|
5 | import Stats from './Stats';
|
6 | export declare const SEP = "/";
|
7 |
|
8 |
|
9 |
|
10 | export declare class Node extends EventEmitter {
|
11 | ino: number;
|
12 | uid: number;
|
13 | gid: number;
|
14 | atime: Date;
|
15 | mtime: Date;
|
16 | ctime: Date;
|
17 | buf: Buffer;
|
18 | perm: number;
|
19 | mode: number;
|
20 | nlink: number;
|
21 | symlink: string[];
|
22 | constructor(ino: number, perm?: number);
|
23 | getString(encoding?: string): string;
|
24 | setString(str: string): void;
|
25 | getBuffer(): Buffer;
|
26 | setBuffer(buf: Buffer): void;
|
27 | getSize(): number;
|
28 | setModeProperty(property: number): void;
|
29 | setIsFile(): void;
|
30 | setIsDirectory(): void;
|
31 | setIsSymlink(): void;
|
32 | isFile(): boolean;
|
33 | isDirectory(): boolean;
|
34 | isSymlink(): boolean;
|
35 | makeSymlink(steps: string[]): void;
|
36 | write(buf: Buffer, off?: number, len?: number, pos?: number): number;
|
37 | read(buf: Buffer | Uint8Array, off?: number, len?: number, pos?: number): number;
|
38 | truncate(len?: number): void;
|
39 | chmod(perm: number): void;
|
40 | chown(uid: number, gid: number): void;
|
41 | touch(): void;
|
42 | canRead(uid?: number, gid?: number): boolean;
|
43 | canWrite(uid?: number, gid?: number): boolean;
|
44 | del(): void;
|
45 | toJSON(): {
|
46 | ino: number;
|
47 | uid: number;
|
48 | gid: number;
|
49 | atime: number;
|
50 | mtime: number;
|
51 | ctime: number;
|
52 | perm: number;
|
53 | mode: number;
|
54 | nlink: number;
|
55 | symlink: string[];
|
56 | data: string;
|
57 | };
|
58 | }
|
59 |
|
60 |
|
61 |
|
62 | export declare class Link extends EventEmitter {
|
63 | vol: Volume;
|
64 | parent: Link;
|
65 | children: {
|
66 | [child: string]: Link | undefined;
|
67 | };
|
68 | private _steps;
|
69 | node: Node;
|
70 | ino: number;
|
71 | length: number;
|
72 | name: string;
|
73 | get steps(): string[];
|
74 | set steps(val: string[]);
|
75 | constructor(vol: Volume, parent: Link, name: string);
|
76 | setNode(node: Node): void;
|
77 | getNode(): Node;
|
78 | createChild(name: string, node?: Node): Link;
|
79 | setChild(name: string, link?: Link): Link;
|
80 | deleteChild(link: Link): void;
|
81 | getChild(name: string): Link | undefined;
|
82 | getPath(): string;
|
83 | getName(): string;
|
84 | /**
|
85 | * Walk the tree path and return the `Link` at that location, if any.
|
86 | * @param steps {string[]} Desired location.
|
87 | * @param stop {number} Max steps to go into.
|
88 | * @param i {number} Current step in the `steps` array.
|
89 | *
|
90 | * @return {Link|null}
|
91 | */
|
92 | walk(steps: string[], stop?: number, i?: number): Link | null;
|
93 | toJSON(): {
|
94 | steps: string[];
|
95 | ino: number;
|
96 | children: string[];
|
97 | };
|
98 | syncSteps(): void;
|
99 | }
|
100 |
|
101 |
|
102 |
|
103 | export declare class File {
|
104 | fd: number;
|
105 | |
106 |
|
107 |
|
108 |
|
109 | link: Link;
|
110 | |
111 |
|
112 |
|
113 |
|
114 | node: Node;
|
115 | |
116 |
|
117 |
|
118 |
|
119 | position: number;
|
120 | flags: number;
|
121 | |
122 |
|
123 |
|
124 |
|
125 |
|
126 |
|
127 |
|
128 |
|
129 | constructor(link: Link, node: Node, flags: number, fd: number);
|
130 | getString(encoding?: string): string;
|
131 | setString(str: string): void;
|
132 | getBuffer(): Buffer;
|
133 | setBuffer(buf: Buffer): void;
|
134 | getSize(): number;
|
135 | truncate(len?: number): void;
|
136 | seekTo(position: number): void;
|
137 | stats(): Stats<number>;
|
138 | write(buf: Buffer, offset?: number, length?: number, position?: number): number;
|
139 | read(buf: Buffer | Uint8Array, offset?: number, length?: number, position?: number): number;
|
140 | chmod(perm: number): void;
|
141 | chown(uid: number, gid: number): void;
|
142 | }
|