@prisma-next/sql-runtime 0.3.0-pr.93.5 → 0.3.0-pr.94.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/dist/exports-BI-iW86w.mjs +402 -0
  2. package/dist/exports-BI-iW86w.mjs.map +1 -0
  3. package/dist/index-Bycr1UG5.d.mts +130 -0
  4. package/dist/index-Bycr1UG5.d.mts.map +1 -0
  5. package/dist/index.d.mts +2 -0
  6. package/dist/index.mjs +3 -0
  7. package/dist/test/utils.d.mts +63 -0
  8. package/dist/test/utils.d.mts.map +1 -0
  9. package/dist/test/utils.mjs +184 -0
  10. package/dist/test/utils.mjs.map +1 -0
  11. package/package.json +22 -20
  12. package/dist/accelerate-EEKAFGN3-P6A6XJWJ.js +0 -137863
  13. package/dist/accelerate-EEKAFGN3-P6A6XJWJ.js.map +0 -1
  14. package/dist/amcheck-24VY6X5V.js +0 -13
  15. package/dist/amcheck-24VY6X5V.js.map +0 -1
  16. package/dist/bloom-VS74NLHT.js +0 -13
  17. package/dist/bloom-VS74NLHT.js.map +0 -1
  18. package/dist/btree_gin-WBC4EAAI.js +0 -13
  19. package/dist/btree_gin-WBC4EAAI.js.map +0 -1
  20. package/dist/btree_gist-UNC6QD3M.js +0 -13
  21. package/dist/btree_gist-UNC6QD3M.js.map +0 -1
  22. package/dist/chunk-3KTOEDFX.js +0 -49
  23. package/dist/chunk-3KTOEDFX.js.map +0 -1
  24. package/dist/chunk-47DZBRQC.js +0 -1280
  25. package/dist/chunk-47DZBRQC.js.map +0 -1
  26. package/dist/chunk-52N6AFZM.js +0 -133
  27. package/dist/chunk-52N6AFZM.js.map +0 -1
  28. package/dist/chunk-7D4SUZUM.js +0 -38
  29. package/dist/chunk-7D4SUZUM.js.map +0 -1
  30. package/dist/chunk-C6I3V3DM.js +0 -455
  31. package/dist/chunk-C6I3V3DM.js.map +0 -1
  32. package/dist/chunk-ECWIHLAT.js +0 -37
  33. package/dist/chunk-ECWIHLAT.js.map +0 -1
  34. package/dist/chunk-EI626SDC.js +0 -105
  35. package/dist/chunk-EI626SDC.js.map +0 -1
  36. package/dist/chunk-UKKOYUGL.js +0 -578
  37. package/dist/chunk-UKKOYUGL.js.map +0 -1
  38. package/dist/chunk-XPLNMXQV.js +0 -1537
  39. package/dist/chunk-XPLNMXQV.js.map +0 -1
  40. package/dist/citext-T7MXGUY7.js +0 -13
  41. package/dist/citext-T7MXGUY7.js.map +0 -1
  42. package/dist/client-5FENX6AW.js +0 -299
  43. package/dist/client-5FENX6AW.js.map +0 -1
  44. package/dist/codecs/decoding.d.ts +0 -4
  45. package/dist/codecs/decoding.d.ts.map +0 -1
  46. package/dist/codecs/encoding.d.ts +0 -5
  47. package/dist/codecs/encoding.d.ts.map +0 -1
  48. package/dist/codecs/validation.d.ts +0 -6
  49. package/dist/codecs/validation.d.ts.map +0 -1
  50. package/dist/cube-TFDQBZCI.js +0 -13
  51. package/dist/cube-TFDQBZCI.js.map +0 -1
  52. package/dist/dict_int-AEUOPGWP.js +0 -13
  53. package/dist/dict_int-AEUOPGWP.js.map +0 -1
  54. package/dist/dict_xsyn-DAAYX3FL.js +0 -13
  55. package/dist/dict_xsyn-DAAYX3FL.js.map +0 -1
  56. package/dist/dist-AQ3LWXOX.js +0 -570
  57. package/dist/dist-AQ3LWXOX.js.map +0 -1
  58. package/dist/dist-LBVX6BJW.js +0 -189
  59. package/dist/dist-LBVX6BJW.js.map +0 -1
  60. package/dist/dist-WLKUVDN2.js +0 -5127
  61. package/dist/dist-WLKUVDN2.js.map +0 -1
  62. package/dist/earthdistance-KIGTF4LE.js +0 -13
  63. package/dist/earthdistance-KIGTF4LE.js.map +0 -1
  64. package/dist/exports/index.d.ts +0 -11
  65. package/dist/exports/index.d.ts.map +0 -1
  66. package/dist/file_fdw-5N55UP6I.js +0 -13
  67. package/dist/file_fdw-5N55UP6I.js.map +0 -1
  68. package/dist/fuzzystrmatch-KN3YWBFP.js +0 -13
  69. package/dist/fuzzystrmatch-KN3YWBFP.js.map +0 -1
  70. package/dist/hstore-YX726NKN.js +0 -13
  71. package/dist/hstore-YX726NKN.js.map +0 -1
  72. package/dist/http-exception-FZY2H4OF.js +0 -8
  73. package/dist/http-exception-FZY2H4OF.js.map +0 -1
  74. package/dist/index.d.ts +0 -2
  75. package/dist/index.d.ts.map +0 -1
  76. package/dist/index.js +0 -30
  77. package/dist/index.js.map +0 -1
  78. package/dist/intarray-NKVXNO2D.js +0 -13
  79. package/dist/intarray-NKVXNO2D.js.map +0 -1
  80. package/dist/isn-FTEMJGEV.js +0 -13
  81. package/dist/isn-FTEMJGEV.js.map +0 -1
  82. package/dist/lo-DB7L4NGI.js +0 -13
  83. package/dist/lo-DB7L4NGI.js.map +0 -1
  84. package/dist/logger-WQ7SHNDD.js +0 -68
  85. package/dist/logger-WQ7SHNDD.js.map +0 -1
  86. package/dist/lower-sql-plan.d.ts +0 -15
  87. package/dist/lower-sql-plan.d.ts.map +0 -1
  88. package/dist/ltree-Z32TZT6W.js +0 -13
  89. package/dist/ltree-Z32TZT6W.js.map +0 -1
  90. package/dist/nodefs-NM46ACH7.js +0 -31
  91. package/dist/nodefs-NM46ACH7.js.map +0 -1
  92. package/dist/opfs-ahp-NJO33LVZ.js +0 -332
  93. package/dist/opfs-ahp-NJO33LVZ.js.map +0 -1
  94. package/dist/pageinspect-YP3IZR4X.js +0 -13
  95. package/dist/pageinspect-YP3IZR4X.js.map +0 -1
  96. package/dist/pg_buffercache-7TD5J2FB.js +0 -13
  97. package/dist/pg_buffercache-7TD5J2FB.js.map +0 -1
  98. package/dist/pg_dump-SG4KYBUB.js +0 -2492
  99. package/dist/pg_dump-SG4KYBUB.js.map +0 -1
  100. package/dist/pg_freespacemap-DZDNCPZK.js +0 -13
  101. package/dist/pg_freespacemap-DZDNCPZK.js.map +0 -1
  102. package/dist/pg_surgery-J2MUEWEP.js +0 -13
  103. package/dist/pg_surgery-J2MUEWEP.js.map +0 -1
  104. package/dist/pg_trgm-7VNQOYS6.js +0 -13
  105. package/dist/pg_trgm-7VNQOYS6.js.map +0 -1
  106. package/dist/pg_visibility-TTSIPHFL.js +0 -13
  107. package/dist/pg_visibility-TTSIPHFL.js.map +0 -1
  108. package/dist/pg_walinspect-KPFHSHRJ.js +0 -13
  109. package/dist/pg_walinspect-KPFHSHRJ.js.map +0 -1
  110. package/dist/proxy-signals-GUDAMDHV.js +0 -39
  111. package/dist/proxy-signals-GUDAMDHV.js.map +0 -1
  112. package/dist/seg-IYVDLE4O.js +0 -13
  113. package/dist/seg-IYVDLE4O.js.map +0 -1
  114. package/dist/sql-context.d.ts +0 -65
  115. package/dist/sql-context.d.ts.map +0 -1
  116. package/dist/sql-family-adapter.d.ts +0 -10
  117. package/dist/sql-family-adapter.d.ts.map +0 -1
  118. package/dist/sql-marker.d.ts +0 -22
  119. package/dist/sql-marker.d.ts.map +0 -1
  120. package/dist/sql-runtime.d.ts +0 -25
  121. package/dist/sql-runtime.d.ts.map +0 -1
  122. package/dist/tablefunc-EF4RCS7S.js +0 -13
  123. package/dist/tablefunc-EF4RCS7S.js.map +0 -1
  124. package/dist/tcn-3VT5BQYW.js +0 -13
  125. package/dist/tcn-3VT5BQYW.js.map +0 -1
  126. package/dist/test/utils.js +0 -24635
  127. package/dist/test/utils.js.map +0 -1
  128. package/dist/tiny-CW6F4GX6.js +0 -10
  129. package/dist/tiny-CW6F4GX6.js.map +0 -1
  130. package/dist/tsm_system_rows-ES7KNUQH.js +0 -13
  131. package/dist/tsm_system_rows-ES7KNUQH.js.map +0 -1
  132. package/dist/tsm_system_time-76WEIMBG.js +0 -13
  133. package/dist/tsm_system_time-76WEIMBG.js.map +0 -1
  134. package/dist/unaccent-7RYF3R64.js +0 -13
  135. package/dist/unaccent-7RYF3R64.js.map +0 -1
  136. package/dist/utility-Q5A254LJ-J4HTKZPT.js +0 -347
  137. package/dist/utility-Q5A254LJ-J4HTKZPT.js.map +0 -1
  138. package/dist/uuid_ossp-4ETE4FPE.js +0 -13
  139. package/dist/uuid_ossp-4ETE4FPE.js.map +0 -1
  140. package/dist/vector-74GPNV7V.js +0 -13
  141. package/dist/vector-74GPNV7V.js.map +0 -1
  142. package/test/tsconfig.json +0 -4
@@ -1,332 +0,0 @@
1
- import {
2
- cr,
3
- pr
4
- } from "./chunk-UKKOYUGL.js";
5
- import {
6
- R,
7
- T,
8
- U,
9
- h,
10
- u,
11
- x
12
- } from "./chunk-3KTOEDFX.js";
13
- import "./chunk-7D4SUZUM.js";
14
-
15
- // ../../../node_modules/.pnpm/@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite/dist/fs/opfs-ahp.js
16
- u();
17
- var $ = "state.txt";
18
- var G = "data";
19
- var T2 = { DIR: 16384, FILE: 32768 };
20
- var H;
21
- var v;
22
- var F;
23
- var M;
24
- var y;
25
- var b;
26
- var m;
27
- var x2;
28
- var P;
29
- var D;
30
- var S;
31
- var n;
32
- var C;
33
- var O;
34
- var k;
35
- var w;
36
- var f;
37
- var I;
38
- var W;
39
- var j;
40
- var L = class extends cr {
41
- constructor(e, { initialPoolSize: t = 1e3, maintainedPoolSize: o = 100, debug: i = false } = {}) {
42
- super(e, { debug: i });
43
- R(this, n);
44
- R(this, H);
45
- R(this, v);
46
- R(this, F);
47
- R(this, M);
48
- R(this, y);
49
- R(this, b, /* @__PURE__ */ new Map());
50
- R(this, m, /* @__PURE__ */ new Map());
51
- R(this, x2, 0);
52
- R(this, P, /* @__PURE__ */ new Map());
53
- R(this, D, /* @__PURE__ */ new Map());
54
- this.lastCheckpoint = 0;
55
- this.checkpointInterval = 1e3 * 60;
56
- this.poolCounter = 0;
57
- R(this, S, /* @__PURE__ */ new Set());
58
- this.initialPoolSize = t, this.maintainedPoolSize = o;
59
- }
60
- async init(e, t) {
61
- return await T(this, n, C).call(this), super.init(e, t);
62
- }
63
- async syncToFs(e = false) {
64
- await this.maybeCheckpointState(), await this.maintainPool(), e || this.flush();
65
- }
66
- async closeFs() {
67
- for (let e of h(this, m).values()) e.close();
68
- h(this, y).flush(), h(this, y).close(), this.pg.Module.FS.quit();
69
- }
70
- async maintainPool(e) {
71
- e = e || this.maintainedPoolSize;
72
- let t = e - this.state.pool.length, o = [];
73
- for (let i = 0; i < t; i++) o.push(new Promise(async (c) => {
74
- ++this.poolCounter;
75
- let a = `${(Date.now() - 1704063600).toString(16).padStart(8, "0")}-${this.poolCounter.toString(16).padStart(8, "0")}`, h2 = await h(this, F).getFileHandle(a, { create: true }), d = await h2.createSyncAccessHandle();
76
- h(this, b).set(a, h2), h(this, m).set(a, d), T(this, n, k).call(this, { opp: "createPoolFile", args: [a] }), this.state.pool.push(a), c();
77
- }));
78
- for (let i = 0; i > t; i--) o.push(new Promise(async (c) => {
79
- let a = this.state.pool.pop();
80
- T(this, n, k).call(this, { opp: "deletePoolFile", args: [a] });
81
- let h2 = h(this, b).get(a);
82
- h(this, m).get(a)?.close(), await h(this, F).removeEntry(h2.name), h(this, b).delete(a), h(this, m).delete(a), c();
83
- }));
84
- await Promise.all(o);
85
- }
86
- _createPoolFileState(e) {
87
- this.state.pool.push(e);
88
- }
89
- _deletePoolFileState(e) {
90
- let t = this.state.pool.indexOf(e);
91
- t > -1 && this.state.pool.splice(t, 1);
92
- }
93
- async maybeCheckpointState() {
94
- Date.now() - this.lastCheckpoint > this.checkpointInterval && await this.checkpointState();
95
- }
96
- async checkpointState() {
97
- let e = new TextEncoder().encode(JSON.stringify(this.state));
98
- h(this, y).truncate(0), h(this, y).write(e, { at: 0 }), h(this, y).flush(), this.lastCheckpoint = Date.now();
99
- }
100
- flush() {
101
- for (let e of h(this, S)) try {
102
- e.flush();
103
- } catch {
104
- }
105
- h(this, S).clear();
106
- }
107
- chmod(e, t) {
108
- T(this, n, O).call(this, { opp: "chmod", args: [e, t] }, () => {
109
- this._chmodState(e, t);
110
- });
111
- }
112
- _chmodState(e, t) {
113
- let o = T(this, n, f).call(this, e);
114
- o.mode = t;
115
- }
116
- close(e) {
117
- let t = T(this, n, I).call(this, e);
118
- h(this, P).delete(e), h(this, D).delete(t);
119
- }
120
- fstat(e) {
121
- let t = T(this, n, I).call(this, e);
122
- return this.lstat(t);
123
- }
124
- lstat(e) {
125
- let t = T(this, n, f).call(this, e), o = t.type === "file" ? h(this, m).get(t.backingFilename).getSize() : 0, i = 4096;
126
- return { dev: 0, ino: 0, mode: t.mode, nlink: 1, uid: 0, gid: 0, rdev: 0, size: o, blksize: i, blocks: Math.ceil(o / i), atime: t.lastModified, mtime: t.lastModified, ctime: t.lastModified };
127
- }
128
- mkdir(e, t) {
129
- T(this, n, O).call(this, { opp: "mkdir", args: [e, t] }, () => {
130
- this._mkdirState(e, t);
131
- });
132
- }
133
- _mkdirState(e, t) {
134
- let o = T(this, n, w).call(this, e), i = o.pop(), c = [], a = this.state.root;
135
- for (let d of o) {
136
- if (c.push(e), !Object.prototype.hasOwnProperty.call(a.children, d)) if (t?.recursive) this.mkdir(c.join("/"));
137
- else throw new p("ENOENT", "No such file or directory");
138
- if (a.children[d].type !== "directory") throw new p("ENOTDIR", "Not a directory");
139
- a = a.children[d];
140
- }
141
- if (Object.prototype.hasOwnProperty.call(a.children, i)) throw new p("EEXIST", "File exists");
142
- let h2 = { type: "directory", lastModified: Date.now(), mode: t?.mode || T2.DIR, children: {} };
143
- a.children[i] = h2;
144
- }
145
- open(e, t, o) {
146
- if (T(this, n, f).call(this, e).type !== "file") throw new p("EISDIR", "Is a directory");
147
- let c = T(this, n, W).call(this);
148
- return h(this, P).set(c, e), h(this, D).set(e, c), c;
149
- }
150
- readdir(e) {
151
- let t = T(this, n, f).call(this, e);
152
- if (t.type !== "directory") throw new p("ENOTDIR", "Not a directory");
153
- return Object.keys(t.children);
154
- }
155
- read(e, t, o, i, c) {
156
- let a = T(this, n, I).call(this, e), h2 = T(this, n, f).call(this, a);
157
- if (h2.type !== "file") throw new p("EISDIR", "Is a directory");
158
- return h(this, m).get(h2.backingFilename).read(new Uint8Array(t.buffer, o, i), { at: c });
159
- }
160
- rename(e, t) {
161
- T(this, n, O).call(this, { opp: "rename", args: [e, t] }, () => {
162
- this._renameState(e, t, true);
163
- });
164
- }
165
- _renameState(e, t, o = false) {
166
- let i = T(this, n, w).call(this, e), c = i.pop(), a = T(this, n, f).call(this, i.join("/"));
167
- if (!Object.prototype.hasOwnProperty.call(a.children, c)) throw new p("ENOENT", "No such file or directory");
168
- let h2 = T(this, n, w).call(this, t), d = h2.pop(), l = T(this, n, f).call(this, h2.join("/"));
169
- if (o && Object.prototype.hasOwnProperty.call(l.children, d)) {
170
- let u2 = l.children[d];
171
- h(this, m).get(u2.backingFilename).truncate(0), this.state.pool.push(u2.backingFilename);
172
- }
173
- l.children[d] = a.children[c], delete a.children[c];
174
- }
175
- rmdir(e) {
176
- T(this, n, O).call(this, { opp: "rmdir", args: [e] }, () => {
177
- this._rmdirState(e);
178
- });
179
- }
180
- _rmdirState(e) {
181
- let t = T(this, n, w).call(this, e), o = t.pop(), i = T(this, n, f).call(this, t.join("/"));
182
- if (!Object.prototype.hasOwnProperty.call(i.children, o)) throw new p("ENOENT", "No such file or directory");
183
- let c = i.children[o];
184
- if (c.type !== "directory") throw new p("ENOTDIR", "Not a directory");
185
- if (Object.keys(c.children).length > 0) throw new p("ENOTEMPTY", "Directory not empty");
186
- delete i.children[o];
187
- }
188
- truncate(e, t = 0) {
189
- let o = T(this, n, f).call(this, e);
190
- if (o.type !== "file") throw new p("EISDIR", "Is a directory");
191
- let i = h(this, m).get(o.backingFilename);
192
- if (!i) throw new p("ENOENT", "No such file or directory");
193
- i.truncate(t), h(this, S).add(i);
194
- }
195
- unlink(e) {
196
- T(this, n, O).call(this, { opp: "unlink", args: [e] }, () => {
197
- this._unlinkState(e, true);
198
- });
199
- }
200
- _unlinkState(e, t = false) {
201
- let o = T(this, n, w).call(this, e), i = o.pop(), c = T(this, n, f).call(this, o.join("/"));
202
- if (!Object.prototype.hasOwnProperty.call(c.children, i)) throw new p("ENOENT", "No such file or directory");
203
- let a = c.children[i];
204
- if (a.type !== "file") throw new p("EISDIR", "Is a directory");
205
- if (delete c.children[i], t) {
206
- let h2 = h(this, m).get(a.backingFilename);
207
- h2?.truncate(0), h(this, S).add(h2), h(this, D).has(e) && (h(this, P).delete(h(this, D).get(e)), h(this, D).delete(e));
208
- }
209
- this.state.pool.push(a.backingFilename);
210
- }
211
- utimes(e, t, o) {
212
- T(this, n, O).call(this, { opp: "utimes", args: [e, t, o] }, () => {
213
- this._utimesState(e, t, o);
214
- });
215
- }
216
- _utimesState(e, t, o) {
217
- let i = T(this, n, f).call(this, e);
218
- i.lastModified = o;
219
- }
220
- writeFile(e, t, o) {
221
- let i = T(this, n, w).call(this, e), c = i.pop(), a = T(this, n, f).call(this, i.join("/"));
222
- if (Object.prototype.hasOwnProperty.call(a.children, c)) {
223
- let l = a.children[c];
224
- l.lastModified = Date.now(), T(this, n, k).call(this, { opp: "setLastModified", args: [e, l.lastModified] });
225
- } else {
226
- if (this.state.pool.length === 0) throw new Error("No more file handles available in the pool");
227
- let l = { type: "file", lastModified: Date.now(), mode: o?.mode || T2.FILE, backingFilename: this.state.pool.pop() };
228
- a.children[c] = l, T(this, n, k).call(this, { opp: "createFileNode", args: [e, l] });
229
- }
230
- let h2 = a.children[c], d = h(this, m).get(h2.backingFilename);
231
- t.length > 0 && (d.write(typeof t == "string" ? new TextEncoder().encode(t) : new Uint8Array(t), { at: 0 }), e.startsWith("/pg_wal") && h(this, S).add(d));
232
- }
233
- _createFileNodeState(e, t) {
234
- let o = T(this, n, w).call(this, e), i = o.pop(), c = T(this, n, f).call(this, o.join("/"));
235
- c.children[i] = t;
236
- let a = this.state.pool.indexOf(t.backingFilename);
237
- return a > -1 && this.state.pool.splice(a, 1), t;
238
- }
239
- _setLastModifiedState(e, t) {
240
- let o = T(this, n, f).call(this, e);
241
- o.lastModified = t;
242
- }
243
- write(e, t, o, i, c) {
244
- let a = T(this, n, I).call(this, e), h2 = T(this, n, f).call(this, a);
245
- if (h2.type !== "file") throw new p("EISDIR", "Is a directory");
246
- let d = h(this, m).get(h2.backingFilename);
247
- if (!d) throw new p("EBADF", "Bad file descriptor");
248
- let l = d.write(new Uint8Array(t, o, i), { at: c });
249
- return a.startsWith("/pg_wal") && h(this, S).add(d), l;
250
- }
251
- };
252
- H = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), F = /* @__PURE__ */ new WeakMap(), M = /* @__PURE__ */ new WeakMap(), y = /* @__PURE__ */ new WeakMap(), b = /* @__PURE__ */ new WeakMap(), m = /* @__PURE__ */ new WeakMap(), x2 = /* @__PURE__ */ new WeakMap(), P = /* @__PURE__ */ new WeakMap(), D = /* @__PURE__ */ new WeakMap(), S = /* @__PURE__ */ new WeakMap(), n = /* @__PURE__ */ new WeakSet(), C = async function() {
253
- x(this, H, await navigator.storage.getDirectory()), x(this, v, await T(this, n, j).call(this, this.dataDir, { create: true })), x(this, F, await T(this, n, j).call(this, G, { from: h(this, v), create: true })), x(this, M, await h(this, v).getFileHandle($, { create: true })), x(this, y, await h(this, M).createSyncAccessHandle());
254
- let e = new ArrayBuffer(h(this, y).getSize());
255
- h(this, y).read(e, { at: 0 });
256
- let t, o = new TextDecoder().decode(e).split(`
257
- `), i = false;
258
- try {
259
- t = JSON.parse(o[0]);
260
- } catch {
261
- t = { root: { type: "directory", lastModified: Date.now(), mode: T2.DIR, children: {} }, pool: [] }, h(this, y).truncate(0), h(this, y).write(new TextEncoder().encode(JSON.stringify(t)), { at: 0 }), i = true;
262
- }
263
- this.state = t;
264
- let c = o.slice(1).filter(Boolean).map((l) => JSON.parse(l));
265
- for (let l of c) {
266
- let u2 = `_${l.opp}State`;
267
- if (typeof this[u2] == "function") try {
268
- this[u2].bind(this)(...l.args);
269
- } catch (N) {
270
- console.warn("Error applying OPFS AHP WAL entry", l, N);
271
- }
272
- }
273
- let a = [], h2 = async (l) => {
274
- if (l.type === "file") try {
275
- let u2 = await h(this, F).getFileHandle(l.backingFilename), N = await u2.createSyncAccessHandle();
276
- h(this, b).set(l.backingFilename, u2), h(this, m).set(l.backingFilename, N);
277
- } catch (u2) {
278
- console.error("Error opening file handle for node", l, u2);
279
- }
280
- else for (let u2 of Object.values(l.children)) a.push(h2(u2));
281
- };
282
- await h2(this.state.root);
283
- let d = [];
284
- for (let l of this.state.pool) d.push(new Promise(async (u2) => {
285
- h(this, b).has(l) && console.warn("File handle already exists for pool file", l);
286
- let N = await h(this, F).getFileHandle(l), U2 = await N.createSyncAccessHandle();
287
- h(this, b).set(l, N), h(this, m).set(l, U2), u2();
288
- }));
289
- await Promise.all([...a, ...d]), await this.maintainPool(i ? this.initialPoolSize : this.maintainedPoolSize);
290
- }, O = function(e, t) {
291
- let o = T(this, n, k).call(this, e);
292
- try {
293
- t();
294
- } catch (i) {
295
- throw h(this, y).truncate(o), i;
296
- }
297
- }, k = function(e) {
298
- let t = JSON.stringify(e), o = new TextEncoder().encode(`
299
- ${t}`), i = h(this, y).getSize();
300
- return h(this, y).write(o, { at: i }), h(this, S).add(h(this, y)), i;
301
- }, w = function(e) {
302
- return e.split("/").filter(Boolean);
303
- }, f = function(e, t) {
304
- let o = T(this, n, w).call(this, e), i = t || this.state.root;
305
- for (let c of o) {
306
- if (i.type !== "directory") throw new p("ENOTDIR", "Not a directory");
307
- if (!Object.prototype.hasOwnProperty.call(i.children, c)) throw new p("ENOENT", "No such file or directory");
308
- i = i.children[c];
309
- }
310
- return i;
311
- }, I = function(e) {
312
- let t = h(this, P).get(e);
313
- if (!t) throw new p("EBADF", "Bad file descriptor");
314
- return t;
315
- }, W = function() {
316
- let e = ++U(this, x2)._;
317
- for (; h(this, P).has(e); ) U(this, x2)._++;
318
- return e;
319
- }, j = async function(e, t) {
320
- let o = T(this, n, w).call(this, e), i = t?.from || h(this, H);
321
- for (let c of o) i = await i.getDirectoryHandle(c, { create: t?.create });
322
- return i;
323
- };
324
- var p = class extends Error {
325
- constructor(A, e) {
326
- super(e), typeof A == "number" ? this.code = A : typeof A == "string" && (this.code = pr[A]);
327
- }
328
- };
329
- export {
330
- L as OpfsAhpFS
331
- };
332
- //# sourceMappingURL=opfs-ahp-NJO33LVZ.js.map
@@ -1 +0,0 @@
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":"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","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"]}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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"]}
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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"]}