pwd-fs 2.4.2 → 3.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/.travis.yml +2 -3
  2. package/appveyor.yml +2 -4
  3. package/lib/src/index.d.ts +4 -186
  4. package/lib/src/index.js +18 -294
  5. package/lib/src/powered-file-system.d.ts +156 -0
  6. package/lib/src/powered-file-system.js +264 -0
  7. package/lib/src/recurse-io-sync.d.ts +10 -5
  8. package/lib/src/recurse-io-sync.js +74 -69
  9. package/lib/src/recurse-io.d.ts +14 -6
  10. package/lib/src/recurse-io.js +164 -160
  11. package/lib/test/__fmock.d.ts +5 -0
  12. package/lib/test/__fmock.js +40 -0
  13. package/lib/test/append.spec.js +36 -77
  14. package/lib/test/bitmask.spec.js +14 -17
  15. package/lib/test/chmod.spec.js +42 -84
  16. package/lib/test/chown.spec.js +45 -71
  17. package/lib/test/constructor.spec.js +7 -10
  18. package/lib/test/copy.spec.js +53 -108
  19. package/lib/test/mkdir.spec.js +62 -119
  20. package/lib/test/read.spec.js +47 -78
  21. package/lib/test/readdir.spec.js +48 -90
  22. package/lib/test/remove.spec.js +44 -65
  23. package/lib/test/rename.spec.js +43 -75
  24. package/lib/test/stat.spec.js +50 -78
  25. package/lib/test/symlink.spec.js +51 -95
  26. package/lib/test/test.spec.js +37 -66
  27. package/lib/test/write.spec.js +52 -103
  28. package/package.json +8 -11
  29. package/readme.md +10 -21
  30. package/src/index.ts +4 -623
  31. package/src/powered-file-system.ts +527 -0
  32. package/src/recurse-io-sync.ts +77 -71
  33. package/src/recurse-io.ts +181 -176
  34. package/test/__fmock.ts +45 -0
  35. package/test/append.spec.ts +44 -98
  36. package/test/bitmask.spec.ts +14 -17
  37. package/test/chmod.spec.ts +45 -95
  38. package/test/chown.spec.ts +61 -93
  39. package/test/constructor.spec.ts +4 -7
  40. package/test/copy.spec.ts +72 -142
  41. package/test/mkdir.spec.ts +87 -153
  42. package/test/read.spec.ts +64 -103
  43. package/test/readdir.spec.ts +65 -113
  44. package/test/remove.spec.ts +58 -82
  45. package/test/rename.spec.ts +58 -96
  46. package/test/stat.spec.ts +68 -100
  47. package/test/symlink.spec.ts +74 -125
  48. package/test/test.spec.ts +51 -84
  49. package/test/write.spec.ts +68 -131
  50. package/tsconfig.json +14 -7
  51. package/lib/src/index.js.map +0 -1
  52. package/lib/src/recurse-io-sync.js.map +0 -1
  53. package/lib/src/recurse-io.js.map +0 -1
  54. package/lib/test/append.spec.js.map +0 -1
  55. package/lib/test/bitmask.spec.js.map +0 -1
  56. package/lib/test/chmod.spec.js.map +0 -1
  57. package/lib/test/chown.spec.js.map +0 -1
  58. package/lib/test/constructor.spec.js.map +0 -1
  59. package/lib/test/copy.spec.js.map +0 -1
  60. package/lib/test/mkdir.spec.js.map +0 -1
  61. package/lib/test/read.spec.js.map +0 -1
  62. package/lib/test/readdir.spec.js.map +0 -1
  63. package/lib/test/remove.spec.js.map +0 -1
  64. package/lib/test/rename.spec.js.map +0 -1
  65. package/lib/test/stat.spec.js.map +0 -1
  66. package/lib/test/symlink.spec.js.map +0 -1
  67. package/lib/test/test.spec.js.map +0 -1
  68. package/lib/test/write.spec.js.map +0 -1
package/.travis.yml CHANGED
@@ -1,10 +1,9 @@
1
1
  language: node_js
2
2
  node_js:
3
- - 8
4
- - 10
5
- - 12
6
3
  - 14
7
4
  - 16
5
+ - 18
6
+ - 20
8
7
  install:
9
8
  - yarn
10
9
  - yarn global add nyc coveralls
package/appveyor.yml CHANGED
@@ -1,15 +1,13 @@
1
1
  environment:
2
2
  matrix:
3
- - nodejs_version: 8
4
- - nodejs_version: 10
5
- - nodejs_version: 12
6
3
  - nodejs_version: 14
7
4
  - nodejs_version: 16
5
+ - nodejs_version: 18
6
+ - nodejs_version: 20
8
7
  install:
9
8
  - ps: Install-Product node $env:nodejs_version
10
9
  - npm config set loglevel warn
11
10
  - npm install --silent
12
- - npm install -g typescript
13
11
  test_script:
14
12
  - npm run build
15
13
  - npm test
@@ -1,186 +1,4 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import fs from 'fs';
4
- export declare type Mode = 'e' | 'r' | 'w' | 'x';
5
- export declare type Flag = Mode | 'a';
6
- export interface Constants {
7
- e: number;
8
- r: number;
9
- w: number;
10
- x: number;
11
- }
12
- export default class PoweredFileSystem {
13
- readonly pwd: string;
14
- readonly constants: Constants;
15
- constructor(pwd?: string);
16
- test(src: string, options: {
17
- sync: true;
18
- resolve?: boolean;
19
- flag?: Mode;
20
- }): boolean;
21
- test(src: string, options?: {
22
- sync?: false;
23
- resolve?: boolean;
24
- flag?: Mode;
25
- }): Promise<boolean>;
26
- stat(src: string, options: {
27
- sync: true;
28
- resolve?: boolean;
29
- }): fs.Stats;
30
- stat(src: string, options?: {
31
- sync?: false;
32
- resolve?: boolean;
33
- }): Promise<fs.Stats>;
34
- chmod(src: string, mode: number, options: {
35
- sync: true;
36
- resolve?: boolean;
37
- }): void;
38
- chmod(src: string, mode: number, options?: {
39
- sync?: false;
40
- resolve?: boolean;
41
- }): Promise<void>;
42
- chown(src: string, uid: number, gid: number, options: {
43
- sync: true;
44
- resolve?: boolean;
45
- }): void;
46
- chown(src: string, uid: number, gid: number, options?: {
47
- sync?: false;
48
- resolve?: boolean;
49
- }): Promise<void>;
50
- symlink(src: string, use: string, options: {
51
- sync: true;
52
- resolve?: boolean;
53
- }): void;
54
- symlink(src: string, use: string, options?: {
55
- sync?: false;
56
- resolve?: boolean;
57
- }): Promise<void>;
58
- copy(src: string, dir: string, options: {
59
- sync: true;
60
- resolve?: boolean;
61
- umask?: number;
62
- }): void;
63
- copy(src: string, dir: string, options?: {
64
- sync?: false;
65
- resolve?: boolean;
66
- umask?: number;
67
- }): Promise<void>;
68
- rename(src: string, use: string, options: {
69
- sync: true;
70
- resolve?: boolean;
71
- }): void;
72
- rename(src: string, use: string, options?: {
73
- sync?: false;
74
- resolve?: boolean;
75
- }): Promise<void>;
76
- remove(src: string, options: {
77
- sync: true;
78
- resolve?: boolean;
79
- }): void;
80
- remove(src: string, options?: {
81
- sync?: false;
82
- resolve?: boolean;
83
- }): Promise<void>;
84
- read(src: string, options: {
85
- sync: true;
86
- resolve?: boolean;
87
- encoding?: BufferEncoding;
88
- flag?: Flag;
89
- }): string;
90
- read(src: string, options: {
91
- sync: true;
92
- resolve?: boolean;
93
- encoding?: null;
94
- flag?: Flag;
95
- }): Buffer;
96
- read(src: string, options: {
97
- sync?: false;
98
- resolve?: boolean;
99
- encoding: null;
100
- flag?: Flag;
101
- }): Promise<Buffer>;
102
- read(src: string, options?: {
103
- sync?: false;
104
- resolve?: boolean;
105
- encoding?: BufferEncoding;
106
- flag?: Flag;
107
- }): Promise<string>;
108
- write(src: string, data: Buffer, options: {
109
- sync: true;
110
- resolve?: boolean;
111
- encoding: null;
112
- umask?: number;
113
- flag?: Flag;
114
- }): void;
115
- write(src: string, data: string, options: {
116
- sync: true;
117
- resolve?: boolean;
118
- encoding?: BufferEncoding;
119
- umask?: number;
120
- flag?: Flag;
121
- }): void;
122
- write(src: string, data: Buffer, options: {
123
- sync?: false;
124
- resolve?: boolean;
125
- encoding: null;
126
- umask?: number;
127
- flag?: Flag;
128
- }): Promise<void>;
129
- write(src: string, data: string, options?: {
130
- sync?: false;
131
- resolve?: boolean;
132
- encoding?: BufferEncoding;
133
- umask?: number;
134
- flag?: Flag;
135
- }): Promise<void>;
136
- append(src: string, data: Buffer, options: {
137
- sync: true;
138
- resolve?: boolean;
139
- encoding: null;
140
- umask?: number;
141
- flag?: Flag;
142
- }): void;
143
- append(src: string, data: string, options: {
144
- sync: true;
145
- resolve?: boolean;
146
- encoding?: BufferEncoding;
147
- umask?: number;
148
- flag?: Flag;
149
- }): void;
150
- append(src: string, data: Buffer, options: {
151
- sync?: false;
152
- resolve?: boolean;
153
- encoding: null;
154
- umask?: number;
155
- flag?: Flag;
156
- }): Promise<void>;
157
- append(src: string, data: string, options?: {
158
- sync?: false;
159
- resolve?: boolean;
160
- encoding?: BufferEncoding;
161
- umask?: number;
162
- flag?: Flag;
163
- }): Promise<void>;
164
- readdir(dir: string, options: {
165
- sync: true;
166
- resolve?: boolean;
167
- encoding?: BufferEncoding | null;
168
- }): string[];
169
- readdir(dir: string, options?: {
170
- sync?: false;
171
- resolve?: boolean;
172
- encoding?: BufferEncoding | null;
173
- }): Promise<string[]>;
174
- mkdir(dir: string, options: {
175
- sync: true;
176
- resolve?: boolean;
177
- umask?: number;
178
- }): void;
179
- mkdir(dir: string, options?: {
180
- sync?: false;
181
- resolve?: boolean;
182
- umask?: number;
183
- }): Promise<void>;
184
- private resolve;
185
- static bitmask(mode: number): number;
186
- }
1
+ import { PoweredFileSystem } from './powered-file-system';
2
+ export declare const pfs: PoweredFileSystem;
3
+ export default PoweredFileSystem;
4
+ export * from './powered-file-system';
package/lib/src/index.js CHANGED
@@ -1,297 +1,21 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
4
15
  };
5
16
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const fs_1 = __importDefault(require("fs"));
7
- const path_1 = __importDefault(require("path"));
8
- const recurse_io_1 = __importDefault(require("./recurse-io"));
9
- const recurse_io_sync_1 = __importDefault(require("./recurse-io-sync"));
10
- class PoweredFileSystem {
11
- constructor(pwd) {
12
- this.pwd = process.cwd();
13
- this.constants = {
14
- e: fs_1.default.constants.F_OK,
15
- r: fs_1.default.constants.R_OK,
16
- w: fs_1.default.constants.W_OK,
17
- x: fs_1.default.constants.X_OK
18
- };
19
- if (pwd) {
20
- this.pwd = path_1.default.resolve(pwd);
21
- }
22
- }
23
- test(src, { sync = false, resolve = true, flag = 'e' } = {}) {
24
- const mode = this.constants[flag];
25
- if (resolve) {
26
- src = path_1.default.resolve(this.pwd, src);
27
- }
28
- if (sync) {
29
- return fs_1.default.existsSync(src);
30
- }
31
- return new Promise((resolve) => {
32
- fs_1.default.access(src, mode, (err) => {
33
- if (err) {
34
- return resolve(false);
35
- }
36
- resolve(true);
37
- });
38
- });
39
- }
40
- stat(src, { sync = false, resolve = true } = {}) {
41
- if (resolve) {
42
- src = this.resolve(src);
43
- }
44
- if (sync) {
45
- return fs_1.default.lstatSync(src);
46
- }
47
- return new Promise((resolve, reject) => {
48
- fs_1.default.lstat(src, (err, stats) => {
49
- if (err) {
50
- return reject(err);
51
- }
52
- resolve(stats);
53
- });
54
- });
55
- }
56
- chmod(src, mode, { sync = false, resolve = true } = {}) {
57
- if (resolve) {
58
- src = this.resolve(src);
59
- }
60
- if (sync) {
61
- return recurse_io_sync_1.default.chmod(src, mode);
62
- }
63
- return new Promise((resolve, reject) => {
64
- recurse_io_1.default.chmod(src, mode, (err) => {
65
- if (err) {
66
- return reject(err);
67
- }
68
- resolve();
69
- });
70
- });
71
- }
72
- chown(src, uid, gid, { sync = false, resolve = true } = {}) {
73
- if (resolve) {
74
- src = this.resolve(src);
75
- }
76
- if (sync) {
77
- return recurse_io_sync_1.default.chown(src, uid, gid);
78
- }
79
- return new Promise((resolve, reject) => {
80
- recurse_io_1.default.chown(src, uid, gid, (err) => {
81
- if (err) {
82
- return reject(err);
83
- }
84
- resolve();
85
- });
86
- });
87
- }
88
- symlink(src, use, { sync = false, resolve = true } = {}) {
89
- if (resolve) {
90
- src = this.resolve(src);
91
- use = this.resolve(use);
92
- }
93
- if (sync) {
94
- return fs_1.default.symlinkSync(src, use);
95
- }
96
- return new Promise((resolve, reject) => {
97
- fs_1.default.symlink(src, use, (err) => {
98
- if (err) {
99
- return reject(err);
100
- }
101
- resolve();
102
- });
103
- });
104
- }
105
- copy(src, dir, { sync = false, resolve = true, umask = 0o000 } = {}) {
106
- if (resolve) {
107
- src = this.resolve(src);
108
- dir = this.resolve(dir);
109
- }
110
- if (sync) {
111
- return recurse_io_sync_1.default.copy(src, dir, umask);
112
- }
113
- return new Promise((resolve, reject) => {
114
- recurse_io_1.default.copy(src, dir, umask, (err) => {
115
- if (err) {
116
- return reject(err);
117
- }
118
- resolve();
119
- });
120
- });
121
- }
122
- rename(src, use, { sync = false, resolve = true } = {}) {
123
- if (resolve) {
124
- src = this.resolve(src);
125
- use = this.resolve(use);
126
- }
127
- if (sync) {
128
- return fs_1.default.renameSync(src, use);
129
- }
130
- return new Promise((resolve, reject) => {
131
- fs_1.default.rename(src, use, (err) => {
132
- if (err) {
133
- return reject(err);
134
- }
135
- resolve();
136
- });
137
- });
138
- }
139
- remove(src, { sync = false, resolve = true } = {}) {
140
- if (resolve) {
141
- src = this.resolve(src);
142
- }
143
- if (sync) {
144
- return recurse_io_sync_1.default.remove(src);
145
- }
146
- return new Promise((resolve, reject) => {
147
- recurse_io_1.default.remove(src, (err) => {
148
- if (err) {
149
- return reject(err);
150
- }
151
- resolve();
152
- });
153
- });
154
- }
155
- read(src, { sync = false, resolve = true, encoding = 'utf8', flag = 'r' } = {}) {
156
- if (resolve) {
157
- src = this.resolve(src);
158
- }
159
- if (sync) {
160
- return fs_1.default.readFileSync(src, {
161
- encoding,
162
- flag
163
- });
164
- }
165
- return new Promise((resolve, reject) => {
166
- fs_1.default.readFile(src, {
167
- encoding,
168
- flag
169
- }, (err, raw) => {
170
- if (err) {
171
- return reject(err);
172
- }
173
- resolve(raw);
174
- });
175
- });
176
- }
177
- write(src, data, { sync = false, resolve = true, encoding = 'utf8', umask = 0o000, flag = 'w' } = {}) {
178
- if (resolve) {
179
- src = this.resolve(src);
180
- }
181
- const mode = 0o666 - umask;
182
- if (sync) {
183
- return fs_1.default.writeFileSync(src, data, {
184
- encoding,
185
- mode,
186
- flag
187
- });
188
- }
189
- return new Promise((resolve, reject) => {
190
- fs_1.default.writeFile(src, data, {
191
- encoding,
192
- mode,
193
- flag
194
- }, (err) => {
195
- if (err) {
196
- return reject(err);
197
- }
198
- resolve();
199
- });
200
- });
201
- }
202
- append(src, data, { sync = false, resolve = true, encoding = 'utf8', umask = 0o000, flag = 'a' } = {}) {
203
- if (resolve) {
204
- src = this.resolve(src);
205
- }
206
- const mode = 0o666 - umask;
207
- if (sync) {
208
- return fs_1.default.appendFileSync(src, data, {
209
- encoding,
210
- mode,
211
- flag
212
- });
213
- }
214
- return new Promise((resolve, reject) => {
215
- fs_1.default.appendFile(src, data, {
216
- encoding,
217
- mode,
218
- flag
219
- }, (err) => {
220
- if (err) {
221
- return reject(err);
222
- }
223
- resolve();
224
- });
225
- });
226
- }
227
- readdir(dir, { sync = false, resolve = true, encoding = 'utf8' } = {}) {
228
- if (resolve) {
229
- dir = this.resolve(dir);
230
- }
231
- if (sync) {
232
- return fs_1.default.readdirSync(dir, {
233
- encoding
234
- });
235
- }
236
- return new Promise((resolve, reject) => {
237
- fs_1.default.readdir(dir, { encoding }, (err, list) => {
238
- if (err) {
239
- return reject(err);
240
- }
241
- resolve(list);
242
- });
243
- });
244
- }
245
- mkdir(dir, { umask = 0o000, resolve = true, sync = false } = {}) {
246
- if (resolve) {
247
- dir = this.resolve(dir);
248
- }
249
- if (sync) {
250
- return recurse_io_sync_1.default.mkdir(dir, umask);
251
- }
252
- return new Promise((resolve, reject) => {
253
- recurse_io_1.default.mkdir(dir, umask, (err) => {
254
- if (err) {
255
- return reject(err);
256
- }
257
- resolve();
258
- });
259
- });
260
- }
261
- resolve(src) {
262
- return path_1.default.resolve(this.pwd, src);
263
- }
264
- static bitmask(mode) {
265
- let umask = 0o000;
266
- if (mode & 256) {
267
- umask += 0o400;
268
- }
269
- if (mode & 128) {
270
- umask += 0o200;
271
- }
272
- if (mode & 64) {
273
- umask += 0o100;
274
- }
275
- if (mode & 32) {
276
- umask += 0o040;
277
- }
278
- if (mode & 16) {
279
- umask += 0o020;
280
- }
281
- if (mode & 8) {
282
- umask += 0o010;
283
- }
284
- if (mode & 4) {
285
- umask += 0o004;
286
- }
287
- if (mode & 2) {
288
- umask += 0o002;
289
- }
290
- if (mode & 1) {
291
- umask += 0o001;
292
- }
293
- return umask;
294
- }
295
- }
296
- exports.default = PoweredFileSystem;
297
- module.exports = PoweredFileSystem;
17
+ exports.pfs = void 0;
18
+ const powered_file_system_1 = require("./powered-file-system");
19
+ exports.pfs = new powered_file_system_1.PoweredFileSystem();
20
+ exports.default = powered_file_system_1.PoweredFileSystem;
21
+ __exportStar(require("./powered-file-system"), exports);
@@ -0,0 +1,156 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import fs from 'node:fs';
4
+ export type Mode = keyof IConstants;
5
+ export type Flag = Mode | 'a';
6
+ export type Stats = fs.Stats;
7
+ export interface IConstants {
8
+ e: number;
9
+ r: number;
10
+ w: number;
11
+ x: number;
12
+ }
13
+ export declare function bitmask(mode: number): number;
14
+ export declare class PoweredFileSystem {
15
+ readonly pwd: string;
16
+ readonly constants: IConstants;
17
+ static bitmask: typeof bitmask;
18
+ constructor(pwd?: string);
19
+ private resolve;
20
+ test(src: string, options: {
21
+ sync: true;
22
+ flag?: Mode;
23
+ }): boolean;
24
+ test(src: string, options?: {
25
+ sync?: false;
26
+ flag?: Mode;
27
+ }): Promise<boolean>;
28
+ stat(src: string, options: {
29
+ sync: true;
30
+ }): Stats;
31
+ stat(src: string, options?: {
32
+ sync?: false;
33
+ }): Promise<Stats>;
34
+ chmod(src: string, mode: number, options: {
35
+ sync: true;
36
+ }): void;
37
+ chmod(src: string, mode: number, options?: {
38
+ sync?: false;
39
+ }): Promise<void>;
40
+ chown(src: string, uid: number, gid: number, options: {
41
+ sync: true;
42
+ }): void;
43
+ chown(src: string, uid: number, gid: number, options?: {
44
+ sync?: false;
45
+ }): Promise<void>;
46
+ symlink(src: string, use: string, options: {
47
+ sync: true;
48
+ }): void;
49
+ symlink(src: string, use: string, options?: {
50
+ sync?: false;
51
+ }): Promise<void>;
52
+ copy(src: string, dir: string, options: {
53
+ sync: true;
54
+ umask?: number;
55
+ }): void;
56
+ copy(src: string, dir: string, options?: {
57
+ sync?: false;
58
+ umask?: number;
59
+ }): Promise<void>;
60
+ rename(src: string, use: string, options: {
61
+ sync: true;
62
+ }): void;
63
+ rename(src: string, use: string, options?: {
64
+ sync?: false;
65
+ }): Promise<void>;
66
+ remove(src: string, options: {
67
+ sync: true;
68
+ }): void;
69
+ remove(src: string, options?: {
70
+ sync?: false;
71
+ }): Promise<void>;
72
+ read(src: string, options: {
73
+ sync: true;
74
+ encoding?: BufferEncoding;
75
+ flag?: Flag;
76
+ }): string;
77
+ read(src: string, options: {
78
+ sync: true;
79
+ encoding?: null;
80
+ flag?: Flag;
81
+ }): Buffer;
82
+ read(src: string, options: {
83
+ sync?: false;
84
+ encoding: null;
85
+ flag?: Flag;
86
+ }): Promise<Buffer>;
87
+ read(src: string, options?: {
88
+ sync?: false;
89
+ encoding?: BufferEncoding;
90
+ flag?: Flag;
91
+ }): Promise<string>;
92
+ write(src: string, data: Buffer, options: {
93
+ sync: true;
94
+ encoding: null;
95
+ umask?: number;
96
+ flag?: Flag;
97
+ }): void;
98
+ write(src: string, data: string, options: {
99
+ sync: true;
100
+ encoding?: BufferEncoding;
101
+ umask?: number;
102
+ flag?: Flag;
103
+ }): void;
104
+ write(src: string, data: Buffer, options: {
105
+ sync?: false;
106
+ encoding: null;
107
+ umask?: number;
108
+ flag?: Flag;
109
+ }): Promise<void>;
110
+ write(src: string, data: string, options?: {
111
+ sync?: false;
112
+ encoding?: BufferEncoding;
113
+ umask?: number;
114
+ flag?: Flag;
115
+ }): Promise<void>;
116
+ append(src: string, data: Buffer, options: {
117
+ sync: true;
118
+ encoding: null;
119
+ umask?: number;
120
+ flag?: Flag;
121
+ }): void;
122
+ append(src: string, data: string, options: {
123
+ sync: true;
124
+ encoding?: BufferEncoding;
125
+ umask?: number;
126
+ flag?: Flag;
127
+ }): void;
128
+ append(src: string, data: Buffer, options: {
129
+ sync?: false;
130
+ encoding: null;
131
+ umask?: number;
132
+ flag?: Flag;
133
+ }): Promise<void>;
134
+ append(src: string, data: string, options?: {
135
+ sync?: false;
136
+ encoding?: BufferEncoding;
137
+ umask?: number;
138
+ flag?: Flag;
139
+ }): Promise<void>;
140
+ readdir(dir: string, options: {
141
+ sync: true;
142
+ encoding?: BufferEncoding | null;
143
+ }): string[];
144
+ readdir(dir: string, options?: {
145
+ sync?: false;
146
+ encoding?: BufferEncoding | null;
147
+ }): Promise<string[]>;
148
+ mkdir(dir: string, options: {
149
+ sync: true;
150
+ umask?: number;
151
+ }): void;
152
+ mkdir(dir: string, options?: {
153
+ sync?: false;
154
+ umask?: number;
155
+ }): Promise<void>;
156
+ }