async-file-tried 1.0.0

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.
package/dist/index.js ADDED
@@ -0,0 +1,417 @@
1
+ import * as path from 'node:path';
2
+ import * as fsp from 'node:fs/promises';
3
+ import * as fsNormal from 'node:fs';
4
+ import { fileURLToPath } from 'node:url';
5
+ /****************************************
6
+ * Helpers
7
+ ****************************************/
8
+ /**
9
+ *
10
+ * @param filePath
11
+ * @returns {*}
12
+ */
13
+ const __resolvePath = (filePath) => {
14
+ return Array.isArray(filePath)
15
+ ? path.join(...filePath)
16
+ : filePath;
17
+ };
18
+ /** asyncHandler
19
+ *
20
+ * @param func
21
+ * @returns {Promise<*[]>}
22
+ */
23
+ const asyncHandler = async (func) => {
24
+ try {
25
+ return [await func(), null];
26
+ }
27
+ catch (error) {
28
+ return [null, error];
29
+ }
30
+ };
31
+ /****************************************
32
+ * fs interface
33
+ ****************************************/
34
+ /** access
35
+ *
36
+ * @param path
37
+ * @param mode
38
+ * @returns {Promise<*[]>}
39
+ */
40
+ const access = async (path, mode) => {
41
+ const pathResolved = __resolvePath(path);
42
+ return await asyncHandler(() => fsp.access(pathResolved, mode));
43
+ };
44
+ /** appendFile
45
+ *
46
+ * @param path
47
+ * @param data
48
+ * @param options
49
+ * @returns {Promise<*[]>}
50
+ */
51
+ const appendFile = async (path, data, options) => {
52
+ const pathResolved = __resolvePath(path);
53
+ return await asyncHandler(() => fsp.appendFile(pathResolved, data, options));
54
+ };
55
+ /** chmod
56
+ *
57
+ * @param path
58
+ * @param mode
59
+ * @returns {Promise<*[]>}
60
+ */
61
+ const chmod = async (path, mode) => {
62
+ const pathResolved = __resolvePath(path);
63
+ return await asyncHandler(() => fsp.chmod(pathResolved, mode));
64
+ };
65
+ /** chown
66
+ *
67
+ * @param path
68
+ * @param uid
69
+ * @param gid
70
+ * @returns {Promise<*[]>}
71
+ */
72
+ const chown = async (path, uid, gid) => {
73
+ const pathResolved = __resolvePath(path);
74
+ return await asyncHandler(() => fsp.chown(pathResolved, uid, gid));
75
+ };
76
+ /** copyFile
77
+ *
78
+ * @param srcPath
79
+ * @param destPath
80
+ * @param flags
81
+ * @returns {Promise<*[]>}
82
+ */
83
+ const copyFile = async (srcPath, destPath, flags) => {
84
+ const srcPathResolved = __resolvePath(srcPath);
85
+ const destPathResolved = __resolvePath(destPath);
86
+ return await asyncHandler(() => fsp.copyFile(srcPathResolved, destPathResolved, flags));
87
+ };
88
+ /** cp
89
+ *
90
+ * @param srcPath
91
+ * @param destPath
92
+ * @returns {Promise<*[]>}
93
+ */
94
+ const cp = async (srcPath, destPath, options) => {
95
+ const srcPathResolved = __resolvePath(srcPath);
96
+ const destPathResolved = __resolvePath(destPath);
97
+ return await asyncHandler(() => fsp.cp(srcPathResolved, destPathResolved, options));
98
+ };
99
+ /** lchmod
100
+ *
101
+ * @param path
102
+ * @param mode
103
+ * @returns {Promise<*[]>}
104
+ */
105
+ const lchmod = async (path, mode) => {
106
+ const pathResolved = __resolvePath(path);
107
+ return await asyncHandler(() => fsp.lchmod(pathResolved, mode));
108
+ };
109
+ /** lchown
110
+ *
111
+ * @param path
112
+ * @param mode
113
+ * @returns {Promise<*[]>}
114
+ */
115
+ const lchown = async (path, uid, gid) => {
116
+ const pathResolved = __resolvePath(path);
117
+ return await asyncHandler(() => fsp.lchown(pathResolved, uid, gid));
118
+ };
119
+ /** link
120
+ *
121
+ * @param existingPath
122
+ * @param newPath
123
+ * @returns {Promise<*[]>}
124
+ */
125
+ const link = async (existingPath, newPath) => {
126
+ const existingPathResolved = __resolvePath(existingPath);
127
+ const newPathResolved = __resolvePath(newPath);
128
+ return await asyncHandler(() => fsp.link(existingPathResolved, newPathResolved));
129
+ };
130
+ /** lstat
131
+ *
132
+ * @param path
133
+ * @param options
134
+ * @returns {Promise<*[]>}
135
+ */
136
+ const lstat = async (path, options) => {
137
+ const pathResolved = __resolvePath(path);
138
+ return await asyncHandler(() => fsp.lstat(pathResolved, options));
139
+ };
140
+ /** lutimes
141
+ *
142
+ * @param path
143
+ * @param atime
144
+ * @param mtime
145
+ * @returns {Promise<*[]>}
146
+ */
147
+ const lutimes = async (path, atime, mtime) => {
148
+ const pathResolved = __resolvePath(path);
149
+ return await asyncHandler(() => fsp.lutimes(pathResolved, atime, mtime));
150
+ };
151
+ /** mkdir
152
+ *
153
+ * @param path
154
+ * @param options
155
+ * @returns {Promise<*[]>}
156
+ */
157
+ const mkdir = async (path, options) => {
158
+ const pathResolved = __resolvePath(path);
159
+ return await asyncHandler(() => fsp.mkdir(pathResolved, options));
160
+ };
161
+ /**
162
+ *
163
+ * @param prefix
164
+ * @param options
165
+ * @returns {Promise<*[]>}
166
+ */
167
+ const mkdtemp = async (prefix, encoding) => {
168
+ return await asyncHandler(() => fsp.mkdtemp(prefix, encoding));
169
+ };
170
+ /** open
171
+ *
172
+ * @param path
173
+ * @param flags
174
+ * @param mode
175
+ * @returns {Promise<*[]>}
176
+ */
177
+ const open = async (path, flags, mode) => {
178
+ const pathResolved = __resolvePath(path);
179
+ return await asyncHandler(() => fsp.open(pathResolved, flags, mode));
180
+ };
181
+ /** opendir
182
+ *
183
+ * @param path
184
+ * @param options
185
+ * @returns {Promise<*[]>}
186
+ */
187
+ const opendir = async (path, options) => {
188
+ const pathResolved = __resolvePath(path);
189
+ return await asyncHandler(() => fsp.opendir(pathResolved, options));
190
+ };
191
+ /** readFile
192
+ *
193
+ * @param path
194
+ * @param options
195
+ * @returns {Promise<*[]>}
196
+ */
197
+ const readFile = async (path, options) => {
198
+ const pathResolved = __resolvePath(path);
199
+ return await asyncHandler(() => fsp.readFile(pathResolved, options));
200
+ };
201
+ /** readdir
202
+ *
203
+ * @param path
204
+ * @param options
205
+ * @returns {Promise<*[]>}
206
+ */
207
+ const readdir = async (path, options) => {
208
+ const pathResolved = __resolvePath(path);
209
+ return await asyncHandler(() => fsp.readdir(pathResolved, options));
210
+ };
211
+ /** readlink
212
+ *
213
+ * @param path
214
+ * @param options
215
+ * @returns {Promise<*[]>}
216
+ */
217
+ const readlink = async (path, options) => {
218
+ const pathResolved = __resolvePath(path);
219
+ return await asyncHandler(() => fsp.readlink(pathResolved, options));
220
+ };
221
+ /** realpath
222
+ *
223
+ * @param path
224
+ * @param options
225
+ * @returns {Promise<*[]>}
226
+ */
227
+ const realpath = async (path, options) => {
228
+ const pathResolved = __resolvePath(path);
229
+ return await asyncHandler(() => fsp.realpath(pathResolved, options));
230
+ };
231
+ /** rename
232
+ *
233
+ * @param oldPath
234
+ * @param newPath
235
+ * @returns {Promise<*[]>}
236
+ */
237
+ const rename = async (oldPath, newPath) => {
238
+ const oldPathResolved = __resolvePath(oldPath);
239
+ const newPathResolved = __resolvePath(newPath);
240
+ return await asyncHandler(() => fsp.rename(oldPathResolved, newPathResolved));
241
+ };
242
+ /** rm
243
+ *
244
+ * @param path
245
+ * @param options
246
+ * @returns {Promise<*[]>}
247
+ */
248
+ const rm = async (path, options) => {
249
+ const pathResolved = __resolvePath(path);
250
+ return await asyncHandler(() => fsp.rm(pathResolved, options));
251
+ };
252
+ /** rmdir
253
+ *
254
+ * @param path
255
+ * @param options
256
+ * @returns {Promise<*[]>}
257
+ */
258
+ const rmdir = async (path, options) => {
259
+ const pathResolved = __resolvePath(path);
260
+ return await asyncHandler(() => fsp.rmdir(pathResolved, options));
261
+ };
262
+ /** stat
263
+ *
264
+ * @param path
265
+ * @param options
266
+ * @returns {Promise<*[]>}
267
+ */
268
+ const stat = async (path, options) => {
269
+ const pathResolved = __resolvePath(path);
270
+ return await asyncHandler(() => fsp.stat(pathResolved, options));
271
+ };
272
+ /** symlink
273
+ *
274
+ * @param target
275
+ * @param path
276
+ * @param type
277
+ * @returns {Promise<*[]>}
278
+ */
279
+ const symlink = async (target, path, type) => {
280
+ const targetResolved = __resolvePath(target);
281
+ const pathResolved = __resolvePath(path);
282
+ return await asyncHandler(() => fsp.symlink(targetResolved, pathResolved, type));
283
+ };
284
+ /** truncate
285
+ *
286
+ * @param path
287
+ * @param len
288
+ * @returns {Promise<*[]>}
289
+ */
290
+ const truncate = async (path, len) => {
291
+ const pathResolved = __resolvePath(path);
292
+ return await asyncHandler(() => fsp.truncate(pathResolved, len));
293
+ };
294
+ /** unlink
295
+ *
296
+ * @param path
297
+ * @returns {Promise<*[]>}
298
+ */
299
+ const unlink = async (path) => {
300
+ const pathResolved = __resolvePath(path);
301
+ return await asyncHandler(() => fsp.unlink(pathResolved));
302
+ };
303
+ /** utimes
304
+ *
305
+ * @param path
306
+ * @param atime
307
+ * @param mtime
308
+ * @returns {Promise<*[]>}
309
+ */
310
+ const utimes = async (path, atime, mtime) => {
311
+ const pathResolved = __resolvePath(path);
312
+ return await asyncHandler(() => fsp.utimes(pathResolved, atime, mtime));
313
+ };
314
+ /** watch
315
+ *
316
+ * @param filename
317
+ * @param options
318
+ * @returns {Promise<*[]>}
319
+ */
320
+ const watch = async (filename, options) => {
321
+ const filenameResolved = __resolvePath(filename);
322
+ return await asyncHandler(() => fsp.watch(filenameResolved, options));
323
+ };
324
+ /** writeFile
325
+ *
326
+ * @param path
327
+ * @param data
328
+ * @param options
329
+ * @returns {Promise<*[]>}
330
+ */
331
+ const writeFile = async (path, data, options) => {
332
+ const pathResolved = __resolvePath(path);
333
+ return await asyncHandler(() => fsp.writeFile(pathResolved, data, options));
334
+ };
335
+ /****************************************
336
+ * Constants
337
+ ****************************************/
338
+ /**
339
+ * fs.constants
340
+ */
341
+ const constants = fsNormal.constants;
342
+ /**
343
+ * __dirname in Node.js when using ES6 modules
344
+ */
345
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
346
+ /**
347
+ * __filename in Node.js when using ES6 modules
348
+ */
349
+ const __filename = fileURLToPath(import.meta.url);
350
+ /****************************************
351
+ * Extra
352
+ ****************************************/
353
+ /**
354
+ *
355
+ * @param path
356
+ * @param options
357
+ * @returns {Promise<any>}
358
+ */
359
+ const readJson = async (path, options) => {
360
+ const pathResolved = __resolvePath(path);
361
+ let [res, err] = await asyncHandler(() => fsp.readFile(pathResolved, options ?? 'utf8'));
362
+ return res
363
+ ? [JSON.parse(res), null]
364
+ : [null, err];
365
+ };
366
+ /**
367
+ *
368
+ * @param path
369
+ * @param data
370
+ * @param options
371
+ * @returns {Promise<*[]>}
372
+ */
373
+ const writeJson = async (path, data, options) => {
374
+ const pathResolved = __resolvePath(path);
375
+ return await asyncHandler(() => fsp.writeFile(pathResolved, JSON.stringify(data, null, 2), options ?? 'utf8'));
376
+ };
377
+ const fs = {
378
+ access,
379
+ appendFile,
380
+ chmod,
381
+ chown,
382
+ copyFile,
383
+ cp,
384
+ lchmod,
385
+ lchown,
386
+ link,
387
+ lstat,
388
+ lutimes,
389
+ mkdir,
390
+ mkdtemp,
391
+ open,
392
+ opendir,
393
+ readFile,
394
+ readdir,
395
+ readlink,
396
+ realpath,
397
+ rename,
398
+ rm,
399
+ rmdir,
400
+ stat,
401
+ symlink,
402
+ truncate,
403
+ unlink,
404
+ utimes,
405
+ watch,
406
+ writeFile,
407
+ constants,
408
+ __dirname,
409
+ __filename,
410
+ asyncHandler,
411
+ readJson,
412
+ writeJson,
413
+ };
414
+ if (process.env.NODE_ENV === 'TEST')
415
+ fs['__resolvePath'] = __resolvePath;
416
+ export default fs;
417
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}