@prisma-next/sql-runtime 0.1.0-dev.14 → 0.1.0-dev.16
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/dist/accelerate-EEKAFGN3-SHR4XFVV.js +137863 -0
- package/dist/accelerate-EEKAFGN3-SHR4XFVV.js.map +1 -0
- package/dist/amcheck-24VY6X5V.js +13 -0
- package/dist/amcheck-24VY6X5V.js.map +1 -0
- package/dist/bloom-VS74NLHT.js +13 -0
- package/dist/bloom-VS74NLHT.js.map +1 -0
- package/dist/btree_gin-WBC4EAAI.js +13 -0
- package/dist/btree_gin-WBC4EAAI.js.map +1 -0
- package/dist/btree_gist-UNC6QD3M.js +13 -0
- package/dist/btree_gist-UNC6QD3M.js.map +1 -0
- package/dist/chunk-3KTOEDFX.js +49 -0
- package/dist/chunk-3KTOEDFX.js.map +1 -0
- package/dist/chunk-47DZBRQC.js +1280 -0
- package/dist/chunk-47DZBRQC.js.map +1 -0
- package/dist/chunk-52N6AFZM.js +133 -0
- package/dist/chunk-52N6AFZM.js.map +1 -0
- package/dist/chunk-7D4SUZUM.js +38 -0
- package/dist/chunk-7D4SUZUM.js.map +1 -0
- package/dist/chunk-7UNP42HJ.js +455 -0
- package/dist/chunk-7UNP42HJ.js.map +1 -0
- package/dist/chunk-ECWIHLAT.js +37 -0
- package/dist/chunk-ECWIHLAT.js.map +1 -0
- package/dist/chunk-EI626SDC.js +105 -0
- package/dist/chunk-EI626SDC.js.map +1 -0
- package/dist/chunk-UKKOYUGL.js +578 -0
- package/dist/chunk-UKKOYUGL.js.map +1 -0
- package/dist/chunk-XPLNMXQV.js +1537 -0
- package/dist/chunk-XPLNMXQV.js.map +1 -0
- package/dist/citext-T7MXGUY7.js +13 -0
- package/dist/citext-T7MXGUY7.js.map +1 -0
- package/dist/client-5FENX6AW.js +299 -0
- package/dist/client-5FENX6AW.js.map +1 -0
- package/dist/cube-TFDQBZCI.js +13 -0
- package/dist/cube-TFDQBZCI.js.map +1 -0
- package/dist/dict_int-AEUOPGWP.js +13 -0
- package/dist/dict_int-AEUOPGWP.js.map +1 -0
- package/dist/dict_xsyn-DAAYX3FL.js +13 -0
- package/dist/dict_xsyn-DAAYX3FL.js.map +1 -0
- package/dist/dist-LBVX6BJW.js +189 -0
- package/dist/dist-LBVX6BJW.js.map +1 -0
- package/dist/dist-LCVVJCGI.js +570 -0
- package/dist/dist-LCVVJCGI.js.map +1 -0
- package/dist/dist-WLKUVDN2.js +5127 -0
- package/dist/dist-WLKUVDN2.js.map +1 -0
- package/dist/earthdistance-KIGTF4LE.js +13 -0
- package/dist/earthdistance-KIGTF4LE.js.map +1 -0
- package/dist/file_fdw-5N55UP6I.js +13 -0
- package/dist/file_fdw-5N55UP6I.js.map +1 -0
- package/dist/fuzzystrmatch-KN3YWBFP.js +13 -0
- package/dist/fuzzystrmatch-KN3YWBFP.js.map +1 -0
- package/dist/hstore-YX726NKN.js +13 -0
- package/dist/hstore-YX726NKN.js.map +1 -0
- package/dist/http-exception-FZY2H4OF.js +8 -0
- package/dist/http-exception-FZY2H4OF.js.map +1 -0
- package/dist/index.d.ts +7 -59
- package/dist/index.js +15 -439
- package/dist/index.js.map +1 -1
- package/dist/intarray-NKVXNO2D.js +13 -0
- package/dist/intarray-NKVXNO2D.js.map +1 -0
- package/dist/isn-FTEMJGEV.js +13 -0
- package/dist/isn-FTEMJGEV.js.map +1 -0
- package/dist/lo-DB7L4NGI.js +13 -0
- package/dist/lo-DB7L4NGI.js.map +1 -0
- package/dist/logger-WQ7SHNDD.js +68 -0
- package/dist/logger-WQ7SHNDD.js.map +1 -0
- package/dist/ltree-Z32TZT6W.js +13 -0
- package/dist/ltree-Z32TZT6W.js.map +1 -0
- package/dist/nodefs-NM46ACH7.js +31 -0
- package/dist/nodefs-NM46ACH7.js.map +1 -0
- package/dist/opfs-ahp-NJO33LVZ.js +332 -0
- package/dist/opfs-ahp-NJO33LVZ.js.map +1 -0
- package/dist/pageinspect-YP3IZR4X.js +13 -0
- package/dist/pageinspect-YP3IZR4X.js.map +1 -0
- package/dist/pg_buffercache-7TD5J2FB.js +13 -0
- package/dist/pg_buffercache-7TD5J2FB.js.map +1 -0
- package/dist/pg_dump-SG4KYBUB.js +2492 -0
- package/dist/pg_dump-SG4KYBUB.js.map +1 -0
- package/dist/pg_freespacemap-DZDNCPZK.js +13 -0
- package/dist/pg_freespacemap-DZDNCPZK.js.map +1 -0
- package/dist/pg_surgery-J2MUEWEP.js +13 -0
- package/dist/pg_surgery-J2MUEWEP.js.map +1 -0
- package/dist/pg_trgm-7VNQOYS6.js +13 -0
- package/dist/pg_trgm-7VNQOYS6.js.map +1 -0
- package/dist/pg_visibility-TTSIPHFL.js +13 -0
- package/dist/pg_visibility-TTSIPHFL.js.map +1 -0
- package/dist/pg_walinspect-KPFHSHRJ.js +13 -0
- package/dist/pg_walinspect-KPFHSHRJ.js.map +1 -0
- package/dist/proxy-signals-GUDAMDHV.js +39 -0
- package/dist/proxy-signals-GUDAMDHV.js.map +1 -0
- package/dist/seg-IYVDLE4O.js +13 -0
- package/dist/seg-IYVDLE4O.js.map +1 -0
- package/dist/sql-runtime-qPimiOqJ.d.ts +63 -0
- package/dist/tablefunc-EF4RCS7S.js +13 -0
- package/dist/tablefunc-EF4RCS7S.js.map +1 -0
- package/dist/tcn-3VT5BQYW.js +13 -0
- package/dist/tcn-3VT5BQYW.js.map +1 -0
- package/dist/test/utils.d.ts +60 -0
- package/dist/test/utils.js +24604 -0
- package/dist/test/utils.js.map +1 -0
- package/dist/tiny-CW6F4GX6.js +10 -0
- package/dist/tiny-CW6F4GX6.js.map +1 -0
- package/dist/tsm_system_rows-ES7KNUQH.js +13 -0
- package/dist/tsm_system_rows-ES7KNUQH.js.map +1 -0
- package/dist/tsm_system_time-76WEIMBG.js +13 -0
- package/dist/tsm_system_time-76WEIMBG.js.map +1 -0
- package/dist/unaccent-7RYF3R64.js +13 -0
- package/dist/unaccent-7RYF3R64.js.map +1 -0
- package/dist/utility-Q5A254LJ-J4HTKZPT.js +347 -0
- package/dist/utility-Q5A254LJ-J4HTKZPT.js.map +1 -0
- package/dist/uuid_ossp-4ETE4FPE.js +13 -0
- package/dist/uuid_ossp-4ETE4FPE.js.map +1 -0
- package/dist/vector-74GPNV7V.js +13 -0
- package/dist/vector-74GPNV7V.js.map +1 -0
- package/package.json +9 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/src/fs/opfs-ahp.ts"],"sourcesContent":["import { BaseFilesystem, ERRNO_CODES, type FsStats } from './base.js'\nimport type { PostgresMod } from '../postgresMod.js'\nimport { PGlite } from '../pglite.js'\n\nexport interface OpfsAhpOptions {\n initialPoolSize?: number\n maintainedPoolSize?: number\n debug?: boolean\n}\n\n// TypeScript doesn't have a built-in type for FileSystemSyncAccessHandle\nexport interface FileSystemSyncAccessHandle {\n close(): void\n flush(): void\n getSize(): number\n read(buffer: ArrayBuffer, options: { at: number }): number\n truncate(newSize: number): void\n write(buffer: ArrayBuffer, options: { at: number }): number\n}\n\n// State\n\nconst STATE_FILE = 'state.txt'\nconst DATA_DIR = 'data'\nconst INITIAL_MODE = {\n DIR: 16384,\n FILE: 32768,\n}\n\nexport interface State {\n root: DirectoryNode\n pool: PoolFilenames\n}\n\nexport type PoolFilenames = Array<string>\n\n// WAL\n\nexport interface WALEntry {\n opp: string\n args: any[]\n}\n\n// Node tree\n\nexport type NodeType = 'file' | 'directory'\n\ninterface BaseNode {\n type: NodeType\n lastModified: number\n mode: number\n}\n\nexport interface FileNode extends BaseNode {\n type: 'file'\n backingFilename: string\n}\n\nexport interface DirectoryNode extends BaseNode {\n type: 'directory'\n children: { [filename: string]: Node }\n}\n\nexport type Node = FileNode | DirectoryNode\n\n/**\n * PGlite OPFS access handle pool filesystem.\n * Opens a pool of sync access handles and then allocates them as needed.\n */\nexport class OpfsAhpFS extends BaseFilesystem {\n declare readonly dataDir: string\n readonly initialPoolSize: number\n readonly maintainedPoolSize: number\n\n #opfsRootAh!: FileSystemDirectoryHandle\n #rootAh!: FileSystemDirectoryHandle\n #dataDirAh!: FileSystemDirectoryHandle\n\n #stateFH!: FileSystemFileHandle\n #stateSH!: FileSystemSyncAccessHandle\n\n #fh: Map<string, FileSystemFileHandle> = new Map()\n #sh: Map<string, FileSystemSyncAccessHandle> = new Map()\n\n #handleIdCounter = 0\n #openHandlePaths: Map<number, string> = new Map()\n #openHandleIds: Map<string, number> = new Map()\n\n state!: State\n lastCheckpoint = 0\n checkpointInterval = 1000 * 60 // 1 minute\n poolCounter = 0\n\n #unsyncedSH = new Set<FileSystemSyncAccessHandle>()\n\n constructor(\n dataDir: string,\n {\n initialPoolSize = 1000,\n maintainedPoolSize = 100,\n debug = false,\n }: OpfsAhpOptions = {},\n ) {\n super(dataDir, { debug })\n this.initialPoolSize = initialPoolSize\n this.maintainedPoolSize = maintainedPoolSize\n }\n\n async init(pg: PGlite, opts: Partial<PostgresMod>) {\n await this.#init()\n return super.init(pg, opts)\n }\n\n async syncToFs(relaxedDurability = false) {\n await this.maybeCheckpointState()\n await this.maintainPool()\n if (!relaxedDurability) {\n this.flush()\n }\n }\n\n async closeFs(): Promise<void> {\n for (const sh of this.#sh.values()) {\n sh.close()\n }\n this.#stateSH.flush()\n this.#stateSH.close()\n this.pg!.Module.FS.quit()\n }\n\n async #init() {\n this.#opfsRootAh = await navigator.storage.getDirectory()\n this.#rootAh = await this.#resolveOpfsDirectory(this.dataDir!, {\n create: true,\n })\n this.#dataDirAh = await this.#resolveOpfsDirectory(DATA_DIR, {\n from: this.#rootAh,\n create: true,\n })\n\n this.#stateFH = await this.#rootAh.getFileHandle(STATE_FILE, {\n create: true,\n })\n this.#stateSH = await (this.#stateFH as any).createSyncAccessHandle()\n\n const stateAB = new ArrayBuffer(this.#stateSH.getSize())\n this.#stateSH.read(stateAB, { at: 0 })\n let state: State\n const stateLines = new TextDecoder().decode(stateAB).split('\\n')\n // Line 1 is a base state object.\n // Lines 1+n are WAL entries.\n\n let isNewState = false\n try {\n state = JSON.parse(stateLines[0])\n } catch (e) {\n state = {\n root: {\n type: 'directory',\n lastModified: Date.now(),\n mode: INITIAL_MODE.DIR,\n children: {},\n },\n pool: [],\n }\n // write new state to file\n this.#stateSH.truncate(0)\n this.#stateSH.write(new TextEncoder().encode(JSON.stringify(state)), {\n at: 0,\n })\n isNewState = true\n }\n this.state = state\n\n // Apply WAL entries\n const wal = stateLines\n .slice(1)\n .filter(Boolean)\n .map((line) => JSON.parse(line))\n for (const entry of wal) {\n const methodName = `_${entry.opp}State`\n if (typeof this[methodName as keyof this] === 'function') {\n try {\n const method = this[methodName as keyof this] as any\n method.bind(this)(...entry.args)\n } catch (e) {\n console.warn('Error applying OPFS AHP WAL entry', entry, e)\n }\n }\n }\n\n // Open all file handles for dir tree\n const walkPromises: Promise<void>[] = []\n const walk = async (node: Node) => {\n if (node.type === 'file') {\n try {\n const fh = await this.#dataDirAh.getFileHandle(node.backingFilename)\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(node.backingFilename, fh)\n\n this.#sh.set(node.backingFilename, sh)\n } catch (e) {\n console.error('Error opening file handle for node', node, e)\n }\n } else {\n for (const child of Object.values(node.children)) {\n walkPromises.push(walk(child))\n }\n }\n }\n await walk(this.state.root)\n\n // Open all pool file handles\n const poolPromises: Promise<void>[] = []\n for (const filename of this.state.pool) {\n poolPromises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n if (this.#fh.has(filename)) {\n console.warn('File handle already exists for pool file', filename)\n }\n const fh = await this.#dataDirAh.getFileHandle(filename)\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(filename, fh)\n this.#sh.set(filename, sh)\n resolve()\n }),\n )\n }\n\n await Promise.all([...walkPromises, ...poolPromises])\n\n await this.maintainPool(\n isNewState ? this.initialPoolSize : this.maintainedPoolSize,\n )\n }\n\n async maintainPool(size?: number) {\n size = size || this.maintainedPoolSize\n const change = size - this.state.pool.length\n const promises: Promise<void>[] = []\n for (let i = 0; i < change; i++) {\n promises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n ++this.poolCounter\n const filename = `${(Date.now() - 1704063600).toString(16).padStart(8, '0')}-${this.poolCounter.toString(16).padStart(8, '0')}`\n const fh = await this.#dataDirAh.getFileHandle(filename, {\n create: true,\n })\n const sh: FileSystemSyncAccessHandle = await (\n fh as any\n ).createSyncAccessHandle()\n this.#fh.set(filename, fh)\n this.#sh.set(filename, sh)\n this.#logWAL({\n opp: 'createPoolFile',\n args: [filename],\n })\n this.state.pool.push(filename)\n resolve()\n }),\n )\n }\n for (let i = 0; i > change; i--) {\n promises.push(\n // eslint-disable-next-line no-async-promise-executor\n new Promise<void>(async (resolve) => {\n const filename = this.state.pool.pop()!\n this.#logWAL({\n opp: 'deletePoolFile',\n args: [filename],\n })\n const fh = this.#fh.get(filename)!\n const sh = this.#sh.get(filename)\n sh?.close()\n await this.#dataDirAh.removeEntry(fh.name)\n this.#fh.delete(filename)\n this.#sh.delete(filename)\n resolve()\n }),\n )\n }\n await Promise.all(promises)\n }\n\n _createPoolFileState(filename: string) {\n this.state.pool.push(filename)\n }\n\n _deletePoolFileState(filename: string) {\n const index = this.state.pool.indexOf(filename)\n if (index > -1) {\n this.state.pool.splice(index, 1)\n }\n }\n\n async maybeCheckpointState() {\n if (Date.now() - this.lastCheckpoint > this.checkpointInterval) {\n await this.checkpointState()\n }\n }\n\n async checkpointState() {\n const stateAB = new TextEncoder().encode(JSON.stringify(this.state))\n this.#stateSH.truncate(0)\n this.#stateSH.write(stateAB, { at: 0 })\n this.#stateSH.flush()\n this.lastCheckpoint = Date.now()\n }\n\n flush() {\n for (const sh of this.#unsyncedSH) {\n try {\n sh.flush()\n } catch (e) {\n // The file may have been closed if it was deleted\n }\n }\n this.#unsyncedSH.clear()\n }\n\n // Filesystem API:\n\n chmod(path: string, mode: number): void {\n this.#tryWithWAL({ opp: 'chmod', args: [path, mode] }, () => {\n this._chmodState(path, mode)\n })\n }\n\n _chmodState(path: string, mode: number): void {\n const node = this.#resolvePath(path)\n node.mode = mode\n }\n\n close(fd: number): void {\n const path = this.#getPathFromFd(fd)\n this.#openHandlePaths.delete(fd)\n this.#openHandleIds.delete(path)\n }\n\n fstat(fd: number): FsStats {\n const path = this.#getPathFromFd(fd)\n return this.lstat(path)\n }\n\n lstat(path: string): FsStats {\n const node = this.#resolvePath(path)\n const size =\n node.type === 'file' ? this.#sh.get(node.backingFilename)!.getSize() : 0\n const blksize = 4096\n return {\n dev: 0,\n ino: 0,\n mode: node.mode,\n nlink: 1,\n uid: 0,\n gid: 0,\n rdev: 0,\n size,\n blksize,\n blocks: Math.ceil(size / blksize),\n atime: node.lastModified,\n mtime: node.lastModified,\n ctime: node.lastModified,\n }\n }\n\n mkdir(path: string, options?: { recursive?: boolean; mode?: number }): void {\n this.#tryWithWAL({ opp: 'mkdir', args: [path, options] }, () => {\n this._mkdirState(path, options)\n })\n }\n\n _mkdirState(\n path: string,\n options?: { recursive?: boolean; mode?: number },\n ): void {\n const parts = this.#pathParts(path)\n const newDirName = parts.pop()!\n const currentPath: string[] = []\n let node = this.state.root\n for (const part of parts) {\n currentPath.push(path)\n if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n if (options?.recursive) {\n this.mkdir(currentPath.join('/'))\n } else {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n }\n if (node.children[part].type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n node = node.children[part] as DirectoryNode\n }\n if (Object.prototype.hasOwnProperty.call(node.children, newDirName)) {\n throw new FsError('EEXIST', 'File exists')\n }\n const newDir: DirectoryNode = {\n type: 'directory',\n lastModified: Date.now(),\n mode: options?.mode || INITIAL_MODE.DIR,\n children: {},\n }\n node.children[newDirName] = newDir\n }\n\n open(path: string, _flags?: string, _mode?: number): number {\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const handleId = this.#nextHandleId()\n this.#openHandlePaths.set(handleId, path)\n this.#openHandleIds.set(path, handleId)\n return handleId\n }\n\n readdir(path: string): string[] {\n const node = this.#resolvePath(path)\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n return Object.keys(node.children)\n }\n\n read(\n fd: number,\n buffer: Uint8Array, // Buffer to read into\n offset: number, // Offset in buffer to start writing to\n length: number, // Number of bytes to read\n position: number, // Position in file to read from\n ): number {\n const path = this.#getPathFromFd(fd)\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)!\n return sh.read(new Uint8Array(buffer.buffer, offset, length), {\n at: position,\n })\n }\n\n rename(oldPath: string, newPath: string): void {\n this.#tryWithWAL({ opp: 'rename', args: [oldPath, newPath] }, () => {\n this._renameState(oldPath, newPath, true)\n })\n }\n\n _renameState(oldPath: string, newPath: string, doFileOps = false): void {\n const oldPathParts = this.#pathParts(oldPath)\n const oldFilename = oldPathParts.pop()!\n const oldParent = this.#resolvePath(oldPathParts.join('/')) as DirectoryNode\n if (\n !Object.prototype.hasOwnProperty.call(oldParent.children, oldFilename)\n ) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const newPathParts = this.#pathParts(newPath)\n const newFilename = newPathParts.pop()!\n const newParent = this.#resolvePath(newPathParts.join('/')) as DirectoryNode\n if (\n doFileOps &&\n Object.prototype.hasOwnProperty.call(newParent.children, newFilename)\n ) {\n // Overwrite, so return the underlying file to the pool\n const node = newParent.children[newFilename]! as FileNode\n const sh = this.#sh.get(node.backingFilename)!\n sh.truncate(0)\n this.state.pool.push(node.backingFilename)\n }\n newParent.children[newFilename] = oldParent.children[oldFilename]!\n delete oldParent.children[oldFilename]\n }\n\n rmdir(path: string): void {\n this.#tryWithWAL({ opp: 'rmdir', args: [path] }, () => {\n this._rmdirState(path)\n })\n }\n\n _rmdirState(path: string): void {\n const pathParts = this.#pathParts(path)\n const dirName = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n if (!Object.prototype.hasOwnProperty.call(parent.children, dirName)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const node = parent.children[dirName]!\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n if (Object.keys(node.children).length > 0) {\n throw new FsError('ENOTEMPTY', 'Directory not empty')\n }\n delete parent.children[dirName]\n }\n\n truncate(path: string, len = 0): void {\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)\n if (!sh) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n sh.truncate(len)\n this.#unsyncedSH.add(sh)\n }\n\n unlink(path: string): void {\n this.#tryWithWAL({ opp: 'unlink', args: [path] }, () => {\n this._unlinkState(path, true)\n })\n }\n\n _unlinkState(path: string, doFileOps = false): void {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const dir = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n if (!Object.prototype.hasOwnProperty.call(dir.children, filename)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n const node = dir.children[filename]!\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n delete dir.children[filename]\n if (doFileOps) {\n const sh = this.#sh.get(node.backingFilename)!\n // We don't delete the file, it's truncated and returned to the pool\n sh?.truncate(0)\n this.#unsyncedSH.add(sh)\n if (this.#openHandleIds.has(path)) {\n this.#openHandlePaths.delete(this.#openHandleIds.get(path)!)\n this.#openHandleIds.delete(path)\n }\n }\n this.state.pool.push(node.backingFilename)\n }\n\n utimes(path: string, atime: number, mtime: number): void {\n this.#tryWithWAL({ opp: 'utimes', args: [path, atime, mtime] }, () => {\n this._utimesState(path, atime, mtime)\n })\n }\n\n _utimesState(path: string, _atime: number, mtime: number): void {\n const node = this.#resolvePath(path)\n node.lastModified = mtime\n }\n\n writeFile(\n path: string,\n data: string | Uint8Array,\n options?: { encoding?: string; mode?: number; flag?: string },\n ): void {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n\n if (!Object.prototype.hasOwnProperty.call(parent.children, filename)) {\n if (this.state.pool.length === 0) {\n throw new Error('No more file handles available in the pool')\n }\n const node: Node = {\n type: 'file',\n lastModified: Date.now(),\n mode: options?.mode || INITIAL_MODE.FILE,\n backingFilename: this.state.pool.pop()!,\n }\n parent.children[filename] = node\n this.#logWAL({\n opp: 'createFileNode',\n args: [path, node],\n })\n } else {\n const node = parent.children[filename] as FileNode\n node.lastModified = Date.now()\n this.#logWAL({\n opp: 'setLastModified',\n args: [path, node.lastModified],\n })\n }\n const node = parent.children[filename] as FileNode\n const sh = this.#sh.get(node.backingFilename)!\n // Files in pool are empty, only write if data is provided\n if (data.length > 0) {\n sh.write(\n typeof data === 'string'\n ? new TextEncoder().encode(data)\n : new Uint8Array(data),\n { at: 0 },\n )\n if (path.startsWith('/pg_wal')) {\n this.#unsyncedSH.add(sh)\n }\n }\n }\n\n _createFileNodeState(path: string, node: FileNode): FileNode {\n const pathParts = this.#pathParts(path)\n const filename = pathParts.pop()!\n const parent = this.#resolvePath(pathParts.join('/')) as DirectoryNode\n parent.children[filename] = node\n // remove backingFilename from pool\n const index = this.state.pool.indexOf(node.backingFilename)\n if (index > -1) {\n this.state.pool.splice(index, 1)\n }\n return node\n }\n\n _setLastModifiedState(path: string, lastModified: number): void {\n const node = this.#resolvePath(path)\n node.lastModified = lastModified\n }\n\n write(\n fd: number,\n buffer: Uint8Array, // Buffer to read from\n offset: number, // Offset in buffer to start reading from\n length: number, // Number of bytes to write\n position: number, // Position in file to write to\n ): number {\n const path = this.#getPathFromFd(fd)\n const node = this.#resolvePath(path)\n if (node.type !== 'file') {\n throw new FsError('EISDIR', 'Is a directory')\n }\n const sh = this.#sh.get(node.backingFilename)\n if (!sh) {\n throw new FsError('EBADF', 'Bad file descriptor')\n }\n const ret = sh.write(new Uint8Array(buffer, offset, length), {\n at: position,\n })\n if (path.startsWith('/pg_wal')) {\n this.#unsyncedSH.add(sh)\n }\n return ret\n }\n\n // Internal methods:\n\n #tryWithWAL(entry: WALEntry, fn: () => void) {\n const offset = this.#logWAL(entry)\n try {\n fn()\n } catch (e) {\n // Rollback WAL entry\n this.#stateSH.truncate(offset)\n throw e\n }\n }\n\n #logWAL(entry: WALEntry) {\n const entryJSON = JSON.stringify(entry)\n const stateAB = new TextEncoder().encode(`\\n${entryJSON}`)\n const offset = this.#stateSH.getSize()\n this.#stateSH.write(stateAB, { at: offset })\n this.#unsyncedSH.add(this.#stateSH)\n return offset\n }\n\n #pathParts(path: string): string[] {\n return path.split('/').filter(Boolean)\n }\n\n #resolvePath(path: string, from?: DirectoryNode): Node {\n const parts = this.#pathParts(path)\n let node: Node = from || this.state.root\n for (const part of parts) {\n if (node.type !== 'directory') {\n throw new FsError('ENOTDIR', 'Not a directory')\n }\n if (!Object.prototype.hasOwnProperty.call(node.children, part)) {\n throw new FsError('ENOENT', 'No such file or directory')\n }\n node = node.children[part]!\n }\n return node\n }\n\n #getPathFromFd(fd: number): string {\n const path = this.#openHandlePaths.get(fd)\n if (!path) {\n throw new FsError('EBADF', 'Bad file descriptor')\n }\n return path\n }\n\n #nextHandleId(): number {\n const id = ++this.#handleIdCounter\n while (this.#openHandlePaths.has(id)) {\n this.#handleIdCounter++\n }\n return id\n }\n\n async #resolveOpfsDirectory(\n path: string,\n options?: {\n from?: FileSystemDirectoryHandle\n create?: boolean\n },\n ): Promise<FileSystemDirectoryHandle> {\n const parts = this.#pathParts(path)\n let ah = options?.from || this.#opfsRootAh\n for (const part of parts) {\n ah = await ah.getDirectoryHandle(part, { create: options?.create })\n }\n return ah\n }\n}\n\nclass FsError extends Error {\n code?: number\n constructor(code: number | keyof typeof ERRNO_CODES | null, message: string) {\n super(message)\n if (typeof code === 'number') {\n this.code = code\n } else if (typeof code === 'string') {\n this.code = ERRNO_CODES[code]\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAAA,EAAAA;AAsBA,IAAMC,IAAa;AAAnB,IACMC,IAAW;AADjB,IAEMC,KAAe,EACnB,KAAK,OACL,MAAM,MACR;AALA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IAtBAC;AAsBA,IA+CaC,IAAN,cAAwBC,GAAe;EA0B5C,YACEC,GACA,EACE,iBAAAC,IAAkB,KAClB,oBAAAC,IAAqB,KACrB,OAAAC,IAAQ,MACV,IAAoB,CAAC,GACrB;AACA,UAAMH,GAAS,EAAE,OAAAG,EAAM,CAAC;AAlCrBC,MAAA,MAAAf,CAAAA;AAKLe,MAAA,MAAA1B,CAAAA;AACA0B,MAAA,MAAAzB,CAAAA;AACAyB,MAAA,MAAAxB,CAAAA;AAEAwB,MAAA,MAAAvB,CAAAA;AACAuB,MAAA,MAAAtB,CAAAA;AAEAsB,MAAA,MAAArB,GAAyC,oBAAI,KAAA;AAC7CqB,MAAA,MAAApB,GAA+C,oBAAI,KAAA;AAEnDoB,MAAA,MAAAnB,IAAmB,CAAA;AACnBmB,MAAA,MAAAlB,GAAwC,oBAAI,KAAA;AAC5CkB,MAAA,MAAAjB,GAAsC,oBAAI,KAAA;AAG1C,SAAA,iBAAiB;AACjB,SAAA,qBAAqB,MAAO;AAC5B,SAAA,cAAc;AAEdiB,MAAA,MAAAhB,GAAc,oBAAI,KAAA;AAWhB,SAAK,kBAAkBa,GACvB,KAAK,qBAAqBC;EAC5B;EAEA,MAAM,KAAKG,GAAYC,GAA4B;AACjD,WAAA,MAAMC,EAAA,MAAKlB,GAAAC,CAAAA,EAAL,KAAA,IAAA,GACC,MAAM,KAAKe,GAAIC,CAAI;EAC5B;EAEA,MAAM,SAASE,IAAoB,OAAO;AACxC,UAAM,KAAK,qBAAqB,GAChC,MAAM,KAAK,aAAa,GACnBA,KACH,KAAK,MAAM;EAEf;EAEA,MAAM,UAAyB;AAC7B,aAAWC,KAAMC,EAAA,MAAK1B,CAAAA,EAAI,OAAO,EAC/ByB,GAAG,MAAM;AAEXC,MAAA,MAAK5B,CAAAA,EAAS,MAAM,GACpB4B,EAAA,MAAK5B,CAAAA,EAAS,MAAM,GACpB,KAAK,GAAI,OAAO,GAAG,KAAK;EAC1B;EAiHA,MAAM,aAAa6B,GAAe;AAChCA,QAAOA,KAAQ,KAAK;AACpB,QAAMC,IAASD,IAAO,KAAK,MAAM,KAAK,QAChCE,IAA4B,CAAC;AACnC,aAAS,IAAI,GAAG,IAAID,GAAQ,IAC1BC,GAAS,KAEP,IAAI,QAAc,OAAOC,MAAY;AACnC,QAAE,KAAK;AACP,UAAMC,IAAW,IAAI,KAAK,IAAI,IAAI,YAAY,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,KAAK,YAAY,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,IACvHC,KAAK,MAAMN,EAAA,MAAK9B,CAAAA,EAAW,cAAcmC,GAAU,EACvD,QAAQ,KACV,CAAC,GACKN,IAAiC,MACrCO,GACA,uBAAuB;AACzBN,QAAA,MAAK3B,CAAAA,EAAI,IAAIgC,GAAUC,EAAE,GACzBN,EAAA,MAAK1B,CAAAA,EAAI,IAAI+B,GAAUN,CAAE,GACzBF,EAAA,MAAKlB,GAAAG,CAAAA,EAAL,KAAA,MAAa,EACX,KAAK,kBACL,MAAM,CAACuB,CAAQ,EACjB,CAAA,GACA,KAAK,MAAM,KAAK,KAAKA,CAAQ,GAC7BD,EAAQ;IACV,CAAC,CACH;AAEF,aAAS,IAAI,GAAG,IAAIF,GAAQ,IAC1BC,GAAS,KAEP,IAAI,QAAc,OAAOC,MAAY;AACnC,UAAMC,IAAW,KAAK,MAAM,KAAK,IAAI;AACrCR,QAAA,MAAKlB,GAAAG,CAAAA,EAAL,KAAA,MAAa,EACX,KAAK,kBACL,MAAM,CAACuB,CAAQ,EACjB,CAAA;AACA,UAAMC,KAAKN,EAAA,MAAK3B,CAAAA,EAAI,IAAIgC,CAAQ;AACrBL,QAAA,MAAK1B,CAAAA,EAAI,IAAI+B,CAAQ,GAC5B,MAAM,GACV,MAAML,EAAA,MAAK9B,CAAAA,EAAW,YAAYoC,GAAG,IAAI,GACzCN,EAAA,MAAK3B,CAAAA,EAAI,OAAOgC,CAAQ,GACxBL,EAAA,MAAK1B,CAAAA,EAAI,OAAO+B,CAAQ,GACxBD,EAAQ;IACV,CAAC,CACH;AAEF,UAAM,QAAQ,IAAID,CAAQ;EAC5B;EAEA,qBAAqBE,GAAkB;AACrC,SAAK,MAAM,KAAK,KAAKA,CAAQ;EAC/B;EAEA,qBAAqBA,GAAkB;AACrC,QAAME,IAAQ,KAAK,MAAM,KAAK,QAAQF,CAAQ;AAC1CE,QAAQ,MACV,KAAK,MAAM,KAAK,OAAOA,GAAO,CAAC;EAEnC;EAEA,MAAM,uBAAuB;AACvB,SAAK,IAAI,IAAI,KAAK,iBAAiB,KAAK,sBAC1C,MAAM,KAAK,gBAAgB;EAE/B;EAEA,MAAM,kBAAkB;AACtB,QAAMC,IAAU,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,KAAK,KAAK,CAAC;AACnER,MAAA,MAAK5B,CAAAA,EAAS,SAAS,CAAC,GACxB4B,EAAA,MAAK5B,CAAAA,EAAS,MAAMoC,GAAS,EAAE,IAAI,EAAE,CAAC,GACtCR,EAAA,MAAK5B,CAAAA,EAAS,MAAM,GACpB,KAAK,iBAAiB,KAAK,IAAI;EACjC;EAEA,QAAQ;AACN,aAAW2B,KAAMC,EAAA,MAAKtB,CAAAA,EACpB,KAAI;AACFqB,QAAG,MAAM;IACX,QAAY;IAEZ;AAEFC,MAAA,MAAKtB,CAAAA,EAAY,MAAM;EACzB;EAIA,MAAM+B,GAAcC,GAAoB;AACtCb,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,SAAS,MAAM,CAAC4B,GAAMC,CAAI,EAAE,GAAG,MAAM;AAC3D,WAAK,YAAYD,GAAMC,CAAI;IAC7B,CAAA;EACF;EAEA,YAAYD,GAAcC,GAAoB;AAC5C,QAAMC,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/BE,MAAK,OAAOD;EACd;EAEA,MAAME,GAAkB;AACtB,QAAMH,IAAOZ,EAAA,MAAKlB,GAAAM,CAAAA,EAAL,KAAA,MAAoB2B,CAAAA;AACjCZ,MAAA,MAAKxB,CAAAA,EAAiB,OAAOoC,CAAE,GAC/BZ,EAAA,MAAKvB,CAAAA,EAAe,OAAOgC,CAAI;EACjC;EAEA,MAAMG,GAAqB;AACzB,QAAMH,IAAOZ,EAAA,MAAKlB,GAAAM,CAAAA,EAAL,KAAA,MAAoB2B,CAAAA;AACjC,WAAO,KAAK,MAAMH,CAAI;EACxB;EAEA,MAAMA,GAAuB;AAC3B,QAAME,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA,GACzBR,IACJU,EAAK,SAAS,SAASX,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,EAAK,eAAe,EAAG,QAAQ,IAAI,GACnEE,IAAU;AAChB,WAAO,EACL,KAAK,GACL,KAAK,GACL,MAAMF,EAAK,MACX,OAAO,GACP,KAAK,GACL,KAAK,GACL,MAAM,GACN,MAAAV,GACA,SAAAY,GACA,QAAQ,KAAK,KAAKZ,IAAOY,CAAO,GAChC,OAAOF,EAAK,cACZ,OAAOA,EAAK,cACZ,OAAOA,EAAK,aACd;EACF;EAEA,MAAMF,GAAcK,GAAwD;AAC1EjB,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,SAAS,MAAM,CAAC4B,GAAMK,CAAO,EAAE,GAAG,MAAM;AAC9D,WAAK,YAAYL,GAAMK,CAAO;IAChC,CAAA;EACF;EAEA,YACEL,GACAK,GACM;AACN,QAAMC,IAAQlB,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GACxBO,IAAaD,EAAM,IAAI,GACvBE,IAAwB,CAAC,GAC3BN,IAAO,KAAK,MAAM;AACtB,aAAWO,KAAQH,GAAO;AAExB,UADAE,EAAY,KAAKR,CAAI,GACjB,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAK,UAAUO,CAAI,EAC3D,KAAIJ,GAAS,UACX,MAAK,MAAMG,EAAY,KAAK,GAAG,CAAC;UAEhC,OAAM,IAAIE,EAAQ,UAAU,2BAA2B;AAG3D,UAAIR,EAAK,SAASO,CAAI,EAAE,SAAS,YAC/B,OAAM,IAAIC,EAAQ,WAAW,iBAAiB;AAEhDR,UAAOA,EAAK,SAASO,CAAI;IAC3B;AACA,QAAI,OAAO,UAAU,eAAe,KAAKP,EAAK,UAAUK,CAAU,EAChE,OAAM,IAAIG,EAAQ,UAAU,aAAa;AAE3C,QAAMC,KAAwB,EAC5B,MAAM,aACN,cAAc,KAAK,IAAI,GACvB,MAAMN,GAAS,QAAQ/C,GAAa,KACpC,UAAU,CAAC,EACb;AACA4C,MAAK,SAASK,CAAU,IAAII;EAC9B;EAEA,KAAKX,GAAcY,GAAiBC,GAAwB;AAE1D,QADazB,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA,EACtB,SAAS,OAChB,OAAM,IAAIU,EAAQ,UAAU,gBAAgB;AAE9C,QAAMI,IAAW1B,EAAA,MAAKlB,GAAAO,CAAAA,EAAL,KAAA,IAAA;AACjB,WAAAc,EAAA,MAAKxB,CAAAA,EAAiB,IAAI+C,GAAUd,CAAI,GACxCT,EAAA,MAAKvB,CAAAA,EAAe,IAAIgC,GAAMc,CAAQ,GAC/BA;EACT;EAEA,QAAQd,GAAwB;AAC9B,QAAME,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/B,QAAIE,EAAK,SAAS,YAChB,OAAM,IAAIQ,EAAQ,WAAW,iBAAiB;AAEhD,WAAO,OAAO,KAAKR,EAAK,QAAQ;EAClC;EAEA,KACEC,GACAY,GACAC,GACAC,GACAC,GACQ;AACR,QAAMlB,IAAOZ,EAAA,MAAKlB,GAAAM,CAAAA,EAAL,KAAA,MAAoB2B,CAAAA,GAC3BD,KAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/B,QAAIE,GAAK,SAAS,OAChB,OAAM,IAAIQ,EAAQ,UAAU,gBAAgB;AAG9C,WADWnB,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,GAAK,eAAe,EAClC,KAAK,IAAI,WAAWa,EAAO,QAAQC,GAAQC,CAAM,GAAG,EAC5D,IAAIC,EACN,CAAC;EACH;EAEA,OAAOC,GAAiBC,GAAuB;AAC7ChC,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,UAAU,MAAM,CAAC+C,GAASC,CAAO,EAAE,GAAG,MAAM;AAClE,WAAK,aAAaD,GAASC,GAAS,IAAI;IAC1C,CAAA;EACF;EAEA,aAAaD,GAAiBC,GAAiBC,IAAY,OAAa;AACtE,QAAMC,IAAelC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB6C,CAAAA,GAC/BI,IAAcD,EAAa,IAAI,GAC/BE,IAAYpC,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkB+C,EAAa,KAAK,GAAG,CAAA;AACzD,QACE,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAU,UAAUD,CAAW,EAErE,OAAM,IAAIb,EAAQ,UAAU,2BAA2B;AAEzD,QAAMe,KAAerC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB8C,CAAAA,GAC/BM,IAAcD,GAAa,IAAI,GAC/BE,IAAYvC,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkBkD,GAAa,KAAK,GAAG,CAAA;AACzD,QACEJ,KACA,OAAO,UAAU,eAAe,KAAKM,EAAU,UAAUD,CAAW,GACpE;AAEA,UAAMxB,KAAOyB,EAAU,SAASD,CAAW;AAChCnC,QAAA,MAAK1B,CAAAA,EAAI,IAAIqC,GAAK,eAAe,EACzC,SAAS,CAAC,GACb,KAAK,MAAM,KAAK,KAAKA,GAAK,eAAe;IAC3C;AACAyB,MAAU,SAASD,CAAW,IAAIF,EAAU,SAASD,CAAW,GAChE,OAAOC,EAAU,SAASD,CAAW;EACvC;EAEA,MAAMvB,GAAoB;AACxBZ,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,SAAS,MAAM,CAAC4B,CAAI,EAAE,GAAG,MAAM;AACrD,WAAK,YAAYA,CAAI;IACvB,CAAA;EACF;EAEA,YAAYA,GAAoB;AAC9B,QAAM4B,IAAYxC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC5B6B,IAAUD,EAAU,IAAI,GACxBE,IAAS1C,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkBqD,EAAU,KAAK,GAAG,CAAA;AACnD,QAAI,CAAC,OAAO,UAAU,eAAe,KAAKE,EAAO,UAAUD,CAAO,EAChE,OAAM,IAAInB,EAAQ,UAAU,2BAA2B;AAEzD,QAAMR,IAAO4B,EAAO,SAASD,CAAO;AACpC,QAAI3B,EAAK,SAAS,YAChB,OAAM,IAAIQ,EAAQ,WAAW,iBAAiB;AAEhD,QAAI,OAAO,KAAKR,EAAK,QAAQ,EAAE,SAAS,EACtC,OAAM,IAAIQ,EAAQ,aAAa,qBAAqB;AAEtD,WAAOoB,EAAO,SAASD,CAAO;EAChC;EAEA,SAAS7B,GAAc+B,IAAM,GAAS;AACpC,QAAM7B,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/B,QAAIE,EAAK,SAAS,OAChB,OAAM,IAAIQ,EAAQ,UAAU,gBAAgB;AAE9C,QAAMpB,IAAKC,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,EAAK,eAAe;AAC5C,QAAI,CAACZ,EACH,OAAM,IAAIoB,EAAQ,UAAU,2BAA2B;AAEzDpB,MAAG,SAASyC,CAAG,GACfxC,EAAA,MAAKtB,CAAAA,EAAY,IAAIqB,CAAE;EACzB;EAEA,OAAOU,GAAoB;AACzBZ,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,UAAU,MAAM,CAAC4B,CAAI,EAAE,GAAG,MAAM;AACtD,WAAK,aAAaA,GAAM,IAAI;IAC9B,CAAA;EACF;EAEA,aAAaA,GAAcqB,IAAY,OAAa;AAClD,QAAMO,IAAYxC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC5BJ,IAAWgC,EAAU,IAAI,GACzBI,IAAM5C,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkBqD,EAAU,KAAK,GAAG,CAAA;AAChD,QAAI,CAAC,OAAO,UAAU,eAAe,KAAKI,EAAI,UAAUpC,CAAQ,EAC9D,OAAM,IAAIc,EAAQ,UAAU,2BAA2B;AAEzD,QAAMR,IAAO8B,EAAI,SAASpC,CAAQ;AAClC,QAAIM,EAAK,SAAS,OAChB,OAAM,IAAIQ,EAAQ,UAAU,gBAAgB;AAG9C,QADA,OAAOsB,EAAI,SAASpC,CAAQ,GACxByB,GAAW;AACb,UAAM/B,KAAKC,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,EAAK,eAAe;AAE5CZ,MAAAA,IAAI,SAAS,CAAC,GACdC,EAAA,MAAKtB,CAAAA,EAAY,IAAIqB,EAAE,GACnBC,EAAA,MAAKvB,CAAAA,EAAe,IAAIgC,CAAI,MAC9BT,EAAA,MAAKxB,CAAAA,EAAiB,OAAOwB,EAAA,MAAKvB,CAAAA,EAAe,IAAIgC,CAAI,CAAE,GAC3DT,EAAA,MAAKvB,CAAAA,EAAe,OAAOgC,CAAI;IAEnC;AACA,SAAK,MAAM,KAAK,KAAKE,EAAK,eAAe;EAC3C;EAEA,OAAOF,GAAciC,GAAeC,GAAqB;AACvD9C,MAAA,MAAKlB,GAAAE,CAAAA,EAAL,KAAA,MAAiB,EAAE,KAAK,UAAU,MAAM,CAAC4B,GAAMiC,GAAOC,CAAK,EAAE,GAAG,MAAM;AACpE,WAAK,aAAalC,GAAMiC,GAAOC,CAAK;IACtC,CAAA;EACF;EAEA,aAAalC,GAAcmC,GAAgBD,GAAqB;AAC9D,QAAMhC,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/BE,MAAK,eAAegC;EACtB;EAEA,UACElC,GACAoC,GACA/B,GACM;AACN,QAAMuB,IAAYxC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC5BJ,IAAWgC,EAAU,IAAI,GACzBE,IAAS1C,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkBqD,EAAU,KAAK,GAAG,CAAA;AAEnD,QAAK,OAAO,UAAU,eAAe,KAAKE,EAAO,UAAUlC,CAAQ,GAe5D;AACL,UAAMM,IAAO4B,EAAO,SAASlC,CAAQ;AACrCM,QAAK,eAAe,KAAK,IAAI,GAC7Bd,EAAA,MAAKlB,GAAAG,CAAAA,EAAL,KAAA,MAAa,EACX,KAAK,mBACL,MAAM,CAAC2B,GAAME,EAAK,YAAY,EAChC,CAAA;IACF,OAtBsE;AACpE,UAAI,KAAK,MAAM,KAAK,WAAW,EAC7B,OAAM,IAAI,MAAM,4CAA4C;AAE9D,UAAMA,IAAa,EACjB,MAAM,QACN,cAAc,KAAK,IAAI,GACvB,MAAMG,GAAS,QAAQ/C,GAAa,MACpC,iBAAiB,KAAK,MAAM,KAAK,IAAI,EACvC;AACAwE,QAAO,SAASlC,CAAQ,IAAIM,GAC5Bd,EAAA,MAAKlB,GAAAG,CAAAA,EAAL,KAAA,MAAa,EACX,KAAK,kBACL,MAAM,CAAC2B,GAAME,CAAI,EACnB,CAAA;IACF;AAQA,QAAMA,KAAO4B,EAAO,SAASlC,CAAQ,GAC/BN,IAAKC,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,GAAK,eAAe;AAExCkC,MAAK,SAAS,MAChB9C,EAAG,MACD,OAAO8C,KAAS,WACZ,IAAI,YAAY,EAAE,OAAOA,CAAI,IAC7B,IAAI,WAAWA,CAAI,GACvB,EAAE,IAAI,EAAE,CACV,GACIpC,EAAK,WAAW,SAAS,KAC3BT,EAAA,MAAKtB,CAAAA,EAAY,IAAIqB,CAAE;EAG7B;EAEA,qBAAqBU,GAAcE,GAA0B;AAC3D,QAAM0B,IAAYxC,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC5BJ,IAAWgC,EAAU,IAAI,GACzBE,IAAS1C,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkBqD,EAAU,KAAK,GAAG,CAAA;AACnDE,MAAO,SAASlC,CAAQ,IAAIM;AAE5B,QAAMJ,IAAQ,KAAK,MAAM,KAAK,QAAQI,EAAK,eAAe;AAC1D,WAAIJ,IAAQ,MACV,KAAK,MAAM,KAAK,OAAOA,GAAO,CAAC,GAE1BI;EACT;EAEA,sBAAsBF,GAAcqC,GAA4B;AAC9D,QAAMnC,IAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/BE,MAAK,eAAemC;EACtB;EAEA,MACElC,GACAY,GACAC,GACAC,GACAC,GACQ;AACR,QAAMlB,IAAOZ,EAAA,MAAKlB,GAAAM,CAAAA,EAAL,KAAA,MAAoB2B,CAAAA,GAC3BD,KAAOd,EAAA,MAAKlB,GAAAK,CAAAA,EAAL,KAAA,MAAkByB,CAAAA;AAC/B,QAAIE,GAAK,SAAS,OAChB,OAAM,IAAIQ,EAAQ,UAAU,gBAAgB;AAE9C,QAAMpB,IAAKC,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,GAAK,eAAe;AAC5C,QAAI,CAACZ,EACH,OAAM,IAAIoB,EAAQ,SAAS,qBAAqB;AAElD,QAAM4B,IAAMhD,EAAG,MAAM,IAAI,WAAWyB,GAAQC,GAAQC,CAAM,GAAG,EAC3D,IAAIC,EACN,CAAC;AACD,WAAIlB,EAAK,WAAW,SAAS,KAC3BT,EAAA,MAAKtB,CAAAA,EAAY,IAAIqB,CAAE,GAElBgD;EACT;AAyEF;AAvoBE/E,IAAA,oBAAA,WACAC,IAAA,oBAAA,WACAC,IAAA,oBAAA,WAEAC,IAAA,oBAAA,WACAC,IAAA,oBAAA,WAEAC,IAAA,oBAAA,WACAC,IAAA,oBAAA,WAEAC,KAAA,oBAAA,WACAC,IAAA,oBAAA,WACAC,IAAA,oBAAA,WAOAC,IAAA,oBAAA,WAxBKC,IAAA,oBAAA,WA6DCC,IAAK,iBAAG;AACZoE,IAAA,MAAKhF,GAAc,MAAM,UAAU,QAAQ,aAAa,CAAA,GACxDgF,EAAA,MAAK/E,GAAU,MAAM4B,EAAA,MAAKlB,GAAAQ,CAAAA,EAAL,KAAA,MAA2B,KAAK,SAAU,EAC7D,QAAQ,KACV,CAAA,CAAA,GACA6D,EAAA,MAAK9E,GAAa,MAAM2B,EAAA,MAAKlB,GAAAQ,CAAAA,EAAL,KAAA,MAA2BrB,GAAU,EAC3D,MAAMkC,EAAA,MAAK/B,CAAAA,GACX,QAAQ,KACV,CAAA,CAAA,GAEA+E,EAAA,MAAK7E,GAAW,MAAM6B,EAAA,MAAK/B,CAAAA,EAAQ,cAAcJ,GAAY,EAC3D,QAAQ,KACV,CAAC,CAAA,GACDmF,EAAA,MAAK5E,GAAW,MAAO4B,EAAA,MAAK7B,CAAAA,EAAiB,uBAAuB,CAAA;AAEpE,MAAMqC,IAAU,IAAI,YAAYR,EAAA,MAAK5B,CAAAA,EAAS,QAAQ,CAAC;AACvD4B,IAAA,MAAK5B,CAAAA,EAAS,KAAKoC,GAAS,EAAE,IAAI,EAAE,CAAC;AACrC,MAAIyC,GACEC,IAAa,IAAI,YAAY,EAAE,OAAO1C,CAAO,EAAE,MAAM;CAAI,GAI3D2C,IAAa;AACjB,MAAI;AACFF,QAAQ,KAAK,MAAMC,EAAW,CAAC,CAAC;EAClC,QAAY;AACVD,QAAQ,EACN,MAAM,EACJ,MAAM,aACN,cAAc,KAAK,IAAI,GACvB,MAAMlF,GAAa,KACnB,UAAU,CAAC,EACb,GACA,MAAM,CAAC,EACT,GAEAiC,EAAA,MAAK5B,CAAAA,EAAS,SAAS,CAAC,GACxB4B,EAAA,MAAK5B,CAAAA,EAAS,MAAM,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU6E,CAAK,CAAC,GAAG,EACnE,IAAI,EACN,CAAC,GACDE,IAAa;EACf;AACA,OAAK,QAAQF;AAGb,MAAMG,IAAMF,EACT,MAAM,CAAC,EACP,OAAO,OAAO,EACd,IAAKG,OAAS,KAAK,MAAMA,CAAI,CAAC;AACjC,WAAWC,KAASF,GAAK;AACvB,QAAMG,KAAa,IAAID,EAAM,GAAG;AAChC,QAAI,OAAO,KAAKC,EAAwB,KAAM,WAC5C,KAAI;AACa,WAAKA,EAAwB,EACrC,KAAK,IAAI,EAAE,GAAGD,EAAM,IAAI;IACjC,SAASE,GAAG;AACV,cAAQ,KAAK,qCAAqCF,GAAOE,CAAC;IAC5D;EAEJ;AAGA,MAAMC,IAAgC,CAAC,GACjCC,KAAO,OAAO/C,MAAe;AACjC,QAAIA,EAAK,SAAS,OAChB,KAAI;AACF,UAAML,KAAK,MAAMN,EAAA,MAAK9B,CAAAA,EAAW,cAAcyC,EAAK,eAAe,GAC7DZ,IAAiC,MACrCO,GACA,uBAAuB;AACzBN,QAAA,MAAK3B,CAAAA,EAAI,IAAIsC,EAAK,iBAAiBL,EAAE,GAErCN,EAAA,MAAK1B,CAAAA,EAAI,IAAIqC,EAAK,iBAAiBZ,CAAE;IACvC,SAASyD,IAAG;AACV,cAAQ,MAAM,sCAAsC7C,GAAM6C,EAAC;IAC7D;QAEA,UAAWG,MAAS,OAAO,OAAOhD,EAAK,QAAQ,EAC7C8C,GAAa,KAAKC,GAAKC,EAAK,CAAC;EAGnC;AACA,QAAMD,GAAK,KAAK,MAAM,IAAI;AAG1B,MAAME,IAAgC,CAAC;AACvC,WAAWvD,KAAY,KAAK,MAAM,KAChCuD,GAAa,KAEX,IAAI,QAAc,OAAOxD,OAAY;AAC/BJ,MAAA,MAAK3B,CAAAA,EAAI,IAAIgC,CAAQ,KACvB,QAAQ,KAAK,4CAA4CA,CAAQ;AAEnE,QAAMC,IAAK,MAAMN,EAAA,MAAK9B,CAAAA,EAAW,cAAcmC,CAAQ,GACjDN,KAAiC,MACrCO,EACA,uBAAuB;AACzBN,MAAA,MAAK3B,CAAAA,EAAI,IAAIgC,GAAUC,CAAE,GACzBN,EAAA,MAAK1B,CAAAA,EAAI,IAAI+B,GAAUN,EAAE,GACzBK,GAAQ;EACV,CAAC,CACH;AAGF,QAAM,QAAQ,IAAI,CAAC,GAAGqD,GAAc,GAAGG,CAAY,CAAC,GAEpD,MAAM,KAAK,aACTT,IAAa,KAAK,kBAAkB,KAAK,kBAC3C;AACF,GA6ZAtE,IAAW,SAACyE,GAAiBO,GAAgB;AAC3C,MAAMpC,IAAS5B,EAAA,MAAKlB,GAAAG,CAAAA,EAAL,KAAA,MAAawE,CAAAA;AAC5B,MAAI;AACFO,MAAG;EACL,SAASL,GAAG;AAEV,UAAAxD,EAAA,MAAK5B,CAAAA,EAAS,SAASqD,CAAM,GACvB+B;EACR;AACF,GAEA1E,IAAO,SAACwE,GAAiB;AACvB,MAAMQ,IAAY,KAAK,UAAUR,CAAK,GAChC9C,IAAU,IAAI,YAAY,EAAE,OAAO;EAAKsD,CAAS,EAAE,GACnDrC,IAASzB,EAAA,MAAK5B,CAAAA,EAAS,QAAQ;AACrC,SAAA4B,EAAA,MAAK5B,CAAAA,EAAS,MAAMoC,GAAS,EAAE,IAAIiB,EAAO,CAAC,GAC3CzB,EAAA,MAAKtB,CAAAA,EAAY,IAAIsB,EAAA,MAAK5B,CAAAA,CAAQ,GAC3BqD;AACT,GAEA1C,IAAU,SAAC0B,GAAwB;AACjC,SAAOA,EAAK,MAAM,GAAG,EAAE,OAAO,OAAO;AACvC,GAEAzB,IAAY,SAACyB,GAAcsD,GAA4B;AACrD,MAAMhD,IAAQlB,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC1BE,IAAaoD,KAAQ,KAAK,MAAM;AACpC,WAAW7C,KAAQH,GAAO;AACxB,QAAIJ,EAAK,SAAS,YAChB,OAAM,IAAIQ,EAAQ,WAAW,iBAAiB;AAEhD,QAAI,CAAC,OAAO,UAAU,eAAe,KAAKR,EAAK,UAAUO,CAAI,EAC3D,OAAM,IAAIC,EAAQ,UAAU,2BAA2B;AAEzDR,QAAOA,EAAK,SAASO,CAAI;EAC3B;AACA,SAAOP;AACT,GAEA1B,IAAc,SAAC2B,GAAoB;AACjC,MAAMH,IAAOT,EAAA,MAAKxB,CAAAA,EAAiB,IAAIoC,CAAE;AACzC,MAAI,CAACH,EACH,OAAM,IAAIU,EAAQ,SAAS,qBAAqB;AAElD,SAAOV;AACT,GAEAvB,IAAa,WAAW;AACtB,MAAM8E,IAAY,EAALC,EAAA,MAAK1F,EAAAA,EAAL;AACb,SAAOyB,EAAA,MAAKxB,CAAAA,EAAiB,IAAIwF,CAAE,IACjCC,GAAA,MAAK1F,EAAAA,EAAL;AAEF,SAAOyF;AACT,GAEM7E,IAAqB,eACzBsB,GACAK,GAIoC;AACpC,MAAMC,IAAQlB,EAAA,MAAKlB,GAAAI,CAAAA,EAAL,KAAA,MAAgB0B,CAAAA,GAC1ByD,IAAKpD,GAAS,QAAQd,EAAA,MAAKhC,CAAAA;AAC/B,WAAWkD,KAAQH,EACjBmD,KAAK,MAAMA,EAAG,mBAAmBhD,GAAM,EAAE,QAAQJ,GAAS,OAAO,CAAC;AAEpE,SAAOoD;AACT;AAGF,IAAM/C,IAAN,cAAsB,MAAM;EAE1B,YAAYgD,GAAgDC,GAAiB;AAC3E,UAAMA,CAAO,GACT,OAAOD,KAAS,WAClB,KAAK,OAAOA,IACH,OAAOA,KAAS,aACzB,KAAK,OAAOE,GAAYF,CAAI;EAEhC;AACF;","names":["init_esm_shims","STATE_FILE","DATA_DIR","INITIAL_MODE","_opfsRootAh","_rootAh","_dataDirAh","_stateFH","_stateSH","_fh","_sh","_handleIdCounter","_openHandlePaths","_openHandleIds","_unsyncedSH","_OpfsAhpFS_instances","init_fn","tryWithWAL_fn","logWAL_fn","pathParts_fn","resolvePath_fn","getPathFromFd_fn","nextHandleId_fn","resolveOpfsDirectory_fn","OpfsAhpFS","BaseFilesystem","dataDir","initialPoolSize","maintainedPoolSize","debug","__privateAdd","pg","opts","__privateMethod","relaxedDurability","sh","__privateGet","size","change","promises","resolve","filename","fh","index","stateAB","path","mode","node","fd","blksize","options","parts","newDirName","currentPath","part","FsError","newDir","_flags","_mode","handleId","buffer","offset","length","position","oldPath","newPath","doFileOps","oldPathParts","oldFilename","oldParent","newPathParts","newFilename","newParent","pathParts","dirName","parent","len","dir","atime","mtime","_atime","data","lastModified","ret","__privateSet","state","stateLines","isNewState","wal","line","entry","methodName","e","walkPromises","walk","child","poolPromises","fn","entryJSON","from","id","__privateWrapper","ah","code","message","ERRNO_CODES"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
u
|
|
3
|
+
} from "./chunk-3KTOEDFX.js";
|
|
4
|
+
import "./chunk-7D4SUZUM.js";
|
|
5
|
+
|
|
6
|
+
// ../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/dist/contrib/pageinspect.js
|
|
7
|
+
u();
|
|
8
|
+
var t = async (n, s) => ({ bundlePath: new URL("../pageinspect.tar.gz", import.meta.url) });
|
|
9
|
+
var a = { name: "pageinspect", setup: t };
|
|
10
|
+
export {
|
|
11
|
+
a as pageinspect
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=pageinspect-YP3IZR4X.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/src/contrib/pageinspect.ts"],"sourcesContent":["import type {\n Extension,\n ExtensionSetupResult,\n PGliteInterface,\n} from '../interface'\n\nconst setup = async (_pg: PGliteInterface, _emscriptenOpts: any) => {\n return {\n bundlePath: new URL('../../release/pageinspect.tar.gz', import.meta.url),\n } satisfies ExtensionSetupResult\n}\n\nexport const pageinspect = {\n name: 'pageinspect',\n setup,\n} satisfies Extension\n"],"mappings":";;;;;;AAAAA,EAAAA;AAMA,IAAMC,IAAQ,OAAOC,GAAsBC,OAClC,EACL,YAAY,IAAI,IAAI,yBAAA,YAAoC,GAAA,EAAA;AAF5D,IAE4D,IAAA,EAAA,MAC1D,eAIM,OAAA,EAAA;","names":["init_esm_shims","setup","_pg","_emscriptenOpts"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {
|
|
2
|
+
u
|
|
3
|
+
} from "./chunk-3KTOEDFX.js";
|
|
4
|
+
import "./chunk-7D4SUZUM.js";
|
|
5
|
+
|
|
6
|
+
// ../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/dist/contrib/pg_buffercache.js
|
|
7
|
+
u();
|
|
8
|
+
var t = async (n, s) => ({ bundlePath: new URL("../pg_buffercache.tar.gz", import.meta.url) });
|
|
9
|
+
var i = { name: "pg_buffercache", setup: t };
|
|
10
|
+
export {
|
|
11
|
+
i as pg_buffercache
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=pg_buffercache-7TD5J2FB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/src/contrib/pg_buffercache.ts"],"sourcesContent":["import type {\n Extension,\n ExtensionSetupResult,\n PGliteInterface,\n} from '../interface'\n\nconst setup = async (_pg: PGliteInterface, _emscriptenOpts: any) => {\n return {\n bundlePath: new URL('../../release/pg_buffercache.tar.gz', import.meta.url),\n } satisfies ExtensionSetupResult\n}\n\nexport const pg_buffercache = {\n name: 'pg_buffercache',\n setup,\n} satisfies Extension\n"],"mappings":";;;;;;AAAAA,EAAAA;AAMA,IAAMC,IAAQ,OAAOC,GAAsBC,OAClC,EACL,YAAY,IAAI,IAAI,4BAAA,YAAuC,GAAA,EAAA;AAF/D,IAE+D,IAAA,EAAA,MAC7D,kBAIM,OAAA,EAAA;","names":["init_esm_shims","setup","_pg","_emscriptenOpts"]}
|