async-file-tried 1.1.0 → 1.2.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/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Async-file-tried
2
2
 
3
3
  *async-file-tried* is a wrapper around node’s `fs/promises` that abstracts the try-catch block for you.
4
- Write more linear, better readable code by getting a concise response. TypeScript supported.
4
+ Write more linear, better readable code by getting a concise response. Dependency free. TypeScript supported.
5
5
 
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
7
7
  ![Node.js Version](https://img.shields.io/badge/Node.js-16.x-green)
@@ -11,7 +11,7 @@ Write more linear, better readable code by getting a concise response. TypeScrip
11
11
 
12
12
  ## License
13
13
 
14
- Copyright (c) 2023 Florian Walzel,
14
+ Copyright (c) 2023–24 Florian Walzel,
15
15
  MIT License
16
16
 
17
17
  ## Install
@@ -23,7 +23,7 @@ npm install async-file-tried
23
23
  Import:
24
24
 
25
25
  ```javascript
26
- import * as fs from 'async-file-tried';
26
+ import fs from 'async-file-tried';
27
27
  ```
28
28
 
29
29
  ## Usage
@@ -199,14 +199,37 @@ let [res, err] = await fs.appendFile(['fs.__dirname', '..' , 'myfolder', `img_${
199
199
 
200
200
  ### Bonus Functions
201
201
 
202
+ - fs.exists
203
+ + Checks if a file or directory exists, returns boolean
204
+ + Typescript implementation: `async (path: string|Array<string>)`
205
+ + Usage example: `let res = await fs.exists('file.txt');`
206
+
207
+ - fs.ensureDir
208
+ + Checks if a directory exists, creates it if not
209
+ + Typescript implementation: `async (dir: string|Array<string>)`
210
+ + Usage example: `let res = await fs.ensureDir('./my-dir');`
211
+
202
212
  - fs.readJson
203
213
  + Reads a JSON file and returns it as parsed Javascript object.
204
214
  + Typescript implementation: `async (path: string|Array<string>, options?: Encoding)`
205
215
  + Usage example: `let [res, err] = await fs.readJson('my.json');`
206
216
 
207
217
  - fs.writeJson
208
- + Expects a Javascript object and will stringify and write it out.
218
+ + Expects a Javascript object, will stringify it and write it out as JSON.
209
219
  + Typescript implementation: `async (path: string|Array<string>, data: Object, options?: Encoding)`
210
- + Usage example: `let [res, err] = await fs.writeJson('./test/static-testfiles/test.json', { key : "value" });`
220
+ + Usage example: `let [res, err] = await fs.writeJson('my.json', { key : "value" });`
221
+
222
+ - fs.readTextFile
223
+ + Reads a text file as UTF8
224
+ + Typescript implementation: `async (path: string|Array<string>)`
225
+ + Usage example: `let [res, err] = await fs.readTextFile('file.txt');`
211
226
 
227
+ - fs.writeTextFile
228
+ + Writes out a String as UTF8
229
+ + Typescript implementation: `async (path: string|Array<string>, data: string)`
230
+ + Usage example: `let [res, err] = await fs.writeTextFile('file.txt', 'Hello world!');`
212
231
 
232
+ - fs.asyncHandler
233
+ + Takes any asynchronous Function and will internally wrap a try-catch block around it. The Return is given in the tuple pattern `[res, err]`.
234
+ + Typescript implementation: `asyncHandler = async (func: Function)`
235
+ + Usage example: `let [res, err] = await fs.asyncHandler(() => await myCustomFunction(someParam));`
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import * as fsNormal from 'node:fs';
3
2
  import { CopyOptions } from "node:fs";
4
3
  /****************************************
@@ -22,7 +21,7 @@ declare const fs: {
22
21
  link: (existingPath: string | Array<string>, newPath: string | Array<string>) => Promise<any[]>;
23
22
  lstat: (path: string | Array<string>, options?: object) => Promise<any[]>;
24
23
  lutimes: (path: string | Array<string>, atime: Date | number, mtime: Date | number) => Promise<any[]>;
25
- mkdir: (path: string | Array<string>, options?: number | string) => Promise<any[]>;
24
+ mkdir: (path: string | Array<string>, options?: number | string | object) => Promise<any[]>;
26
25
  mkdtemp: (prefix: string, encoding?: Encoding) => Promise<any[]>;
27
26
  open: (path: string | Array<string>, flags?: Flags, mode?: number | string) => Promise<any[]>;
28
27
  opendir: (path: string | Array<string>, options?: object) => Promise<any[]>;
@@ -44,8 +43,12 @@ declare const fs: {
44
43
  __dirname: string;
45
44
  __filename: string;
46
45
  asyncHandler: (func: Function) => Promise<any[]>;
46
+ exists: (path: string | Array<string>) => Promise<boolean>;
47
+ ensureDir: (dir: string | Array<string>) => Promise<any[]>;
47
48
  readJson: (path: string | Array<string>, options?: Encoding) => Promise<any[]>;
48
49
  writeJson: (path: string | Array<string>, data: Object, options?: Encoding) => Promise<any[]>;
50
+ readTextFile: (path: string | Array<string>) => Promise<any[]>;
51
+ writeTextFile: (path: string | Array<string>, data: string) => Promise<any[]>;
49
52
  };
50
53
  export default fs;
51
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -348,8 +348,27 @@ const __dirname = path.dirname(fileURLToPath(import.meta.url));
348
348
  */
349
349
  const __filename = fileURLToPath(import.meta.url);
350
350
  /****************************************
351
- * Extra
351
+ * Bonus Functions
352
352
  ****************************************/
353
+ /**
354
+ *
355
+ * @param path
356
+ */
357
+ const exists = async (path) => {
358
+ const pathResolved = __resolvePath(path);
359
+ let [res, err] = await access(pathResolved);
360
+ return !err;
361
+ };
362
+ /**
363
+ *
364
+ * @param dir
365
+ */
366
+ const ensureDir = async (dir) => {
367
+ const pathResolved = __resolvePath(dir);
368
+ let [acc, err] = await access(pathResolved);
369
+ if (err)
370
+ return await mkdir(pathResolved, { recursive: true });
371
+ };
353
372
  /**
354
373
  *
355
374
  * @param path
@@ -374,6 +393,23 @@ const writeJson = async (path, data, options) => {
374
393
  const pathResolved = __resolvePath(path);
375
394
  return await asyncHandler(() => fsp.writeFile(pathResolved, JSON.stringify(data, null, 2), options ?? 'utf8'));
376
395
  };
396
+ /**
397
+ *
398
+ * @param path
399
+ */
400
+ const readTextFile = async (path) => {
401
+ const pathResolved = __resolvePath(path);
402
+ return await asyncHandler(() => fsp.readFile(pathResolved, 'utf8'));
403
+ };
404
+ /**
405
+ *
406
+ * @param path
407
+ * @param data
408
+ */
409
+ const writeTextFile = async (path, data) => {
410
+ const pathResolved = __resolvePath(path);
411
+ return await asyncHandler(() => fsp.writeFile(pathResolved, data, 'utf8'));
412
+ };
377
413
  const fs = {
378
414
  access,
379
415
  appendFile,
@@ -408,8 +444,12 @@ const fs = {
408
444
  __dirname,
409
445
  __filename,
410
446
  asyncHandler,
447
+ exists,
448
+ ensureDir,
411
449
  readJson,
412
450
  writeJson,
451
+ readTextFile,
452
+ writeTextFile,
413
453
  };
414
454
  if (process.env.NODE_ENV === 'TEST')
415
455
  fs['__resolvePath'] = __resolvePath;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/index.ts CHANGED
@@ -172,7 +172,7 @@ const lutimes = async (path: string|Array<string>, atime: Date|number, mtime: Da
172
172
  * @param options
173
173
  * @returns {Promise<*[]>}
174
174
  */
175
- const mkdir = async (path: string|Array<string>, options?: number|string) => {
175
+ const mkdir = async (path: string|Array<string>, options?: number|string|object) => {
176
176
  const pathResolved = __resolvePath(path);
177
177
  return await asyncHandler(() => fsp.mkdir(pathResolved, options));
178
178
  };
@@ -391,9 +391,30 @@ const __filename = fileURLToPath(import.meta.url);
391
391
 
392
392
 
393
393
  /****************************************
394
- * Extra
394
+ * Bonus Functions
395
395
  ****************************************/
396
396
 
397
+ /**
398
+ *
399
+ * @param path
400
+ */
401
+ const exists = async (path: string|Array<string>) => {
402
+ const pathResolved = __resolvePath(path);
403
+ let [res, err] = await access(pathResolved);
404
+ return !err
405
+ }
406
+
407
+ /**
408
+ *
409
+ * @param dir
410
+ */
411
+ const ensureDir = async (dir: string|Array<string>)=> {
412
+ const pathResolved = __resolvePath(dir);
413
+ let [acc, err] = await access(pathResolved);
414
+ if (err)
415
+ return await mkdir(pathResolved, { recursive: true })
416
+ };
417
+
397
418
  /**
398
419
  *
399
420
  * @param path
@@ -420,6 +441,27 @@ const writeJson = async (path: string|Array<string>, data: Object, options?: Enc
420
441
  return await asyncHandler(() => fsp.writeFile(pathResolved, JSON.stringify(data, null, 2), options ?? 'utf8'));
421
442
  };
422
443
 
444
+ /**
445
+ *
446
+ * @param path
447
+ */
448
+ const readTextFile = async (path: string|Array<string>) => {
449
+ const pathResolved = __resolvePath(path);
450
+ return await asyncHandler(() => fsp.readFile(pathResolved, 'utf8'));
451
+ };
452
+
453
+ /**
454
+ *
455
+ * @param path
456
+ * @param data
457
+ */
458
+ const writeTextFile = async (path: string|Array<string>, data: string)=> {
459
+ const pathResolved = __resolvePath(path);
460
+ return await asyncHandler(() => fsp.writeFile(pathResolved, data, 'utf8'));
461
+ };
462
+
463
+
464
+
423
465
 
424
466
  /****************************************
425
467
  * Export
@@ -462,11 +504,15 @@ const fs = {
462
504
  __dirname,
463
505
  __filename,
464
506
  asyncHandler,
507
+ exists,
508
+ ensureDir,
465
509
  readJson,
466
510
  writeJson,
511
+ readTextFile,
512
+ writeTextFile,
467
513
  };
468
514
 
469
515
  if (process.env.NODE_ENV === 'TEST')
470
516
  fs['__resolvePath'] = __resolvePath;
471
517
 
472
- export default fs;
518
+ export default fs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "async-file-tried",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "A try-catch wrapper around node’s fs/promises.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -24,7 +24,8 @@
24
24
  "@types/node": "^20.9.5",
25
25
  "c8": "^8.0.1",
26
26
  "chai": "^4.3.6",
27
- "mocha": "^10.1.0"
27
+ "mocha": "^10.1.0",
28
+ "typescript": "^5.7.2"
28
29
  },
29
30
  "keywords": [
30
31
  "fs promises",
@@ -364,22 +364,32 @@ describe('Tests for async-file-tried', () => {
364
364
  assert.equal(err, null);
365
365
  });
366
366
 
367
- it('[62] ERR: fs.writeJson shall error when file does not exist', async () => {
367
+ it('[62] ERR: fs.exists shall return FALSE when file does not exist', async () => {
368
+ let res = await fs.exists('somenonexistentpath.txt');
369
+ assert.equal(res, false);
370
+ });
371
+
372
+ it('[63] ERR: fs.exists shall return TRUE file does not exist', async () => {
373
+ let res = await fs.exists('./test/static-testfiles/file.txt');
374
+ assert.equal(res, true);
375
+ });
376
+
377
+ it('[64] ERR: fs.writeJson shall error when file does not exist', async () => {
368
378
  let [res, err] = await fs.writeJson('', '');
369
379
  assert.notEqual(err, null);
370
380
  });
371
381
 
372
- it('[63] RES: fs.writeJson shall return valid result when JSON was written', async () => {
382
+ it('[65] RES: fs.writeJson shall return valid result when JSON was written', async () => {
373
383
  let [res, err] = await fs.writeJson('./test/static-testfiles/test.json', { key : "value" });
374
384
  assert.equal(err, null);
375
385
  });
376
386
 
377
- it('[64] ERR: fs.readJson shall error when file does not exist', async () => {
387
+ it('[66] ERR: fs.readJson shall error when file does not exist', async () => {
378
388
  let [res, err] = await fs.readJson('');
379
389
  assert.notEqual(err, null);
380
390
  });
381
391
 
382
- it('[65] RES: fs.readJson shall return object when JSON was read', async () => {
392
+ it('[67] RES: fs.readJson shall return object when JSON was read', async () => {
383
393
  let [res, err] = await fs.readJson('./test/static-testfiles/test.json', 'utf8');
384
394
  assert.isObject(res);
385
395
  });
@@ -390,4 +400,4 @@ describe('Tests for async-file-tried', () => {
390
400
  await fs.unlink('./test/static-testfiles/symlinkToFile-append.txt');
391
401
 
392
402
  // cleanup symlink from test run:
393
- await fs.rm('./test/static-testfiles/file.txt');
403
+ await fs.rm('./test/static-testfiles/file.txt');
package/want.md ADDED
@@ -0,0 +1,4 @@
1
+ - Logo (!)
2
+ – bonus functions: file exists, ensureDir, writeTextFile, readTextFile
3
+ - importable as common JS
4
+ - README: how to use in typescript, explain asyncHandler