aboutsummaryrefslogtreecommitdiff
path: root/node_modules/@kwsites/file-exists/dist
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
committerMinteck <contact@minteck.org>2022-02-12 10:33:06 +0100
commit01160246e4a0c0052181c72a53737e356ea7d02d (patch)
treec6f8ea675f9147d4c06ef503697fb35d58493991 /node_modules/@kwsites/file-exists/dist
parentaf898a152a14e31bdbcbbedb952ad333697553ef (diff)
downloadtwilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.gz
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.tar.bz2
twilight-01160246e4a0c0052181c72a53737e356ea7d02d.zip
First commit
Diffstat (limited to 'node_modules/@kwsites/file-exists/dist')
-rw-r--r--node_modules/@kwsites/file-exists/dist/index.d.ts1
-rw-r--r--node_modules/@kwsites/file-exists/dist/index.js7
-rw-r--r--node_modules/@kwsites/file-exists/dist/index.js.map1
-rw-r--r--node_modules/@kwsites/file-exists/dist/src/index.d.ts19
-rw-r--r--node_modules/@kwsites/file-exists/dist/src/index.js55
-rw-r--r--node_modules/@kwsites/file-exists/dist/src/index.js.map1
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts7
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js26
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map1
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts1
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/exists.spec.js77
-rw-r--r--node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map1
12 files changed, 197 insertions, 0 deletions
diff --git a/node_modules/@kwsites/file-exists/dist/index.d.ts b/node_modules/@kwsites/file-exists/dist/index.d.ts
new file mode 100644
index 0000000..8420b10
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/index.d.ts
@@ -0,0 +1 @@
+export * from './src';
diff --git a/node_modules/@kwsites/file-exists/dist/index.js b/node_modules/@kwsites/file-exists/dist/index.js
new file mode 100644
index 0000000..87332ba
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/index.js
@@ -0,0 +1,7 @@
+"use strict";
+function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+}
+Object.defineProperty(exports, "__esModule", { value: true });
+__export(require("./src"));
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/index.js.map b/node_modules/@kwsites/file-exists/dist/index.js.map
new file mode 100644
index 0000000..3b75ca4
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;;AACA,2BAAsB"} \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/src/index.d.ts b/node_modules/@kwsites/file-exists/dist/src/index.d.ts
new file mode 100644
index 0000000..3d234cd
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/src/index.d.ts
@@ -0,0 +1,19 @@
+/**
+ * Synchronous validation of a path existing either as a file or as a directory.
+ *
+ * @param {string} path The path to check
+ * @param {number} type One or both of the exported numeric constants
+ */
+export declare function exists(path: string, type?: number): boolean;
+/**
+ * Constant representing a file
+ */
+export declare const FILE = 1;
+/**
+ * Constant representing a folder
+ */
+export declare const FOLDER = 2;
+/**
+ * Constant representing either a file or a folder
+ */
+export declare const READABLE: number;
diff --git a/node_modules/@kwsites/file-exists/dist/src/index.js b/node_modules/@kwsites/file-exists/dist/src/index.js
new file mode 100644
index 0000000..8a41c70
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/src/index.js
@@ -0,0 +1,55 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const fs_1 = require("fs");
+const debug_1 = __importDefault(require("debug"));
+const log = debug_1.default('@kwsites/file-exists');
+function check(path, isFile, isDirectory) {
+ log(`checking %s`, path);
+ try {
+ const stat = fs_1.statSync(path);
+ if (stat.isFile() && isFile) {
+ log(`[OK] path represents a file`);
+ return true;
+ }
+ if (stat.isDirectory() && isDirectory) {
+ log(`[OK] path represents a directory`);
+ return true;
+ }
+ log(`[FAIL] path represents something other than a file or directory`);
+ return false;
+ }
+ catch (e) {
+ if (e.code === 'ENOENT') {
+ log(`[FAIL] path is not accessible: %o`, e);
+ return false;
+ }
+ log(`[FATAL] %o`, e);
+ throw e;
+ }
+}
+/**
+ * Synchronous validation of a path existing either as a file or as a directory.
+ *
+ * @param {string} path The path to check
+ * @param {number} type One or both of the exported numeric constants
+ */
+function exists(path, type = exports.READABLE) {
+ return check(path, (type & exports.FILE) > 0, (type & exports.FOLDER) > 0);
+}
+exports.exists = exists;
+/**
+ * Constant representing a file
+ */
+exports.FILE = 1;
+/**
+ * Constant representing a folder
+ */
+exports.FOLDER = 2;
+/**
+ * Constant representing either a file or a folder
+ */
+exports.READABLE = exports.FILE + exports.FOLDER;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/src/index.js.map b/node_modules/@kwsites/file-exists/dist/src/index.js.map
new file mode 100644
index 0000000..68f2b8a
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/src/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;AAAA,2BAA8B;AAC9B,kDAA0B;AAE1B,MAAM,GAAG,GAAG,eAAK,CAAC,sBAAsB,CAAC,CAAC;AAE1C,SAAS,KAAK,CAAC,IAAY,EAAE,MAAe,EAAE,WAAoB;IAC/D,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEzB,IAAI;QACD,MAAM,IAAI,GAAG,aAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,MAAM,EAAE;YAC1B,GAAG,CAAC,6BAA6B,CAAC,CAAC;YACnC,OAAO,IAAI,CAAC;SACd;QAED,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,WAAW,EAAE;YACpC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YACxC,OAAO,IAAI,CAAC;SACd;QAED,GAAG,CAAC,iEAAiE,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACT,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtB,GAAG,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;YAC5C,OAAO,KAAK,CAAC;SACf;QAED,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACrB,MAAM,CAAC,CAAC;KACV;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,MAAM,CAAC,IAAY,EAAE,OAAe,gBAAQ;IACzD,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,YAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,GAAG,cAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9D,CAAC;AAFD,wBAEC;AAED;;GAEG;AACU,QAAA,IAAI,GAAG,CAAC,CAAC;AAEtB;;GAEG;AACU,QAAA,MAAM,GAAG,CAAC,CAAC;AAExB;;GAEG;AACU,QAAA,QAAQ,GAAG,YAAI,GAAG,cAAM,CAAC"} \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts
new file mode 100644
index 0000000..ab80d33
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.d.ts
@@ -0,0 +1,7 @@
+export declare function statSync(...args: any[]): any;
+export declare function addStatSyncMock(fn: any): void;
+export declare function assertMocksUsed(): void;
+declare const mockFs: {
+ statSync: typeof statSync;
+};
+export default mockFs;
diff --git a/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js
new file mode 100644
index 0000000..cd46c71
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js
@@ -0,0 +1,26 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+let statSyncMocks = [];
+function statSync(...args) {
+ const mock = statSyncMocks.shift();
+ if (typeof mock !== 'function') {
+ throw new Error(`fs.statSync called without configuring a mock`);
+ }
+ return mock(...args);
+}
+exports.statSync = statSync;
+function addStatSyncMock(fn) {
+ statSyncMocks.push(fn);
+}
+exports.addStatSyncMock = addStatSyncMock;
+function assertMocksUsed() {
+ if (statSyncMocks.length) {
+ throw new Error(`fs.afterEach: statSync has ${statSyncMocks.length} unused mocks`);
+ }
+}
+exports.assertMocksUsed = assertMocksUsed;
+const mockFs = {
+ statSync,
+};
+exports.default = mockFs;
+//# sourceMappingURL=fs.js.map \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map
new file mode 100644
index 0000000..e2a3d16
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/__mocks__/fs.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../../test/__mocks__/fs.ts"],"names":[],"mappings":";;AACA,IAAI,aAAa,GAAU,EAAE,CAAC;AAE9B,SAAgB,QAAQ,CAAC,GAAG,IAAW;IACpC,MAAO,IAAI,GAAG,aAAa,CAAC,KAAK,EAAE,CAAC;IACpC,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;KACnE;IAED,OAAO,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AACxB,CAAC;AAPD,4BAOC;AAED,SAAgB,eAAe,CAAC,EAAO;IACpC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAFD,0CAEC;AAED,SAAgB,eAAe;IAC5B,IAAI,aAAa,CAAC,MAAM,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,8BAA8B,aAAa,CAAC,MAAM,eAAe,CAAC,CAAC;KACrF;AACJ,CAAC;AAJD,0CAIC;AAED,MAAM,MAAM,GAAG;IACZ,QAAQ;CACV,CAAA;AAED,kBAAe,MAAM,CAAC"} \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts b/node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts
new file mode 100644
index 0000000..cb0ff5c
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/exists.spec.d.ts
@@ -0,0 +1 @@
+export {};
diff --git a/node_modules/@kwsites/file-exists/dist/test/exists.spec.js b/node_modules/@kwsites/file-exists/dist/test/exists.spec.js
new file mode 100644
index 0000000..a36b549
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/exists.spec.js
@@ -0,0 +1,77 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+jest.mock('fs');
+//@ts-ignore
+const fs_1 = require("fs");
+const src_1 = require("../src");
+describe(`exists`, () => {
+ let statSync;
+ let statSyncMock;
+ let path;
+ beforeEach(() => {
+ path = `./path/${Math.random()}`;
+ fs_1.addStatSyncMock(statSyncMock = jest.fn(() => statSync()));
+ });
+ afterEach(() => {
+ fs_1.assertMocksUsed();
+ statSync = statSyncMock = undefined;
+ });
+ describe('known errors', () => {
+ beforeEach(() => givenStatSyncThrows({ code: 'ENOENT' }));
+ it('with type', () => {
+ expect(src_1.exists(path, src_1.READABLE)).toBe(false);
+ });
+ it('with type omitted', () => {
+ expect(src_1.exists(path)).toBe(false);
+ });
+ });
+ describe('unknown errors', () => {
+ let err;
+ beforeEach(() => err = givenStatSyncThrows(new Error('something')));
+ it('with type', () => {
+ expect(() => src_1.exists(path, src_1.READABLE)).toThrow(err);
+ });
+ it('with type omitted', () => {
+ expect(() => src_1.exists(path)).toThrow(err);
+ });
+ });
+ describe('path is a file', () => {
+ beforeEach(() => givenStatSyncIsA('file'));
+ existsReturns(true, false, true);
+ });
+ describe('path is a folder', () => {
+ beforeEach(() => givenStatSyncIsA('folder'));
+ existsReturns(false, true, true);
+ });
+ describe('path is unknown', () => {
+ beforeEach(() => givenStatSyncIsA('unknown'));
+ existsReturns(false, false, false);
+ });
+ function existsReturns(file, folder, readable) {
+ it('when searching for a file', () => {
+ expect(src_1.exists(path, src_1.FILE)).toBe(file);
+ });
+ it('when searching for a folder', () => {
+ expect(src_1.exists(path, src_1.FOLDER)).toBe(folder);
+ });
+ it('when searching for either', () => {
+ expect(src_1.exists(path, src_1.READABLE)).toBe(readable);
+ });
+ it('when searching without a type', () => {
+ expect(src_1.exists(path)).toBe(readable);
+ });
+ }
+ function givenStatSyncThrows(err) {
+ statSync = () => { throw err; };
+ return err;
+ }
+ function givenStatSyncIsA(type) {
+ const mockStat = {
+ isFile() { return type === 'file'; },
+ isDirectory() { return type === 'folder'; },
+ };
+ statSync = () => mockStat;
+ return mockStat;
+ }
+});
+//# sourceMappingURL=exists.spec.js.map \ No newline at end of file
diff --git a/node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map b/node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map
new file mode 100644
index 0000000..669176a
--- /dev/null
+++ b/node_modules/@kwsites/file-exists/dist/test/exists.spec.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"exists.spec.js","sourceRoot":"","sources":["../../test/exists.spec.ts"],"names":[],"mappings":"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"} \ No newline at end of file