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.
Files changed (254) hide show
  1. package/README.md +10 -7
  2. package/demo/runkit.js +5 -0
  3. package/lib/Dirent.js +1 -0
  4. package/lib/Dirent.js.map +1 -0
  5. package/lib/Stats.js +2 -2
  6. package/lib/Stats.js.map +1 -0
  7. package/lib/__tests__/util.js +1 -0
  8. package/lib/__tests__/util.js.map +1 -0
  9. package/lib/cas/types.d.ts +10 -0
  10. package/lib/{node/types/callback.js → cas/types.js} +1 -0
  11. package/lib/cas/types.js.map +1 -0
  12. package/lib/constants.js +1 -0
  13. package/lib/constants.js.map +1 -0
  14. package/lib/consts/AMODE.js +1 -0
  15. package/lib/consts/AMODE.js.map +1 -0
  16. package/lib/consts/FLAG.d.ts +6 -0
  17. package/lib/consts/FLAG.js +1 -0
  18. package/lib/consts/FLAG.js.map +1 -0
  19. package/lib/crud/__tests__/matryoshka.test.d.ts +1 -0
  20. package/lib/crud/__tests__/matryoshka.test.js +69 -0
  21. package/lib/crud/__tests__/matryoshka.test.js.map +1 -0
  22. package/lib/crud/__tests__/testCrudfs.d.ts +6 -0
  23. package/lib/crud/__tests__/testCrudfs.js +278 -0
  24. package/lib/crud/__tests__/testCrudfs.js.map +1 -0
  25. package/lib/crud/types.d.ts +80 -0
  26. package/lib/{node/types/promises.js → crud/types.js} +1 -0
  27. package/lib/crud/types.js.map +1 -0
  28. package/lib/crud/util.d.ts +2 -0
  29. package/lib/crud/util.js +11 -0
  30. package/lib/crud/util.js.map +1 -0
  31. package/lib/crud-to-cas/CrudCas.d.ts +14 -0
  32. package/lib/crud-to-cas/CrudCas.js +57 -0
  33. package/lib/crud-to-cas/CrudCas.js.map +1 -0
  34. package/lib/crud-to-cas/__tests__/CrudCas.test.d.ts +1 -0
  35. package/lib/crud-to-cas/__tests__/CrudCas.test.js +38 -0
  36. package/lib/crud-to-cas/__tests__/CrudCas.test.js.map +1 -0
  37. package/lib/crud-to-cas/__tests__/testCasfs.d.ts +9 -0
  38. package/lib/crud-to-cas/__tests__/testCasfs.js +108 -0
  39. package/lib/crud-to-cas/__tests__/testCasfs.js.map +1 -0
  40. package/lib/crud-to-cas/index.d.ts +1 -0
  41. package/lib/crud-to-cas/index.js +6 -0
  42. package/lib/crud-to-cas/index.js.map +1 -0
  43. package/lib/crud-to-cas/util.d.ts +2 -0
  44. package/lib/crud-to-cas/util.js +13 -0
  45. package/lib/crud-to-cas/util.js.map +1 -0
  46. package/lib/encoding.js +1 -0
  47. package/lib/encoding.js.map +1 -0
  48. package/lib/fsa/types.js +1 -0
  49. package/lib/fsa/types.js.map +1 -0
  50. package/lib/fsa-to-crud/FsaCrud.d.ts +15 -0
  51. package/lib/fsa-to-crud/FsaCrud.js +191 -0
  52. package/lib/fsa-to-crud/FsaCrud.js.map +1 -0
  53. package/lib/fsa-to-crud/__tests__/FsaCrud.test.d.ts +1 -0
  54. package/lib/fsa-to-crud/__tests__/FsaCrud.test.js +17 -0
  55. package/lib/fsa-to-crud/__tests__/FsaCrud.test.js.map +1 -0
  56. package/lib/fsa-to-crud/index.d.ts +1 -0
  57. package/lib/fsa-to-crud/index.js +6 -0
  58. package/lib/fsa-to-crud/index.js.map +1 -0
  59. package/lib/fsa-to-crud/util.d.ts +5 -0
  60. package/lib/fsa-to-crud/util.js +12 -0
  61. package/lib/fsa-to-crud/util.js.map +1 -0
  62. package/lib/fsa-to-node/FsaNodeCore.d.ts +3 -2
  63. package/lib/fsa-to-node/FsaNodeCore.js +109 -87
  64. package/lib/fsa-to-node/FsaNodeCore.js.map +1 -0
  65. package/lib/fsa-to-node/FsaNodeDirent.js +1 -0
  66. package/lib/fsa-to-node/FsaNodeDirent.js.map +1 -0
  67. package/lib/fsa-to-node/FsaNodeFs.d.ts +14 -2
  68. package/lib/fsa-to-node/FsaNodeFs.js +156 -143
  69. package/lib/fsa-to-node/FsaNodeFs.js.map +1 -0
  70. package/lib/fsa-to-node/FsaNodeFsOpenFile.js +13 -25
  71. package/lib/fsa-to-node/FsaNodeFsOpenFile.js.map +1 -0
  72. package/lib/fsa-to-node/FsaNodeReadStream.js +14 -24
  73. package/lib/fsa-to-node/FsaNodeReadStream.js.map +1 -0
  74. package/lib/fsa-to-node/FsaNodeStats.js +1 -0
  75. package/lib/fsa-to-node/FsaNodeStats.js.map +1 -0
  76. package/lib/fsa-to-node/FsaNodeWriteStream.js +35 -47
  77. package/lib/fsa-to-node/FsaNodeWriteStream.js.map +1 -0
  78. package/lib/fsa-to-node/__tests__/FsaNodeFs.test.js +357 -348
  79. package/lib/fsa-to-node/__tests__/FsaNodeFs.test.js.map +1 -0
  80. package/lib/fsa-to-node/__tests__/util.test.js +4 -0
  81. package/lib/fsa-to-node/__tests__/util.test.js.map +1 -0
  82. package/lib/fsa-to-node/constants.js +1 -0
  83. package/lib/fsa-to-node/constants.js.map +1 -0
  84. package/lib/fsa-to-node/index.js +1 -0
  85. package/lib/fsa-to-node/index.js.map +1 -0
  86. package/lib/fsa-to-node/json.js +1 -0
  87. package/lib/fsa-to-node/json.js.map +1 -0
  88. package/lib/fsa-to-node/types.js +1 -0
  89. package/lib/fsa-to-node/types.js.map +1 -0
  90. package/lib/fsa-to-node/util.js +7 -13
  91. package/lib/fsa-to-node/util.js.map +1 -0
  92. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js +31 -41
  93. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js.map +1 -0
  94. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js +91 -105
  95. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js.map +1 -0
  96. package/lib/fsa-to-node/worker/SyncMessenger.js +4 -12
  97. package/lib/fsa-to-node/worker/SyncMessenger.js.map +1 -0
  98. package/lib/fsa-to-node/worker/constants.js +1 -0
  99. package/lib/fsa-to-node/worker/constants.js.map +1 -0
  100. package/lib/fsa-to-node/worker/types.js +1 -0
  101. package/lib/fsa-to-node/worker/types.js.map +1 -0
  102. package/lib/index.d.ts +4 -1
  103. package/lib/index.js +8 -6
  104. package/lib/index.js.map +1 -0
  105. package/lib/internal/buffer.js +1 -0
  106. package/lib/internal/buffer.js.map +1 -0
  107. package/lib/internal/errors.js +1 -0
  108. package/lib/internal/errors.js.map +1 -0
  109. package/lib/node/FileHandle.js +1 -0
  110. package/lib/node/FileHandle.js.map +1 -0
  111. package/lib/node/FsPromises.d.ts +86 -0
  112. package/lib/node/FsPromises.js +54 -0
  113. package/lib/node/FsPromises.js.map +1 -0
  114. package/lib/node/constants.js +2 -1
  115. package/lib/node/constants.js.map +1 -0
  116. package/lib/node/lists/fsCallbackApiList.d.ts +2 -0
  117. package/lib/node/lists/fsCallbackApiList.js +47 -0
  118. package/lib/node/lists/fsCallbackApiList.js.map +1 -0
  119. package/lib/node/lists/fsCommonObjectsList.d.ts +2 -0
  120. package/lib/node/lists/fsCommonObjectsList.js +19 -0
  121. package/lib/node/lists/fsCommonObjectsList.js.map +1 -0
  122. package/lib/node/lists/fsSynchronousApiList.d.ts +2 -0
  123. package/lib/node/lists/fsSynchronousApiList.js +46 -0
  124. package/lib/node/lists/fsSynchronousApiList.js.map +1 -0
  125. package/lib/node/options.js +1 -0
  126. package/lib/node/options.js.map +1 -0
  127. package/lib/node/types/{callback.d.ts → FsCallbackApi.d.ts} +49 -40
  128. package/lib/node/types/FsCallbackApi.js +3 -0
  129. package/lib/node/types/FsCallbackApi.js.map +1 -0
  130. package/lib/node/types/FsCommonObjects.d.ts +4 -4
  131. package/lib/node/types/FsCommonObjects.js +1 -0
  132. package/lib/node/types/FsCommonObjects.js.map +1 -0
  133. package/lib/node/types/{promises.d.ts → FsPromisesApi.d.ts} +11 -0
  134. package/lib/node/types/FsPromisesApi.js +3 -0
  135. package/lib/node/types/FsPromisesApi.js.map +1 -0
  136. package/lib/node/types/FsSynchronousApi.d.ts +64 -58
  137. package/lib/node/types/FsSynchronousApi.js +1 -0
  138. package/lib/node/types/FsSynchronousApi.js.map +1 -0
  139. package/lib/node/types/index.d.ts +2 -2
  140. package/lib/node/types/index.js +1 -0
  141. package/lib/node/types/index.js.map +1 -0
  142. package/lib/node/types/misc.d.ts +20 -0
  143. package/lib/node/types/misc.js +1 -0
  144. package/lib/node/types/misc.js.map +1 -0
  145. package/lib/node/types/options.d.ts +62 -0
  146. package/lib/node/types/options.js +1 -0
  147. package/lib/node/types/options.js.map +1 -0
  148. package/lib/node/util.d.ts +2 -1
  149. package/lib/node/util.js +30 -1
  150. package/lib/node/util.js.map +1 -0
  151. package/lib/node-to-crud/NodeCrud.d.ts +22 -0
  152. package/lib/node-to-crud/NodeCrud.js +233 -0
  153. package/lib/node-to-crud/NodeCrud.js.map +1 -0
  154. package/lib/node-to-crud/__tests__/FsaCrud.test.d.ts +1 -0
  155. package/lib/node-to-crud/__tests__/FsaCrud.test.js +18 -0
  156. package/lib/node-to-crud/__tests__/FsaCrud.test.js.map +1 -0
  157. package/lib/node-to-crud/index.d.ts +1 -0
  158. package/lib/node-to-crud/index.js +6 -0
  159. package/lib/node-to-crud/index.js.map +1 -0
  160. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.d.ts +3 -2
  161. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js +112 -151
  162. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js.map +1 -0
  163. package/lib/node-to-fsa/NodeFileSystemFileHandle.js +25 -36
  164. package/lib/node-to-fsa/NodeFileSystemFileHandle.js.map +1 -0
  165. package/lib/node-to-fsa/NodeFileSystemHandle.js +3 -13
  166. package/lib/node-to-fsa/NodeFileSystemHandle.js.map +1 -0
  167. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js +42 -62
  168. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js.map +1 -0
  169. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js +92 -116
  170. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js.map +1 -0
  171. package/lib/node-to-fsa/NodePermissionStatus.js +1 -0
  172. package/lib/node-to-fsa/NodePermissionStatus.js.map +1 -0
  173. package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.js +175 -234
  174. package/lib/node-to-fsa/__tests__/NodeFileSystemDirectoryHandle.test.js.map +1 -0
  175. package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.js +91 -99
  176. package/lib/node-to-fsa/__tests__/NodeFileSystemFileHandle.test.js.map +1 -0
  177. package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.js +10 -18
  178. package/lib/node-to-fsa/__tests__/NodeFileSystemHandle.test.js.map +1 -0
  179. package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.js +70 -78
  180. package/lib/node-to-fsa/__tests__/NodeFileSystemSyncAccessHandle.test.js.map +1 -0
  181. package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.js +31 -39
  182. package/lib/node-to-fsa/__tests__/NodeFileSystemWritableFileStream.test.js.map +1 -0
  183. package/lib/node-to-fsa/__tests__/scenarios.test.js +18 -26
  184. package/lib/node-to-fsa/__tests__/scenarios.test.js.map +1 -0
  185. package/lib/node-to-fsa/__tests__/util.test.js +5 -0
  186. package/lib/node-to-fsa/__tests__/util.test.js.map +1 -0
  187. package/lib/node-to-fsa/index.js +6 -18
  188. package/lib/node-to-fsa/index.js.map +1 -0
  189. package/lib/node-to-fsa/types.d.ts +5 -2
  190. package/lib/node-to-fsa/types.js +1 -0
  191. package/lib/node-to-fsa/types.js.map +1 -0
  192. package/lib/node-to-fsa/util.js +3 -0
  193. package/lib/node-to-fsa/util.js.map +1 -0
  194. package/lib/node.js +1 -0
  195. package/lib/node.js.map +1 -0
  196. package/lib/print/__tests__/index.test.d.ts +1 -0
  197. package/lib/print/__tests__/index.test.js +77 -0
  198. package/lib/print/__tests__/index.test.js.map +1 -0
  199. package/lib/print/index.d.ts +8 -0
  200. package/lib/print/index.js +33 -0
  201. package/lib/print/index.js.map +1 -0
  202. package/lib/process.js +1 -0
  203. package/lib/process.js.map +1 -0
  204. package/lib/setImmediate.js +1 -0
  205. package/lib/setImmediate.js.map +1 -0
  206. package/lib/setTimeoutUnref.js +1 -0
  207. package/lib/setTimeoutUnref.js.map +1 -0
  208. package/lib/snapshot/__tests__/async.test.d.ts +1 -0
  209. package/lib/snapshot/__tests__/async.test.js +63 -0
  210. package/lib/snapshot/__tests__/async.test.js.map +1 -0
  211. package/lib/snapshot/__tests__/binary.test.d.ts +1 -0
  212. package/lib/snapshot/__tests__/binary.test.js +59 -0
  213. package/lib/snapshot/__tests__/binary.test.js.map +1 -0
  214. package/lib/snapshot/__tests__/json.test.d.ts +1 -0
  215. package/lib/snapshot/__tests__/json.test.js +68 -0
  216. package/lib/snapshot/__tests__/json.test.js.map +1 -0
  217. package/lib/snapshot/__tests__/sync.test.d.ts +1 -0
  218. package/lib/snapshot/__tests__/sync.test.js +63 -0
  219. package/lib/snapshot/__tests__/sync.test.js.map +1 -0
  220. package/lib/snapshot/async.d.ts +3 -0
  221. package/lib/snapshot/async.js +59 -0
  222. package/lib/snapshot/async.js.map +1 -0
  223. package/lib/snapshot/binary.d.ts +6 -0
  224. package/lib/snapshot/binary.js +31 -0
  225. package/lib/snapshot/binary.js.map +1 -0
  226. package/lib/snapshot/constants.d.ts +5 -0
  227. package/lib/snapshot/constants.js +3 -0
  228. package/lib/snapshot/constants.js.map +1 -0
  229. package/lib/snapshot/index.d.ts +5 -0
  230. package/lib/snapshot/index.js +8 -0
  231. package/lib/snapshot/index.js.map +1 -0
  232. package/lib/snapshot/json.d.ts +10 -0
  233. package/lib/snapshot/json.js +31 -0
  234. package/lib/snapshot/json.js.map +1 -0
  235. package/lib/snapshot/shared.d.ts +2 -0
  236. package/lib/snapshot/shared.js +6 -0
  237. package/lib/snapshot/shared.js.map +1 -0
  238. package/lib/snapshot/sync.d.ts +3 -0
  239. package/lib/snapshot/sync.js +59 -0
  240. package/lib/snapshot/sync.js.map +1 -0
  241. package/lib/snapshot/types.d.ts +30 -0
  242. package/lib/snapshot/types.js +3 -0
  243. package/lib/snapshot/types.js.map +1 -0
  244. package/lib/volume-localstorage.js +1 -0
  245. package/lib/volume-localstorage.js.map +1 -0
  246. package/lib/volume.d.ts +18 -7
  247. package/lib/volume.js +25 -16
  248. package/lib/volume.js.map +1 -0
  249. package/lib/webfs/index.js +1 -0
  250. package/lib/webfs/index.js.map +1 -0
  251. package/package.json +67 -26
  252. package/lib/getBigInt.js +0 -5
  253. package/lib/node/promises.d.ts +0 -2
  254. 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, create?: boolean): Promise<fsa.IFileSystemFileHandle | fsa.IFileSystemDirectoryHandle>;
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, create?: boolean): Promise<fsa.IFileSystemFileHandle>;
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
- return __awaiter(this, void 0, void 0, function* () {
51
- let curr = yield this.root;
52
- const options = { create };
53
- try {
54
- for (const name of path) {
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
- catch (error) {
59
- if (error && typeof error === 'object') {
60
- switch (error.name) {
61
- case 'TypeMismatchError':
62
- throw (0, util_1.createError)('ENOTDIR', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
63
- case 'NotFoundError':
64
- throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
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
- return curr;
70
- });
58
+ throw error;
59
+ }
60
+ return curr;
71
61
  }
72
- getFile(path, name, funcName, create) {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- const dir = yield this.getDir(path, false, funcName);
75
- const file = yield dir.getFileHandle(name, { create });
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, create) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const dir = yield this.getDir(path, false, funcName);
82
- try {
83
- const file = yield dir.getFileHandle(name);
84
- return file;
85
- }
86
- catch (error) {
87
- if (error && typeof error === 'object') {
88
- switch (error.name) {
89
- case 'TypeMismatchError':
90
- try {
91
- return yield dir.getDirectoryHandle(name);
92
- }
93
- catch (error2) {
94
- if (error2 && typeof error2 === 'object') {
95
- switch (error2.name) {
96
- case 'TypeMismatchError':
97
- throw (0, util_1.createError)('ENOTDIR', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
98
- case 'NotFoundError':
99
- throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
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
- case 'NotFoundError':
104
- throw (0, util_1.createError)('ENOENT', funcName, path.join("/" /* FsaToNodeConstants.Separator */));
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 __awaiter(this, void 0, void 0, function* () {
121
- return this.getFileByFd(fd, funcName);
122
- });
107
+ async getFileByFdAsync(fd, funcName) {
108
+ return this.getFileByFd(fd, funcName);
123
109
  }
124
- __getFileById(id, funcName, create) {
125
- return __awaiter(this, void 0, void 0, function* () {
126
- if (typeof id === 'number')
127
- return (yield this.getFileByFd(id, funcName)).file;
128
- const filename = (0, util_1.pathToFilename)(id);
129
- const [folder, name] = (0, util_2.pathToLocation)(filename);
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
- return __awaiter(this, void 0, void 0, function* () {
135
- if (typeof id === 'number')
136
- return (yield this.getFileByFd(id, funcName)).file;
137
- const filename = (0, util_1.pathToFilename)(id);
138
- const [folder, name] = (0, util_2.pathToLocation)(filename);
139
- const dir = yield this.getDir(folder, false, funcName);
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
- return __awaiter(this, void 0, void 0, function* () {
145
- const [folder, name] = (0, util_2.pathToLocation)(filename);
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 = yield this.getFile(folder, name, 'open', createIfMissing);
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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"}
@@ -29,3 +29,4 @@ class FsaNodeDirent {
29
29
  }
30
30
  }
31
31
  exports.FsaNodeDirent = FsaNodeDirent;
32
+ //# sourceMappingURL=FsaNodeDirent.js.map
@@ -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 symlink: FsCallbackApi['symlink'];
64
- readonly link: FsCallbackApi['link'];
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;