opfs-worker 1.3.2 → 2.1.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 (149) hide show
  1. package/README.md +64 -458
  2. package/dist/BaseOPFS-BPw9AIQ-.cjs +4 -0
  3. package/dist/BaseOPFS-BPw9AIQ-.cjs.map +1 -0
  4. package/dist/BaseOPFS-Cylz6ijk.js +2036 -0
  5. package/dist/BaseOPFS-Cylz6ijk.js.map +1 -0
  6. package/dist/OPFSAsync-BKSAJJeh.js +124 -0
  7. package/dist/OPFSAsync-BKSAJJeh.js.map +1 -0
  8. package/dist/OPFSAsync-s2P7y3sw.cjs +2 -0
  9. package/dist/OPFSAsync-s2P7y3sw.cjs.map +1 -0
  10. package/dist/OPFSFacade-DePnNRgt.cjs +2 -0
  11. package/dist/OPFSFacade-DePnNRgt.cjs.map +1 -0
  12. package/dist/OPFSFacade-XohWlHuu.js +281 -0
  13. package/dist/OPFSFacade-XohWlHuu.js.map +1 -0
  14. package/dist/OPFSSync-C7KBepe_.cjs +2 -0
  15. package/dist/OPFSSync-C7KBepe_.cjs.map +1 -0
  16. package/dist/OPFSSync-CsSQkpk5.js +208 -0
  17. package/dist/OPFSSync-CsSQkpk5.js.map +1 -0
  18. package/dist/assets/dedicated.worker-nY3tK4zi.js.map +1 -0
  19. package/dist/{worker.d.ts → core/BaseOPFS.d.ts} +34 -300
  20. package/dist/core/BaseOPFS.d.ts.map +1 -0
  21. package/dist/core/OPFSAsync.d.ts +55 -0
  22. package/dist/core/OPFSAsync.d.ts.map +1 -0
  23. package/dist/core/OPFSSync.d.ts +54 -0
  24. package/dist/core/OPFSSync.d.ts.map +1 -0
  25. package/dist/createOPFSAsync-BwKDmHsy.cjs +2 -0
  26. package/dist/createOPFSAsync-BwKDmHsy.cjs.map +1 -0
  27. package/dist/createOPFSAsync-Y4Mg6qte.js +10 -0
  28. package/dist/createOPFSAsync-Y4Mg6qte.js.map +1 -0
  29. package/dist/createOPFSDedicated-CsnV6MLP.js +2333 -0
  30. package/dist/createOPFSDedicated-CsnV6MLP.js.map +1 -0
  31. package/dist/createOPFSDedicated-pKTRWLdz.cjs +2283 -0
  32. package/dist/createOPFSDedicated-pKTRWLdz.cjs.map +1 -0
  33. package/dist/createOPFSShared-CGdd__PH.js +23 -0
  34. package/dist/createOPFSShared-CGdd__PH.js.map +1 -0
  35. package/dist/createOPFSShared-CskROt7U.cjs +2 -0
  36. package/dist/createOPFSShared-CskROt7U.cjs.map +1 -0
  37. package/dist/dedicated.worker.js +2281 -0
  38. package/dist/dedicated.worker.js.map +1 -0
  39. package/dist/{facade.d.ts → facade/OPFSFacade.d.ts} +35 -10
  40. package/dist/facade/OPFSFacade.d.ts.map +1 -0
  41. package/dist/facade/createOPFSAsync.d.ts +16 -0
  42. package/dist/facade/createOPFSAsync.d.ts.map +1 -0
  43. package/dist/facade/createOPFSDedicated.d.ts +17 -0
  44. package/dist/facade/createOPFSDedicated.d.ts.map +1 -0
  45. package/dist/facade/createOPFSShared.d.ts +24 -0
  46. package/dist/facade/createOPFSShared.d.ts.map +1 -0
  47. package/dist/index.async.cjs +2 -0
  48. package/dist/index.async.cjs.map +1 -0
  49. package/dist/index.async.d.ts +10 -0
  50. package/dist/index.async.d.ts.map +1 -0
  51. package/dist/index.async.js +55 -0
  52. package/dist/index.async.js.map +1 -0
  53. package/dist/index.cjs +1 -2466
  54. package/dist/index.cjs.map +1 -1
  55. package/dist/index.d.ts +15 -7
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +61 -2799
  58. package/dist/index.js.map +1 -1
  59. package/dist/index.pure.cjs +2 -0
  60. package/dist/index.pure.cjs.map +1 -0
  61. package/dist/index.pure.d.ts +8 -0
  62. package/dist/index.pure.d.ts.map +1 -0
  63. package/dist/index.pure.js +53 -0
  64. package/dist/index.pure.js.map +1 -0
  65. package/dist/index.sharedworker.cjs +2 -0
  66. package/dist/index.sharedworker.cjs.map +1 -0
  67. package/dist/index.sharedworker.d.ts +11 -0
  68. package/dist/index.sharedworker.d.ts.map +1 -0
  69. package/dist/index.sharedworker.js +55 -0
  70. package/dist/index.sharedworker.js.map +1 -0
  71. package/dist/index.sync.cjs +2 -0
  72. package/dist/index.sync.cjs.map +1 -0
  73. package/dist/index.sync.d.ts +11 -0
  74. package/dist/index.sync.d.ts.map +1 -0
  75. package/dist/index.sync.js +55 -0
  76. package/dist/index.sync.js.map +1 -0
  77. package/dist/shared.worker.js +2166 -0
  78. package/dist/shared.worker.js.map +1 -0
  79. package/dist/types.d.ts +9 -4
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/utils/helpers.d.ts +11 -1
  82. package/dist/utils/helpers.d.ts.map +1 -1
  83. package/dist/worker/createDedicatedWorker.d.ts +30 -0
  84. package/dist/worker/createDedicatedWorker.d.ts.map +1 -0
  85. package/dist/worker/createSharedWorker.d.ts +37 -0
  86. package/dist/worker/createSharedWorker.d.ts.map +1 -0
  87. package/dist/worker/dedicated.worker.d.ts +2 -0
  88. package/dist/worker/dedicated.worker.d.ts.map +1 -0
  89. package/dist/worker/shared.worker.d.ts +2 -0
  90. package/dist/worker/shared.worker.d.ts.map +1 -0
  91. package/docs/README.md +30 -0
  92. package/docs/api/backend.md +36 -0
  93. package/docs/api/create.md +82 -0
  94. package/docs/api/facade.md +52 -0
  95. package/docs/choosing-a-mode.md +41 -0
  96. package/docs/file-descriptors.md +695 -0
  97. package/docs/guides/async.md +36 -0
  98. package/docs/guides/dedicated.md +76 -0
  99. package/docs/guides/hashing.md +34 -0
  100. package/docs/guides/pure.md +46 -0
  101. package/docs/guides/sharedworker.md +57 -0
  102. package/docs/guides/streaming.md +51 -0
  103. package/docs/guides/watching.md +35 -0
  104. package/docs/migration.md +41 -0
  105. package/docs/types.md +246 -0
  106. package/package.json +55 -10
  107. package/src/core/BaseOPFS.ts +951 -0
  108. package/src/core/OPFSAsync.ts +248 -0
  109. package/src/core/OPFSSync.ts +460 -0
  110. package/src/facade/OPFSFacade.ts +489 -0
  111. package/src/facade/createOPFSAsync.ts +22 -0
  112. package/src/facade/createOPFSDedicated.ts +23 -0
  113. package/src/facade/createOPFSShared.ts +30 -0
  114. package/src/index.async.ts +11 -0
  115. package/src/index.pure.ts +8 -0
  116. package/src/index.sharedworker.ts +12 -0
  117. package/src/index.sync.ts +12 -0
  118. package/src/index.ts +44 -0
  119. package/src/types.ts +103 -0
  120. package/src/utils/encoder.ts +205 -0
  121. package/src/utils/errors.ts +297 -0
  122. package/src/utils/helpers.ts +465 -0
  123. package/src/worker/createDedicatedWorker.ts +74 -0
  124. package/src/worker/createSharedWorker.ts +67 -0
  125. package/src/worker/dedicated.worker.ts +13 -0
  126. package/src/worker/shared.worker.ts +17 -0
  127. package/dist/assets/worker-1Wh1cr7P.js.map +0 -1
  128. package/dist/assets/worker-BeJaVyBV.js.map +0 -1
  129. package/dist/assets/worker-DYYLzR1Y.js.map +0 -1
  130. package/dist/facade.d.ts.map +0 -1
  131. package/dist/helpers-BuGfPAg0.js +0 -1439
  132. package/dist/helpers-BuGfPAg0.js.map +0 -1
  133. package/dist/helpers-CF7A2WQG.cjs +0 -4
  134. package/dist/helpers-CF7A2WQG.cjs.map +0 -1
  135. package/dist/helpers-CIiblZ8d.cjs +0 -4
  136. package/dist/helpers-CIiblZ8d.cjs.map +0 -1
  137. package/dist/helpers-CKOebsbw.js +0 -1423
  138. package/dist/helpers-CKOebsbw.js.map +0 -1
  139. package/dist/helpers-Ca2c767K.js +0 -1427
  140. package/dist/helpers-Ca2c767K.js.map +0 -1
  141. package/dist/helpers-Dwc92hv9.cjs +0 -4
  142. package/dist/helpers-Dwc92hv9.cjs.map +0 -1
  143. package/dist/raw.cjs +0 -2
  144. package/dist/raw.cjs.map +0 -1
  145. package/dist/raw.d.ts +0 -13
  146. package/dist/raw.d.ts.map +0 -1
  147. package/dist/raw.js +0 -1001
  148. package/dist/raw.js.map +0 -1
  149. package/dist/worker.d.ts.map +0 -1
@@ -1,12 +1,28 @@
1
- import type { BinaryEncoding, DirentData, Encoding, FileOpenOptions, FileStat, OPFSOptions, PathLike, RenameOptions, StringEncoding, WatchOptions } from './types';
1
+ import type { BinaryEncoding, DirentData, Encoding, FileOpenOptions, FileStat, OPFSApi, OPFSOptions, PathLike, RenameOptions, StringEncoding, WatchOptions } from '../types';
2
+ /** Backend the facade talks to: an fs implementation plus its cleanup. */
3
+ export interface OPFSBackend {
4
+ fs: OPFSApi;
5
+ /** Underlying Worker / SharedWorker when the backend lives off-thread */
6
+ worker?: Worker | SharedWorker;
7
+ dispose: () => void;
8
+ }
2
9
  /**
3
- * Facade class that provides a clean interface for communicating with the OPFS worker
4
- * while hiding Comlink implementation details.
10
+ * Node-like facade with encoding helpers and string/binary auto-detection.
11
+ *
12
+ * Transport-agnostic: works over any {@link OPFSBackend} — a Comlink proxy to
13
+ * a worker (`createOPFSDedicated`) or an in-process instance (`createOPFSAsync`).
14
+ *
15
+ * Escape hatch: {@link backend} is the raw bytes API; {@link worker} is the
16
+ * browser Worker / SharedWorker when one was created (undefined for async).
5
17
  */
6
- export declare class OPFSFileSystem {
18
+ export declare class OPFSFacade {
7
19
  #private;
8
- promises: OPFSFileSystem;
9
- constructor(options?: OPFSOptions);
20
+ /** Raw backend (`OPFSApi`) — bytes in / bytes out, no encoding helpers */
21
+ readonly backend: OPFSApi;
22
+ /** Dedicated Worker or SharedWorker, if this facade was created with one */
23
+ readonly worker: Worker | SharedWorker | undefined;
24
+ promises: OPFSFacade;
25
+ constructor(backend: OPFSBackend);
10
26
  /**
11
27
  * Start watching a file or directory for changes
12
28
  */
@@ -38,13 +54,22 @@ export declare class OPFSFileSystem {
38
54
  /**
39
55
  * Write data to a file
40
56
  */
41
- writeFile(path: PathLike, data: string | Uint8Array | ArrayBuffer, options?: {
57
+ writeFile(path: PathLike, data: string | Uint8Array | ArrayBuffer | Blob, options?: {
42
58
  encoding?: Encoding;
43
59
  } | Encoding): Promise<void>;
44
60
  /**
45
61
  * Append data to a file
46
62
  */
47
- appendFile(path: PathLike, data: string | Uint8Array | ArrayBuffer, encoding?: Encoding): Promise<void>;
63
+ appendFile(path: PathLike, data: string | Uint8Array | ArrayBuffer | Blob, encoding?: Encoding): Promise<void>;
64
+ /**
65
+ * Create or overwrite a file from a byte stream without buffering the
66
+ * complete source in memory.
67
+ *
68
+ * Returns the total number of bytes written.
69
+ */
70
+ importStream(path: PathLike, source: ReadableStream<Uint8Array> | Blob, options?: {
71
+ onProgress?: (bytesWritten: number) => void;
72
+ }): Promise<number>;
48
73
  /**
49
74
  * Create a directory
50
75
  */
@@ -168,8 +193,8 @@ export declare class OPFSFileSystem {
168
193
  */
169
194
  appendText(path: PathLike, text: string, encoding?: Encoding): Promise<void>;
170
195
  /**
171
- * Dispose of resources, detach the worker and clean up the file system instance
196
+ * Dispose of resources, detach the backend and clean up the file system instance
172
197
  */
173
198
  dispose(): void;
174
199
  }
175
- //# sourceMappingURL=facade.d.ts.map
200
+ //# sourceMappingURL=OPFSFacade.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OPFSFacade.d.ts","sourceRoot":"","sources":["../../src/facade/OPFSFacade.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { OPFSFacade } from './OPFSFacade';
2
+ import type { OPFSOptions } from '../types';
3
+ /**
4
+ * Async mode: Node-like `fs` API over the promise-based File System API,
5
+ * without any worker.
6
+ *
7
+ * Prefer importing from `opfs-worker/async` when you care about bundle size
8
+ * (avoids the inlined dedicated worker). Importing from `opfs-worker` works too.
9
+ *
10
+ * Writing requires `FileSystemFileHandle.createWritable()` — Chrome, Firefox,
11
+ * Safari 26+. File descriptors (`open`/`read`/`write`/...) are not supported
12
+ * and throw `OperationNotSupportedError` — use `createOPFSDedicated` from `opfs-worker`
13
+ * or `opfs-worker/sync` for positional I/O.
14
+ */
15
+ export declare function createOPFSAsync(options?: OPFSOptions): OPFSFacade;
16
+ //# sourceMappingURL=createOPFSAsync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOPFSAsync.d.ts","sourceRoot":"","sources":["../../src/facade/createOPFSAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAIjE"}
@@ -0,0 +1,17 @@
1
+ import { OPFSFacade } from './OPFSFacade';
2
+ import type { DedicatedWorkerOptions } from '../worker/createDedicatedWorker';
3
+ /**
4
+ * Dedicated mode: start a dedicated worker and get a Node-like `fs` API
5
+ * backed by `OPFSSync`.
6
+ *
7
+ * Prefer importing from `opfs-worker/sync` when you only need the worker backend
8
+ * (avoids pulling `OPFSAsync` into the graph). Importing from `opfs-worker` works too.
9
+ *
10
+ * By default uses an inlined worker. Pass `url` / `worker` to load
11
+ * `opfs-worker/dedicated.worker.js` instead (see {@link DedicatedWorkerOptions}).
12
+ *
13
+ * Need the raw bytes API or the Worker instance? Use `fs.backend` / `fs.worker`.
14
+ * For the workerless async backend, use {@link createOPFSAsync}.
15
+ */
16
+ export declare function createOPFSDedicated(options?: DedicatedWorkerOptions): OPFSFacade;
17
+ //# sourceMappingURL=createOPFSDedicated.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOPFSDedicated.d.ts","sourceRoot":"","sources":["../../src/facade/createOPFSDedicated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,UAAU,CAIhF"}
@@ -0,0 +1,24 @@
1
+ import { OPFSFacade } from './OPFSFacade';
2
+ import type { SharedWorkerOptions } from '../worker/createSharedWorker';
3
+ /**
4
+ * Shared mode: Node-like `fs` API over a SharedWorker running one `OPFSAsync`
5
+ * instance for every tab — writes are serialized across tabs by per-path locks,
6
+ * watch events reach all tabs via `BroadcastChannel`.
7
+ *
8
+ * Uses the async backend (sync access handles are unavailable in SharedWorker):
9
+ * writing requires `createWritable()` (Chrome, Firefox, Safari 26+), and file
10
+ * descriptors throw `OperationNotSupportedError`.
11
+ *
12
+ * Need the raw bytes API or the SharedWorker? Use `fs.backend` / `fs.worker`.
13
+ *
14
+ * @example
15
+ * ```typescript
16
+ * // Vite: pass the worker url explicitly
17
+ * import workerUrl from 'opfs-worker/shared.worker.js?url';
18
+ * import { createOPFSShared } from 'opfs-worker/sharedworker';
19
+ *
20
+ * const fs = createOPFSShared({ root: '/my-app', url: workerUrl });
21
+ * ```
22
+ */
23
+ export declare function createOPFSShared(options?: SharedWorkerOptions): OPFSFacade;
24
+ //# sourceMappingURL=createOPFSShared.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createOPFSShared.d.ts","sourceRoot":"","sources":["../../src/facade/createOPFSShared.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAExE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAI1E"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./BaseOPFS-BPw9AIQ-.cjs"),e=require("./OPFSAsync-s2P7y3sw.cjs"),a=require("./OPFSFacade-DePnNRgt.cjs"),t=require("./createOPFSAsync-BwKDmHsy.cjs");exports.AlreadyExistsError=r.AlreadyExistsError;exports.BINARY_FILE_EXTENSIONS=r.BINARY_FILE_EXTENSIONS;exports.BaseOPFS=r.BaseOPFS;exports.DirectoryOperationError=r.DirectoryOperationError;exports.ExistenceError=r.ExistenceError;exports.FileBusyError=r.FileBusyError;exports.FileSystemOperationError=r.FileSystemOperationError;exports.FileTypeError=r.FileTypeError;exports.IOError=r.IOError;exports.InitializationFailedError=r.InitializationFailedError;exports.OPFSError=r.OPFSError;exports.OPFSNotSupportedError=r.OPFSNotSupportedError;exports.OperationAbortedError=r.OperationAbortedError;exports.OperationNotSupportedError=r.OperationNotSupportedError;exports.PathError=r.PathError;exports.PermissionError=r.PermissionError;exports.StorageError=r.StorageError;exports.ValidationError=r.ValidationError;exports.WatchEventType=r.WatchEventType;exports.basename=r.basename;exports.buffersEqual=r.buffersEqual;exports.calculateFileHash=r.calculateFileHash;exports.calculateReadLength=r.calculateReadLength;exports.checkOPFSSupport=r.checkOPFSSupport;exports.convertBlobToUint8Array=r.convertBlobToUint8Array;exports.createBuffer=r.createBuffer;exports.createFDError=r.createFDError;exports.createSyncHandleSafe=r.createSyncHandleSafe;exports.decodeBuffer=r.decodeBuffer;exports.dirname=r.dirname;exports.encodeString=r.encodeString;exports.extname=r.extname;exports.isBinaryFileExtension=r.isBinaryFileExtension;exports.isPathExcluded=r.isPathExcluded;exports.joinPath=r.joinPath;exports.mapDomError=r.mapDomError;exports.matchMinimatch=r.matchMinimatch;exports.normalizeMinimatch=r.normalizeMinimatch;exports.normalizePath=r.normalizePath;exports.removeEntry=r.removeEntry;exports.resolvePath=r.resolvePath;exports.safeCloseSyncHandle=r.safeCloseSyncHandle;exports.splitPath=r.splitPath;exports.validateReadWriteArgs=r.validateReadWriteArgs;exports.withLock=r.withLock;exports.OPFSAsync=e.OPFSAsync;exports.OPFSFacade=a.OPFSFacade;exports.createOPFSAsync=t.createOPFSAsync;
2
+ //# sourceMappingURL=index.async.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.async.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ export * from './types';
2
+ export * from './utils/errors';
3
+ export * from './utils/helpers';
4
+ export * from './utils/encoder';
5
+ export { BaseOPFS } from './core/BaseOPFS';
6
+ export { OPFSAsync } from './core/OPFSAsync';
7
+ export { OPFSFacade } from './facade/OPFSFacade';
8
+ export type { OPFSBackend } from './facade/OPFSFacade';
9
+ export { createOPFSAsync } from './facade/createOPFSAsync';
10
+ //# sourceMappingURL=index.async.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.async.d.ts","sourceRoot":"","sources":["../src/index.async.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { A as e, K as s, B as o, D as t, E as i, F as n, g as E, c, I as l, f as d, O as p, a as S, d as m, e as F, P as O, b as h, S as P, V as y, W as f, k as u, x, v as A, H as B, i as v, y as I, u as N, h as b, J as g, N as z, l as D, M as H, t as L, L as T, q as k, j as M, m as R, p as W, o as j, n as q, z as w, r as C, G as V, s as _, C as G, w as J } from "./BaseOPFS-Cylz6ijk.js";
2
+ import { O as U } from "./OPFSAsync-BKSAJJeh.js";
3
+ import { O as Y } from "./OPFSFacade-XohWlHuu.js";
4
+ import { c as Z } from "./createOPFSAsync-Y4Mg6qte.js";
5
+ export {
6
+ e as AlreadyExistsError,
7
+ s as BINARY_FILE_EXTENSIONS,
8
+ o as BaseOPFS,
9
+ t as DirectoryOperationError,
10
+ i as ExistenceError,
11
+ n as FileBusyError,
12
+ E as FileSystemOperationError,
13
+ c as FileTypeError,
14
+ l as IOError,
15
+ d as InitializationFailedError,
16
+ U as OPFSAsync,
17
+ p as OPFSError,
18
+ Y as OPFSFacade,
19
+ S as OPFSNotSupportedError,
20
+ m as OperationAbortedError,
21
+ F as OperationNotSupportedError,
22
+ O as PathError,
23
+ h as PermissionError,
24
+ P as StorageError,
25
+ y as ValidationError,
26
+ f as WatchEventType,
27
+ u as basename,
28
+ x as buffersEqual,
29
+ A as calculateFileHash,
30
+ B as calculateReadLength,
31
+ v as checkOPFSSupport,
32
+ I as convertBlobToUint8Array,
33
+ N as createBuffer,
34
+ b as createFDError,
35
+ Z as createOPFSAsync,
36
+ g as createSyncHandleSafe,
37
+ z as decodeBuffer,
38
+ D as dirname,
39
+ H as encodeString,
40
+ L as extname,
41
+ T as isBinaryFileExtension,
42
+ k as isPathExcluded,
43
+ M as joinPath,
44
+ R as mapDomError,
45
+ W as matchMinimatch,
46
+ j as normalizeMinimatch,
47
+ q as normalizePath,
48
+ w as removeEntry,
49
+ C as resolvePath,
50
+ V as safeCloseSyncHandle,
51
+ _ as splitPath,
52
+ G as validateReadWriteArgs,
53
+ J as withLock
54
+ };
55
+ //# sourceMappingURL=index.async.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.async.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}