memfs 4.1.0 → 4.2.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 (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 +27 -18
  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 +68 -27
  252. package/lib/getBigInt.js +0 -5
  253. package/lib/node/promises.d.ts +0 -2
  254. package/lib/node/promises.js +0 -86
@@ -1,27 +1,12 @@
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
- var __asyncValues = (this && this.__asyncValues) || function (o) {
12
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
13
- var m = o[Symbol.asyncIterator], i;
14
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
15
- function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
16
- function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
17
- };
18
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
19
4
  const __1 = require("../..");
20
5
  const NodeFileSystemDirectoryHandle_1 = require("../NodeFileSystemDirectoryHandle");
21
6
  const NodeFileSystemFileHandle_1 = require("../NodeFileSystemFileHandle");
22
7
  const util_1 = require("../../__tests__/util");
23
8
  const setup = (json = {}) => {
24
- const fs = (0, __1.memfs)(json, '/');
9
+ const { fs } = (0, __1.memfs)(json, '/');
25
10
  const dir = new NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'readwrite' });
26
11
  return { dir, fs };
27
12
  };
@@ -31,286 +16,241 @@ const setup = (json = {}) => {
31
16
  expect(dir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
32
17
  });
33
18
  describe('.keys()', () => {
34
- test('returns an empty iterator for an empty directory', () => __awaiter(void 0, void 0, void 0, function* () {
19
+ test('returns an empty iterator for an empty directory', async () => {
35
20
  const { dir } = setup();
36
21
  const keys = dir.keys();
37
- expect(yield keys.next()).toStrictEqual({ done: true, value: undefined });
38
- }));
39
- test('returns a folder', () => __awaiter(void 0, void 0, void 0, function* () {
22
+ expect(await keys.next()).toStrictEqual({ done: true, value: undefined });
23
+ });
24
+ test('returns a folder', async () => {
40
25
  var _a, e_1, _b, _c;
41
26
  const { dir } = setup({ folder: null });
42
27
  const list = [];
43
28
  try {
44
- for (var _d = true, _e = __asyncValues(dir.keys()), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
29
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.keys()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
45
30
  _c = _f.value;
46
31
  _d = false;
47
- try {
48
- const key = _c;
49
- list.push(key);
50
- }
51
- finally {
52
- _d = true;
53
- }
32
+ const key = _c;
33
+ list.push(key);
54
34
  }
55
35
  }
56
36
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
57
37
  finally {
58
38
  try {
59
- if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
39
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
60
40
  }
61
41
  finally { if (e_1) throw e_1.error; }
62
42
  }
63
43
  expect(list).toStrictEqual(['folder']);
64
- }));
65
- test('returns two folders', () => __awaiter(void 0, void 0, void 0, function* () {
66
- var _g, e_2, _h, _j;
44
+ });
45
+ test('returns two folders', async () => {
46
+ var _a, e_2, _b, _c;
67
47
  const { dir } = setup({
68
48
  folder: null,
69
49
  'another/folder': null,
70
50
  });
71
51
  const list = [];
72
52
  try {
73
- for (var _k = true, _l = __asyncValues(dir.keys()), _m; _m = yield _l.next(), _g = _m.done, !_g;) {
74
- _j = _m.value;
75
- _k = false;
76
- try {
77
- const key = _j;
78
- list.push(key);
79
- }
80
- finally {
81
- _k = true;
82
- }
53
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.keys()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
54
+ _c = _f.value;
55
+ _d = false;
56
+ const key = _c;
57
+ list.push(key);
83
58
  }
84
59
  }
85
60
  catch (e_2_1) { e_2 = { error: e_2_1 }; }
86
61
  finally {
87
62
  try {
88
- if (!_k && !_g && (_h = _l.return)) yield _h.call(_l);
63
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
89
64
  }
90
65
  finally { if (e_2) throw e_2.error; }
91
66
  }
92
67
  expect(list.length).toBe(2);
93
- }));
94
- test('returns a file', () => __awaiter(void 0, void 0, void 0, function* () {
95
- var _o, e_3, _p, _q;
68
+ });
69
+ test('returns a file', async () => {
70
+ var _a, e_3, _b, _c;
96
71
  const { dir } = setup({
97
72
  'file.txt': 'Hello, world!',
98
73
  });
99
74
  const list = [];
100
75
  try {
101
- for (var _r = true, _s = __asyncValues(dir.keys()), _t; _t = yield _s.next(), _o = _t.done, !_o;) {
102
- _q = _t.value;
103
- _r = false;
104
- try {
105
- const key = _q;
106
- list.push(key);
107
- }
108
- finally {
109
- _r = true;
110
- }
76
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.keys()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
77
+ _c = _f.value;
78
+ _d = false;
79
+ const key = _c;
80
+ list.push(key);
111
81
  }
112
82
  }
113
83
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
114
84
  finally {
115
85
  try {
116
- if (!_r && !_o && (_p = _s.return)) yield _p.call(_s);
86
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
117
87
  }
118
88
  finally { if (e_3) throw e_3.error; }
119
89
  }
120
90
  expect(list).toStrictEqual(['file.txt']);
121
- }));
91
+ });
122
92
  });
123
93
  describe('.entries()', () => {
124
- test('returns an empty iterator for an empty directory', () => __awaiter(void 0, void 0, void 0, function* () {
94
+ test('returns an empty iterator for an empty directory', async () => {
125
95
  const { dir } = setup();
126
96
  const keys = dir.entries();
127
- expect(yield keys.next()).toStrictEqual({ done: true, value: undefined });
128
- }));
129
- test('returns a folder', () => __awaiter(void 0, void 0, void 0, function* () {
97
+ expect(await keys.next()).toStrictEqual({ done: true, value: undefined });
98
+ });
99
+ test('returns a folder', async () => {
130
100
  var _a, e_4, _b, _c;
131
101
  const { dir } = setup({ 'My Documents': null });
132
102
  try {
133
- for (var _d = true, _e = __asyncValues(dir.entries()), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
103
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.entries()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
134
104
  _c = _f.value;
135
105
  _d = false;
136
- try {
137
- const [name, subdir] = _c;
138
- expect(name).toBe('My Documents');
139
- expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
140
- expect(subdir.kind).toBe('directory');
141
- expect(subdir.name).toBe('My Documents');
142
- }
143
- finally {
144
- _d = true;
145
- }
106
+ const [name, subdir] = _c;
107
+ expect(name).toBe('My Documents');
108
+ expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
109
+ expect(subdir.kind).toBe('directory');
110
+ expect(subdir.name).toBe('My Documents');
146
111
  }
147
112
  }
148
113
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
149
114
  finally {
150
115
  try {
151
- if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
116
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
152
117
  }
153
118
  finally { if (e_4) throw e_4.error; }
154
119
  }
155
- }));
156
- test('returns a file', () => __awaiter(void 0, void 0, void 0, function* () {
157
- var _g, e_5, _h, _j;
120
+ });
121
+ test('returns a file', async () => {
122
+ var _a, e_5, _b, _c;
158
123
  const { dir } = setup({
159
124
  'file.txt': 'Hello, world!',
160
125
  });
161
126
  try {
162
- for (var _k = true, _l = __asyncValues(dir.entries()), _m; _m = yield _l.next(), _g = _m.done, !_g;) {
163
- _j = _m.value;
164
- _k = false;
165
- try {
166
- const [name, file] = _j;
167
- expect(name).toBe('file.txt');
168
- expect(file).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
169
- expect(file.kind).toBe('file');
170
- expect(file.name).toBe('file.txt');
171
- }
172
- finally {
173
- _k = true;
174
- }
127
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.entries()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
128
+ _c = _f.value;
129
+ _d = false;
130
+ const [name, file] = _c;
131
+ expect(name).toBe('file.txt');
132
+ expect(file).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
133
+ expect(file.kind).toBe('file');
134
+ expect(file.name).toBe('file.txt');
175
135
  }
176
136
  }
177
137
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
178
138
  finally {
179
139
  try {
180
- if (!_k && !_g && (_h = _l.return)) yield _h.call(_l);
140
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
181
141
  }
182
142
  finally { if (e_5) throw e_5.error; }
183
143
  }
184
- }));
185
- test('returns two entries', () => __awaiter(void 0, void 0, void 0, function* () {
186
- var _o, e_6, _p, _q;
144
+ });
145
+ test('returns two entries', async () => {
146
+ var _a, e_6, _b, _c;
187
147
  const { dir } = setup({
188
148
  'index.html': '<nobr>Hello, world!</nobr>',
189
149
  'another/folder': null,
190
150
  });
191
151
  const handles = [];
192
152
  try {
193
- for (var _r = true, _s = __asyncValues(dir.entries()), _t; _t = yield _s.next(), _o = _t.done, !_o;) {
194
- _q = _t.value;
195
- _r = false;
196
- try {
197
- const entry = _q;
198
- handles.push(entry[1]);
199
- }
200
- finally {
201
- _r = true;
202
- }
153
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.entries()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
154
+ _c = _f.value;
155
+ _d = false;
156
+ const entry = _c;
157
+ handles.push(entry[1]);
203
158
  }
204
159
  }
205
160
  catch (e_6_1) { e_6 = { error: e_6_1 }; }
206
161
  finally {
207
162
  try {
208
- if (!_r && !_o && (_p = _s.return)) yield _p.call(_s);
163
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
209
164
  }
210
165
  finally { if (e_6) throw e_6.error; }
211
166
  }
212
167
  expect(handles.length).toBe(2);
213
168
  expect(handles.find(handle => handle.name === 'index.html')).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
214
169
  expect(handles.find(handle => handle.name === 'another')).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
215
- }));
170
+ });
216
171
  });
217
172
  describe('.values()', () => {
218
- test('returns an empty iterator for an empty directory', () => __awaiter(void 0, void 0, void 0, function* () {
173
+ test('returns an empty iterator for an empty directory', async () => {
219
174
  const { dir } = setup();
220
175
  const values = dir.values();
221
- expect(yield values.next()).toStrictEqual({ done: true, value: undefined });
222
- }));
223
- test('returns a folder', () => __awaiter(void 0, void 0, void 0, function* () {
176
+ expect(await values.next()).toStrictEqual({ done: true, value: undefined });
177
+ });
178
+ test('returns a folder', async () => {
224
179
  var _a, e_7, _b, _c;
225
180
  const { dir } = setup({ 'My Documents': null });
226
181
  try {
227
- for (var _d = true, _e = __asyncValues(dir.values()), _f; _f = yield _e.next(), _a = _f.done, !_a;) {
182
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.values()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
228
183
  _c = _f.value;
229
184
  _d = false;
230
- try {
231
- const subdir = _c;
232
- expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
233
- expect(subdir.kind).toBe('directory');
234
- expect(subdir.name).toBe('My Documents');
235
- }
236
- finally {
237
- _d = true;
238
- }
185
+ const subdir = _c;
186
+ expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
187
+ expect(subdir.kind).toBe('directory');
188
+ expect(subdir.name).toBe('My Documents');
239
189
  }
240
190
  }
241
191
  catch (e_7_1) { e_7 = { error: e_7_1 }; }
242
192
  finally {
243
193
  try {
244
- if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
194
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
245
195
  }
246
196
  finally { if (e_7) throw e_7.error; }
247
197
  }
248
- }));
249
- test('returns a file', () => __awaiter(void 0, void 0, void 0, function* () {
250
- var _g, e_8, _h, _j;
198
+ });
199
+ test('returns a file', async () => {
200
+ var _a, e_8, _b, _c;
251
201
  const { dir } = setup({
252
202
  'file.txt': 'Hello, world!',
253
203
  });
254
204
  try {
255
- for (var _k = true, _l = __asyncValues(dir.values()), _m; _m = yield _l.next(), _g = _m.done, !_g;) {
256
- _j = _m.value;
257
- _k = false;
258
- try {
259
- const file = _j;
260
- expect(file).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
261
- expect(file.kind).toBe('file');
262
- expect(file.name).toBe('file.txt');
263
- }
264
- finally {
265
- _k = true;
266
- }
205
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.values()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
206
+ _c = _f.value;
207
+ _d = false;
208
+ const file = _c;
209
+ expect(file).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
210
+ expect(file.kind).toBe('file');
211
+ expect(file.name).toBe('file.txt');
267
212
  }
268
213
  }
269
214
  catch (e_8_1) { e_8 = { error: e_8_1 }; }
270
215
  finally {
271
216
  try {
272
- if (!_k && !_g && (_h = _l.return)) yield _h.call(_l);
217
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
273
218
  }
274
219
  finally { if (e_8) throw e_8.error; }
275
220
  }
276
- }));
277
- test('returns two entries', () => __awaiter(void 0, void 0, void 0, function* () {
278
- var _o, e_9, _p, _q;
221
+ });
222
+ test('returns two entries', async () => {
223
+ var _a, e_9, _b, _c;
279
224
  const { dir } = setup({
280
225
  'index.html': '<nobr>Hello, world!</nobr>',
281
226
  'another/folder': null,
282
227
  });
283
228
  const handles = [];
284
229
  try {
285
- for (var _r = true, _s = __asyncValues(dir.values()), _t; _t = yield _s.next(), _o = _t.done, !_o;) {
286
- _q = _t.value;
287
- _r = false;
288
- try {
289
- const entry = _q;
290
- handles.push(entry);
291
- }
292
- finally {
293
- _r = true;
294
- }
230
+ for (var _d = true, _e = tslib_1.__asyncValues(dir.values()), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {
231
+ _c = _f.value;
232
+ _d = false;
233
+ const entry = _c;
234
+ handles.push(entry);
295
235
  }
296
236
  }
297
237
  catch (e_9_1) { e_9 = { error: e_9_1 }; }
298
238
  finally {
299
239
  try {
300
- if (!_r && !_o && (_p = _s.return)) yield _p.call(_s);
240
+ if (!_d && !_a && (_b = _e.return)) await _b.call(_e);
301
241
  }
302
242
  finally { if (e_9) throw e_9.error; }
303
243
  }
304
244
  expect(handles.length).toBe(2);
305
245
  expect(handles.find(handle => handle.name === 'index.html')).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
306
246
  expect(handles.find(handle => handle.name === 'another')).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
307
- }));
247
+ });
308
248
  });
309
249
  describe('.getDirectoryHandle()', () => {
310
- test('throws "NotFoundError" DOMException if sub-directory not found', () => __awaiter(void 0, void 0, void 0, function* () {
250
+ test('throws "NotFoundError" DOMException if sub-directory not found', async () => {
311
251
  const { dir } = setup({ a: null });
312
252
  try {
313
- yield dir.getDirectoryHandle('b');
253
+ await dir.getDirectoryHandle('b');
314
254
  throw new Error('Not this error.');
315
255
  }
316
256
  catch (error) {
@@ -318,11 +258,11 @@ const setup = (json = {}) => {
318
258
  expect(error.name).toBe('NotFoundError');
319
259
  expect(error.message).toBe('A requested file or directory could not be found at the time an operation was processed.');
320
260
  }
321
- }));
322
- test('throws "TypeMismatchError" DOMException if entry is not a directory', () => __awaiter(void 0, void 0, void 0, function* () {
261
+ });
262
+ test('throws "TypeMismatchError" DOMException if entry is not a directory', async () => {
323
263
  const { dir } = setup({ file: 'contents' });
324
264
  try {
325
- yield dir.getDirectoryHandle('file');
265
+ await dir.getDirectoryHandle('file');
326
266
  throw new Error('Not this error.');
327
267
  }
328
268
  catch (error) {
@@ -330,12 +270,12 @@ const setup = (json = {}) => {
330
270
  expect(error.name).toBe('TypeMismatchError');
331
271
  expect(error.message).toBe('The path supplied exists, but was not an entry of requested type.');
332
272
  }
333
- }));
334
- test('throws if not in "readwrite" mode and attempting to create a directory', () => __awaiter(void 0, void 0, void 0, function* () {
335
- const fs = (0, __1.memfs)({}, '/');
273
+ });
274
+ test('throws if not in "readwrite" mode and attempting to create a directory', async () => {
275
+ const { fs } = (0, __1.memfs)({}, '/');
336
276
  const dir = new NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'read' });
337
277
  try {
338
- yield dir.getDirectoryHandle('test', { create: true });
278
+ await dir.getDirectoryHandle('test', { create: true });
339
279
  throw new Error('Not this error');
340
280
  }
341
281
  catch (error) {
@@ -343,7 +283,7 @@ const setup = (json = {}) => {
343
283
  expect(error.name).toBe('NotAllowedError');
344
284
  expect(error.message).toBe('The request is not allowed by the user agent or the platform in the current context.');
345
285
  }
346
- }));
286
+ });
347
287
  const invalidNames = [
348
288
  '.',
349
289
  '..',
@@ -362,41 +302,41 @@ const setup = (json = {}) => {
362
302
  'a\\.',
363
303
  ];
364
304
  for (const invalidName of invalidNames) {
365
- test(`throws on invalid file name: "${invalidName}"`, () => __awaiter(void 0, void 0, void 0, function* () {
305
+ test(`throws on invalid file name: "${invalidName}"`, async () => {
366
306
  const { dir } = setup({ file: 'contents' });
367
307
  try {
368
- yield dir.getDirectoryHandle(invalidName);
308
+ await dir.getDirectoryHandle(invalidName);
369
309
  throw new Error('Not this error.');
370
310
  }
371
311
  catch (error) {
372
312
  expect(error).toBeInstanceOf(TypeError);
373
313
  expect(error.message).toBe(`Failed to execute 'getDirectoryHandle' on 'FileSystemDirectoryHandle': Name is not allowed.`);
374
314
  }
375
- }));
315
+ });
376
316
  }
377
- test('can retrieve a child directory', () => __awaiter(void 0, void 0, void 0, function* () {
317
+ test('can retrieve a child directory', async () => {
378
318
  const { dir } = setup({ file: 'contents', subdir: null });
379
- const subdir = yield dir.getDirectoryHandle('subdir');
319
+ const subdir = await dir.getDirectoryHandle('subdir');
380
320
  expect(subdir.kind).toBe('directory');
381
321
  expect(subdir.name).toBe('subdir');
382
322
  expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
383
- }));
384
- test('can create a sub-directory', () => __awaiter(void 0, void 0, void 0, function* () {
323
+ });
324
+ test('can create a sub-directory', async () => {
385
325
  const { dir, fs } = setup({});
386
326
  expect(fs.existsSync('/subdir')).toBe(false);
387
- const subdir = yield dir.getDirectoryHandle('subdir', { create: true });
327
+ const subdir = await dir.getDirectoryHandle('subdir', { create: true });
388
328
  expect(fs.existsSync('/subdir')).toBe(true);
389
329
  expect(fs.statSync('/subdir').isDirectory()).toBe(true);
390
330
  expect(subdir.kind).toBe('directory');
391
331
  expect(subdir.name).toBe('subdir');
392
332
  expect(subdir).toBeInstanceOf(NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle);
393
- }));
333
+ });
394
334
  });
395
335
  describe('.getFileHandle()', () => {
396
- test('throws "NotFoundError" DOMException if file not found', () => __awaiter(void 0, void 0, void 0, function* () {
336
+ test('throws "NotFoundError" DOMException if file not found', async () => {
397
337
  const { dir } = setup({ a: null });
398
338
  try {
399
- yield dir.getFileHandle('b');
339
+ await dir.getFileHandle('b');
400
340
  throw new Error('Not this error.');
401
341
  }
402
342
  catch (error) {
@@ -404,11 +344,11 @@ const setup = (json = {}) => {
404
344
  expect(error.name).toBe('NotFoundError');
405
345
  expect(error.message).toBe('A requested file or directory could not be found at the time an operation was processed.');
406
346
  }
407
- }));
408
- test('throws "TypeMismatchError" DOMException if entry is not a file', () => __awaiter(void 0, void 0, void 0, function* () {
347
+ });
348
+ test('throws "TypeMismatchError" DOMException if entry is not a file', async () => {
409
349
  const { dir } = setup({ directory: null });
410
350
  try {
411
- yield dir.getFileHandle('directory');
351
+ await dir.getFileHandle('directory');
412
352
  throw new Error('Not this error.');
413
353
  }
414
354
  catch (error) {
@@ -416,12 +356,12 @@ const setup = (json = {}) => {
416
356
  expect(error.name).toBe('TypeMismatchError');
417
357
  expect(error.message).toBe('The path supplied exists, but was not an entry of requested type.');
418
358
  }
419
- }));
420
- test('throws if not in "readwrite" mode and attempting to create a file', () => __awaiter(void 0, void 0, void 0, function* () {
421
- const fs = (0, __1.memfs)({}, '/');
359
+ });
360
+ test('throws if not in "readwrite" mode and attempting to create a file', async () => {
361
+ const { fs } = (0, __1.memfs)({}, '/');
422
362
  const dir = new NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'read' });
423
363
  try {
424
- yield dir.getFileHandle('test', { create: true });
364
+ await dir.getFileHandle('test', { create: true });
425
365
  throw new Error('Not this error');
426
366
  }
427
367
  catch (error) {
@@ -429,7 +369,7 @@ const setup = (json = {}) => {
429
369
  expect(error.name).toBe('NotAllowedError');
430
370
  expect(error.message).toBe('The request is not allowed by the user agent or the platform in the current context.');
431
371
  }
432
- }));
372
+ });
433
373
  const invalidNames = [
434
374
  '',
435
375
  '.',
@@ -449,41 +389,41 @@ const setup = (json = {}) => {
449
389
  'a\\.',
450
390
  ];
451
391
  for (const invalidName of invalidNames) {
452
- test(`throws on invalid file name: "${invalidName}"`, () => __awaiter(void 0, void 0, void 0, function* () {
392
+ test(`throws on invalid file name: "${invalidName}"`, async () => {
453
393
  const { dir } = setup({ file: 'contents' });
454
394
  try {
455
- yield dir.getFileHandle(invalidName);
395
+ await dir.getFileHandle(invalidName);
456
396
  throw new Error('Not this error.');
457
397
  }
458
398
  catch (error) {
459
399
  expect(error).toBeInstanceOf(TypeError);
460
400
  expect(error.message).toBe(`Failed to execute 'getFileHandle' on 'FileSystemDirectoryHandle': Name is not allowed.`);
461
401
  }
462
- }));
402
+ });
463
403
  }
464
- test('can retrieve a child file', () => __awaiter(void 0, void 0, void 0, function* () {
404
+ test('can retrieve a child file', async () => {
465
405
  const { dir } = setup({ file: 'contents', subdir: null });
466
- const subdir = yield dir.getFileHandle('file');
406
+ const subdir = await dir.getFileHandle('file');
467
407
  expect(subdir.kind).toBe('file');
468
408
  expect(subdir.name).toBe('file');
469
409
  expect(subdir).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
470
- }));
471
- test('can create a file', () => __awaiter(void 0, void 0, void 0, function* () {
410
+ });
411
+ test('can create a file', async () => {
472
412
  const { dir, fs } = setup({});
473
413
  expect(fs.existsSync('/text.txt')).toBe(false);
474
- const subdir = yield dir.getFileHandle('text.txt', { create: true });
414
+ const subdir = await dir.getFileHandle('text.txt', { create: true });
475
415
  expect(fs.existsSync('/text.txt')).toBe(true);
476
416
  expect(fs.statSync('/text.txt').isFile()).toBe(true);
477
417
  expect(subdir.kind).toBe('file');
478
418
  expect(subdir.name).toBe('text.txt');
479
419
  expect(subdir).toBeInstanceOf(NodeFileSystemFileHandle_1.NodeFileSystemFileHandle);
480
- }));
420
+ });
481
421
  });
482
422
  describe('.removeEntry()', () => {
483
- test('throws "NotFoundError" DOMException if file not found', () => __awaiter(void 0, void 0, void 0, function* () {
423
+ test('throws "NotFoundError" DOMException if file not found', async () => {
484
424
  const { dir } = setup({ a: null });
485
425
  try {
486
- yield dir.removeEntry('b');
426
+ await dir.removeEntry('b');
487
427
  throw new Error('Not this error.');
488
428
  }
489
429
  catch (error) {
@@ -491,12 +431,12 @@ const setup = (json = {}) => {
491
431
  expect(error.name).toBe('NotFoundError');
492
432
  expect(error.message).toBe('A requested file or directory could not be found at the time an operation was processed.');
493
433
  }
494
- }));
495
- test('throws if not in "readwrite" mode and attempting to remove a file', () => __awaiter(void 0, void 0, void 0, function* () {
496
- const fs = (0, __1.memfs)({ a: 'b' }, '/');
434
+ });
435
+ test('throws if not in "readwrite" mode and attempting to remove a file', async () => {
436
+ const { fs } = (0, __1.memfs)({ a: 'b' }, '/');
497
437
  const dir = new NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'read' });
498
438
  try {
499
- yield dir.removeEntry('a');
439
+ await dir.removeEntry('a');
500
440
  throw new Error('Not this error');
501
441
  }
502
442
  catch (error) {
@@ -504,12 +444,12 @@ const setup = (json = {}) => {
504
444
  expect(error.name).toBe('NotAllowedError');
505
445
  expect(error.message).toBe('The request is not allowed by the user agent or the platform in the current context.');
506
446
  }
507
- }));
508
- test('throws if not in "readwrite" mode and attempting to remove a folder', () => __awaiter(void 0, void 0, void 0, function* () {
509
- const fs = (0, __1.memfs)({ a: null }, '/');
447
+ });
448
+ test('throws if not in "readwrite" mode and attempting to remove a folder', async () => {
449
+ const { fs } = (0, __1.memfs)({ a: null }, '/');
510
450
  const dir = new NodeFileSystemDirectoryHandle_1.NodeFileSystemDirectoryHandle(fs, '/', { mode: 'read' });
511
451
  try {
512
- yield dir.removeEntry('a');
452
+ await dir.removeEntry('a');
513
453
  throw new Error('Not this error');
514
454
  }
515
455
  catch (error) {
@@ -517,7 +457,7 @@ const setup = (json = {}) => {
517
457
  expect(error.name).toBe('NotAllowedError');
518
458
  expect(error.message).toBe('The request is not allowed by the user agent or the platform in the current context.');
519
459
  }
520
- }));
460
+ });
521
461
  const invalidNames = [
522
462
  '',
523
463
  '.',
@@ -537,40 +477,40 @@ const setup = (json = {}) => {
537
477
  'a\\.',
538
478
  ];
539
479
  for (const invalidName of invalidNames) {
540
- test(`throws on invalid file name: "${invalidName}"`, () => __awaiter(void 0, void 0, void 0, function* () {
480
+ test(`throws on invalid file name: "${invalidName}"`, async () => {
541
481
  const { dir } = setup({ file: 'contents' });
542
482
  try {
543
- yield dir.removeEntry(invalidName);
483
+ await dir.removeEntry(invalidName);
544
484
  throw new Error('Not this error.');
545
485
  }
546
486
  catch (error) {
547
487
  expect(error).toBeInstanceOf(TypeError);
548
488
  expect(error.message).toBe(`Failed to execute 'removeEntry' on 'FileSystemDirectoryHandle': Name is not allowed.`);
549
489
  }
550
- }));
490
+ });
551
491
  }
552
- test('can delete a file', () => __awaiter(void 0, void 0, void 0, function* () {
492
+ test('can delete a file', async () => {
553
493
  const { dir, fs } = setup({ file: 'contents', subdir: null });
554
494
  expect(fs.statSync('/file').isFile()).toBe(true);
555
- const res = yield dir.removeEntry('file');
495
+ const res = await dir.removeEntry('file');
556
496
  expect(fs.existsSync('/file')).toBe(false);
557
497
  expect(res).toBe(undefined);
558
- }));
559
- test('can delete a folder', () => __awaiter(void 0, void 0, void 0, function* () {
498
+ });
499
+ test('can delete a folder', async () => {
560
500
  const { dir, fs } = setup({ dir: null });
561
501
  expect(fs.statSync('/dir').isDirectory()).toBe(true);
562
- const res = yield dir.removeEntry('dir');
502
+ const res = await dir.removeEntry('dir');
563
503
  expect(fs.existsSync('/dir')).toBe(false);
564
504
  expect(res).toBe(undefined);
565
- }));
566
- test('throws "InvalidModificationError" DOMException if directory has contents', () => __awaiter(void 0, void 0, void 0, function* () {
505
+ });
506
+ test('throws "InvalidModificationError" DOMException if directory has contents', async () => {
567
507
  const { dir, fs } = setup({
568
508
  'dir/file': 'contents',
569
509
  });
570
510
  expect(fs.statSync('/dir').isDirectory()).toBe(true);
571
511
  let res;
572
512
  try {
573
- res = yield dir.removeEntry('dir');
513
+ res = await dir.removeEntry('dir');
574
514
  throw new Error('Not this error.');
575
515
  }
576
516
  catch (error) {
@@ -579,49 +519,50 @@ const setup = (json = {}) => {
579
519
  expect(error.name).toBe('InvalidModificationError');
580
520
  expect(error.message).toBe('The object can not be modified in this way.');
581
521
  }
582
- }));
583
- test('can recursively delete a folder with "recursive" flag', () => __awaiter(void 0, void 0, void 0, function* () {
522
+ });
523
+ test('can recursively delete a folder with "recursive" flag', async () => {
584
524
  const { dir, fs } = setup({
585
525
  'dir/file': 'contents',
586
526
  });
587
527
  expect(fs.statSync('/dir').isDirectory()).toBe(true);
588
- const res = yield dir.removeEntry('dir', { recursive: true });
528
+ const res = await dir.removeEntry('dir', { recursive: true });
589
529
  expect(fs.existsSync('/dir')).toBe(false);
590
530
  expect(res).toBe(undefined);
591
- }));
531
+ });
592
532
  });
593
533
  describe('.resolve()', () => {
594
- test('return empty array for itself', () => __awaiter(void 0, void 0, void 0, function* () {
534
+ test('return empty array for itself', async () => {
595
535
  const { dir } = setup({});
596
- const res = yield dir.resolve(dir);
536
+ const res = await dir.resolve(dir);
597
537
  expect(res).toStrictEqual([]);
598
- }));
599
- test('can resolve one level deep child', () => __awaiter(void 0, void 0, void 0, function* () {
538
+ });
539
+ test('can resolve one level deep child', async () => {
600
540
  const { dir } = setup({
601
541
  file: 'contents',
602
542
  });
603
- const child = yield dir.getFileHandle('file');
604
- const res = yield dir.resolve(child);
543
+ const child = await dir.getFileHandle('file');
544
+ const res = await dir.resolve(child);
605
545
  expect(res).toStrictEqual(['file']);
606
- }));
607
- test('can resolve two level deep child', () => __awaiter(void 0, void 0, void 0, function* () {
546
+ });
547
+ test('can resolve two level deep child', async () => {
608
548
  const { dir } = setup({
609
549
  'dir/file': 'contents',
610
550
  });
611
- const child1 = yield dir.getDirectoryHandle('dir');
612
- const child2 = yield child1.getFileHandle('file');
613
- const res = yield dir.resolve(child2);
551
+ const child1 = await dir.getDirectoryHandle('dir');
552
+ const child2 = await child1.getFileHandle('file');
553
+ const res = await dir.resolve(child2);
614
554
  expect(res).toStrictEqual(['dir', 'file']);
615
- const res2 = yield child1.resolve(child2);
555
+ const res2 = await child1.resolve(child2);
616
556
  expect(res2).toStrictEqual(['file']);
617
- }));
618
- test('returns "null" if not a descendant', () => __awaiter(void 0, void 0, void 0, function* () {
557
+ });
558
+ test('returns "null" if not a descendant', async () => {
619
559
  const { dir } = setup({
620
560
  'dir/file': 'contents',
621
561
  });
622
- const child1 = yield dir.getDirectoryHandle('dir');
623
- const res = yield child1.resolve(dir);
562
+ const child1 = await dir.getDirectoryHandle('dir');
563
+ const res = await child1.resolve(dir);
624
564
  expect(res).toBe(null);
625
- }));
565
+ });
626
566
  });
627
567
  });
568
+ //# sourceMappingURL=NodeFileSystemDirectoryHandle.test.js.map