@tursodatabase/database-common 0.3.2 → 0.4.0-pre.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.
- package/dist/promise.d.ts +5 -2
- package/dist/promise.d.ts.map +1 -1
- package/dist/promise.js +16 -7
- package/package.json +1 -1
package/dist/promise.d.ts
CHANGED
|
@@ -10,10 +10,11 @@ declare class Database {
|
|
|
10
10
|
memory: boolean;
|
|
11
11
|
inTransaction: boolean;
|
|
12
12
|
private db;
|
|
13
|
+
private ioStep;
|
|
13
14
|
private execLock;
|
|
14
15
|
private _inTransaction;
|
|
15
16
|
protected connected: boolean;
|
|
16
|
-
constructor(db: NativeDatabase);
|
|
17
|
+
constructor(db: NativeDatabase, ioStep?: () => Promise<void>);
|
|
17
18
|
/**
|
|
18
19
|
* connect database
|
|
19
20
|
*/
|
|
@@ -74,7 +75,8 @@ declare class Statement {
|
|
|
74
75
|
private stmt;
|
|
75
76
|
private db;
|
|
76
77
|
private execLock;
|
|
77
|
-
|
|
78
|
+
private ioStep;
|
|
79
|
+
constructor(stmt: MaybeLazy<NativeStatement>, db: NativeDatabase, execLock: AsyncLock, ioStep: () => Promise<void>);
|
|
78
80
|
/**
|
|
79
81
|
* Toggle raw mode.
|
|
80
82
|
*
|
|
@@ -127,6 +129,7 @@ declare class Statement {
|
|
|
127
129
|
* @param bindParameters - The bind parameters for executing the statement.
|
|
128
130
|
*/
|
|
129
131
|
all(...bindParameters: any[]): Promise<any[]>;
|
|
132
|
+
io(): Promise<void>;
|
|
130
133
|
/**
|
|
131
134
|
* Interrupts the statement.
|
|
132
135
|
*/
|
package/dist/promise.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../promise.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,cAAc,EAAE,eAAe,EAA8C,MAAM,YAAY,CAAC;AAyBzG;;GAEG;AACH,cAAM,QAAQ;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,OAAO,CAAC,EAAE,CAAiB;IAC3B,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,cAAc,CAAkB;IACxC,SAAS,CAAC,SAAS,EAAE,OAAO,CAAS;gBAEzB,EAAE,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../promise.ts"],"names":[],"mappings":"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"}
|
package/dist/promise.js
CHANGED
|
@@ -27,12 +27,14 @@ class Database {
|
|
|
27
27
|
memory;
|
|
28
28
|
inTransaction;
|
|
29
29
|
db;
|
|
30
|
+
ioStep;
|
|
30
31
|
execLock;
|
|
31
32
|
_inTransaction = false;
|
|
32
33
|
connected = false;
|
|
33
|
-
constructor(db) {
|
|
34
|
+
constructor(db, ioStep) {
|
|
34
35
|
this.db = db;
|
|
35
36
|
this.execLock = new AsyncLock();
|
|
37
|
+
this.ioStep = ioStep ?? (async () => { });
|
|
36
38
|
Object.defineProperties(this, {
|
|
37
39
|
name: { get: () => this.db.path },
|
|
38
40
|
readonly: { get: () => this.db.readonly },
|
|
@@ -62,10 +64,10 @@ class Database {
|
|
|
62
64
|
}
|
|
63
65
|
try {
|
|
64
66
|
if (this.connected) {
|
|
65
|
-
return new Statement(maybeValue(this.db.prepare(sql)), this.db, this.execLock);
|
|
67
|
+
return new Statement(maybeValue(this.db.prepare(sql)), this.db, this.execLock, this.ioStep);
|
|
66
68
|
}
|
|
67
69
|
else {
|
|
68
|
-
return new Statement(maybePromise(() => this.connect().then(() => this.db.prepare(sql))), this.db, this.execLock);
|
|
70
|
+
return new Statement(maybePromise(() => this.connect().then(() => this.db.prepare(sql))), this.db, this.execLock, this.ioStep);
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
catch (err) {
|
|
@@ -163,6 +165,7 @@ class Database {
|
|
|
163
165
|
const stepResult = exec.stepSync();
|
|
164
166
|
if (stepResult === STEP_IO) {
|
|
165
167
|
await this.db.ioLoopAsync();
|
|
168
|
+
await this.ioStep();
|
|
166
169
|
continue;
|
|
167
170
|
}
|
|
168
171
|
if (stepResult === STEP_DONE) {
|
|
@@ -247,10 +250,12 @@ class Statement {
|
|
|
247
250
|
stmt;
|
|
248
251
|
db;
|
|
249
252
|
execLock;
|
|
250
|
-
|
|
253
|
+
ioStep;
|
|
254
|
+
constructor(stmt, db, execLock, ioStep) {
|
|
251
255
|
this.stmt = stmt;
|
|
252
256
|
this.db = db;
|
|
253
257
|
this.execLock = execLock;
|
|
258
|
+
this.ioStep = ioStep;
|
|
254
259
|
}
|
|
255
260
|
/**
|
|
256
261
|
* Toggle raw mode.
|
|
@@ -308,7 +313,7 @@ class Statement {
|
|
|
308
313
|
while (true) {
|
|
309
314
|
const stepResult = await stmt.stepSync();
|
|
310
315
|
if (stepResult === STEP_IO) {
|
|
311
|
-
await this.
|
|
316
|
+
await this.io();
|
|
312
317
|
continue;
|
|
313
318
|
}
|
|
314
319
|
if (stepResult === STEP_DONE) {
|
|
@@ -341,7 +346,7 @@ class Statement {
|
|
|
341
346
|
while (true) {
|
|
342
347
|
const stepResult = await stmt.stepSync();
|
|
343
348
|
if (stepResult === STEP_IO) {
|
|
344
|
-
await this.
|
|
349
|
+
await this.io();
|
|
345
350
|
continue;
|
|
346
351
|
}
|
|
347
352
|
if (stepResult === STEP_DONE) {
|
|
@@ -401,7 +406,7 @@ class Statement {
|
|
|
401
406
|
while (true) {
|
|
402
407
|
const stepResult = await stmt.stepSync();
|
|
403
408
|
if (stepResult === STEP_IO) {
|
|
404
|
-
await this.
|
|
409
|
+
await this.io();
|
|
405
410
|
continue;
|
|
406
411
|
}
|
|
407
412
|
if (stepResult === STEP_DONE) {
|
|
@@ -418,6 +423,10 @@ class Statement {
|
|
|
418
423
|
this.execLock.release();
|
|
419
424
|
}
|
|
420
425
|
}
|
|
426
|
+
async io() {
|
|
427
|
+
await this.db.ioLoopAsync();
|
|
428
|
+
await this.ioStep();
|
|
429
|
+
}
|
|
421
430
|
/**
|
|
422
431
|
* Interrupts the statement.
|
|
423
432
|
*/
|