memfs 4.1.0 → 4.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 +10 -7
- package/demo/runkit.js +5 -0
- package/lib/Dirent.js +1 -0
- package/lib/Dirent.js.map +1 -0
- package/lib/Stats.js +2 -2
- package/lib/Stats.js.map +1 -0
- package/lib/__tests__/util.js +1 -0
- package/lib/__tests__/util.js.map +1 -0
- package/lib/cas/types.d.ts +10 -0
- package/lib/{node/types/callback.js → cas/types.js} +1 -0
- package/lib/cas/types.js.map +1 -0
- package/lib/constants.js +1 -0
- package/lib/constants.js.map +1 -0
- package/lib/consts/AMODE.js +1 -0
- package/lib/consts/AMODE.js.map +1 -0
- package/lib/consts/FLAG.d.ts +6 -0
- package/lib/consts/FLAG.js +1 -0
- package/lib/consts/FLAG.js.map +1 -0
- package/lib/crud/__tests__/matryoshka.test.d.ts +1 -0
- package/lib/crud/__tests__/matryoshka.test.js +69 -0
- package/lib/crud/__tests__/matryoshka.test.js.map +1 -0
- package/lib/crud/__tests__/testCrudfs.d.ts +6 -0
- package/lib/crud/__tests__/testCrudfs.js +278 -0
- package/lib/crud/__tests__/testCrudfs.js.map +1 -0
- package/lib/crud/types.d.ts +80 -0
- package/lib/{node/types/promises.js → crud/types.js} +1 -0
- package/lib/crud/types.js.map +1 -0
- package/lib/crud/util.d.ts +2 -0
- package/lib/crud/util.js +11 -0
- package/lib/crud/util.js.map +1 -0
- package/lib/crud-to-cas/CrudCas.d.ts +14 -0
- package/lib/crud-to-cas/CrudCas.js +57 -0
- package/lib/crud-to-cas/CrudCas.js.map +1 -0
- package/lib/crud-to-cas/__tests__/CrudCas.test.d.ts +1 -0
- package/lib/crud-to-cas/__tests__/CrudCas.test.js +38 -0
- package/lib/crud-to-cas/__tests__/CrudCas.test.js.map +1 -0
- package/lib/crud-to-cas/__tests__/testCasfs.d.ts +9 -0
- package/lib/crud-to-cas/__tests__/testCasfs.js +108 -0
- package/lib/crud-to-cas/__tests__/testCasfs.js.map +1 -0
- package/lib/crud-to-cas/index.d.ts +1 -0
- package/lib/crud-to-cas/index.js +6 -0
- package/lib/crud-to-cas/index.js.map +1 -0
- package/lib/crud-to-cas/util.d.ts +2 -0
- package/lib/crud-to-cas/util.js +13 -0
- package/lib/crud-to-cas/util.js.map +1 -0
- package/lib/encoding.js +1 -0
- package/lib/encoding.js.map +1 -0
- package/lib/fsa/types.js +1 -0
- package/lib/fsa/types.js.map +1 -0
- package/lib/fsa-to-crud/FsaCrud.d.ts +15 -0
- package/lib/fsa-to-crud/FsaCrud.js +191 -0
- package/lib/fsa-to-crud/FsaCrud.js.map +1 -0
- package/lib/fsa-to-crud/__tests__/FsaCrud.test.d.ts +1 -0
- package/lib/fsa-to-crud/__tests__/FsaCrud.test.js +17 -0
- package/lib/fsa-to-crud/__tests__/FsaCrud.test.js.map +1 -0
- package/lib/fsa-to-crud/index.d.ts +1 -0
- package/lib/fsa-to-crud/index.js +6 -0
- package/lib/fsa-to-crud/index.js.map +1 -0
- package/lib/fsa-to-crud/util.d.ts +5 -0
- package/lib/fsa-to-crud/util.js +12 -0
- package/lib/fsa-to-crud/util.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeCore.d.ts +3 -2
- package/lib/fsa-to-node/FsaNodeCore.js +109 -87
- package/lib/fsa-to-node/FsaNodeCore.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeDirent.js +1 -0
- package/lib/fsa-to-node/FsaNodeDirent.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeFs.d.ts +14 -2
- package/lib/fsa-to-node/FsaNodeFs.js +156 -143
- package/lib/fsa-to-node/FsaNodeFs.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeFsOpenFile.js +13 -25
- package/lib/fsa-to-node/FsaNodeFsOpenFile.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeReadStream.js +14 -24
- package/lib/fsa-to-node/FsaNodeReadStream.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeStats.js +1 -0
- package/lib/fsa-to-node/FsaNodeStats.js.map +1 -0
- package/lib/fsa-to-node/FsaNodeWriteStream.js +35 -47
- package/lib/fsa-to-node/FsaNodeWriteStream.js.map +1 -0
- package/lib/fsa-to-node/__tests__/FsaNodeFs.test.js +357 -348
- package/lib/fsa-to-node/__tests__/FsaNodeFs.test.js.map +1 -0
- package/lib/fsa-to-node/__tests__/util.test.js +4 -0
- package/lib/fsa-to-node/__tests__/util.test.js.map +1 -0
- package/lib/fsa-to-node/constants.js +1 -0
- package/lib/fsa-to-node/constants.js.map +1 -0
- package/lib/fsa-to-node/index.js +1 -0
- package/lib/fsa-to-node/index.js.map +1 -0
- package/lib/fsa-to-node/json.js +1 -0
- package/lib/fsa-to-node/json.js.map +1 -0
- package/lib/fsa-to-node/types.js +1 -0
- package/lib/fsa-to-node/types.js.map +1 -0
- package/lib/fsa-to-node/util.js +7 -13
- package/lib/fsa-to-node/util.js.map +1 -0
- package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js +31 -41
- package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js.map +1 -0
- package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js +91 -105
- package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js.map +1 -0
- package/lib/fsa-to-node/worker/SyncMessenger.js +4 -12
- package/lib/fsa-to-node/worker/SyncMessenger.js.map +1 -0
- package/lib/fsa-to-node/worker/constants.js +1 -0
- package/lib/fsa-to-node/worker/constants.js.map +1 -0
- package/lib/fsa-to-node/worker/types.js +1 -0
- package/lib/fsa-to-node/worker/types.js.map +1 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +8 -6
- package/lib/index.js.map +1 -0
- package/lib/internal/buffer.js +1 -0
- package/lib/internal/buffer.js.map +1 -0
- package/lib/internal/errors.js +1 -0
- package/lib/internal/errors.js.map +1 -0
- package/lib/node/FileHandle.js +1 -0
- package/lib/node/FileHandle.js.map +1 -0
- package/lib/node/FsPromises.d.ts +86 -0
- package/lib/node/FsPromises.js +54 -0
- package/lib/node/FsPromises.js.map +1 -0
- package/lib/node/constants.js +2 -1
- package/lib/node/constants.js.map +1 -0
- package/lib/node/lists/fsCallbackApiList.d.ts +2 -0
- package/lib/node/lists/fsCallbackApiList.js +47 -0
- package/lib/node/lists/fsCallbackApiList.js.map +1 -0
- package/lib/node/lists/fsCommonObjectsList.d.ts +2 -0
- package/lib/node/lists/fsCommonObjectsList.js +19 -0
- package/lib/node/lists/fsCommonObjectsList.js.map +1 -0
- package/lib/node/lists/fsSynchronousApiList.d.ts +2 -0
- package/lib/node/lists/fsSynchronousApiList.js +46 -0
- package/lib/node/lists/fsSynchronousApiList.js.map +1 -0
- package/lib/node/options.js +1 -0
- package/lib/node/options.js.map +1 -0
- package/lib/node/types/{callback.d.ts → FsCallbackApi.d.ts} +49 -40
- package/lib/node/types/FsCallbackApi.js +3 -0
- package/lib/node/types/FsCallbackApi.js.map +1 -0
- package/lib/node/types/FsCommonObjects.d.ts +4 -4
- package/lib/node/types/FsCommonObjects.js +1 -0
- package/lib/node/types/FsCommonObjects.js.map +1 -0
- package/lib/node/types/{promises.d.ts → FsPromisesApi.d.ts} +11 -0
- package/lib/node/types/FsPromisesApi.js +3 -0
- package/lib/node/types/FsPromisesApi.js.map +1 -0
- package/lib/node/types/FsSynchronousApi.d.ts +64 -58
- package/lib/node/types/FsSynchronousApi.js +1 -0
- package/lib/node/types/FsSynchronousApi.js.map +1 -0
- package/lib/node/types/index.d.ts +2 -2
- package/lib/node/types/index.js +1 -0
- package/lib/node/types/index.js.map +1 -0
- package/lib/node/types/misc.d.ts +20 -0
- package/lib/node/types/misc.js +1 -0
- package/lib/node/types/misc.js.map +1 -0
- package/lib/node/types/options.d.ts +62 -0
- package/lib/node/types/options.js +1 -0
- package/lib/node/types/options.js.map +1 -0
- package/lib/node/util.d.ts +2 -1
- package/lib/node/util.js +30 -1
- package/lib/node/util.js.map +1 -0
- package/lib/node-to-crud/NodeCrud.d.ts +22 -0
- package/lib/node-to-crud/NodeCrud.js +233 -0
- package/lib/node-to-crud/NodeCrud.js.map +1 -0
- package/lib/node-to-crud/__tests__/FsaCrud.test.d.ts +1 -0
- package/lib/node-to-crud/__tests__/FsaCrud.test.js +18 -0
- package/lib/node-to-crud/__tests__/FsaCrud.test.js.map +1 -0
- package/lib/node-to-crud/index.d.ts +1 -0
- package/lib/node-to-crud/index.js +6 -0
- package/lib/node-to-crud/index.js.map +1 -0
- package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.d.ts +3 -2
- package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js +112 -151
- package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js.map +1 -0
- package/lib/node-to-fsa/NodeFileSystemFileHandle.js +25 -36
- package/lib/node-to-fsa/NodeFileSystemFileHandle.js.map +1 -0
- package/lib/node-to-fsa/NodeFileSystemHandle.js +3 -13
- package/lib/node-to-fsa/NodeFileSystemHandle.js.map +1 -0
- package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js +42 -62
- package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js.map +1 -0
- package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js +92 -116
- package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js.map +1 -0
- package/lib/node-to-fsa/NodePermissionStatus.js +1 -0
- package/lib/node-to-fsa/NodePermissionStatus.js.map +1 -0
- package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.js +175 -234
- package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.js +91 -99
- package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.js +10 -18
- package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.js +70 -78
- package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.js +31 -39
- package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/scenarios.test.js +18 -26
- package/lib/node-to-fsa/__tests__/scenarios.test.js.map +1 -0
- package/lib/node-to-fsa/__tests__/util.test.js +5 -0
- package/lib/node-to-fsa/__tests__/util.test.js.map +1 -0
- package/lib/node-to-fsa/index.js +6 -18
- package/lib/node-to-fsa/index.js.map +1 -0
- package/lib/node-to-fsa/types.d.ts +5 -2
- package/lib/node-to-fsa/types.js +1 -0
- package/lib/node-to-fsa/types.js.map +1 -0
- package/lib/node-to-fsa/util.js +3 -0
- package/lib/node-to-fsa/util.js.map +1 -0
- package/lib/node.js +1 -0
- package/lib/node.js.map +1 -0
- package/lib/print/__tests__/index.test.d.ts +1 -0
- package/lib/print/__tests__/index.test.js +77 -0
- package/lib/print/__tests__/index.test.js.map +1 -0
- package/lib/print/index.d.ts +8 -0
- package/lib/print/index.js +33 -0
- package/lib/print/index.js.map +1 -0
- package/lib/process.js +1 -0
- package/lib/process.js.map +1 -0
- package/lib/setImmediate.js +1 -0
- package/lib/setImmediate.js.map +1 -0
- package/lib/setTimeoutUnref.js +1 -0
- package/lib/setTimeoutUnref.js.map +1 -0
- package/lib/snapshot/__tests__/async.test.d.ts +1 -0
- package/lib/snapshot/__tests__/async.test.js +63 -0
- package/lib/snapshot/__tests__/async.test.js.map +1 -0
- package/lib/snapshot/__tests__/binary.test.d.ts +1 -0
- package/lib/snapshot/__tests__/binary.test.js +59 -0
- package/lib/snapshot/__tests__/binary.test.js.map +1 -0
- package/lib/snapshot/__tests__/json.test.d.ts +1 -0
- package/lib/snapshot/__tests__/json.test.js +68 -0
- package/lib/snapshot/__tests__/json.test.js.map +1 -0
- package/lib/snapshot/__tests__/sync.test.d.ts +1 -0
- package/lib/snapshot/__tests__/sync.test.js +63 -0
- package/lib/snapshot/__tests__/sync.test.js.map +1 -0
- package/lib/snapshot/async.d.ts +3 -0
- package/lib/snapshot/async.js +59 -0
- package/lib/snapshot/async.js.map +1 -0
- package/lib/snapshot/binary.d.ts +6 -0
- package/lib/snapshot/binary.js +31 -0
- package/lib/snapshot/binary.js.map +1 -0
- package/lib/snapshot/constants.d.ts +5 -0
- package/lib/snapshot/constants.js +3 -0
- package/lib/snapshot/constants.js.map +1 -0
- package/lib/snapshot/index.d.ts +5 -0
- package/lib/snapshot/index.js +8 -0
- package/lib/snapshot/index.js.map +1 -0
- package/lib/snapshot/json.d.ts +10 -0
- package/lib/snapshot/json.js +31 -0
- package/lib/snapshot/json.js.map +1 -0
- package/lib/snapshot/shared.d.ts +2 -0
- package/lib/snapshot/shared.js +6 -0
- package/lib/snapshot/shared.js.map +1 -0
- package/lib/snapshot/sync.d.ts +3 -0
- package/lib/snapshot/sync.js +59 -0
- package/lib/snapshot/sync.js.map +1 -0
- package/lib/snapshot/types.d.ts +30 -0
- package/lib/snapshot/types.js +3 -0
- package/lib/snapshot/types.js.map +1 -0
- package/lib/volume-localstorage.js +1 -0
- package/lib/volume-localstorage.js.map +1 -0
- package/lib/volume.d.ts +18 -7
- package/lib/volume.js +25 -16
- package/lib/volume.js.map +1 -0
- package/lib/webfs/index.js +1 -0
- package/lib/webfs/index.js.map +1 -0
- package/package.json +67 -26
- package/lib/getBigInt.js +0 -5
- package/lib/node/promises.d.ts +0 -2
- package/lib/node/promises.js +0 -86
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const __1 = require("../..");
|
|
4
|
+
const util_1 = require("../../__tests__/util");
|
|
5
|
+
const node_to_fsa_1 = require("../../node-to-fsa");
|
|
6
|
+
const FsaCrud_1 = require("../FsaCrud");
|
|
7
|
+
const testCrudfs_1 = require("../../crud/__tests__/testCrudfs");
|
|
8
|
+
const setup = () => {
|
|
9
|
+
const { fs } = (0, __1.memfs)();
|
|
10
|
+
const fsa = new node_to_fsa_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'readwrite' });
|
|
11
|
+
const crud = new FsaCrud_1.FsaCrud(fsa);
|
|
12
|
+
return { fs, fsa, crud, snapshot: () => fs.__vol.toJSON() };
|
|
13
|
+
};
|
|
14
|
+
(0, util_1.onlyOnNode20)('FsaCrud', () => {
|
|
15
|
+
(0, testCrudfs_1.testCrudfs)(setup);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=FsaCrud.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FsaCrud.test.js","sourceRoot":"","sources":["../../../src/fsa-to-crud/__tests__/FsaCrud.test.ts"],"names":[],"mappings":";;AAAA,6BAA8B;AAC9B,+CAAoD;AACpD,mDAAkE;AAClE,wCAAqC;AACrC,gEAA6D;AAE7D,MAAM,KAAK,GAAG,GAAG,EAAE;IACjB,MAAM,EAAE,EAAE,EAAE,GAAG,IAAA,SAAK,GAAE,CAAC;IACvB,MAAM,GAAG,GAAG,IAAI,2CAA6B,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,IAAI,iBAAO,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAO,EAAG,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;AACrE,CAAC,CAAC;AAEF,IAAA,mBAAY,EAAC,SAAS,EAAE,GAAG,EAAE;IAC3B,IAAA,uBAAU,EAAC,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { FsaCrud } from './FsaCrud';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FsaCrud = void 0;
|
|
4
|
+
var FsaCrud_1 = require("./FsaCrud");
|
|
5
|
+
Object.defineProperty(exports, "FsaCrud", { enumerable: true, get: function () { return FsaCrud_1.FsaCrud; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fsa-to-crud/index.ts"],"names":[],"mappings":";;;AAAA,qCAAoC;AAA3B,kGAAA,OAAO,OAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type * as crud from '../crud/types';
|
|
2
|
+
export declare const newFile404Error: (collection: crud.CrudCollection, id: string) => DOMException;
|
|
3
|
+
export declare const newFolder404Error: (collection: crud.CrudCollection) => DOMException;
|
|
4
|
+
export declare const newExistsError: () => DOMException;
|
|
5
|
+
export declare const newMissingError: () => DOMException;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.newMissingError = exports.newExistsError = exports.newFolder404Error = exports.newFile404Error = void 0;
|
|
4
|
+
const newFile404Error = (collection, id) => new DOMException(`Resource "${id}" in /${collection.join('/')} not found`, 'ResourceNotFound');
|
|
5
|
+
exports.newFile404Error = newFile404Error;
|
|
6
|
+
const newFolder404Error = (collection) => new DOMException(`Collection /${collection.join('/')} does not exist`, 'CollectionNotFound');
|
|
7
|
+
exports.newFolder404Error = newFolder404Error;
|
|
8
|
+
const newExistsError = () => new DOMException('Resource already exists', 'Exists');
|
|
9
|
+
exports.newExistsError = newExistsError;
|
|
10
|
+
const newMissingError = () => new DOMException('Resource is missing', 'Missing');
|
|
11
|
+
exports.newMissingError = newMissingError;
|
|
12
|
+
//# sourceMappingURL=util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/fsa-to-crud/util.ts"],"names":[],"mappings":";;;AAEO,MAAM,eAAe,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE,EAAE,CAC7E,IAAI,YAAY,CAAC,aAAa,EAAE,SAAS,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AADpF,QAAA,eAAe,mBACqE;AAE1F,MAAM,iBAAiB,GAAG,CAAC,UAA+B,EAAE,EAAE,CACnE,IAAI,YAAY,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,CAAC;AADlF,QAAA,iBAAiB,qBACiE;AAExF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC;AAA7E,QAAA,cAAc,kBAA+D;AAEnF,MAAM,eAAe,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAA3E,QAAA,eAAe,mBAA4D"}
|
|
@@ -21,12 +21,13 @@ export declare class FsaNodeCore {
|
|
|
21
21
|
*/
|
|
22
22
|
protected getDir(path: string[], create: boolean, funcName?: string): Promise<fsa.IFileSystemDirectoryHandle>;
|
|
23
23
|
protected getFile(path: string[], name: string, funcName?: string, create?: boolean): Promise<fsa.IFileSystemFileHandle>;
|
|
24
|
-
protected getFileOrDir(path: string[], name: string, funcName?: string
|
|
24
|
+
protected getFileOrDir(path: string[], name: string, funcName?: string): Promise<fsa.IFileSystemFileHandle | fsa.IFileSystemDirectoryHandle>;
|
|
25
25
|
protected getFileByFd(fd: number, funcName?: string): FsaNodeFsOpenFile;
|
|
26
26
|
protected getFileByFdAsync(fd: number, funcName?: string): Promise<FsaNodeFsOpenFile>;
|
|
27
|
-
__getFileById(id: misc.TFileId, funcName?: string
|
|
27
|
+
__getFileById(id: misc.TFileId, funcName?: string): Promise<fsa.IFileSystemFileHandle>;
|
|
28
28
|
protected getFileByIdOrCreate(id: misc.TFileId, funcName?: string): Promise<fsa.IFileSystemFileHandle>;
|
|
29
29
|
protected __open(filename: string, flags: number, mode: number): Promise<FsaNodeFsOpenFile>;
|
|
30
30
|
protected __open2(fsaFile: fsa.IFileSystemFileHandle, filename: string, flags: number, mode: number): FsaNodeFsOpenFile;
|
|
31
|
+
protected __close(fd: number): Promise<void>;
|
|
31
32
|
protected getFileName(id: misc.TFileId): string;
|
|
32
33
|
}
|
|
@@ -1,19 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
3
|
exports.FsaNodeCore = void 0;
|
|
13
4
|
const util_1 = require("../node/util");
|
|
14
5
|
const util_2 = require("./util");
|
|
15
6
|
const constants_1 = require("../node/constants");
|
|
16
7
|
const FsaNodeFsOpenFile_1 = require("./FsaNodeFsOpenFile");
|
|
8
|
+
const util = require("../node/util");
|
|
17
9
|
class FsaNodeCore {
|
|
18
10
|
constructor(root, syncAdapter) {
|
|
19
11
|
this.root = root;
|
|
@@ -46,67 +38,63 @@ class FsaNodeCore {
|
|
|
46
38
|
* @param path Path from root to the new folder.
|
|
47
39
|
* @param create Whether to create the folders if they don't exist.
|
|
48
40
|
*/
|
|
49
|
-
getDir(path, create, funcName) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
curr = yield curr.getDirectoryHandle(name, options);
|
|
56
|
-
}
|
|
41
|
+
async getDir(path, create, funcName) {
|
|
42
|
+
let curr = await this.root;
|
|
43
|
+
const options = { create };
|
|
44
|
+
try {
|
|
45
|
+
for (const name of path) {
|
|
46
|
+
curr = await curr.getDirectoryHandle(name, options);
|
|
57
47
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
if (error && typeof error === 'object') {
|
|
51
|
+
switch (error.name) {
|
|
52
|
+
case 'TypeMismatchError':
|
|
53
|
+
throw (0, util_1.createError)('ENOTDIR', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
|
|
54
|
+
case 'NotFoundError':
|
|
55
|
+
throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
|
|
66
56
|
}
|
|
67
|
-
throw error;
|
|
68
57
|
}
|
|
69
|
-
|
|
70
|
-
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
return curr;
|
|
71
61
|
}
|
|
72
|
-
getFile(path, name, funcName, create) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
return file;
|
|
77
|
-
});
|
|
62
|
+
async getFile(path, name, funcName, create) {
|
|
63
|
+
const dir = await this.getDir(path, false, funcName);
|
|
64
|
+
const file = await dir.getFileHandle(name, { create });
|
|
65
|
+
return file;
|
|
78
66
|
}
|
|
79
|
-
getFileOrDir(path, name, funcName
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
67
|
+
async getFileOrDir(path, name, funcName) {
|
|
68
|
+
const dir = await this.getDir(path, false, funcName);
|
|
69
|
+
if (!name)
|
|
70
|
+
return dir;
|
|
71
|
+
try {
|
|
72
|
+
const file = await dir.getFileHandle(name);
|
|
73
|
+
return file;
|
|
74
|
+
}
|
|
75
|
+
catch (error) {
|
|
76
|
+
if (error && typeof error === 'object') {
|
|
77
|
+
switch (error.name) {
|
|
78
|
+
case 'TypeMismatchError':
|
|
79
|
+
try {
|
|
80
|
+
return await dir.getDirectoryHandle(name);
|
|
81
|
+
}
|
|
82
|
+
catch (error2) {
|
|
83
|
+
if (error2 && typeof error2 === 'object') {
|
|
84
|
+
switch (error2.name) {
|
|
85
|
+
case 'TypeMismatchError':
|
|
86
|
+
throw (0, util_1.createError)('ENOTDIR', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
|
|
87
|
+
case 'NotFoundError':
|
|
88
|
+
throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
|
|
101
89
|
}
|
|
102
90
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
91
|
+
}
|
|
92
|
+
case 'NotFoundError':
|
|
93
|
+
throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
|
|
106
94
|
}
|
|
107
|
-
throw error;
|
|
108
95
|
}
|
|
109
|
-
|
|
96
|
+
throw error;
|
|
97
|
+
}
|
|
110
98
|
}
|
|
111
99
|
getFileByFd(fd, funcName) {
|
|
112
100
|
if (!(0, util_1.isFd)(fd))
|
|
@@ -116,37 +104,63 @@ class FsaNodeCore {
|
|
|
116
104
|
throw (0, util_1.createError)('EBADF', funcName);
|
|
117
105
|
return file;
|
|
118
106
|
}
|
|
119
|
-
getFileByFdAsync(fd, funcName) {
|
|
120
|
-
return
|
|
121
|
-
return this.getFileByFd(fd, funcName);
|
|
122
|
-
});
|
|
107
|
+
async getFileByFdAsync(fd, funcName) {
|
|
108
|
+
return this.getFileByFd(fd, funcName);
|
|
123
109
|
}
|
|
124
|
-
__getFileById(id, funcName
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return yield this.getFile(folder, name, funcName, create);
|
|
131
|
-
});
|
|
110
|
+
async __getFileById(id, funcName) {
|
|
111
|
+
if (typeof id === 'number')
|
|
112
|
+
return (await this.getFileByFd(id, funcName)).file;
|
|
113
|
+
const filename = (0, util_1.pathToFilename)(id);
|
|
114
|
+
const [folder, name] = (0, util_2.pathToLocation)(filename);
|
|
115
|
+
return await this.getFile(folder, name, funcName);
|
|
132
116
|
}
|
|
133
|
-
getFileByIdOrCreate(id, funcName) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
return yield dir.getFileHandle(name, { create: true });
|
|
141
|
-
});
|
|
117
|
+
async getFileByIdOrCreate(id, funcName) {
|
|
118
|
+
if (typeof id === 'number')
|
|
119
|
+
return (await this.getFileByFd(id, funcName)).file;
|
|
120
|
+
const filename = (0, util_1.pathToFilename)(id);
|
|
121
|
+
const [folder, name] = (0, util_2.pathToLocation)(filename);
|
|
122
|
+
const dir = await this.getDir(folder, false, funcName);
|
|
123
|
+
return await dir.getFileHandle(name, { create: true });
|
|
142
124
|
}
|
|
143
|
-
__open(filename, flags, mode) {
|
|
144
|
-
|
|
145
|
-
|
|
125
|
+
async __open(filename, flags, mode) {
|
|
126
|
+
const [folder, name] = (0, util_2.pathToLocation)(filename);
|
|
127
|
+
const throwIfExists = !!(flags & 128 /* FLAG.O_EXCL */);
|
|
128
|
+
if (throwIfExists) {
|
|
129
|
+
try {
|
|
130
|
+
await this.getFile(folder, name, 'open', false);
|
|
131
|
+
throw util.createError('EEXIST', 'writeFile');
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
const file404 = error && typeof error === 'object' && (error.code === 'ENOENT' || error.name === 'NotFoundError');
|
|
135
|
+
if (!file404) {
|
|
136
|
+
if (error && typeof error === 'object') {
|
|
137
|
+
switch (error.name) {
|
|
138
|
+
case 'TypeMismatchError':
|
|
139
|
+
throw (0, util_1.createError)('ENOTDIR', 'open', filename);
|
|
140
|
+
case 'NotFoundError':
|
|
141
|
+
throw (0, util_1.createError)('ENOENT', 'open', filename);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
throw error;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
try {
|
|
146
149
|
const createIfMissing = !!(flags & 64 /* FLAG.O_CREAT */);
|
|
147
|
-
const fsaFile =
|
|
150
|
+
const fsaFile = await this.getFile(folder, name, 'open', createIfMissing);
|
|
148
151
|
return this.__open2(fsaFile, filename, flags, mode);
|
|
149
|
-
}
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
if (error && typeof error === 'object') {
|
|
155
|
+
switch (error.name) {
|
|
156
|
+
case 'TypeMismatchError':
|
|
157
|
+
throw (0, util_1.createError)('ENOTDIR', 'open', filename);
|
|
158
|
+
case 'NotFoundError':
|
|
159
|
+
throw (0, util_1.createError)('ENOENT', 'open', filename);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
150
164
|
}
|
|
151
165
|
__open2(fsaFile, filename, flags, mode) {
|
|
152
166
|
const fd = this.newFdNumber();
|
|
@@ -154,6 +168,13 @@ class FsaNodeCore {
|
|
|
154
168
|
this.fds.set(fd, file);
|
|
155
169
|
return file;
|
|
156
170
|
}
|
|
171
|
+
async __close(fd) {
|
|
172
|
+
const openFile = await this.getFileByFdAsync(fd, 'close');
|
|
173
|
+
await openFile.close();
|
|
174
|
+
const deleted = this.fds.delete(fd);
|
|
175
|
+
if (deleted)
|
|
176
|
+
this.releasedFds.push(fd);
|
|
177
|
+
}
|
|
157
178
|
getFileName(id) {
|
|
158
179
|
if (typeof id === 'number') {
|
|
159
180
|
const openFile = this.fds.get(id);
|
|
@@ -166,3 +187,4 @@ class FsaNodeCore {
|
|
|
166
187
|
}
|
|
167
188
|
exports.FsaNodeCore = FsaNodeCore;
|
|
168
189
|
FsaNodeCore.fd = 0x7fffffff;
|
|
190
|
+
//# sourceMappingURL=FsaNodeCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FsaNodeCore.js","sourceRoot":"","sources":["../../src/fsa-to-node/FsaNodeCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FsaNodeDirent.js","sourceRoot":"","sources":["../../src/fsa-to-node/FsaNodeDirent.ts"],"names":[],"mappings":";;;AAEA,MAAa,aAAa;IACxB,YAAmC,IAAc,EAAqB,IAA0B;QAA7D,SAAI,GAAJ,IAAI,CAAU;QAAqB,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE7F,WAAW;QAChB,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;IACnC,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC;IAC9B,CAAC;IAEM,aAAa;QAClB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,iBAAiB;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,cAAc;QACnB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,QAAQ;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AA9BD,sCA8BC"}
|
|
@@ -60,8 +60,12 @@ export declare class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsS
|
|
|
60
60
|
readonly lchown: FsCallbackApi['lchown'];
|
|
61
61
|
readonly createWriteStream: FsCallbackApi['createWriteStream'];
|
|
62
62
|
readonly createReadStream: FsCallbackApi['createReadStream'];
|
|
63
|
-
readonly
|
|
64
|
-
readonly
|
|
63
|
+
readonly cp: FsCallbackApi['cp'];
|
|
64
|
+
readonly lutimes: FsCallbackApi['lutimes'];
|
|
65
|
+
readonly openAsBlob: FsCallbackApi['openAsBlob'];
|
|
66
|
+
readonly opendir: FsCallbackApi['opendir'];
|
|
67
|
+
readonly readv: FsCallbackApi['readv'];
|
|
68
|
+
readonly statfs: FsCallbackApi['statfs'];
|
|
65
69
|
/**
|
|
66
70
|
* @todo Watchers could be implemented in the future on top of `FileSystemObserver`,
|
|
67
71
|
* which is currently a proposal.
|
|
@@ -70,6 +74,8 @@ export declare class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsS
|
|
|
70
74
|
readonly watchFile: FsCallbackApi['watchFile'];
|
|
71
75
|
readonly unwatchFile: FsCallbackApi['unwatchFile'];
|
|
72
76
|
readonly watch: FsCallbackApi['watch'];
|
|
77
|
+
readonly symlink: FsCallbackApi['symlink'];
|
|
78
|
+
readonly link: FsCallbackApi['link'];
|
|
73
79
|
readonly statSync: FsSynchronousApi['statSync'];
|
|
74
80
|
readonly lstatSync: FsSynchronousApi['lstatSync'];
|
|
75
81
|
readonly fstatSync: FsSynchronousApi['fstatSync'];
|
|
@@ -94,6 +100,7 @@ export declare class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsS
|
|
|
94
100
|
readonly readSync: FsSynchronousApi['readSync'];
|
|
95
101
|
readonly writeSync: FsSynchronousApi['writeSync'];
|
|
96
102
|
readonly openSync: FsSynchronousApi['openSync'];
|
|
103
|
+
readonly writevSync: FsSynchronousApi['writevSync'];
|
|
97
104
|
readonly fdatasyncSync: FsSynchronousApi['fdatasyncSync'];
|
|
98
105
|
readonly fsyncSync: FsSynchronousApi['fsyncSync'];
|
|
99
106
|
readonly chmodSync: FsSynchronousApi['chmodSync'];
|
|
@@ -104,6 +111,11 @@ export declare class FsaNodeFs extends FsaNodeCore implements FsCallbackApi, FsS
|
|
|
104
111
|
readonly lchmodSync: FsSynchronousApi['lchmodSync'];
|
|
105
112
|
readonly lchownSync: FsSynchronousApi['lchownSync'];
|
|
106
113
|
readonly utimesSync: FsSynchronousApi['utimesSync'];
|
|
114
|
+
readonly lutimesSync: FsSynchronousApi['lutimesSync'];
|
|
115
|
+
readonly cpSync: FsSynchronousApi['cpSync'];
|
|
116
|
+
readonly opendirSync: FsSynchronousApi['opendirSync'];
|
|
117
|
+
readonly statfsSync: FsSynchronousApi['statfsSync'];
|
|
118
|
+
readonly readvSync: FsSynchronousApi['readvSync'];
|
|
107
119
|
readonly symlinkSync: FsSynchronousApi['symlinkSync'];
|
|
108
120
|
readonly linkSync: FsSynchronousApi['linkSync'];
|
|
109
121
|
readonly F_OK: number;
|