@depup/jsonjoy.com__fs-node-to-fsa 4.66.0-depup.0 → 4.67.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -13,8 +13,8 @@ npm install @depup/jsonjoy.com__fs-node-to-fsa
13
13
 
14
14
  | Field | Value |
15
15
  |-------|-------|
16
- | Original | [@jsonjoy.com/fs-node-to-fsa](https://www.npmjs.com/package/@jsonjoy.com/fs-node-to-fsa) @ 4.66.0 |
17
- | Processed | 2026-08-03 |
16
+ | Original | [@jsonjoy.com/fs-node-to-fsa](https://www.npmjs.com/package/@jsonjoy.com/fs-node-to-fsa) @ 4.67.0 |
17
+ | Processed | 2026-08-04 |
18
18
  | Smoke test | passed |
19
19
  | Deps updated | 0 |
20
20
 
package/changes.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "bumped": {},
3
- "timestamp": "2026-08-03T16:49:39.441Z",
3
+ "timestamp": "2026-08-04T08:58:20.823Z",
4
4
  "totalUpdated": 0
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemDirectoryHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemDirectoryHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFileSystemDirectoryHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemDirectoryHandle.ts"],"names":[],"mappings":"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","sourcesContent":["import { NodeFileSystemHandle } from './NodeFileSystemHandle';\nimport {\n assertCanWrite,\n assertName,\n basename,\n ctx as createCtx,\n newNotAllowedError,\n newNotFoundError,\n newTypeMismatchError,\n} from './util';\nimport { NodeFileSystemFileHandle } from './NodeFileSystemFileHandle';\nimport type { NodeFsaContext, NodeFsaFs } from './types';\nimport type { IDirent } from '@jsonjoy.com/fs-node-utils';\nimport type {\n GetDirectoryHandleOptions,\n GetFileHandleOptions,\n IFileSystemDirectoryHandle,\n IFileSystemFileHandle,\n IFileSystemHandle,\n RemoveEntryOptions,\n} from '@jsonjoy.com/fs-fsa';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle\n */\nexport class NodeFileSystemDirectoryHandle extends NodeFileSystemHandle implements IFileSystemDirectoryHandle {\n protected readonly ctx: NodeFsaContext;\n /** Directory path with trailing slash. */\n public readonly __path: string;\n\n public constructor(\n protected readonly fs: NodeFsaFs,\n path: string,\n ctx: Partial<NodeFsaContext> = {},\n ) {\n const fullCtx = createCtx(ctx);\n super('directory', basename(path, fullCtx.separator));\n this.ctx = fullCtx;\n this.__path = path[path.length - 1] === this.ctx.separator ? path : path + this.ctx.separator;\n }\n\n /**\n * Returns a new array iterator containing the keys for each item in\n * {@link NodeFileSystemDirectoryHandle} object.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/keys\n */\n public async *keys(): AsyncIterableIterator<string> {\n const list = await this.fs.promises.readdir(this.__path);\n for (const name of list) yield '' + name;\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/entries\n */\n public async *entries(): AsyncIterableIterator<[string, NodeFileSystemHandle]> {\n const { __path: path, fs, ctx } = this;\n const list = await fs.promises.readdir(path, { withFileTypes: true });\n for (const d of list) {\n const dirent = d as IDirent;\n const name = dirent.name + '';\n const newPath = path + name;\n if (dirent.isDirectory()) yield [name, new NodeFileSystemDirectoryHandle(fs, newPath, ctx)];\n else if (dirent.isFile()) yield [name, new NodeFileSystemFileHandle(fs, newPath, ctx)];\n }\n }\n\n /**\n * Returns a new array iterator containing the values for each index in the\n * {@link FileSystemDirectoryHandle} object.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/values\n */\n public async *values(): AsyncIterableIterator<NodeFileSystemHandle> {\n for await (const [, value] of this.entries()) yield value;\n }\n\n /**\n * Returns a {@link NodeFileSystemDirectoryHandle} for a subdirectory with the specified\n * name within the directory handle on which the method is called.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getDirectoryHandle\n * @param name A string representing the {@link NodeFileSystemHandle} name of\n * the subdirectory you wish to retrieve.\n * @param options An optional object containing options for the retrieved\n * subdirectory.\n */\n public async getDirectoryHandle(\n name: string,\n options?: GetDirectoryHandleOptions,\n ): Promise<IFileSystemDirectoryHandle> {\n assertName(name, 'getDirectoryHandle', 'FileSystemDirectoryHandle');\n const filename = this.__path + name;\n const { fs } = this;\n try {\n const stats = await fs.promises.stat(filename);\n if (!stats.isDirectory()) throw newTypeMismatchError();\n return new NodeFileSystemDirectoryHandle(fs, filename, this.ctx);\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'ENOENT': {\n if (options?.create) {\n assertCanWrite(this.ctx.mode!);\n try {\n await fs.promises.mkdir(filename);\n } catch (mkdirError) {\n if (mkdirError && typeof mkdirError === 'object' && mkdirError.code === 'EEXIST') {\n const stats = await fs.promises.stat(filename);\n if (!stats.isDirectory()) throw newTypeMismatchError();\n return new NodeFileSystemDirectoryHandle(fs, filename, this.ctx);\n }\n throw mkdirError;\n }\n return new NodeFileSystemDirectoryHandle(fs, filename, this.ctx);\n }\n throw newNotFoundError();\n }\n case 'EPERM':\n case 'EACCES':\n throw newNotAllowedError();\n }\n }\n throw error;\n }\n }\n\n /**\n * Returns a {@link FileSystemFileHandle} for a file with the specified name,\n * within the directory the method is called.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/getFileHandle\n * @param name A string representing the {@link NodeFileSystemHandle} name of\n * the file you wish to retrieve.\n * @param options An optional object containing options for the retrieved file.\n */\n public async getFileHandle(name: string, options?: GetFileHandleOptions): Promise<IFileSystemFileHandle> {\n assertName(name, 'getFileHandle', 'FileSystemDirectoryHandle');\n const filename = this.__path + name;\n try {\n const stats = await this.fs.promises.stat(filename);\n if (!stats.isFile()) throw newTypeMismatchError();\n return new NodeFileSystemFileHandle(this.fs, filename, this.ctx);\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'ENOENT': {\n if (options?.create) {\n assertCanWrite(this.ctx.mode!);\n await this.fs.promises.writeFile(filename, '');\n return new NodeFileSystemFileHandle(this.fs, filename, this.ctx);\n }\n throw newNotFoundError();\n }\n case 'EPERM':\n case 'EACCES':\n throw newNotAllowedError();\n }\n }\n throw error;\n }\n }\n\n /**\n * Attempts to remove an entry if the directory handle contains a file or\n * directory called the name specified.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/removeEntry\n * @param name A string representing the {@link FileSystemHandle} name of the\n * entry you wish to remove.\n * @param options An optional object containing options.\n */\n public async removeEntry(name: string, { recursive = false }: RemoveEntryOptions = {}): Promise<void> {\n assertCanWrite(this.ctx.mode!);\n assertName(name, 'removeEntry', 'FileSystemDirectoryHandle');\n const filename = this.__path + name;\n const promises = this.fs.promises;\n try {\n const stats = await promises.stat(filename);\n if (stats.isFile()) {\n await promises.unlink(filename);\n } else if (stats.isDirectory()) {\n await promises.rmdir(filename, { recursive });\n } else throw newTypeMismatchError();\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'ENOENT': {\n throw newNotFoundError();\n }\n case 'EPERM':\n case 'EACCES':\n throw newNotAllowedError();\n case 'ENOTEMPTY':\n throw new DOMException('The object can not be modified in this way.', 'InvalidModificationError');\n }\n }\n throw error;\n }\n }\n\n /**\n * The `resolve()` method of the {@link FileSystemDirectoryHandle} interface\n * returns an {@link Array} of directory names from the parent handle to the specified\n * child entry, with the name of the child entry as the last array item.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemDirectoryHandle/resolve\n * @param possibleDescendant The {@link IFileSystemHandle} from which\n * to return the relative path.\n */\n public async resolve(possibleDescendant: IFileSystemHandle): Promise<string[] | null> {\n if (\n possibleDescendant instanceof NodeFileSystemDirectoryHandle ||\n possibleDescendant instanceof NodeFileSystemFileHandle\n ) {\n const path = this.__path;\n const childPath = (possibleDescendant as any).__path;\n if (!childPath.startsWith(path)) return null;\n let relative = childPath.slice(path.length);\n if (relative === '') return [];\n const separator = this.ctx.separator!;\n if (relative[0] === separator) relative = relative.slice(1);\n return relative.split(separator);\n }\n return null;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemFileHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemFileHandle.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAC9D,qFAAkF;AAClF,iCAAuH;AACvH,yFAAsF;AAItF,MAAa,wBAAyB,SAAQ,2CAAoB;IAGhE,YACqB,EAAa,EAChB,MAAc,EAC9B,MAA+B,EAAE;QAEjC,GAAG,GAAG,IAAA,UAAS,EAAC,GAAG,CAAC,CAAC;QACrB,KAAK,CAAC,MAAM,EAAE,IAAA,eAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC;QAL7B,OAAE,GAAF,EAAE,CAAW;QAChB,WAAM,GAAN,MAAM,CAAQ;QAK9B,IAAI,CAAC,GAAG,GAAG,GAAqB,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,oFAAoF;YACpF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,OAAO,CAAC;oBACb,KAAK,QAAQ;wBACX,MAAM,IAAA,yBAAkB,GAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAA,oCAA6B,GAAE,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,+DAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CACzB,EAAE,gBAAgB,GAAG,KAAK,KAA4B,EAAE,gBAAgB,EAAE,KAAK,EAAE;QAEjF,IAAA,qBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAA,oCAA6B,GAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,mEAAgC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC;CACF;AAlED,4DAkEC"}
1
+ {"version":3,"file":"NodeFileSystemFileHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemFileHandle.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAC9D,qFAAkF;AAClF,iCAAuH;AACvH,yFAAsF;AAItF,MAAa,wBAAyB,SAAQ,2CAAoB;IAGhE,YACqB,EAAa,EAChB,MAAc,EAC9B,MAA+B,EAAE;QAEjC,GAAG,GAAG,IAAA,UAAS,EAAC,GAAG,CAAC,CAAC;QACrB,KAAK,CAAC,MAAM,EAAE,IAAA,eAAQ,EAAC,MAAM,EAAE,GAAG,CAAC,SAAU,CAAC,CAAC,CAAC;QAL7B,OAAE,GAAF,EAAE,CAAW;QAChB,WAAM,GAAN,MAAM,CAAQ;QAK9B,IAAI,CAAC,GAAG,GAAG,GAAqB,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO;QAClB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,oFAAoF;YACpF,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,IAAgB,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC9F,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,YAAY;gBAAE,MAAM,KAAK,CAAC;YAC/C,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;oBACnB,KAAK,OAAO,CAAC;oBACb,KAAK,QAAQ;wBACX,MAAM,IAAA,yBAAkB,GAAE,CAAC;gBAC/B,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,sBAAsB;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAClD,OAAO,KAAK,IAAI,EAAE;YAChB,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAA,oCAA6B,GAAE,CAAC;YACxC,CAAC;YACD,OAAO,IAAI,+DAA8B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CACzB,EAAE,gBAAgB,GAAG,KAAK,KAA4B,EAAE,gBAAgB,EAAE,KAAK,EAAE;QAEjF,IAAA,qBAAc,EAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,MAAM,IAAA,oCAA6B,GAAE,CAAC;QACxC,CAAC;QACD,OAAO,IAAI,mEAAgC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChG,CAAC;CACF;AAlED,4DAkEC","sourcesContent":["import { NodeFileSystemHandle } from './NodeFileSystemHandle';\nimport { NodeFileSystemSyncAccessHandle } from './NodeFileSystemSyncAccessHandle';\nimport { assertCanWrite, basename, ctx as createCtx, newNotAllowedError, newNoModificationAllowedError } from './util';\nimport { NodeFileSystemWritableFileStream } from './NodeFileSystemWritableFileStream';\nimport type { NodeFsaContext, NodeFsaFs } from './types';\nimport type { IFileSystemFileHandle, IFileSystemSyncAccessHandle } from '@jsonjoy.com/fs-fsa';\n\nexport class NodeFileSystemFileHandle extends NodeFileSystemHandle implements IFileSystemFileHandle {\n protected readonly ctx: NodeFsaContext;\n\n constructor(\n protected readonly fs: NodeFsaFs,\n public readonly __path: string,\n ctx: Partial<NodeFsaContext> = {},\n ) {\n ctx = createCtx(ctx);\n super('file', basename(__path, ctx.separator!));\n this.ctx = ctx as NodeFsaContext;\n }\n\n /**\n * Returns a {@link Promise} which resolves to a {@link File} object\n * representing the state on disk of the entry represented by the handle.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/getFile\n */\n public async getFile(): Promise<File> {\n try {\n const path = this.__path;\n const promises = this.fs.promises;\n const stats = await promises.stat(path);\n // TODO: Once implemented, use promises.readAsBlob() instead of promises.readFile().\n const data = await promises.readFile(path);\n const file = new File([data as BlobPart], this.name, { lastModified: stats.mtime.getTime() });\n return file;\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'EPERM':\n case 'EACCES':\n throw newNotAllowedError();\n }\n }\n throw error;\n }\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/createSyncAccessHandle\n */\n public get createSyncAccessHandle(): undefined | (() => Promise<IFileSystemSyncAccessHandle>) {\n if (!this.ctx.syncHandleAllowed) return undefined;\n return async () => {\n if (this.ctx.locks.isLocked(this.__path)) {\n throw newNoModificationAllowedError();\n }\n return new NodeFileSystemSyncAccessHandle(this.fs, this.__path, this.ctx);\n };\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemFileHandle/createWritable\n */\n public async createWritable(\n { keepExistingData = false }: CreateWritableOptions = { keepExistingData: false },\n ): Promise<NodeFileSystemWritableFileStream> {\n assertCanWrite(this.ctx.mode);\n if (this.ctx.locks.isLocked(this.__path)) {\n throw newNoModificationAllowedError();\n }\n return new NodeFileSystemWritableFileStream(this.fs, this.__path, keepExistingData, this.ctx);\n }\n}\n\nexport interface CreateWritableOptions {\n keepExistingData?: boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemHandle.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAI9D;;;;;GAKG;AACH,MAAsB,oBAAoB;IAKxC,YACkB,IAA0B,EAC1B,IAAY;QADZ,SAAI,GAAJ,IAAI,CAAsB;QAC1B,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAEJ;;;;OAIG;IACI,WAAW,CAAC,gBAAmC;QACpD,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,gBAAgB,CAAC,WAAW,IAAK,IAAY,CAAC,MAAM,KAAM,gBAAwB,CAAC,MAAM,CAC/G,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe,CAC1B,oCAA0E;QAE1E,MAAM,EAAE,IAAI,EAAE,GAAG,oCAAoC,CAAC;QAEtD,kEAAkE;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAElC,6DAA6D;QAC7D,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC5D,OAAO,IAAI,2CAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,uEAAuE;YACvE,IAAI,UAAU,qBAAa,CAAC;YAE5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,UAAU,qBAAa,CAAC;YAC1B,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,UAAU,GAAG,uCAAuB,CAAC;YACvC,CAAC;YAED,gCAAgC;YAChC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEvD,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;YAC9C,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,KAA8B,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/E,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,oCAA0E;QAE1E,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAzED,oDAyEC"}
1
+ {"version":3,"file":"NodeFileSystemHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemHandle.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAI9D;;;;;GAKG;AACH,MAAsB,oBAAoB;IAKxC,YACkB,IAA0B,EAC1B,IAAY;QADZ,SAAI,GAAJ,IAAI,CAAsB;QAC1B,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAEJ;;;;OAIG;IACI,WAAW,CAAC,gBAAmC;QACpD,OAAO,CACL,IAAI,CAAC,WAAW,KAAK,gBAAgB,CAAC,WAAW,IAAK,IAAY,CAAC,MAAM,KAAM,gBAAwB,CAAC,MAAM,CAC/G,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe,CAC1B,oCAA0E;QAE1E,MAAM,EAAE,IAAI,EAAE,GAAG,oCAAoC,CAAC;QAEtD,kEAAkE;QAClE,MAAM,aAAa,GAAG,IAAI,CAAC;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAElC,6DAA6D;QAC7D,IAAI,aAAa,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,EAAE,CAAC;YAC5D,OAAO,IAAI,2CAAoB,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACH,uEAAuE;YACvE,IAAI,UAAU,qBAAa,CAAC;YAE5B,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,UAAU,qBAAa,CAAC;YAC1B,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,UAAU,GAAG,uCAAuB,CAAC;YACvC,CAAC;YAED,gCAAgC;YAChC,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAEvD,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,8CAA8C;YAC9C,OAAO,IAAI,2CAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,MAAM,CAAC,EAAE,SAAS,KAA8B,EAAE,SAAS,EAAE,KAAK,EAAE;QAC/E,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACI,iBAAiB,CACtB,oCAA0E;QAE1E,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAzED,oDAyEC","sourcesContent":["import { AMODE } from '@jsonjoy.com/fs-node-utils';\nimport { NodePermissionStatus } from './NodePermissionStatus';\nimport type { IFileSystemHandle, FileSystemHandlePermissionDescriptor } from '@jsonjoy.com/fs-fsa';\nimport type { NodeFsaFs, NodeFsaContext } from './types';\n\n/**\n * Represents a File System Access API file handle `FileSystemHandle` object,\n * which was created from a Node.js `fs` module.\n *\n * @see [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle)\n */\nexport abstract class NodeFileSystemHandle implements IFileSystemHandle {\n protected abstract readonly fs: NodeFsaFs;\n protected abstract readonly __path: string;\n protected abstract readonly ctx: NodeFsaContext;\n\n constructor(\n public readonly kind: 'file' | 'directory',\n public readonly name: string,\n ) {}\n\n /**\n * Compares two handles to see if the associated entries (either a file or directory) match.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/isSameEntry\n */\n public isSameEntry(fileSystemHandle: IFileSystemHandle): boolean {\n return (\n this.constructor === fileSystemHandle.constructor && (this as any).__path === (fileSystemHandle as any).__path\n );\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/queryPermission\n */\n public async queryPermission(\n fileSystemHandlePermissionDescriptor: FileSystemHandlePermissionDescriptor,\n ): Promise<NodePermissionStatus> {\n const { mode } = fileSystemHandlePermissionDescriptor;\n\n // Check if the requested mode is compatible with the context mode\n const requestedMode = mode;\n const contextMode = this.ctx.mode;\n\n // If requesting readwrite but context only allows read, deny\n if (requestedMode === 'readwrite' && contextMode === 'read') {\n return new NodePermissionStatus(requestedMode, 'denied');\n }\n\n try {\n // Use Node.js fs.promises.access() to check permissions asynchronously\n let accessMode = AMODE.F_OK;\n\n if (mode === 'read') {\n accessMode = AMODE.R_OK;\n } else if (mode === 'readwrite') {\n accessMode = AMODE.R_OK | AMODE.W_OK;\n }\n\n // Use asynchronous access check\n await this.fs.promises.access(this.__path, accessMode);\n\n return new NodePermissionStatus(mode, 'granted');\n } catch (error) {\n // If access check fails, permission is denied\n return new NodePermissionStatus(mode, 'denied');\n }\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/remove\n */\n public async remove({ recursive }: { recursive?: boolean } = { recursive: false }): Promise<void> {\n throw new Error('Not implemented');\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemHandle/requestPermission\n */\n public requestPermission(\n fileSystemHandlePermissionDescriptor: FileSystemHandlePermissionDescriptor,\n ): NodePermissionStatus {\n throw new Error('Not implemented');\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemObserver.js","sourceRoot":"","sources":["../src/NodeFileSystemObserver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFileSystemObserver.js","sourceRoot":"","sources":["../src/NodeFileSystemObserver.ts"],"names":[],"mappings":"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","sourcesContent":["import { FileSystemChangeRecord } from '@jsonjoy.com/fs-fsa';\nimport { NodeFileSystemDirectoryHandle } from './NodeFileSystemDirectoryHandle';\nimport { NodeFileSystemFileHandle } from './NodeFileSystemFileHandle';\nimport { newNotAllowedError, newNotFoundError } from './util';\nimport type {\n IFileSystemChangeRecord,\n IFileSystemDirectoryHandle,\n IFileSystemFileHandle,\n IFileSystemHandle,\n IFileSystemObserver,\n IFileSystemObserverObserveOptions,\n IFileSystemSyncAccessHandle,\n} from '@jsonjoy.com/fs-fsa';\nimport type { FsCallbackApi } from '@jsonjoy.com/fs-node-utils';\nimport type * as misc from '@jsonjoy.com/fs-node-utils/lib/types/misc';\nimport type { NodeFsaContext, NodeFsaFs } from './types';\n\nexport type NodeFsaWatchFs = NodeFsaFs & Pick<FsCallbackApi, 'watch'>;\n\n/**\n * A `FileSystemObserver` implementation backed by the underlying Node.js-like\n * `fs.watch`. This is a best-effort profile, per the File System Observer\n * proposal's allowance for local file systems: `rename` events are classified\n * into `\"appeared\"`/`\"disappeared\"` records by stat-ing the path, no\n * `\"moved\"` records are ever produced (pairing renames is unreliable — same\n * as Chrome on Windows), and a backend watcher error surfaces as a terminal\n * `\"errored\"` record for that observation.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemObserver\n */\nexport class NodeFileSystemObserver implements IFileSystemObserver {\n protected readonly _observations = new Map<\n IFileSystemFileHandle | IFileSystemDirectoryHandle | IFileSystemSyncAccessHandle,\n misc.IFSWatcher\n >();\n protected _records: IFileSystemChangeRecord[] = [];\n protected _flushScheduled: boolean = false;\n\n constructor(\n protected readonly fs: NodeFsaWatchFs,\n protected readonly callback: (records: IFileSystemChangeRecord[], observer: IFileSystemObserver) => void,\n ) {}\n\n public async observe(\n handle: IFileSystemFileHandle | IFileSystemDirectoryHandle | IFileSystemSyncAccessHandle,\n options?: IFileSystemObserverObserveOptions,\n ): Promise<void> {\n const path = (handle as unknown as { __path?: unknown }).__path;\n const ctx = ((handle as any).ctx ?? (handle as any)._ctx) as NodeFsaContext | undefined;\n if (typeof path !== 'string' || !ctx || (ctx.separator !== '/' && ctx.separator !== '\\\\'))\n throw new TypeError(\"Failed to execute 'observe' on 'FileSystemObserver': Invalid handle.\");\n const isDirectory = (handle as IFileSystemHandle).kind === 'directory';\n const last = path[path.length - 1];\n const isTrimmableSeparator = path.length > 1 && (last === '/' || last === '\\\\') && path[path.length - 2] !== ':';\n const target = isTrimmableSeparator ? path.slice(0, -1) : path;\n try {\n await this.fs.promises.stat(target);\n } catch (error) {\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'ENOENT':\n throw newNotFoundError();\n case 'EACCES':\n case 'EPERM':\n throw newNotAllowedError();\n }\n }\n throw error;\n }\n const recursive = isDirectory && !!options?.recursive;\n const watcher = this.fs.watch(target, { recursive }, (eventType, filename) => {\n void this.onEvent(handle, watcher, target, isDirectory, ctx, eventType, filename ? String(filename) : '');\n });\n watcher.on('error', () => {\n if (this._observations.get(handle) !== watcher) return;\n this._observations.delete(handle);\n watcher.close();\n this._enqueue(new FileSystemChangeRecord(handle, 'errored', null, []));\n });\n this._observations.get(handle)?.close();\n this._observations.set(handle, watcher);\n }\n\n public unobserve(handle: IFileSystemFileHandle | IFileSystemDirectoryHandle | IFileSystemSyncAccessHandle): void {\n const watcher = this._observations.get(handle);\n if (!watcher) return;\n watcher.close();\n this._observations.delete(handle);\n }\n\n /** Disconnect and stop all observations. */\n public disconnect(): void {\n for (const watcher of this._observations.values()) watcher.close();\n this._observations.clear();\n this._records = [];\n }\n\n protected async onEvent(\n root: IFileSystemFileHandle | IFileSystemDirectoryHandle | IFileSystemSyncAccessHandle,\n watcher: misc.IFSWatcher,\n rootPath: string,\n isDirectory: boolean,\n ctx: NodeFsaContext,\n eventType: string,\n filename: string,\n ): Promise<void> {\n const sep = ctx.separator;\n const steps = isDirectory && filename ? filename.split(sep) : [];\n const absolute = isDirectory ? (rootPath === sep ? rootPath + filename : rootPath + sep + filename) : rootPath;\n let stats: misc.IStats | null = null;\n try {\n stats = (await this.fs.promises.stat(absolute)) as misc.IStats;\n } catch {\n stats = null;\n }\n if (this._observations.get(root) !== watcher) return;\n if (eventType === 'rename') {\n if (stats) {\n this._enqueue(new FileSystemChangeRecord(root, 'appeared', this._handle(absolute, stats, ctx), steps));\n } else {\n this._enqueue(new FileSystemChangeRecord(root, 'disappeared', null, steps));\n }\n } else if (stats) {\n this._enqueue(new FileSystemChangeRecord(root, 'modified', this._handle(absolute, stats, ctx), steps));\n }\n }\n\n protected _handle(absolute: string, stats: misc.IStats, ctx: NodeFsaContext): IFileSystemHandle {\n return stats.isDirectory()\n ? new NodeFileSystemDirectoryHandle(this.fs, absolute, ctx)\n : new NodeFileSystemFileHandle(this.fs, absolute, ctx);\n }\n\n protected _enqueue(record: IFileSystemChangeRecord): void {\n this._records.push(record);\n if (this._flushScheduled) return;\n this._flushScheduled = true;\n queueMicrotask(() => {\n this._flushScheduled = false;\n const records = this._records;\n this._records = [];\n if (records.length) this.callback(records, this);\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemSyncAccessHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemSyncAccessHandle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFileSystemSyncAccessHandle.js","sourceRoot":"","sources":["../src/NodeFileSystemSyncAccessHandle.ts"],"names":[],"mappings":"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","sourcesContent":["import { assertCanWrite } from './util';\nimport { Buffer } from '@jsonjoy.com/fs-node-builtins/lib/internal/buffer';\nimport type { FileSystemReadWriteOptions, IFileSystemSyncAccessHandle } from '@jsonjoy.com/fs-fsa';\nimport type { NodeFsaContext, NodeFsaFs } from './types';\n\n/**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle\n */\nexport class NodeFileSystemSyncAccessHandle implements IFileSystemSyncAccessHandle {\n protected readonly fd: number;\n\n constructor(\n protected readonly fs: NodeFsaFs,\n public readonly __path: string,\n protected readonly ctx: NodeFsaContext,\n ) {\n this.fd = fs.openSync(__path, 'r+');\n this.ctx.locks.acquireLock(this.__path);\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/close\n */\n public async close(): Promise<void> {\n assertCanWrite(this.ctx.mode);\n this.fs.closeSync(this.fd);\n this.ctx.locks.releaseLock(this.__path);\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/flush\n */\n public async flush(): Promise<void> {\n assertCanWrite(this.ctx.mode);\n this.fs.fsyncSync(this.fd);\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/getSize\n */\n public async getSize(): Promise<number> {\n return this.fs.statSync(this.__path).size;\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/read\n */\n public async read(buffer: ArrayBuffer | ArrayBufferView, options: FileSystemReadWriteOptions = {}): Promise<number> {\n const buf: Buffer | ArrayBufferView = buffer instanceof ArrayBuffer ? Buffer.from(buffer) : buffer;\n try {\n const size = this.fs.readSync(this.fd, buf, 0, buffer.byteLength, options.at ?? 0);\n return size;\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'EBADF': {\n throw new DOMException('File handle already closed.', 'InvalidStateError');\n }\n }\n }\n throw error;\n }\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/truncate\n * @param newSize The number of bytes to resize the file to.\n */\n public async truncate(newSize: number): Promise<void> {\n assertCanWrite(this.ctx.mode);\n this.fs.truncateSync(this.fd, newSize);\n }\n\n /**\n * Writes the content of a specified buffer to the file associated with the\n * handle, optionally at a given offset.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemSyncAccessHandle/write\n * @param buffer\n * @param options\n */\n public async write(\n buffer: ArrayBuffer | ArrayBufferView | DataView,\n options: FileSystemReadWriteOptions = {},\n ): Promise<number> {\n assertCanWrite(this.ctx.mode);\n const buf: Buffer | ArrayBufferView = buffer instanceof ArrayBuffer ? Buffer.from(buffer) : buffer;\n try {\n return this.fs.writeSync(this.fd, buf, 0, buffer.byteLength, options.at ?? 0);\n } catch (error) {\n if (error instanceof DOMException) throw error;\n if (error && typeof error === 'object') {\n switch (error.code) {\n case 'EBADF': {\n throw new DOMException('File handle already closed.', 'InvalidStateError');\n }\n }\n }\n throw error;\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFileSystemWritableFileStream.js","sourceRoot":"","sources":["../src/NodeFileSystemWritableFileStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFileSystemWritableFileStream.js","sourceRoot":"","sources":["../src/NodeFileSystemWritableFileStream.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAI3E,iCAAuD;AAEvD;;;;;;;;GAQG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,EAAa,EACb,IAAY,EACZ,gBAAyB,EACqB,EAAE;IAChD,IAAI,MAA+B,CAAC;IACpC,IAAI,QAAQ,GAAW,IAAI,GAAG,SAAS,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,QAAQ,GAAG,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;gBACjC,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBAChD,MAAM;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAAE,MAAM,KAAK,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,IAAI,IAAI,CAAC,CAAC;IAC5E,IAAI,gBAAgB;QAAE,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChG,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC;AA1BW,QAAA,cAAc,kBA0BzB;AAcF,MAAM,EAAE,GAAG,CACT,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CACrE,CAAC;AAE3B;;;;;;GAMG;AACH,MAAa,gCAAiC,SAAQ,EAAE;IAGtD,YACqB,EAAa,EACb,IAAY,EAC/B,gBAAyB,EACN,GAAmB;QAEtC,MAAM,IAAI,GAAa,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC;YACJ,KAAK,CAAC,KAAK;gBACT,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,MAAM,IAAA,oCAA6B,GAAE,CAAC;gBACxC,CAAC;gBACD,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;gBAC5B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,IAAA,sBAAc,EAAC,EAAE,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;oBAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBAC3C,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC;oBACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACvB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;YACD,KAAK,CAAC,KAAK,CAAC,KAAW;gBACrB,MAAM,IAAI,CAAC,KAAK,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;gBAC9C,MAAM,MAAM,GAAG,eAAM,CAAC,IAAI,CACxB,OAAO,KAAK,KAAK,QAAQ;oBACvB,CAAC,CAAC,KAAK;oBACP,CAAC,CAAC,KAAK,YAAY,IAAI;wBACrB,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;wBAC3C,CAAC,CAAE,KAAoB,CAC5B,CAAC;gBACF,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,IAAI,CAAC,MAAM,IAAI,YAAY,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,KAAK;gBACT,MAAM,IAAI,CAAC,KAAK,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,KAAK,CAAC,KAAK;gBACT,MAAM,IAAI,CAAC,KAAK,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;gBAC3B,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACF,CAAC,CAAC;QArDgB,OAAE,GAAF,EAAE,CAAW;QACb,SAAI,GAAJ,IAAI,CAAQ;QAEZ,QAAG,GAAH,GAAG,CAAgB;QAmDtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,IAAI,CAAC,QAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY;QAChC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACvD,CAAC;IAES,KAAK,CAAC,SAAS,CAAC,KAAW;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAOM,KAAK,CAAC,KAAK,CAAC,MAAM;QACvB,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAC;QACtE,QAAQ,OAAO,MAAM,EAAE,CAAC;YACtB,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,QAAQ,WAAW,EAAE,CAAC;oBACpB,KAAK,WAAW,CAAC;oBACjB,KAAK,IAAI,CAAC;oBACV,KAAK,QAAQ;wBACX,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBAChC,OAAO,CAAC,CAAC,CAAC;wBACR,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;wBAChC,CAAC;6BAAM,CAAC;4BACN,MAAM,OAAO,GAAG,MAA4C,CAAC;4BAC7D,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;gCACrB,KAAK,OAAO,CAAC,CAAC,CAAC;oCACb,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;wCAAE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oCAC5E,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACrC,CAAC;gCACD,KAAK,UAAU,CAAC,CAAC,CAAC;oCAChB,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;wCAAE,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;oCAC5F,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI;wCAAE,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;oCACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gCACpC,CAAC;gCACD,KAAK,MAAM;oCACT,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;wCAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;oCACpG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gCACpC;oCACE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;4BACpD,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD;gBACE,MAAM,IAAI,SAAS,CAAC,0BAA0B,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;CACF;AA1ID,4EA0IC","sourcesContent":["import { Buffer } from '@jsonjoy.com/fs-node-builtins/lib/internal/buffer';\nimport type { Data, FileSystemWritableFileStreamParams, IFileSystemWritableFileStream } from '@jsonjoy.com/fs-fsa';\nimport type { IFileHandle } from '@jsonjoy.com/fs-node-utils/lib/types/misc';\nimport type { NodeFsaFs, NodeFsaContext } from './types';\nimport { newNoModificationAllowedError } from './util';\n\n/**\n * When Chrome writes to the file, it creates a copy of the file with extension\n * `.crswap` and then replaces the original file with the copy only when the\n * `close()` method is called. If the `abort()` method is called, the `.crswap`\n * file is deleted.\n *\n * If a file name with with extension `.crswap` is already taken, it\n * creates a new swap file with extension `.1.crswap` and so on.\n */\nexport const createSwapFile = async (\n fs: NodeFsaFs,\n path: string,\n keepExistingData: boolean,\n): Promise<[handle: IFileHandle, path: string]> => {\n let handle: undefined | IFileHandle;\n let swapPath: string = path + '.crswap';\n try {\n handle = await fs.promises.open(swapPath, 'ax');\n } catch (error) {\n if (!error || typeof error !== 'object' || error.code !== 'EEXIST') throw error;\n }\n if (!handle) {\n for (let i = 1; i < 1000; i++) {\n try {\n swapPath = `${path}.${i}.crswap`;\n handle = await fs.promises.open(swapPath, 'ax');\n break;\n } catch (error) {\n if (!error || typeof error !== 'object' || error.code !== 'EEXIST') throw error;\n }\n }\n }\n if (!handle) throw new Error(`Could not create a swap file for \"${path}\".`);\n if (keepExistingData) await fs.promises.copyFile(path, swapPath, fs.constants.COPYFILE_FICLONE);\n return [handle, swapPath];\n};\n\ninterface SwapFile {\n /** Swap file full path name. */\n path: string;\n /** Seek offset in the file. */\n offset: number;\n /** Node.js open FileHandle. */\n handle?: IFileHandle;\n /** Resolves when swap file is ready for operations. */\n ready?: Promise<void>;\n}\n\ndeclare const require: any;\nconst WS = (\n typeof WritableStream === 'undefined' ? require('stream/web').WritableStream : WritableStream\n) as typeof WritableStream;\n\n/**\n * Is a WritableStream object with additional convenience methods, which\n * operates on a single file on disk. The interface is accessed through the\n * `FileSystemFileHandle.createWritable()` method.\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream\n */\nexport class NodeFileSystemWritableFileStream extends WS implements IFileSystemWritableFileStream {\n protected readonly swap: SwapFile;\n\n constructor(\n protected readonly fs: NodeFsaFs,\n protected readonly path: string,\n keepExistingData: boolean,\n protected readonly ctx: NodeFsaContext,\n ) {\n const swap: SwapFile = { handle: undefined, path: '', offset: 0 };\n super({\n async start() {\n if (ctx.locks.isLocked(path)) {\n throw newNoModificationAllowedError();\n }\n ctx.locks.acquireLock(path);\n try {\n const promise = createSwapFile(fs, path, keepExistingData);\n swap.ready = promise.then(() => undefined);\n const [handle, swapPath] = await promise;\n swap.handle = handle;\n swap.path = swapPath;\n } catch (error) {\n ctx.locks.releaseLock(path);\n throw error;\n }\n },\n async write(chunk: Data) {\n await swap.ready;\n const handle = swap.handle;\n if (!handle) throw new Error('Invalid state');\n const buffer = Buffer.from(\n typeof chunk === 'string'\n ? chunk\n : chunk instanceof Blob\n ? new Uint8Array(await chunk.arrayBuffer())\n : (chunk as Uint8Array),\n );\n const { bytesWritten } = await handle.write(buffer, 0, buffer.length, swap.offset);\n swap.offset += bytesWritten;\n },\n async close() {\n await swap.ready;\n const handle = swap.handle;\n if (!handle) return;\n await handle.close();\n await fs.promises.rename(swap.path, path);\n ctx.locks.releaseLock(path);\n },\n async abort() {\n await swap.ready;\n const handle = swap.handle;\n if (!handle) return;\n await handle.close();\n await fs.promises.unlink(swap.path);\n ctx.locks.releaseLock(path);\n },\n });\n this.swap = swap;\n }\n\n /**\n * @sse https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/seek\n * @param position An `unsigned long` describing the byte position from the top\n * (beginning) of the file.\n */\n public async seek(position: number): Promise<void> {\n this.swap.offset = position;\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/truncate\n * @param size An `unsigned long` of the amount of bytes to resize the stream to.\n */\n public async truncate(size: number): Promise<void> {\n await this.swap.ready;\n const handle = this.swap.handle;\n if (!handle) throw new Error('Invalid state');\n await handle.truncate(size);\n if (this.swap.offset > size) this.swap.offset = size;\n }\n\n protected async writeBase(chunk: Data): Promise<void> {\n const writer = this.getWriter();\n try {\n await writer.write(chunk);\n } finally {\n writer.releaseLock();\n }\n }\n\n /**\n * @see https://developer.mozilla.org/en-US/docs/Web/API/FileSystemWritableFileStream/write\n */\n public async write(chunk: Data): Promise<void>;\n public async write(params: FileSystemWritableFileStreamParams): Promise<void>;\n public async write(params): Promise<void> {\n if (!params) throw new TypeError('Missing required argument: params');\n switch (typeof params) {\n case 'string': {\n return this.writeBase(params);\n }\n case 'object': {\n const constructor = params.constructor;\n switch (constructor) {\n case ArrayBuffer:\n case Blob:\n case DataView:\n return this.writeBase(params);\n default: {\n if (ArrayBuffer.isView(params)) {\n return this.writeBase(params);\n } else {\n const options = params as FileSystemWritableFileStreamParams;\n switch (options.type) {\n case 'write': {\n if (typeof options.position === 'number') await this.seek(options.position);\n return this.writeBase(params.data);\n }\n case 'truncate': {\n if (typeof params.size !== 'number') throw new TypeError('Missing required argument: size');\n if (this.swap.offset > params.size) this.swap.offset = params.size;\n return this.truncate(params.size);\n }\n case 'seek':\n if (typeof params.position !== 'number') throw new TypeError('Missing required argument: position');\n return this.seek(params.position);\n default:\n throw new TypeError('Invalid argument: params');\n }\n }\n }\n }\n }\n default:\n throw new TypeError('Invalid argument: params');\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"NodePermissionStatus.js","sourceRoot":"","sources":["../src/NodePermissionStatus.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,oBAAoB;IAC/B,YACkB,IAAY,EACZ,KAAsC;QADtC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAiC;IACrD,CAAC;CACL;AALD,oDAKC"}
1
+ {"version":3,"file":"NodePermissionStatus.js","sourceRoot":"","sources":["../src/NodePermissionStatus.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,oBAAoB;IAC/B,YACkB,IAAY,EACZ,KAAsC;QADtC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAiC;IACrD,CAAC;CACL;AALD,oDAKC","sourcesContent":["/**\n * @see [MDN Documentation](https://developer.mozilla.org/en-US/docs/Web/API/PermissionStatus)\n */\nexport class NodePermissionStatus {\n constructor(\n public readonly name: string,\n public readonly state: 'granted' | 'denied' | 'prompt',\n ) {}\n}\n"]}
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mFAAgF;AAGhF,kDAAwB;AACxB,iEAAuC;AACvC,0EAAgD;AAChD,qEAA2C;AAC3C,mEAAyC;AAElC,MAAM,SAAS,GAAG,CACvB,EAAa,EACb,OAAe,EACf,GAA6B,EACE,EAAE;IACjC,OAAO,IAAI,6DAA6B,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,mFAAgF;AAGhF,kDAAwB;AACxB,iEAAuC;AACvC,0EAAgD;AAChD,qEAA2C;AAC3C,mEAAyC;AAElC,MAAM,SAAS,GAAG,CACvB,EAAa,EACb,OAAe,EACf,GAA6B,EACE,EAAE;IACjC,OAAO,IAAI,6DAA6B,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;AAC7D,CAAC,CAAC;AANW,QAAA,SAAS,aAMpB","sourcesContent":["import { NodeFileSystemDirectoryHandle } from './NodeFileSystemDirectoryHandle';\nimport { NodeFsaContext, NodeFsaFs } from './types';\n\nexport * from './types';\nexport * from './NodeFileSystemHandle';\nexport * from './NodeFileSystemDirectoryHandle';\nexport * from './NodeFileSystemFileHandle';\nexport * from './NodeFileSystemObserver';\n\nexport const nodeToFsa = (\n fs: NodeFsaFs,\n dirPath: string,\n ctx?: Partial<NodeFsaContext>,\n): NodeFileSystemDirectoryHandle => {\n return new NodeFileSystemDirectoryHandle(fs, dirPath, ctx);\n};\n"]}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { FsPromisesApi, FsSynchronousApi } from '@jsonjoy.com/fs-node-utils';\nimport type { FsCommonObjects } from '@jsonjoy.com/fs-node-utils/lib/types/FsCommonObjects';\nimport type { FileLockManager } from '@jsonjoy.com/fs-fsa';\n\n/**\n * Required Node.js `fs` module functions for File System Access API.\n */\nexport type NodeFsaFs = Pick<FsCommonObjects, 'constants'> & { promises: FsPromisesApi } & Pick<\n FsSynchronousApi,\n 'openSync' | 'fsyncSync' | 'statSync' | 'closeSync' | 'readSync' | 'truncateSync' | 'writeSync' | 'accessSync'\n >;\n\nexport interface NodeFsaContext {\n separator: '/' | '\\\\';\n /** Whether synchronous file handles are allowed. */\n syncHandleAllowed: boolean;\n /** Whether writes are allowed, defaults to `read`. */\n mode: 'read' | 'readwrite';\n /** File lock manager for this context. */\n locks: FileLockManager;\n}\n"]}
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AACA,gDAAsD;AAEtD,4DAAsD;AAA7C,yGAAA,QAAQ,OAAA;AAEjB;;GAEG;AACI,MAAM,GAAG,GAAG,CAAC,UAAmC,EAAE,EAAkB,EAAE;IAC3E,OAAO;QACL,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,wBAAe,EAAE;QAC5B,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,GAAG,OAQd;AAEF,MAAM,SAAS,GAAG,8BAA8B,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,MAAM,SAAS,KAAK,yBAAyB,CAAC,CAAC;AAC1G,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,cAAc,GAAG,CAAC,IAA0B,EAAE,EAAE;IAC3D,IAAI,IAAI,KAAK,WAAW;QACtB,MAAM,IAAI,YAAY,CACpB,sFAAsF,EACtF,iBAAiB,CAClB,CAAC;AACN,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,IAAI,YAAY,CACd,0FAA0F,EAC1F,eAAe,CAChB,CAAC;AAJS,QAAA,gBAAgB,oBAIzB;AAEG,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,IAAI,YAAY,CAAC,mEAAmE,EAAE,mBAAmB,CAAC,CAAC;AADhG,QAAA,oBAAoB,wBAC4E;AAEtG,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;AAA1F,QAAA,kBAAkB,sBAAwE;AAEhG,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAChD,IAAI,YAAY,CAAC,4CAA4C,EAAE,4BAA4B,CAAC,CAAC;AADlF,QAAA,6BAA6B,iCACqD"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AACA,gDAAsD;AAEtD,4DAAsD;AAA7C,yGAAA,QAAQ,OAAA;AAEjB;;GAEG;AACI,MAAM,GAAG,GAAG,CAAC,UAAmC,EAAE,EAAkB,EAAE;IAC3E,OAAO;QACL,SAAS,EAAE,GAAG;QACd,iBAAiB,EAAE,KAAK;QACxB,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,IAAI,wBAAe,EAAE;QAC5B,GAAG,OAAO;KACX,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,GAAG,OAQd;AAEF,MAAM,SAAS,GAAG,8BAA8B,CAAC;AAE1C,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,EAAE;IACxE,MAAM,SAAS,GAAG,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,SAAS;QAAE,MAAM,IAAI,SAAS,CAAC,sBAAsB,MAAM,SAAS,KAAK,yBAAyB,CAAC,CAAC;AAC1G,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEK,MAAM,cAAc,GAAG,CAAC,IAA0B,EAAE,EAAE;IAC3D,IAAI,IAAI,KAAK,WAAW;QACtB,MAAM,IAAI,YAAY,CACpB,sFAAsF,EACtF,iBAAiB,CAClB,CAAC;AACN,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEK,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,IAAI,YAAY,CACd,0FAA0F,EAC1F,eAAe,CAChB,CAAC;AAJS,QAAA,gBAAgB,oBAIzB;AAEG,MAAM,oBAAoB,GAAG,GAAG,EAAE,CACvC,IAAI,YAAY,CAAC,mEAAmE,EAAE,mBAAmB,CAAC,CAAC;AADhG,QAAA,oBAAoB,wBAC4E;AAEtG,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,IAAI,YAAY,CAAC,yBAAyB,EAAE,iBAAiB,CAAC,CAAC;AAA1F,QAAA,kBAAkB,sBAAwE;AAEhG,MAAM,6BAA6B,GAAG,GAAG,EAAE,CAChD,IAAI,YAAY,CAAC,4CAA4C,EAAE,4BAA4B,CAAC,CAAC;AADlF,QAAA,6BAA6B,iCACqD","sourcesContent":["import type { NodeFsaContext } from './types';\nimport { FileLockManager } from '@jsonjoy.com/fs-fsa';\n\nexport { basename } from '@jsonjoy.com/fs-node-utils';\n\n/**\n * Creates a new {@link NodeFsaContext}.\n */\nexport const ctx = (partial: Partial<NodeFsaContext> = {}): NodeFsaContext => {\n return {\n separator: '/',\n syncHandleAllowed: false,\n mode: 'read',\n locks: new FileLockManager(),\n ...partial,\n };\n};\n\nconst nameRegex = /^(\\.{1,2})$|^(.*([\\/\\\\]).*)$/;\n\nexport const assertName = (name: string, method: string, klass: string) => {\n const isInvalid = !name || nameRegex.test(name);\n if (isInvalid) throw new TypeError(`Failed to execute '${method}' on '${klass}': Name is not allowed.`);\n};\n\nexport const assertCanWrite = (mode: 'read' | 'readwrite') => {\n if (mode !== 'readwrite')\n throw new DOMException(\n 'The request is not allowed by the user agent or the platform in the current context.',\n 'NotAllowedError',\n );\n};\n\nexport const newNotFoundError = () =>\n new DOMException(\n 'A requested file or directory could not be found at the time an operation was processed.',\n 'NotFoundError',\n );\n\nexport const newTypeMismatchError = () =>\n new DOMException('The path supplied exists, but was not an entry of requested type.', 'TypeMismatchError');\n\nexport const newNotAllowedError = () => new DOMException('Permission not granted.', 'NotAllowedError');\n\nexport const newNoModificationAllowedError = () =>\n new DOMException('The file is locked and cannot be modified.', 'NoModificationAllowedError');\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@depup/jsonjoy.com__fs-node-to-fsa",
3
- "version": "4.66.0-depup.0",
3
+ "version": "4.67.0-depup.0",
4
4
  "description": "Adapter to convert Node.js fs API to File System Access API (with updated dependencies)",
5
5
  "author": {
6
6
  "name": "streamich",
@@ -70,11 +70,11 @@
70
70
  ]
71
71
  },
72
72
  "devDependencies": {
73
- "@jsonjoy.com/fs-node": "4.66.0",
73
+ "@jsonjoy.com/fs-node": "4.67.0",
74
74
  "@types/jest": "^29.0.0",
75
75
  "@types/node": "^20.0.0",
76
76
  "jest": "^29.0.0",
77
- "memfs": "4.66.0",
77
+ "memfs": "4.67.0",
78
78
  "rimraf": "^5.0.0",
79
79
  "ts-jest": "^29.4.2",
80
80
  "ts-node": "^10.9.2",
@@ -84,16 +84,16 @@
84
84
  "tslib": "2"
85
85
  },
86
86
  "dependencies": {
87
- "@jsonjoy.com/fs-fsa": "4.66.0",
88
- "@jsonjoy.com/fs-node-builtins": "4.66.0",
89
- "@jsonjoy.com/fs-node-utils": "4.66.0"
87
+ "@jsonjoy.com/fs-fsa": "4.67.0",
88
+ "@jsonjoy.com/fs-node-builtins": "4.67.0",
89
+ "@jsonjoy.com/fs-node-utils": "4.67.0"
90
90
  },
91
91
  "depup": {
92
92
  "changes": {},
93
93
  "depsUpdated": 0,
94
94
  "originalPackage": "@jsonjoy.com/fs-node-to-fsa",
95
- "originalVersion": "4.66.0",
96
- "processedAt": "2026-08-03T16:49:48.228Z",
95
+ "originalVersion": "4.67.0",
96
+ "processedAt": "2026-08-04T08:58:29.790Z",
97
97
  "smokeTest": "passed"
98
98
  }
99
99
  }