memfs 4.9.1 → 5.0.0-next.1

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 (173) hide show
  1. package/lib/Dirent.js +0 -1
  2. package/lib/Stats.js +0 -1
  3. package/lib/cas/types.js +0 -1
  4. package/lib/constants.js +0 -1
  5. package/lib/consts/AMODE.js +0 -1
  6. package/lib/consts/FLAG.js +0 -1
  7. package/lib/crud/types.js +0 -1
  8. package/lib/crud/util.js +0 -1
  9. package/lib/crud-to-cas/CrudCas.js +0 -1
  10. package/lib/crud-to-cas/CrudCasBase.js +1 -2
  11. package/lib/crud-to-cas/index.js +0 -1
  12. package/lib/crud-to-cas/util.js +0 -1
  13. package/lib/encoding.js +0 -1
  14. package/lib/fsa/types.js +0 -1
  15. package/lib/fsa-to-crud/FsaCrud.js +20 -65
  16. package/lib/fsa-to-crud/index.js +0 -1
  17. package/lib/fsa-to-crud/util.js +0 -1
  18. package/lib/fsa-to-node/FsaNodeCore.js +0 -1
  19. package/lib/fsa-to-node/FsaNodeDirent.js +0 -1
  20. package/lib/fsa-to-node/FsaNodeFs.js +16 -60
  21. package/lib/fsa-to-node/FsaNodeFsOpenFile.js +0 -1
  22. package/lib/fsa-to-node/FsaNodeReadStream.js +0 -1
  23. package/lib/fsa-to-node/FsaNodeStats.js +0 -1
  24. package/lib/fsa-to-node/FsaNodeWriteStream.js +2 -4
  25. package/lib/fsa-to-node/constants.js +0 -1
  26. package/lib/fsa-to-node/index.js +0 -1
  27. package/lib/fsa-to-node/json.js +0 -1
  28. package/lib/fsa-to-node/types.js +0 -1
  29. package/lib/fsa-to-node/util.js +1 -2
  30. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js +0 -1
  31. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js +3 -4
  32. package/lib/fsa-to-node/worker/SyncMessenger.js +1 -2
  33. package/lib/fsa-to-node/worker/constants.js +0 -1
  34. package/lib/fsa-to-node/worker/types.js +0 -1
  35. package/lib/index.js +1 -2
  36. package/lib/internal/buffer.js +0 -1
  37. package/lib/internal/errors.js +0 -1
  38. package/lib/node/FileHandle.js +0 -1
  39. package/lib/node/FsPromises.js +0 -1
  40. package/lib/node/constants.js +0 -1
  41. package/lib/node/lists/fsCallbackApiList.js +0 -1
  42. package/lib/node/lists/fsCommonObjectsList.js +0 -1
  43. package/lib/node/lists/fsSynchronousApiList.js +0 -1
  44. package/lib/node/options.js +0 -1
  45. package/lib/node/types/FsCallbackApi.js +0 -1
  46. package/lib/node/types/FsCommonObjects.js +0 -1
  47. package/lib/node/types/FsPromisesApi.js +0 -1
  48. package/lib/node/types/FsSynchronousApi.js +0 -1
  49. package/lib/node/types/index.js +0 -1
  50. package/lib/node/types/misc.js +0 -1
  51. package/lib/node/types/options.js +0 -1
  52. package/lib/node/util.js +0 -1
  53. package/lib/node-to-crud/NodeCrud.js +20 -52
  54. package/lib/node-to-crud/index.js +0 -1
  55. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js +21 -43
  56. package/lib/node-to-fsa/NodeFileSystemFileHandle.js +0 -1
  57. package/lib/node-to-fsa/NodeFileSystemHandle.js +0 -1
  58. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js +2 -5
  59. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js +0 -1
  60. package/lib/node-to-fsa/NodePermissionStatus.js +0 -1
  61. package/lib/node-to-fsa/index.js +0 -1
  62. package/lib/node-to-fsa/types.js +0 -1
  63. package/lib/node-to-fsa/util.js +6 -2
  64. package/lib/node.js +3 -4
  65. package/lib/print/index.js +1 -3
  66. package/lib/process.js +1 -2
  67. package/lib/queueMicrotask.js +0 -1
  68. package/lib/setImmediate.js +0 -1
  69. package/lib/setTimeoutUnref.js +0 -1
  70. package/lib/snapshot/async.js +0 -1
  71. package/lib/snapshot/binary.js +0 -1
  72. package/lib/snapshot/constants.js +0 -1
  73. package/lib/snapshot/index.js +0 -1
  74. package/lib/snapshot/json.js +0 -1
  75. package/lib/snapshot/shared.js +0 -1
  76. package/lib/snapshot/sync.js +0 -1
  77. package/lib/snapshot/types.js +0 -1
  78. package/lib/thingies/Defer.js +0 -1
  79. package/lib/thingies/concurrency.js +0 -1
  80. package/lib/thingies/go.js +0 -1
  81. package/lib/thingies/index.js +0 -1
  82. package/lib/thingies/of.js +0 -1
  83. package/lib/thingies/types.js +0 -1
  84. package/lib/volume-localstorage.js +0 -1
  85. package/lib/volume.js +7 -12
  86. package/lib/webfs/index.js +0 -1
  87. package/package.json +1 -1
  88. package/lib/Dirent.js.map +0 -1
  89. package/lib/Stats.js.map +0 -1
  90. package/lib/cas/types.js.map +0 -1
  91. package/lib/constants.js.map +0 -1
  92. package/lib/consts/AMODE.js.map +0 -1
  93. package/lib/consts/FLAG.js.map +0 -1
  94. package/lib/crud/types.js.map +0 -1
  95. package/lib/crud/util.js.map +0 -1
  96. package/lib/crud-to-cas/CrudCas.js.map +0 -1
  97. package/lib/crud-to-cas/CrudCasBase.js.map +0 -1
  98. package/lib/crud-to-cas/index.js.map +0 -1
  99. package/lib/crud-to-cas/util.js.map +0 -1
  100. package/lib/encoding.js.map +0 -1
  101. package/lib/fsa/types.js.map +0 -1
  102. package/lib/fsa-to-crud/FsaCrud.js.map +0 -1
  103. package/lib/fsa-to-crud/index.js.map +0 -1
  104. package/lib/fsa-to-crud/util.js.map +0 -1
  105. package/lib/fsa-to-node/FsaNodeCore.js.map +0 -1
  106. package/lib/fsa-to-node/FsaNodeDirent.js.map +0 -1
  107. package/lib/fsa-to-node/FsaNodeFs.js.map +0 -1
  108. package/lib/fsa-to-node/FsaNodeFsOpenFile.js.map +0 -1
  109. package/lib/fsa-to-node/FsaNodeReadStream.js.map +0 -1
  110. package/lib/fsa-to-node/FsaNodeStats.js.map +0 -1
  111. package/lib/fsa-to-node/FsaNodeWriteStream.js.map +0 -1
  112. package/lib/fsa-to-node/constants.js.map +0 -1
  113. package/lib/fsa-to-node/index.js.map +0 -1
  114. package/lib/fsa-to-node/json.js.map +0 -1
  115. package/lib/fsa-to-node/types.js.map +0 -1
  116. package/lib/fsa-to-node/util.js.map +0 -1
  117. package/lib/fsa-to-node/worker/FsaNodeSyncAdapterWorker.js.map +0 -1
  118. package/lib/fsa-to-node/worker/FsaNodeSyncWorker.js.map +0 -1
  119. package/lib/fsa-to-node/worker/SyncMessenger.js.map +0 -1
  120. package/lib/fsa-to-node/worker/constants.js.map +0 -1
  121. package/lib/fsa-to-node/worker/types.js.map +0 -1
  122. package/lib/index.js.map +0 -1
  123. package/lib/internal/buffer.js.map +0 -1
  124. package/lib/internal/errors.js.map +0 -1
  125. package/lib/node/FileHandle.js.map +0 -1
  126. package/lib/node/FsPromises.js.map +0 -1
  127. package/lib/node/constants.js.map +0 -1
  128. package/lib/node/lists/fsCallbackApiList.js.map +0 -1
  129. package/lib/node/lists/fsCommonObjectsList.js.map +0 -1
  130. package/lib/node/lists/fsSynchronousApiList.js.map +0 -1
  131. package/lib/node/options.js.map +0 -1
  132. package/lib/node/types/FsCallbackApi.js.map +0 -1
  133. package/lib/node/types/FsCommonObjects.js.map +0 -1
  134. package/lib/node/types/FsPromisesApi.js.map +0 -1
  135. package/lib/node/types/FsSynchronousApi.js.map +0 -1
  136. package/lib/node/types/index.js.map +0 -1
  137. package/lib/node/types/misc.js.map +0 -1
  138. package/lib/node/types/options.js.map +0 -1
  139. package/lib/node/util.js.map +0 -1
  140. package/lib/node-to-crud/NodeCrud.js.map +0 -1
  141. package/lib/node-to-crud/index.js.map +0 -1
  142. package/lib/node-to-fsa/NodeFileSystemDirectoryHandle.js.map +0 -1
  143. package/lib/node-to-fsa/NodeFileSystemFileHandle.js.map +0 -1
  144. package/lib/node-to-fsa/NodeFileSystemHandle.js.map +0 -1
  145. package/lib/node-to-fsa/NodeFileSystemSyncAccessHandle.js.map +0 -1
  146. package/lib/node-to-fsa/NodeFileSystemWritableFileStream.js.map +0 -1
  147. package/lib/node-to-fsa/NodePermissionStatus.js.map +0 -1
  148. package/lib/node-to-fsa/index.js.map +0 -1
  149. package/lib/node-to-fsa/types.js.map +0 -1
  150. package/lib/node-to-fsa/util.js.map +0 -1
  151. package/lib/node.js.map +0 -1
  152. package/lib/print/index.js.map +0 -1
  153. package/lib/process.js.map +0 -1
  154. package/lib/queueMicrotask.js.map +0 -1
  155. package/lib/setImmediate.js.map +0 -1
  156. package/lib/setTimeoutUnref.js.map +0 -1
  157. package/lib/snapshot/async.js.map +0 -1
  158. package/lib/snapshot/binary.js.map +0 -1
  159. package/lib/snapshot/constants.js.map +0 -1
  160. package/lib/snapshot/index.js.map +0 -1
  161. package/lib/snapshot/json.js.map +0 -1
  162. package/lib/snapshot/shared.js.map +0 -1
  163. package/lib/snapshot/sync.js.map +0 -1
  164. package/lib/snapshot/types.js.map +0 -1
  165. package/lib/thingies/Defer.js.map +0 -1
  166. package/lib/thingies/concurrency.js.map +0 -1
  167. package/lib/thingies/go.js.map +0 -1
  168. package/lib/thingies/index.js.map +0 -1
  169. package/lib/thingies/of.js.map +0 -1
  170. package/lib/thingies/types.js.map +0 -1
  171. package/lib/volume-localstorage.js.map +0 -1
  172. package/lib/volume.js.map +0 -1
  173. package/lib/webfs/index.js.map +0 -1
package/lib/Dirent.js CHANGED
@@ -48,4 +48,3 @@ class Dirent {
48
48
  }
49
49
  exports.Dirent = Dirent;
50
50
  exports.default = Dirent;
51
- //# sourceMappingURL=Dirent.js.map
package/lib/Stats.js CHANGED
@@ -69,4 +69,3 @@ class Stats {
69
69
  }
70
70
  exports.Stats = Stats;
71
71
  exports.default = Stats;
72
- //# sourceMappingURL=Stats.js.map
package/lib/cas/types.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/lib/constants.js CHANGED
@@ -50,4 +50,3 @@ exports.constants = {
50
50
  COPYFILE_FICLONE: 2,
51
51
  COPYFILE_FICLONE_FORCE: 4,
52
52
  };
53
- //# sourceMappingURL=constants.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=AMODE.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=FLAG.js.map
package/lib/crud/types.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/lib/crud/util.js CHANGED
@@ -8,4 +8,3 @@ const assertType = (type, method, klass) => {
8
8
  (0, util_1.assertName)(type[i], method, klass);
9
9
  };
10
10
  exports.assertType = assertType;
11
- //# sourceMappingURL=util.js.map
@@ -12,4 +12,3 @@ class CrudCas extends CrudCasBase_1.CrudCasBase {
12
12
  }
13
13
  }
14
14
  exports.CrudCas = CrudCas;
15
- //# sourceMappingURL=CrudCas.js.map
@@ -32,7 +32,7 @@ class CrudCasBase {
32
32
  const [collection, resource] = this.hash2Loc(hash);
33
33
  return await normalizeErrors(async () => {
34
34
  const blob = await this.crud.get(collection, resource);
35
- if (!(options === null || options === void 0 ? void 0 : options.skipVerification)) {
35
+ if (!options?.skipVerification) {
36
36
  const digest = await this.hash(blob);
37
37
  if (!this.hashEqual(digest, hash))
38
38
  throw new DOMException('Blob contents does not match hash', 'Integrity');
@@ -55,4 +55,3 @@ class CrudCasBase {
55
55
  }
56
56
  }
57
57
  exports.CrudCasBase = CrudCasBase;
58
- //# sourceMappingURL=CrudCasBase.js.map
@@ -3,4 +3,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CrudCas = void 0;
4
4
  var CrudCas_1 = require("./CrudCas");
5
5
  Object.defineProperty(exports, "CrudCas", { enumerable: true, get: function () { return CrudCas_1.CrudCas; } });
6
- //# sourceMappingURL=index.js.map
@@ -10,4 +10,3 @@ const hashToLocation = (hash) => {
10
10
  return [folder, hash];
11
11
  };
12
12
  exports.hashToLocation = hashToLocation;
13
- //# sourceMappingURL=util.js.map
package/lib/encoding.js CHANGED
@@ -17,4 +17,3 @@ function strToEncoding(str, encoding) {
17
17
  return new buffer_1.Buffer(str).toString(encoding); // Custom encoding
18
18
  }
19
19
  exports.strToEncoding = strToEncoding;
20
- //# sourceMappingURL=encoding.js.map
package/lib/fsa/types.js CHANGED
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FsaCrud = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const util_1 = require("../node-to-fsa/util");
6
5
  const util_2 = require("../crud/util");
7
6
  const util_3 = require("./util");
@@ -13,7 +12,7 @@ class FsaCrud {
13
12
  (0, util_1.assertName)(id, 'put', 'crudfs');
14
13
  const [dir] = await this.getDir(collection, true);
15
14
  let file;
16
- switch (options === null || options === void 0 ? void 0 : options.throwIf) {
15
+ switch (options?.throwIf) {
17
16
  case 'exists': {
18
17
  try {
19
18
  file = await dir.getFileHandle(id, { create: false });
@@ -87,7 +86,6 @@ class FsaCrud {
87
86
  }
88
87
  };
89
88
  this.drop = async (collection, silent) => {
90
- var _a, e_1, _b, _c;
91
89
  (0, util_2.assertType)(collection, 'drop', 'crudfs');
92
90
  try {
93
91
  const [dir, parent] = await this.getDir(collection, false);
@@ -96,21 +94,8 @@ class FsaCrud {
96
94
  }
97
95
  else {
98
96
  const root = await this.root;
99
- try {
100
- for (var _d = true, _e = tslib_1.__asyncValues(root.keys()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
101
- _c = _f.value;
102
- _d = false;
103
- const name = _c;
104
- await root.removeEntry(name, { recursive: true });
105
- }
106
- }
107
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
108
- finally {
109
- try {
110
- if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
111
- }
112
- finally { if (e_1) throw e_1.error; }
113
- }
97
+ for await (const name of root.keys())
98
+ await root.removeEntry(name, { recursive: true });
114
99
  }
115
100
  }
116
101
  catch (error) {
@@ -118,57 +103,28 @@ class FsaCrud {
118
103
  throw error;
119
104
  }
120
105
  };
121
- this.scan = function (collection) {
122
- return tslib_1.__asyncGenerator(this, arguments, function* () {
123
- var _a, e_2, _b, _c;
124
- (0, util_2.assertType)(collection, 'scan', 'crudfs');
125
- const [dir] = yield tslib_1.__await(this.getDir(collection, false));
126
- try {
127
- for (var _d = true, _e = tslib_1.__asyncValues(dir.entries()), _f; _f = yield tslib_1.__await(_e.next()), _a = _f.done, !_a; _d = true) {
128
- _c = _f.value;
129
- _d = false;
130
- const [id, handle] = _c;
131
- if (handle.kind === 'file') {
132
- yield yield tslib_1.__await({
133
- type: 'resource',
134
- id,
135
- });
136
- }
137
- else if (handle.kind === 'directory') {
138
- yield yield tslib_1.__await({
139
- type: 'collection',
140
- id,
141
- });
142
- }
143
- }
106
+ this.scan = async function* (collection) {
107
+ (0, util_2.assertType)(collection, 'scan', 'crudfs');
108
+ const [dir] = await this.getDir(collection, false);
109
+ for await (const [id, handle] of dir.entries()) {
110
+ if (handle.kind === 'file') {
111
+ yield {
112
+ type: 'resource',
113
+ id,
114
+ };
144
115
  }
145
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
146
- finally {
147
- try {
148
- if (!_d && !_a && (_b = _e.return)) yield tslib_1.__await(_b.call(_e));
149
- }
150
- finally { if (e_2) throw e_2.error; }
116
+ else if (handle.kind === 'directory') {
117
+ yield {
118
+ type: 'collection',
119
+ id,
120
+ };
151
121
  }
152
- });
122
+ }
153
123
  };
154
124
  this.list = async (collection) => {
155
- var _a, e_3, _b, _c;
156
125
  const entries = [];
157
- try {
158
- for (var _d = true, _e = tslib_1.__asyncValues(this.scan(collection)), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
159
- _c = _f.value;
160
- _d = false;
161
- const entry = _c;
162
- entries.push(entry);
163
- }
164
- }
165
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
166
- finally {
167
- try {
168
- if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
169
- }
170
- finally { if (e_3) throw e_3.error; }
171
- }
126
+ for await (const entry of this.scan(collection))
127
+ entries.push(entry);
172
128
  return entries;
173
129
  };
174
130
  this.from = async (collection) => {
@@ -208,4 +164,3 @@ class FsaCrud {
208
164
  }
209
165
  }
210
166
  exports.FsaCrud = FsaCrud;
211
- //# sourceMappingURL=FsaCrud.js.map
@@ -3,4 +3,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FsaCrud = void 0;
4
4
  var FsaCrud_1 = require("./FsaCrud");
5
5
  Object.defineProperty(exports, "FsaCrud", { enumerable: true, get: function () { return FsaCrud_1.FsaCrud; } });
6
- //# sourceMappingURL=index.js.map
@@ -9,4 +9,3 @@ const newExistsError = () => new DOMException('Resource already exists', 'Exists
9
9
  exports.newExistsError = newExistsError;
10
10
  const newMissingError = () => new DOMException('Resource is missing', 'Missing');
11
11
  exports.newMissingError = newMissingError;
12
- //# sourceMappingURL=util.js.map
@@ -187,4 +187,3 @@ class FsaNodeCore {
187
187
  }
188
188
  exports.FsaNodeCore = FsaNodeCore;
189
189
  FsaNodeCore.fd = 0x7fffffff;
190
- //# sourceMappingURL=FsaNodeCore.js.map
@@ -29,4 +29,3 @@ class FsaNodeDirent {
29
29
  }
30
30
  }
31
31
  exports.FsaNodeDirent = FsaNodeDirent;
32
- //# sourceMappingURL=FsaNodeDirent.js.map
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FsaNodeFs = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const optHelpers = require("../node/options");
6
5
  const util = require("../node/util");
7
6
  const buffer_1 = require("../internal/buffer");
@@ -92,7 +91,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
92
91
  if (idWasFd)
93
92
  await this.__close(originalFd);
94
93
  }
95
- catch (_a) { }
94
+ catch { }
96
95
  }
97
96
  })()
98
97
  .then(data => callback(null, data))
@@ -163,7 +162,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
163
162
  if (idWasFd)
164
163
  await this.__close(originalFd);
165
164
  }
166
- catch (_a) { }
165
+ catch { }
167
166
  }
168
167
  })().then(() => cb(null), error => cb(error));
169
168
  };
@@ -295,7 +294,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
295
294
  const writable = await file.createWritable();
296
295
  await writable.close();
297
296
  }
298
- catch (_a) {
297
+ catch {
299
298
  throw util.createError('EACCESS', 'access', filename);
300
299
  }
301
300
  }
@@ -340,24 +339,11 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
340
339
  folder.push(name);
341
340
  this.getDir(folder, false, 'readdir')
342
341
  .then(dir => (async () => {
343
- var _a, e_1, _b, _c, _d, e_2, _e, _f;
344
342
  if (options.withFileTypes) {
345
343
  const list = [];
346
- try {
347
- for (var _g = true, _h = tslib_1.__asyncValues(dir.entries()), _j; _j = await _h.next(), _a = _j.done, !_a; _g = true) {
348
- _c = _j.value;
349
- _g = false;
350
- const [name, handle] = _c;
351
- const dirent = new FsaNodeDirent_1.FsaNodeDirent(name, handle.kind);
352
- list.push(dirent);
353
- }
354
- }
355
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
356
- finally {
357
- try {
358
- if (!_g && !_a && (_b = _h.return)) await _b.call(_h);
359
- }
360
- finally { if (e_1) throw e_1.error; }
344
+ for await (const [name, handle] of dir.entries()) {
345
+ const dirent = new FsaNodeDirent_1.FsaNodeDirent(name, handle.kind);
346
+ list.push(dirent);
361
347
  }
362
348
  if (!util.isWin && options.encoding !== 'buffer')
363
349
  list.sort((a, b) => {
@@ -371,21 +357,8 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
371
357
  }
372
358
  else {
373
359
  const list = [];
374
- try {
375
- for (var _k = true, _l = tslib_1.__asyncValues(dir.keys()), _m; _m = await _l.next(), _d = _m.done, !_d; _k = true) {
376
- _f = _m.value;
377
- _k = false;
378
- const key = _f;
379
- list.push(key);
380
- }
381
- }
382
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
383
- finally {
384
- try {
385
- if (!_k && !_d && (_e = _l.return)) await _e.call(_l);
386
- }
387
- finally { if (e_2) throw e_2.error; }
388
- }
360
+ for await (const key of dir.keys())
361
+ list.push(key);
389
362
  if (!util.isWin && options.encoding !== 'buffer')
390
363
  list.sort();
391
364
  return list;
@@ -437,14 +410,13 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
437
410
  callback(null);
438
411
  };
439
412
  this.mkdir = (path, a, b) => {
440
- var _a;
441
413
  const opts = optHelpers.getMkdirOptions(a);
442
414
  const callback = util.validateCallback(typeof a === 'function' ? a : b);
443
415
  // const modeNum = modeToNumber(opts.mode, 0o777);
444
416
  const filename = util.pathToFilename(path);
445
417
  const [folder, name] = (0, util_1.pathToLocation)(filename);
446
418
  // TODO: need to throw if directory already exists
447
- this.getDir(folder, (_a = opts.recursive) !== null && _a !== void 0 ? _a : false)
419
+ this.getDir(folder, opts.recursive ?? false)
448
420
  .then(dir => dir.getDirectoryHandle(name, { create: true }))
449
421
  .then(() => callback(null), error => {
450
422
  if (error && typeof error === 'object') {
@@ -481,7 +453,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
481
453
  return this.rmAll(callback);
482
454
  this.getDir(folder, false, 'rmdir')
483
455
  .then(dir => dir.getDirectoryHandle(name).then(() => dir))
484
- .then(dir => { var _a; return dir.removeEntry(name, { recursive: (_a = options.recursive) !== null && _a !== void 0 ? _a : false }); })
456
+ .then(dir => dir.removeEntry(name, { recursive: options.recursive ?? false }))
485
457
  .then(() => callback(null), error => {
486
458
  if (error && typeof error === 'object') {
487
459
  switch (error.name) {
@@ -506,7 +478,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
506
478
  if (!name && options.recursive)
507
479
  return this.rmAll(callback);
508
480
  this.getDir(folder, false, 'rmdir')
509
- .then(dir => { var _a; return dir.removeEntry(name, { recursive: (_a = options.recursive) !== null && _a !== void 0 ? _a : false }); })
481
+ .then(dir => dir.removeEntry(name, { recursive: options.recursive ?? false }))
510
482
  .then(() => callback(null), error => {
511
483
  if (options.force) {
512
484
  callback(null);
@@ -548,7 +520,6 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
548
520
  callback(null);
549
521
  };
550
522
  this.createWriteStream = (path, options) => {
551
- var _a;
552
523
  const defaults = {
553
524
  encoding: 'utf8',
554
525
  flags: 'w',
@@ -557,7 +528,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
557
528
  };
558
529
  const optionsObj = optHelpers.getOptions(defaults, options);
559
530
  const filename = util.pathToFilename(path);
560
- const flags = util.flagsToNumber((_a = optionsObj.flags) !== null && _a !== void 0 ? _a : 'w');
531
+ const flags = util.flagsToNumber(optionsObj.flags ?? 'w');
561
532
  const fd = optionsObj.fd ? (typeof optionsObj.fd === 'number' ? optionsObj.fd : optionsObj.fd.fd) : 0;
562
533
  const handle = fd ? this.getFileByFdAsync(fd) : this.__open(filename, flags, 0);
563
534
  const stream = new FsaNodeWriteStream_1.FsaNodeWriteStream(handle, filename, optionsObj);
@@ -610,13 +581,12 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
610
581
  this.link = notSupported;
611
582
  // --------------------------------------------------------- FsSynchronousApi
612
583
  this.statSync = (path, options) => {
613
- var _a;
614
584
  const { bigint = true, throwIfNoEntry = true } = optHelpers.getStatOptions(options);
615
585
  const filename = util.pathToFilename(path);
616
586
  const location = (0, util_1.pathToLocation)(filename);
617
587
  const adapter = this.getSyncAdapter();
618
588
  const res = adapter.call('stat', location);
619
- const stats = new FsaNodeStats_1.FsaNodeStats(bigint, (_a = res.size) !== null && _a !== void 0 ? _a : 0, res.kind);
589
+ const stats = new FsaNodeStats_1.FsaNodeStats(bigint, res.size ?? 0, res.kind);
620
590
  return stats;
621
591
  };
622
592
  this.lstatSync = this.statSync;
@@ -669,7 +639,7 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
669
639
  this.statSync(path);
670
640
  return true;
671
641
  }
672
- catch (_a) {
642
+ catch {
673
643
  return false;
674
644
  }
675
645
  };
@@ -832,25 +802,11 @@ class FsaNodeFs extends FsaNodeCore_1.FsaNodeCore {
832
802
  }
833
803
  rmAll(callback) {
834
804
  (async () => {
835
- var _a, e_3, _b, _c;
836
805
  const root = await this.root;
837
- try {
838
- for (var _d = true, _e = tslib_1.__asyncValues(root.keys()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
839
- _c = _f.value;
840
- _d = false;
841
- const name = _c;
842
- await root.removeEntry(name, { recursive: true });
843
- }
844
- }
845
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
846
- finally {
847
- try {
848
- if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
849
- }
850
- finally { if (e_3) throw e_3.error; }
806
+ for await (const name of root.keys()) {
807
+ await root.removeEntry(name, { recursive: true });
851
808
  }
852
809
  })().then(() => callback(null), error => callback(error));
853
810
  }
854
811
  }
855
812
  exports.FsaNodeFs = FsaNodeFs;
856
- //# sourceMappingURL=FsaNodeFs.js.map
@@ -31,4 +31,3 @@ class FsaNodeFsOpenFile {
31
31
  }
32
32
  }
33
33
  exports.FsaNodeFsOpenFile = FsaNodeFsOpenFile;
34
- //# sourceMappingURL=FsaNodeFsOpenFile.js.map
@@ -87,4 +87,3 @@ class FsaNodeReadStream extends stream_1.Readable {
87
87
  }
88
88
  }
89
89
  exports.FsaNodeReadStream = FsaNodeReadStream;
90
- //# sourceMappingURL=FsaNodeReadStream.js.map
@@ -50,4 +50,3 @@ class FsaNodeStats {
50
50
  }
51
51
  }
52
52
  exports.FsaNodeStats = FsaNodeStats;
53
- //# sourceMappingURL=FsaNodeStats.js.map
@@ -47,16 +47,15 @@ class FsaNodeWriteStream extends stream_1.Writable {
47
47
  const stream = new Defer_1.Defer();
48
48
  this.__stream__ = stream.promise;
49
49
  (async () => {
50
- var _a, _b;
51
50
  const fsaHandle = await handle;
52
51
  const fileWasOpened = !options.fd;
53
52
  if (fileWasOpened)
54
53
  this.emit('open', fsaHandle.fd);
55
- const flags = (0, util_1.flagsToNumber)((_a = options.flags) !== null && _a !== void 0 ? _a : 'w');
54
+ const flags = (0, util_1.flagsToNumber)(options.flags ?? 'w');
56
55
  const keepExistingData = flags & 1024 /* FLAG.O_APPEND */ ? true : false;
57
56
  const writable = await fsaHandle.file.createWritable({ keepExistingData });
58
57
  if (keepExistingData) {
59
- const start = Number((_b = options.start) !== null && _b !== void 0 ? _b : 0);
58
+ const start = Number(options.start ?? 0);
60
59
  if (start)
61
60
  await writable.seek(start);
62
61
  }
@@ -148,4 +147,3 @@ class FsaNodeWriteStream extends stream_1.Writable {
148
147
  }
149
148
  }
150
149
  exports.FsaNodeWriteStream = FsaNodeWriteStream;
151
- //# sourceMappingURL=FsaNodeWriteStream.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=constants.js.map
@@ -5,4 +5,3 @@ var FsaNodeFs_1 = require("./FsaNodeFs");
5
5
  Object.defineProperty(exports, "FsaNodeFs", { enumerable: true, get: function () { return FsaNodeFs_1.FsaNodeFs; } });
6
6
  var FsaNodeSyncAdapterWorker_1 = require("./worker/FsaNodeSyncAdapterWorker");
7
7
  Object.defineProperty(exports, "FsaNodeSyncAdapterWorker", { enumerable: true, get: function () { return FsaNodeSyncAdapterWorker_1.FsaNodeSyncAdapterWorker; } });
8
- //# sourceMappingURL=index.js.map
@@ -5,4 +5,3 @@ const CborEncoder_1 = require("@jsonjoy.com/json-pack/lib/cbor/CborEncoder");
5
5
  const CborDecoder_1 = require("@jsonjoy.com/json-pack/lib/cbor/CborDecoder");
6
6
  exports.encoder = new CborEncoder_1.CborEncoder();
7
7
  exports.decoder = new CborDecoder_1.CborDecoder();
8
- //# sourceMappingURL=json.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
@@ -20,7 +20,7 @@ const testDirectoryIsWritable = async (dir) => {
20
20
  await dir.getFileHandle(testFileName, { create: true });
21
21
  return true;
22
22
  }
23
- catch (_a) {
23
+ catch {
24
24
  return false;
25
25
  }
26
26
  finally {
@@ -31,4 +31,3 @@ const testDirectoryIsWritable = async (dir) => {
31
31
  }
32
32
  };
33
33
  exports.testDirectoryIsWritable = testDirectoryIsWritable;
34
- //# sourceMappingURL=util.js.map
@@ -59,4 +59,3 @@ class FsaNodeSyncAdapterWorker {
59
59
  }
60
60
  }
61
61
  exports.FsaNodeSyncAdapterWorker = FsaNodeSyncAdapterWorker;
62
- //# sourceMappingURL=FsaNodeSyncAdapterWorker.js.map
@@ -55,15 +55,15 @@ class FsaNodeSyncWorker {
55
55
  await this.fs.promises.access(filename, mode);
56
56
  },
57
57
  readFile: async ([filename, opts]) => {
58
- const buf = (await this.fs.promises.readFile(filename, Object.assign(Object.assign({}, opts), { encoding: 'buffer' })));
58
+ const buf = (await this.fs.promises.readFile(filename, { ...opts, encoding: 'buffer' }));
59
59
  const uint8 = new Uint8Array(buf, buf.byteOffset, buf.byteLength);
60
60
  return uint8;
61
61
  },
62
62
  writeFile: async ([filename, data, opts]) => {
63
- await this.fs.promises.writeFile(filename, data, Object.assign(Object.assign({}, opts), { encoding: 'buffer' }));
63
+ await this.fs.promises.writeFile(filename, data, { ...opts, encoding: 'buffer' });
64
64
  },
65
65
  appendFile: async ([filename, data, opts]) => {
66
- await this.fs.promises.appendFile(filename, data, Object.assign(Object.assign({}, opts), { encoding: 'buffer' }));
66
+ await this.fs.promises.appendFile(filename, data, { ...opts, encoding: 'buffer' });
67
67
  },
68
68
  copy: async ([src, dst, flags]) => {
69
69
  await this.fs.promises.copyFile(src, dst, flags);
@@ -173,4 +173,3 @@ class FsaNodeSyncWorker {
173
173
  }
174
174
  }
175
175
  exports.FsaNodeSyncWorker = FsaNodeSyncWorker;
176
- //# sourceMappingURL=FsaNodeSyncWorker.js.map
@@ -63,10 +63,9 @@ class SyncMessenger {
63
63
  this.uint8.set(response, headerSize);
64
64
  int32[1] = 1;
65
65
  }
66
- catch (_a) { }
66
+ catch { }
67
67
  this.serveAsync(callback);
68
68
  })().catch(() => { });
69
69
  }
70
70
  }
71
71
  exports.SyncMessenger = SyncMessenger;
72
- //# sourceMappingURL=SyncMessenger.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=constants.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=types.js.map
package/lib/index.js CHANGED
@@ -47,6 +47,5 @@ const memfs = (json = {}, cwd = '/') => {
47
47
  return { fs, vol };
48
48
  };
49
49
  exports.memfs = memfs;
50
- module.exports = Object.assign(Object.assign({}, module.exports), exports.fs);
50
+ module.exports = { ...module.exports, ...exports.fs };
51
51
  module.exports.semantic = true;
52
- //# sourceMappingURL=index.js.map
@@ -10,4 +10,3 @@ const bufferAllocUnsafe = buffer_1.Buffer.allocUnsafe || bufferV0P12Ponyfill;
10
10
  exports.bufferAllocUnsafe = bufferAllocUnsafe;
11
11
  const bufferFrom = buffer_1.Buffer.from || bufferV0P12Ponyfill;
12
12
  exports.bufferFrom = bufferFrom;
13
- //# sourceMappingURL=buffer.js.map
@@ -233,4 +233,3 @@ function bufferOutOfBounds(name, isWriting) {
233
233
  return `"${name}" is outside of buffer bounds`;
234
234
  }
235
235
  }
236
- //# sourceMappingURL=errors.js.map
@@ -54,4 +54,3 @@ class FileHandle {
54
54
  }
55
55
  }
56
56
  exports.FileHandle = FileHandle;
57
- //# sourceMappingURL=FileHandle.js.map
@@ -51,4 +51,3 @@ class FsPromises {
51
51
  }
52
52
  }
53
53
  exports.FsPromises = FsPromises;
54
- //# sourceMappingURL=FsPromises.js.map
@@ -54,4 +54,3 @@ var FLAGS;
54
54
  FLAGS[FLAGS["ax+"] = O_RDWR | O_APPEND | O_CREAT | O_EXCL] = "ax+";
55
55
  FLAGS[FLAGS["xa+"] = FLAGS['ax+']] = "xa+";
56
56
  })(FLAGS || (exports.FLAGS = FLAGS = {}));
57
- //# sourceMappingURL=constants.js.map
@@ -46,4 +46,3 @@ exports.fsCallbackApiList = [
46
46
  'writev',
47
47
  'writeFile',
48
48
  ];
49
- //# sourceMappingURL=fsCallbackApiList.js.map
@@ -16,4 +16,3 @@ exports.fsCommonObjectsList = [
16
16
  'ReadStream',
17
17
  'WriteStream',
18
18
  ];
19
- //# sourceMappingURL=fsCommonObjectsList.js.map
@@ -44,4 +44,3 @@ exports.fsSynchronousApiList = [
44
44
  // 'lutimesSync',
45
45
  // 'statfsSync',
46
46
  ];
47
- //# sourceMappingURL=fsSynchronousApiList.js.map
@@ -93,4 +93,3 @@ exports.writeFileDefaults = {
93
93
  flag: constants_1.FLAGS[constants_1.FLAGS.w],
94
94
  };
95
95
  exports.getWriteFileOptions = optsGenerator(exports.writeFileDefaults);
96
- //# sourceMappingURL=options.js.map
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=FsCallbackApi.js.map