@peerbit/indexer-sqlite3 1.0.0 → 1.0.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.
- package/dist/peerbit/sqlite3.min.js +11 -4
- package/dist/peerbit/sqlite3.worker.min.js +93 -41
- package/dist/src/sqlite3.browser.d.ts.map +1 -1
- package/dist/src/sqlite3.browser.js +2 -0
- package/dist/src/sqlite3.browser.js.map +1 -1
- package/dist/src/sqlite3.wasm.d.ts +4 -3
- package/dist/src/sqlite3.wasm.d.ts.map +1 -1
- package/dist/src/sqlite3.wasm.js +10 -54
- package/dist/src/sqlite3.wasm.js.map +1 -1
- package/dist/src/sqlite3.worker.js +2 -2
- package/dist/src/sqlite3.worker.js.map +1 -1
- package/dist/src/types.d.ts +2 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/sqlite3.browser.ts +4 -1
- package/src/sqlite3.wasm.ts +11 -56
- package/src/sqlite3.worker.ts +2 -2
- package/src/types.ts +2 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite3.browser.d.ts","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,KAAK,QAAQ,IAAI,SAAS,EAG1B,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite3.browser.d.ts","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"AAKA,OAAO,EACN,KAAK,QAAQ,IAAI,SAAS,EAG1B,MAAM,YAAY,CAAC;AAsOpB,QAAA,MAAM,MAAM,eAAgB,MAAM,KAAG,OAAO,CAAC,SAAS,CAOrD,CAAC;AACF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -7,11 +7,13 @@ class ProxyStatement {
|
|
|
7
7
|
send;
|
|
8
8
|
databaseId;
|
|
9
9
|
statementId;
|
|
10
|
+
id;
|
|
10
11
|
resolvers = {};
|
|
11
12
|
constructor(send, databaseId, statementId) {
|
|
12
13
|
this.send = send;
|
|
13
14
|
this.databaseId = databaseId;
|
|
14
15
|
this.statementId = statementId;
|
|
16
|
+
this.id = statementId;
|
|
15
17
|
}
|
|
16
18
|
async bind(values) {
|
|
17
19
|
await this.send({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite3.browser.js","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAIN,MAAM,YAAY,CAAC;AAEpB,MAAM,cAAc;
|
|
1
|
+
{"version":3,"file":"sqlite3.browser.js","sourceRoot":"","sources":["../../src/sqlite3.browser.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,9 @@ import { type Statement as IStatement, type StatementGetResult } from "./types.j
|
|
|
4
4
|
export declare const encodeName: (name: string) => string;
|
|
5
5
|
export declare const decodeName: (name: string) => string;
|
|
6
6
|
declare class Statement implements IStatement {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
readonly statement: SQLStatement;
|
|
8
|
+
readonly id: string;
|
|
9
|
+
constructor(statement: SQLStatement, id: string);
|
|
9
10
|
bind(values: any[]): Promise<this>;
|
|
10
11
|
finalize(): Promise<void>;
|
|
11
12
|
get(values?: BindableValue[]): StatementGetResult;
|
|
@@ -20,7 +21,7 @@ declare const create: (directory?: string) => Promise<{
|
|
|
20
21
|
close: () => Promise<any> | any;
|
|
21
22
|
exec: (sql: string) => SQLDatabase;
|
|
22
23
|
open: () => Promise<OpfsSAHPoolDatabase | SQLDatabase>;
|
|
23
|
-
prepare: (sql: string) => Statement;
|
|
24
|
+
prepare: (sql: string, id?: string) => Statement;
|
|
24
25
|
get(sql: string): SQLDatabase;
|
|
25
26
|
run(sql: string, bind: any[]): SQLDatabase;
|
|
26
27
|
status: () => "open" | "closed";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,mBAAmB,EAExB,KAAK,QAAQ,IAAI,WAAW,EAC5B,KAAK,iBAAiB,IAAI,YAAY,EAEtC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite3.wasm.d.ts","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,mBAAmB,EAExB,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,SAAU,MAAM,KAAG,MAKzC,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,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;IAMd,GAAG,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE;IAe5B,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;IAKrB,KAAK;IAKX,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE;;;IAa3B,IAAI;CAGJ;AAWD,QAAA,MAAM,MAAM,eAAsB,MAAM;iBAMrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG;gBAoCvB,MAAM;;mBAIH,MAAM,OAAO,MAAM;aASzB,MAAM;aAIN,MAAM,QAAQ,GAAG,EAAE;;;EAM7B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
package/dist/src/sqlite3.wasm.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { BinaryReader, BinaryWriter } from "@dao-xyz/borsh";
|
|
2
2
|
import { fromBase64URL, toBase64URL } from "@peerbit/crypto";
|
|
3
3
|
import { default as sqlite3InitModule, } from "@sqlite.org/sqlite-wasm";
|
|
4
|
+
import { v4 as uuid } from "uuid";
|
|
4
5
|
import {} from "./types.js";
|
|
5
|
-
/* import { v4 as uuid } from 'uuid';
|
|
6
|
-
*/
|
|
7
6
|
export const encodeName = (name) => {
|
|
8
7
|
// since "/" and perhaps other characters might not be allowed we do encode
|
|
9
8
|
const writer = new BinaryWriter();
|
|
@@ -17,8 +16,10 @@ export const decodeName = (name) => {
|
|
|
17
16
|
};
|
|
18
17
|
class Statement {
|
|
19
18
|
statement;
|
|
20
|
-
|
|
19
|
+
id;
|
|
20
|
+
constructor(statement, id) {
|
|
21
21
|
this.statement = statement;
|
|
22
|
+
this.id = id;
|
|
22
23
|
}
|
|
23
24
|
async bind(values) {
|
|
24
25
|
await this.statement.bind(values);
|
|
@@ -66,58 +67,10 @@ class Statement {
|
|
|
66
67
|
return this.statement.step();
|
|
67
68
|
}
|
|
68
69
|
}
|
|
69
|
-
/* export class Database implements IDatabase {
|
|
70
|
-
|
|
71
|
-
statements: Map<string, Statement> = new Map();
|
|
72
|
-
private db: SQLDatabase
|
|
73
|
-
constructor(private readonly _close?: () => Promise<any> | any) { }
|
|
74
|
-
|
|
75
|
-
async exec(sql: string) {
|
|
76
|
-
return this.db.exec(sql);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async prepare(sql: string) {
|
|
80
|
-
const statement = this.db.prepare(sql);
|
|
81
|
-
const wrappedStatement = new Statement(statement);
|
|
82
|
-
this.statements.set(sql, wrappedStatement)
|
|
83
|
-
return wrappedStatement
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
async close() {
|
|
87
|
-
await Promise.all([...this.statements.values()].map(x => x.finalize?.()))
|
|
88
|
-
await this.db.close();
|
|
89
|
-
await this._close?.()
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
async get(sql: string) {
|
|
93
|
-
return this.db.exec({ sql, rowMode: 'array' });
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
async run(sql: string, bind: any[]) {
|
|
97
|
-
return this.db.exec(sql, { bind, rowMode: 'array' });
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
*/
|
|
102
70
|
// eslint-disable-next-line no-console
|
|
103
71
|
const log = (...args) => console.log(...args);
|
|
104
72
|
// eslint-disable-next-line no-console
|
|
105
73
|
const error = (...args) => console.error(...args);
|
|
106
|
-
/* let initOpfsResult: Promise<{ sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>>,poolUtil: }> | undefined = undefined;
|
|
107
|
-
const initOpfs = async () => {
|
|
108
|
-
|
|
109
|
-
let sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>> = await sqlite3InitModule({
|
|
110
|
-
locateFile: (path, prefix) => {
|
|
111
|
-
|
|
112
|
-
return path;
|
|
113
|
-
}, print: log, printErr: error
|
|
114
|
-
});
|
|
115
|
-
let poolUtil = await sqlite3.installOpfsSAHPoolVfs({
|
|
116
|
-
directory: encodeName("helloworld")
|
|
117
|
-
});
|
|
118
|
-
|
|
119
|
-
return initOpfsResult || (initOpfsResult = { sqlite3, poolUtil })
|
|
120
|
-
} */
|
|
121
74
|
let poolUtil = undefined;
|
|
122
75
|
let sqlite3 = undefined;
|
|
123
76
|
const create = async (directory) => {
|
|
@@ -160,10 +113,13 @@ const create = async (directory) => {
|
|
|
160
113
|
return sqliteDb.exec(sql);
|
|
161
114
|
},
|
|
162
115
|
open,
|
|
163
|
-
prepare: (sql) => {
|
|
116
|
+
prepare: (sql, id) => {
|
|
117
|
+
if (id == null) {
|
|
118
|
+
id = uuid();
|
|
119
|
+
}
|
|
164
120
|
const statement = sqliteDb.prepare(sql);
|
|
165
|
-
const wrappedStatement = new Statement(statement);
|
|
166
|
-
statements.set(
|
|
121
|
+
const wrappedStatement = new Statement(statement, id);
|
|
122
|
+
statements.set(id, wrappedStatement);
|
|
167
123
|
return wrappedStatement;
|
|
168
124
|
},
|
|
169
125
|
get(sql) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAKN,OAAO,IAAI,iBAAiB,GAC5B,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite3.wasm.js","sourceRoot":"","sources":["../../src/sqlite3.wasm.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,8 +32,8 @@ class SqliteWorkerHandler {
|
|
|
32
32
|
return db.status();
|
|
33
33
|
}
|
|
34
34
|
else if (message.type === "prepare") {
|
|
35
|
-
const statementId = message.
|
|
36
|
-
await db.prepare(message.sql);
|
|
35
|
+
const statementId = message.id;
|
|
36
|
+
await db.prepare(message.sql, message.id);
|
|
37
37
|
// db.statements.get(statementId) -> statement, because sqlite3.wasm stores the statement in a map like this
|
|
38
38
|
return statementId;
|
|
39
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite3.worker.js","sourceRoot":"","sources":["../../src/sqlite3.worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,MAAM,mBAAmB;IACxB,SAAS,GAAoD,IAAI,GAAG,EAAE,CAAC;IAEvE,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,SAAkB;QAClD,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,SAAS,CACd,OAA+D;QAE/D,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACP,MAAM,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAClD,IAAI,CAAC,EAAE,EAAE,CAAC;gBACT,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC9B,OAAO,CAAC,gDAAgD;gBACzD,CAAC;gBAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/B,OAAO,QAAQ,CAAC;gBACjB,CAAC;gBAED,MAAM,IAAI,KAAK,CACd,8BAA8B;oBAC7B,OAAO,CAAC,UAAU;oBAClB,qBAAqB;oBACrB,OAAO,CAAC,IAAI,CACb,CAAC;YACH,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC7B,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"sqlite3.worker.js","sourceRoot":"","sources":["../../src/sqlite3.worker.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export type SQLite = {
|
|
|
4
4
|
};
|
|
5
5
|
export type Database = {
|
|
6
6
|
exec: (sql: string) => Promise<any> | any;
|
|
7
|
-
prepare: (sql: string,
|
|
7
|
+
prepare: (sql: string, id?: string) => Promise<Statement> | Statement;
|
|
8
8
|
close: (err?: (err: any) => any) => Promise<any> | any;
|
|
9
9
|
open(): Promise<any> | any;
|
|
10
10
|
status: () => Promise<"open" | "closed"> | "open" | "closed";
|
|
@@ -13,6 +13,7 @@ export type StatementGetResult = {
|
|
|
13
13
|
[key: string]: SQLLiteValue;
|
|
14
14
|
};
|
|
15
15
|
export type Statement = {
|
|
16
|
+
id: string;
|
|
16
17
|
bind: (values: BindableValue[], err?: (err: any) => any) => Promise<Statement> | Statement;
|
|
17
18
|
finalize?: (err?: (err: any) => any) => Promise<void> | void;
|
|
18
19
|
get: (values?: BindableValue[], err?: (err: any, row: any) => any) => Promise<StatementGetResult> | StatementGetResult;
|
package/dist/src/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE/D,MAAM,MAAM,MAAM,GAAG;IACpB,MAAM,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC1C,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACtE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACvD,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAC3B,MAAM,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,QAAQ,CAAC,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC7D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,CACL,MAAM,EAAE,aAAa,EAAE,EACvB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KACnB,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,GAAG,EAAE,CACJ,MAAM,CAAC,EAAE,aAAa,EAAE,EACxB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,KAC7B,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAAC;IACtD,GAAG,EAAE,CACJ,MAAM,EAAE,aAAa,EAAE,EACvB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KACnB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IACpE,GAAG,EAAE,CACJ,MAAM,EAAE,aAAa,EAAE,EACvB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,KAChC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;CACxB,CAAC"}
|
package/package.json
CHANGED
package/src/sqlite3.browser.ts
CHANGED
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from "./types.js";
|
|
11
11
|
|
|
12
12
|
class ProxyStatement implements IStatement {
|
|
13
|
+
id: string;
|
|
13
14
|
resolvers: {
|
|
14
15
|
[hash in string]: {
|
|
15
16
|
resolve: (...args: any) => void;
|
|
@@ -23,7 +24,9 @@ class ProxyStatement implements IStatement {
|
|
|
23
24
|
) => Promise<T>,
|
|
24
25
|
readonly databaseId: string,
|
|
25
26
|
readonly statementId: string,
|
|
26
|
-
) {
|
|
27
|
+
) {
|
|
28
|
+
this.id = statementId;
|
|
29
|
+
}
|
|
27
30
|
|
|
28
31
|
async bind(values: any[]) {
|
|
29
32
|
await this.send({
|
package/src/sqlite3.wasm.ts
CHANGED
|
@@ -7,14 +7,13 @@ import {
|
|
|
7
7
|
type PreparedStatement as SQLStatement,
|
|
8
8
|
default as sqlite3InitModule,
|
|
9
9
|
} from "@sqlite.org/sqlite-wasm";
|
|
10
|
+
import { v4 as uuid } from "uuid";
|
|
10
11
|
import type { BindableValue } from "./schema.js";
|
|
11
12
|
import {
|
|
12
13
|
type Statement as IStatement,
|
|
13
14
|
type StatementGetResult,
|
|
14
15
|
} from "./types.js";
|
|
15
16
|
|
|
16
|
-
/* import { v4 as uuid } from 'uuid';
|
|
17
|
-
*/
|
|
18
17
|
export const encodeName = (name: string): string => {
|
|
19
18
|
// since "/" and perhaps other characters might not be allowed we do encode
|
|
20
19
|
const writer = new BinaryWriter();
|
|
@@ -29,7 +28,10 @@ export const decodeName = (name: string): string => {
|
|
|
29
28
|
};
|
|
30
29
|
|
|
31
30
|
class Statement implements IStatement {
|
|
32
|
-
constructor(
|
|
31
|
+
constructor(
|
|
32
|
+
readonly statement: SQLStatement,
|
|
33
|
+
readonly id: string,
|
|
34
|
+
) {}
|
|
33
35
|
|
|
34
36
|
async bind(values: any[]) {
|
|
35
37
|
await this.statement.bind(values);
|
|
@@ -85,61 +87,11 @@ class Statement implements IStatement {
|
|
|
85
87
|
}
|
|
86
88
|
}
|
|
87
89
|
|
|
88
|
-
/* export class Database implements IDatabase {
|
|
89
|
-
|
|
90
|
-
statements: Map<string, Statement> = new Map();
|
|
91
|
-
private db: SQLDatabase
|
|
92
|
-
constructor(private readonly _close?: () => Promise<any> | any) { }
|
|
93
|
-
|
|
94
|
-
async exec(sql: string) {
|
|
95
|
-
return this.db.exec(sql);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
async prepare(sql: string) {
|
|
99
|
-
const statement = this.db.prepare(sql);
|
|
100
|
-
const wrappedStatement = new Statement(statement);
|
|
101
|
-
this.statements.set(sql, wrappedStatement)
|
|
102
|
-
return wrappedStatement
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
async close() {
|
|
106
|
-
await Promise.all([...this.statements.values()].map(x => x.finalize?.()))
|
|
107
|
-
await this.db.close();
|
|
108
|
-
await this._close?.()
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
async get(sql: string) {
|
|
112
|
-
return this.db.exec({ sql, rowMode: 'array' });
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
async run(sql: string, bind: any[]) {
|
|
116
|
-
return this.db.exec(sql, { bind, rowMode: 'array' });
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
*/
|
|
121
|
-
|
|
122
90
|
// eslint-disable-next-line no-console
|
|
123
91
|
const log = (...args: any) => console.log(...args);
|
|
124
92
|
// eslint-disable-next-line no-console
|
|
125
93
|
const error = (...args: any) => console.error(...args);
|
|
126
94
|
|
|
127
|
-
/* let initOpfsResult: Promise<{ sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>>,poolUtil: }> | undefined = undefined;
|
|
128
|
-
const initOpfs = async () => {
|
|
129
|
-
|
|
130
|
-
let sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>> = await sqlite3InitModule({
|
|
131
|
-
locateFile: (path, prefix) => {
|
|
132
|
-
|
|
133
|
-
return path;
|
|
134
|
-
}, print: log, printErr: error
|
|
135
|
-
});
|
|
136
|
-
let poolUtil = await sqlite3.installOpfsSAHPoolVfs({
|
|
137
|
-
directory: encodeName("helloworld")
|
|
138
|
-
});
|
|
139
|
-
|
|
140
|
-
return initOpfsResult || (initOpfsResult = { sqlite3, poolUtil })
|
|
141
|
-
} */
|
|
142
|
-
|
|
143
95
|
let poolUtil: SAHPoolUtil = undefined;
|
|
144
96
|
let sqlite3: Awaited<ReturnType<typeof sqlite3InitModule>> | undefined =
|
|
145
97
|
undefined;
|
|
@@ -190,10 +142,13 @@ const create = async (directory?: string) => {
|
|
|
190
142
|
return sqliteDb.exec(sql);
|
|
191
143
|
},
|
|
192
144
|
open,
|
|
193
|
-
prepare: (sql: string) => {
|
|
145
|
+
prepare: (sql: string, id?: string) => {
|
|
146
|
+
if (id == null) {
|
|
147
|
+
id = uuid();
|
|
148
|
+
}
|
|
194
149
|
const statement = sqliteDb.prepare(sql);
|
|
195
|
-
const wrappedStatement = new Statement(statement);
|
|
196
|
-
statements.set(
|
|
150
|
+
const wrappedStatement = new Statement(statement, id);
|
|
151
|
+
statements.set(id, wrappedStatement);
|
|
197
152
|
return wrappedStatement;
|
|
198
153
|
},
|
|
199
154
|
get(sql: string) {
|
package/src/sqlite3.worker.ts
CHANGED
|
@@ -38,8 +38,8 @@ class SqliteWorkerHandler {
|
|
|
38
38
|
} else if (message.type === "status") {
|
|
39
39
|
return db.status();
|
|
40
40
|
} else if (message.type === "prepare") {
|
|
41
|
-
const statementId = message.
|
|
42
|
-
await db.prepare(message.sql);
|
|
41
|
+
const statementId = message.id;
|
|
42
|
+
await db.prepare(message.sql, message.id);
|
|
43
43
|
// db.statements.get(statementId) -> statement, because sqlite3.wasm stores the statement in a map like this
|
|
44
44
|
return statementId;
|
|
45
45
|
} else if (message.type === "close") {
|
package/src/types.ts
CHANGED
|
@@ -6,10 +6,7 @@ export type SQLite = {
|
|
|
6
6
|
|
|
7
7
|
export type Database = {
|
|
8
8
|
exec: (sql: string) => Promise<any> | any;
|
|
9
|
-
prepare: (
|
|
10
|
-
sql: string,
|
|
11
|
-
err?: (err: any) => any,
|
|
12
|
-
) => Promise<Statement> | Statement;
|
|
9
|
+
prepare: (sql: string, id?: string) => Promise<Statement> | Statement;
|
|
13
10
|
close: (err?: (err: any) => any) => Promise<any> | any;
|
|
14
11
|
open(): Promise<any> | any;
|
|
15
12
|
status: () => Promise<"open" | "closed"> | "open" | "closed";
|
|
@@ -18,6 +15,7 @@ export type Database = {
|
|
|
18
15
|
export type StatementGetResult = { [key: string]: SQLLiteValue };
|
|
19
16
|
|
|
20
17
|
export type Statement = {
|
|
18
|
+
id: string;
|
|
21
19
|
bind: (
|
|
22
20
|
values: BindableValue[],
|
|
23
21
|
err?: (err: any) => any,
|