@peerbit/indexer-sqlite3 1.3.1 → 1.3.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EAEtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AAWD,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM;iBAqFrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBAuCvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EACtC,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EACN,KAAK,SAAS,IAAI,UAAU,EAC5B,KAAK,kBAAkB,EACvB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAIzC,CAAC;AAEF,cAAM,SAAU,YAAW,UAAU;IAEnC,QAAQ,CAAC,SAAS,EAAE,YAAY;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM;gBADV,SAAS,EAAE,YAAY,EACvB,EAAE,EAAE,MAAM;IAGd,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;IAKlB,QAAQ;IAOd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IA2BX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AAmDD,QAAA,MAAM,MAAM,GAAU,YAAY,MAAM;iBAsFrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBA2CvB,MAAM;;;mBAKG,MAAM,OAAO,MAAM;aAe/B,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
2
2
  import { fromBase64URL, toBase64URL } from "@peerbit/crypto";
3
- import { default as sqlite3InitModule, } from "@sqlite.org/sqlite-wasm";
3
+ import {} from "@sqlite.org/sqlite-wasm";
4
4
  import { v4 as uuid } from "uuid";
5
5
  import {} from "./types.js";
6
6
  export const encodeName = (name) => {
@@ -91,16 +91,41 @@ class Statement {
91
91
  const log = (...args) => console.log(...args);
92
92
  // eslint-disable-next-line no-console
93
93
  const error = (...args) => console.error(...args);
94
+ const SQLITE3_ASSET_BASE = "/peerbit/sqlite3";
95
+ const SQLITE3_ASSET_DIR = `${SQLITE3_ASSET_BASE}/`;
96
+ const SQLITE3_WASM_PATH = `${SQLITE3_ASSET_BASE}/sqlite3.wasm`;
97
+ let sqlite3InitModulePromise;
98
+ const ensureSqlite3InitModuleState = () => {
99
+ const globalWithSqlite = globalThis;
100
+ const existing = globalWithSqlite.sqlite3InitModuleState ?? {};
101
+ const debugModule = typeof existing.debugModule === "function"
102
+ ? existing.debugModule
103
+ : () => { };
104
+ existing.debugModule = debugModule;
105
+ existing.wasmFilename = SQLITE3_WASM_PATH;
106
+ existing.sqlite3Dir = SQLITE3_ASSET_DIR;
107
+ globalWithSqlite.sqlite3InitModuleState = existing;
108
+ };
109
+ const loadSqlite3InitModule = async () => {
110
+ if (!sqlite3InitModulePromise) {
111
+ sqlite3InitModulePromise = import("@sqlite.org/sqlite-wasm").then((mod) => mod.default);
112
+ }
113
+ const sqlite3InitModule = await sqlite3InitModulePromise;
114
+ // sqlite-wasm reads sqlite3InitModuleState when sqlite3InitModule() runs.
115
+ ensureSqlite3InitModuleState();
116
+ return sqlite3InitModule;
117
+ };
94
118
  let poolUtil = undefined;
95
119
  let sqlite3 = undefined;
96
120
  const create = async (directory) => {
97
121
  let statements = new Map();
122
+ const sqlite3InitModule = await loadSqlite3InitModule();
98
123
  sqlite3 =
99
124
  sqlite3 ||
100
125
  (await sqlite3InitModule({
101
126
  print: log,
102
127
  printErr: error,
103
- locateFile: (file) => `/peerbit/sqlite3/${file}`,
128
+ locateFile: (file) => `${SQLITE3_ASSET_BASE}/${file}`,
104
129
  }));
105
130
  let sqliteDb = undefined;
106
131
  let closeInternal = async () => {
@@ -193,17 +218,20 @@ const create = async (directory) => {
193
218
  directory = directory.replace(/^\./, "");
194
219
  dbFileName = `${directory}/db.sqlite`;
195
220
  const poolDirectory = `${directory}/peerbit/sqlite-opfs-pool`; // we do a unique directory else we will get problem open a client in multiple tabs
196
- poolUtil =
197
- poolUtil ||
198
- (await sqlite3.installOpfsSAHPoolVfs({
199
- directory: poolDirectory,
200
- }));
201
- await poolUtil.reserveMinimumCapacity(100);
202
- sqliteDb = new poolUtil.OpfsSAHPoolDb(dbFileName);
221
+ const activePoolUtil = poolUtil ||
222
+ (await sqlite3.installOpfsSAHPoolVfs({
223
+ directory: poolDirectory,
224
+ }));
225
+ poolUtil = activePoolUtil;
226
+ await activePoolUtil.reserveMinimumCapacity(100);
227
+ sqliteDb = new activePoolUtil.OpfsSAHPoolDb(dbFileName);
203
228
  }
204
229
  else {
205
230
  sqliteDb = new sqlite3.oo1.DB(":memory:");
206
231
  }
232
+ if (!sqliteDb) {
233
+ throw new Error("Failed to open sqlite database");
234
+ }
207
235
  sqliteDb.exec("PRAGMA journal_mode = WAL");
208
236
  sqliteDb.exec("PRAGMA foreign_keys = on");
209
237
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peerbit/indexer-sqlite3",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "SQLite index for document store",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -67,8 +67,8 @@
67
67
  "uuid": "^10.0.0",
68
68
  "libsodium-wrappers": "^0.7.15",
69
69
  "@peerbit/indexer-interface": "2.1.0",
70
- "@peerbit/time": "2.3.0",
71
- "@peerbit/crypto": "2.4.0"
70
+ "@peerbit/crypto": "2.4.0",
71
+ "@peerbit/time": "2.3.0"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@types/better-sqlite3": "^7.6.13",
@@ -5,7 +5,6 @@ import {
5
5
  type SAHPoolUtil,
6
6
  type Database as SQLDatabase,
7
7
  type PreparedStatement as SQLStatement,
8
- default as sqlite3InitModule,
9
8
  } from "@sqlite.org/sqlite-wasm";
10
9
  import { v4 as uuid } from "uuid";
11
10
  import type { BindableValue } from "./schema.js";
@@ -115,19 +114,60 @@ const log = (...args: any) => console.log(...args);
115
114
  // eslint-disable-next-line no-console
116
115
  const error = (...args: any) => console.error(...args);
117
116
 
117
+ type Sqlite3InitModule = typeof import("@sqlite.org/sqlite-wasm").default;
118
+ type Sqlite3Module = Awaited<ReturnType<Sqlite3InitModule>>;
119
+ type Sqlite3InitModuleState = {
120
+ debugModule?: (...args: unknown[]) => void;
121
+ wasmFilename?: string;
122
+ sqlite3Dir?: string;
123
+ };
124
+
125
+ const SQLITE3_ASSET_BASE = "/peerbit/sqlite3";
126
+ const SQLITE3_ASSET_DIR = `${SQLITE3_ASSET_BASE}/`;
127
+ const SQLITE3_WASM_PATH = `${SQLITE3_ASSET_BASE}/sqlite3.wasm`;
128
+
129
+ let sqlite3InitModulePromise: Promise<Sqlite3InitModule> | undefined;
130
+
131
+ const ensureSqlite3InitModuleState = () => {
132
+ const globalWithSqlite = globalThis as typeof globalThis & {
133
+ sqlite3InitModuleState?: Sqlite3InitModuleState;
134
+ };
135
+ const existing = globalWithSqlite.sqlite3InitModuleState ?? {};
136
+ const debugModule =
137
+ typeof existing.debugModule === "function"
138
+ ? existing.debugModule
139
+ : () => {};
140
+ existing.debugModule = debugModule;
141
+ existing.wasmFilename = SQLITE3_WASM_PATH;
142
+ existing.sqlite3Dir = SQLITE3_ASSET_DIR;
143
+ globalWithSqlite.sqlite3InitModuleState = existing;
144
+ };
145
+
146
+ const loadSqlite3InitModule = async (): Promise<Sqlite3InitModule> => {
147
+ if (!sqlite3InitModulePromise) {
148
+ sqlite3InitModulePromise = import("@sqlite.org/sqlite-wasm").then(
149
+ (mod) => mod.default,
150
+ );
151
+ }
152
+ const sqlite3InitModule = await sqlite3InitModulePromise;
153
+ // sqlite-wasm reads sqlite3InitModuleState when sqlite3InitModule() runs.
154
+ ensureSqlite3InitModuleState();
155
+ return sqlite3InitModule;
156
+ };
157
+
118
158
  let poolUtil: SAHPoolUtil | undefined = undefined;
119
- let sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>> | undefined =
120
- undefined;
159
+ let sqlite3: Sqlite3Module | undefined = undefined;
121
160
 
122
161
  const create = async (directory?: string) => {
123
162
  let statements: Map<string, Statement> = new Map();
124
163
 
164
+ const sqlite3InitModule = await loadSqlite3InitModule();
125
165
  sqlite3 =
126
166
  sqlite3 ||
127
167
  (await sqlite3InitModule({
128
168
  print: log,
129
169
  printErr: error,
130
- locateFile: (file: string) => `/peerbit/sqlite3/${file}`,
170
+ locateFile: (file: string) => `${SQLITE3_ASSET_BASE}/${file}`,
131
171
  }));
132
172
  let sqliteDb: OpfsSAHPoolDatabase | SQLDatabase | undefined = undefined;
133
173
  let closeInternal = async () => {
@@ -225,18 +265,22 @@ const create = async (directory?: string) => {
225
265
 
226
266
  dbFileName = `${directory}/db.sqlite`;
227
267
  const poolDirectory = `${directory}/peerbit/sqlite-opfs-pool`; // we do a unique directory else we will get problem open a client in multiple tabs
228
- poolUtil =
268
+ const activePoolUtil =
229
269
  poolUtil ||
230
270
  (await sqlite3!.installOpfsSAHPoolVfs({
231
271
  directory: poolDirectory,
232
272
  }));
273
+ poolUtil = activePoolUtil;
233
274
 
234
- await poolUtil.reserveMinimumCapacity(100);
235
- sqliteDb = new poolUtil.OpfsSAHPoolDb(dbFileName);
275
+ await activePoolUtil.reserveMinimumCapacity(100);
276
+ sqliteDb = new activePoolUtil.OpfsSAHPoolDb(dbFileName);
236
277
  } else {
237
278
  sqliteDb = new sqlite3!.oo1.DB(":memory:");
238
279
  }
239
280
 
281
+ if (!sqliteDb) {
282
+ throw new Error("Failed to open sqlite database");
283
+ }
240
284
  sqliteDb.exec("PRAGMA journal_mode = WAL");
241
285
  sqliteDb.exec("PRAGMA foreign_keys = on");
242
286
  };