firebird-wasm 0.6.0 → 0.7.0
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/CHANGELOG.md +103 -0
- package/README.md +4 -3
- package/dist/.tsbuildinfo.build +1 -1
- package/dist/batch-block.d.ts +60 -0
- package/dist/batch-block.d.ts.map +1 -0
- package/dist/batch-block.js +176 -0
- package/dist/batch-block.js.map +1 -0
- package/dist/browser/db-lock.d.ts +11 -4
- package/dist/browser/db-lock.d.ts.map +1 -1
- package/dist/browser/db-lock.js +60 -10
- package/dist/browser/db-lock.js.map +1 -1
- package/dist/browser/engine-transport.d.ts +20 -2
- package/dist/browser/engine-transport.d.ts.map +1 -1
- package/dist/browser/engine-transport.js +107 -17
- package/dist/browser/engine-transport.js.map +1 -1
- package/dist/browser/firebird-browser.d.ts +14 -6
- package/dist/browser/firebird-browser.d.ts.map +1 -1
- package/dist/browser/firebird-browser.js +23 -13
- package/dist/browser/firebird-browser.js.map +1 -1
- package/dist/browser/index.d.ts +3 -0
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +10 -4
- package/dist/browser/index.js.map +1 -1
- package/dist/firebird.d.ts +16 -0
- package/dist/firebird.d.ts.map +1 -1
- package/dist/firebird.js +136 -2
- package/dist/firebird.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/version.d.ts +7 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +10 -0
- package/dist/version.js.map +1 -0
- package/dist/wasm/firebird-embedded-st.js +5 -0
- package/dist/wasm/firebird-embedded-st.wasm +0 -0
- package/dist/wasm/firebird-embedded.js +4 -1
- package/dist/wasm/firebird-embedded.wasm +0 -0
- package/dist/wasm-loader.d.ts +82 -0
- package/dist/wasm-loader.d.ts.map +1 -1
- package/dist/wasm-loader.js +101 -9
- package/dist/wasm-loader.js.map +1 -1
- package/package.json +3 -1
- package/dist/browser/statement-types.d.ts +0 -18
- package/dist/browser/statement-types.d.ts.map +0 -1
- package/dist/browser/statement-types.js +0 -39
- package/dist/browser/statement-types.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-block.js","sourceRoot":"","sources":["../src/batch-block.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;;AA0BH,gDA2CC;AAWD,wCAwDC;AAOD,gCAqBC;AAhJD;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,GAAW;IAC5C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,EAAE,CAAC;QACN,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,+DAA+D;YAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACxB,MAAM,KAAK,GAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAA6B,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;YACnG,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,IAAI,GAAG,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,iEAAiE;YACjE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,SAAS,CAAC;gBACR,IAAI,CAAC,IAAI,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC7B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjB,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;wBACrB,CAAC,IAAI,CAAC,CAAC;wBACP,SAAS;oBACX,CAAC;oBACD,MAAM;gBACR,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;YACD,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACZ,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC9B,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACN,CAAC,EAAE,CAAC;QACN,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,CAAqB;IACvC,OAAO,CAAC,KAAK,SAAS,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,SAAgB,cAAc,CAC5B,CAAkB,EAClB,QAA2C;IAE3C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE,CACnD,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,SAAS,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;IAE7D,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;QACpB,KAAK,GAAG,CAAC,CAAC,cAAc;QACxB,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,WAAW;YACX,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,iBAAiB,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACvE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,mBAAmB,EAAE,CAAC,IAAI,EAAE,CAAC;QAC5F,CAAC;QACD,KAAK,GAAG;YACN,OAAO,kBAAkB,CAAC;QAC5B,KAAK,GAAG;YACN,OAAO,OAAO,CAAC;QACjB,KAAK,GAAG;YACN,OAAO,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAChC,KAAK,GAAG;YACN,OAAO,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC/B,KAAK,GAAG;YACN,OAAO,WAAW,CAAC;QACrB,KAAK,GAAG;YACN,OAAO,MAAM,CAAC;QAChB,KAAK,GAAG;YACN,OAAO,MAAM,CAAC;QAChB,KAAK,KAAK,CAAC,CAAC,sBAAsB;QAClC,KAAK,KAAK;YACR,OAAO,0BAA0B,CAAC;QACpC,KAAK,KAAK,CAAC,CAAC,iBAAiB;QAC7B,KAAK,KAAK;YACR,OAAO,qBAAqB,CAAC;QAC/B,KAAK,KAAK;YACR,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,cAAc,CAAC;QACxB,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB,KAAK,GAAG,CAAC,CAAC,CAAC;YACT,WAAW;YACX,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;gBAAE,OAAO,iBAAiB,CAAC,CAAC,OAAO,EAAE,CAAC;YACzD,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,CAAC,oCAAoC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACxE,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,UAAU,CAAC,GAAW,EAAE,OAAiB,EAAE,KAAe,EAAE,IAAY;IACtF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACxC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAChF,CAAC"}
|
|
@@ -59,17 +59,24 @@ export interface DatabaseLockOptions {
|
|
|
59
59
|
*/
|
|
60
60
|
onUnavailable?: (message: string) => void;
|
|
61
61
|
}
|
|
62
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Thrown when the database is already open: in another tab that did not
|
|
64
|
+
* release it in time, or by another instance in this very page.
|
|
65
|
+
*/
|
|
63
66
|
export declare class DatabaseLockedError extends Error {
|
|
64
67
|
/** The logical database name that is held elsewhere. */
|
|
65
68
|
readonly dbName: string;
|
|
66
|
-
/** How long we waited, in milliseconds. */
|
|
69
|
+
/** How long we waited, in milliseconds (0 when it is held in this page). */
|
|
67
70
|
readonly waitedMs: number;
|
|
71
|
+
/** Where it is held: another tab or worker, or this page itself. */
|
|
72
|
+
readonly heldBy: 'other' | 'this-page';
|
|
68
73
|
constructor(
|
|
69
74
|
/** The logical database name that is held elsewhere. */
|
|
70
75
|
dbName: string,
|
|
71
|
-
/** How long we waited, in milliseconds. */
|
|
72
|
-
waitedMs: number
|
|
76
|
+
/** How long we waited, in milliseconds (0 when it is held in this page). */
|
|
77
|
+
waitedMs: number,
|
|
78
|
+
/** Where it is held: another tab or worker, or this page itself. */
|
|
79
|
+
heldBy?: 'other' | 'this-page');
|
|
73
80
|
}
|
|
74
81
|
/** Lock names are namespaced so they cannot collide with an app's own locks. */
|
|
75
82
|
export declare function databaseLockName(dbName: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-lock.d.ts","sourceRoot":"","sources":["../../src/browser/db-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAMH,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED
|
|
1
|
+
{"version":3,"file":"db-lock.d.ts","sourceRoot":"","sources":["../../src/browser/db-lock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAMH,6DAA6D;AAC7D,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,sDAAsD;IACtD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED;;;GAGG;AACH,qBAAa,mBAAoB,SAAQ,KAAK;IAE1C,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,oEAAoE;IACpE,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW;;IALtC,wDAAwD;IAC/C,MAAM,EAAE,MAAM;IACvB,4EAA4E;IACnE,QAAQ,EAAE,MAAM;IACzB,oEAAoE;IAC3D,MAAM,GAAE,OAAO,GAAG,WAAqB;CAiBnD;AAiBD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvD;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAevB"}
|
package/dist/browser/db-lock.js
CHANGED
|
@@ -33,20 +33,32 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
33
33
|
exports.DatabaseLockedError = void 0;
|
|
34
34
|
exports.databaseLockName = databaseLockName;
|
|
35
35
|
exports.acquireDatabaseLock = acquireDatabaseLock;
|
|
36
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Thrown when the database is already open: in another tab that did not
|
|
38
|
+
* release it in time, or by another instance in this very page.
|
|
39
|
+
*/
|
|
37
40
|
class DatabaseLockedError extends Error {
|
|
38
41
|
constructor(
|
|
39
42
|
/** The logical database name that is held elsewhere. */
|
|
40
43
|
dbName,
|
|
41
|
-
/** How long we waited, in milliseconds. */
|
|
42
|
-
waitedMs
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
`
|
|
47
|
-
|
|
44
|
+
/** How long we waited, in milliseconds (0 when it is held in this page). */
|
|
45
|
+
waitedMs,
|
|
46
|
+
/** Where it is held: another tab or worker, or this page itself. */
|
|
47
|
+
heldBy = 'other') {
|
|
48
|
+
super(heldBy === 'this-page'
|
|
49
|
+
? `Database "${dbName}" is already open in this page, by another ` +
|
|
50
|
+
`FirebirdBrowser that has not been closed. Both would use the one ` +
|
|
51
|
+
`file and each persist its own view of it, so one would silently ` +
|
|
52
|
+
`discard the other's writes. Share the open instance, or close() ` +
|
|
53
|
+
`it before opening the name again.`
|
|
54
|
+
: `Database "${dbName}" is already open in another tab or worker ` +
|
|
55
|
+
`(waited ${waitedMs}ms). Each tab keeps its own full copy of the ` +
|
|
56
|
+
`database, so allowing both would silently discard one tab's writes. ` +
|
|
57
|
+
`Close the other tab, or pass multiTab: 'allow-unsafe' if you are ` +
|
|
58
|
+
`certain only one of them writes.`);
|
|
48
59
|
this.dbName = dbName;
|
|
49
60
|
this.waitedMs = waitedMs;
|
|
61
|
+
this.heldBy = heldBy;
|
|
50
62
|
this.name = 'DatabaseLockedError';
|
|
51
63
|
}
|
|
52
64
|
}
|
|
@@ -55,6 +67,14 @@ exports.DatabaseLockedError = DatabaseLockedError;
|
|
|
55
67
|
// Implementation
|
|
56
68
|
// ---------------------------------------------------------------------------
|
|
57
69
|
const DEFAULT_TIMEOUT_MS = 5000;
|
|
70
|
+
/**
|
|
71
|
+
* The databases this realm (a page, a worker, a Node process) holds. Web
|
|
72
|
+
* Locks cannot tell a second instance in this page from another tab, so it
|
|
73
|
+
* would wait out the timeout and blame "another tab"; and where Web Locks are
|
|
74
|
+
* missing, as in Node, nothing would stop it at all. This page knows what it
|
|
75
|
+
* holds, so it refuses at once and says so.
|
|
76
|
+
*/
|
|
77
|
+
const heldHere = new Set();
|
|
58
78
|
/** Lock names are namespaced so they cannot collide with an app's own locks. */
|
|
59
79
|
function databaseLockName(dbName) {
|
|
60
80
|
return `firebird-wasm:db:${dbName}`;
|
|
@@ -81,12 +101,28 @@ function locksAvailable() {
|
|
|
81
101
|
*/
|
|
82
102
|
async function acquireDatabaseLock(dbName, options = {}) {
|
|
83
103
|
const timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
104
|
+
if (heldHere.has(dbName)) {
|
|
105
|
+
throw new DatabaseLockedError(dbName, 0, 'this-page');
|
|
106
|
+
}
|
|
107
|
+
// Reserved now, not once granted: a second instance racing this one is in
|
|
108
|
+
// this page too, and must be told so rather than queue behind it.
|
|
109
|
+
heldHere.add(dbName);
|
|
110
|
+
try {
|
|
111
|
+
return await acquireCrossTab(dbName, timeoutMs, options);
|
|
112
|
+
}
|
|
113
|
+
catch (err) {
|
|
114
|
+
heldHere.delete(dbName);
|
|
115
|
+
throw err;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/** The cross-tab half of {@link acquireDatabaseLock}: the Web Lock itself. */
|
|
119
|
+
async function acquireCrossTab(dbName, timeoutMs, options) {
|
|
84
120
|
if (!locksAvailable()) {
|
|
85
121
|
const warn = options.onUnavailable ?? ((m) => console.warn(m));
|
|
86
122
|
warn('[firebird-wasm] the Web Locks API is unavailable, so concurrent tabs ' +
|
|
87
123
|
'cannot be detected. Opening the same database in two places will ' +
|
|
88
124
|
'silently lose writes.');
|
|
89
|
-
return { enforced: false, release: async () => { } };
|
|
125
|
+
return holdHere(dbName, { enforced: false, release: async () => { } });
|
|
90
126
|
}
|
|
91
127
|
const name = databaseLockName(dbName);
|
|
92
128
|
const startedAt = nowMs();
|
|
@@ -132,7 +168,7 @@ async function acquireDatabaseLock(dbName, options = {}) {
|
|
|
132
168
|
if (timer !== null)
|
|
133
169
|
clearTimeout(timer);
|
|
134
170
|
let released = false;
|
|
135
|
-
return {
|
|
171
|
+
return holdHere(dbName, {
|
|
136
172
|
enforced: true,
|
|
137
173
|
release: async () => {
|
|
138
174
|
if (released)
|
|
@@ -143,6 +179,20 @@ async function acquireDatabaseLock(dbName, options = {}) {
|
|
|
143
179
|
// resolves: a caller that reopens immediately must not race itself.
|
|
144
180
|
await done.catch(() => { });
|
|
145
181
|
},
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
/** Keep `dbName` recorded as held in this realm until `lock` is released. */
|
|
185
|
+
function holdHere(dbName, lock) {
|
|
186
|
+
let released = false;
|
|
187
|
+
return {
|
|
188
|
+
enforced: lock.enforced,
|
|
189
|
+
release: async () => {
|
|
190
|
+
if (released)
|
|
191
|
+
return;
|
|
192
|
+
released = true;
|
|
193
|
+
heldHere.delete(dbName);
|
|
194
|
+
await lock.release();
|
|
195
|
+
},
|
|
146
196
|
};
|
|
147
197
|
}
|
|
148
198
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-lock.js","sourceRoot":"","sources":["../../src/browser/db-lock.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;
|
|
1
|
+
{"version":3,"file":"db-lock.js","sourceRoot":"","sources":["../../src/browser/db-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* Every method is async so the two are interchangeable, even though the direct
|
|
19
19
|
* one never actually suspends.
|
|
20
20
|
*/
|
|
21
|
-
import type { Row, QueryResult, QueryDescription, QueryParams, RowMode, TransactionOptions } from '../types';
|
|
21
|
+
import type { Row, QueryResult, QueryDescription, FieldInfo, QueryParams, RowMode, TransactionOptions } from '../types';
|
|
22
22
|
/** Where an OPFS-backed database is mounted inside the engine's filesystem. */
|
|
23
23
|
export declare const OPFS_MOUNT = "/opfs";
|
|
24
24
|
/** Opaque engine handle (database or transaction). 0 means "none". */
|
|
@@ -96,6 +96,8 @@ export interface EngineTransport {
|
|
|
96
96
|
export interface DirectTransportOptions {
|
|
97
97
|
wasmBinary?: ArrayBuffer | string;
|
|
98
98
|
locateFile?: (filename: string) => string;
|
|
99
|
+
/** Which build to load; see {@link import('../wasm-loader').WasmLoadOptions.threads}. */
|
|
100
|
+
threads?: boolean | 'auto';
|
|
99
101
|
}
|
|
100
102
|
/**
|
|
101
103
|
* Decode the engine's JSON result set.
|
|
@@ -105,11 +107,18 @@ export interface DirectTransportOptions {
|
|
|
105
107
|
* costs nothing to produce. Object mode is what the row builder above exists
|
|
106
108
|
* for, and what the decode benchmark measures.
|
|
107
109
|
*/
|
|
108
|
-
export declare function decodeResultSet<T = Row>(json: string, rowMode?: RowMode): QueryResult<T>;
|
|
110
|
+
export declare function decodeResultSet<T = Row>(json: string, rowMode?: RowMode, shapes?: (id: number) => readonly FieldInfo[]): QueryResult<T>;
|
|
109
111
|
/** Decode what `fb_describe` reports about a statement. */
|
|
110
112
|
export declare function decodeDescription(json: string): QueryDescription;
|
|
111
113
|
/** `flags` bit asking the engine to send binary BLOBs beside the JSON. */
|
|
112
114
|
export declare const BLOB_SIDE_CHANNEL = 1;
|
|
115
|
+
/**
|
|
116
|
+
* `fb_query` flag bit: a kept statement's result may name its columns by id,
|
|
117
|
+
* `{"shape":N,"rows":[...]}`, rather than describe them again. The ids are
|
|
118
|
+
* the engine module's own and never reused, so the transport that loaded the
|
|
119
|
+
* module keeps what each one means.
|
|
120
|
+
*/
|
|
121
|
+
export declare const SHAPE_IDS = 2;
|
|
113
122
|
/**
|
|
114
123
|
* Replace every `{"$blob":N}` placeholder with its bytes.
|
|
115
124
|
*
|
|
@@ -128,6 +137,15 @@ export declare class DirectTransport implements EngineTransport {
|
|
|
128
137
|
private readonly options;
|
|
129
138
|
private mod;
|
|
130
139
|
private initPromise;
|
|
140
|
+
/** What each shape id of this module's engine means (see SHAPE_IDS). */
|
|
141
|
+
private readonly shapes;
|
|
142
|
+
/**
|
|
143
|
+
* The fields of shape `id`: remembered, or asked of the engine once. Called
|
|
144
|
+
* while decoding, right after the query that named the id and before any
|
|
145
|
+
* other engine call, when the statement holding that shape is the cache's
|
|
146
|
+
* most recently used and still kept.
|
|
147
|
+
*/
|
|
148
|
+
private readonly shapeColumns;
|
|
131
149
|
constructor(options?: DirectTransportOptions);
|
|
132
150
|
init(): Promise<void>;
|
|
133
151
|
private doInit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-transport.d.ts","sourceRoot":"","sources":["../../src/browser/engine-transport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,KAAK,EACV,GAAG,EACH,WAAW,EACX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"engine-transport.d.ts","sourceRoot":"","sources":["../../src/browser/engine-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* one never actually suspends.
|
|
21
21
|
*/
|
|
22
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
-
exports.DirectTransport = exports.BLOB_SIDE_CHANNEL = exports.OPFS_MOUNT = void 0;
|
|
23
|
+
exports.DirectTransport = exports.SHAPE_IDS = exports.BLOB_SIDE_CHANNEL = exports.OPFS_MOUNT = void 0;
|
|
24
24
|
exports.decodeResultSet = decodeResultSet;
|
|
25
25
|
exports.decodeDescription = decodeDescription;
|
|
26
26
|
exports.attachBlobs = attachBlobs;
|
|
@@ -48,6 +48,64 @@ function engineError(mod, context, code) {
|
|
|
48
48
|
return new Error(detail ? `${context}${suffix}: ${detail}` : `${context}${suffix}`);
|
|
49
49
|
}
|
|
50
50
|
// ---------------------------------------------------------------------------
|
|
51
|
+
// Column descriptions
|
|
52
|
+
// ---------------------------------------------------------------------------
|
|
53
|
+
/**
|
|
54
|
+
* Decoded field lists by the text of their columns' JSON.
|
|
55
|
+
*
|
|
56
|
+
* A kept statement describes the same columns on every call, in the same
|
|
57
|
+
* bytes, so the description is parsed and turned into `FieldInfo`s once
|
|
58
|
+
* (bench/call-cost.js measured the decode of ten columns' description at
|
|
59
|
+
* about 7 µs a call). Bounded like `rowBuilders`, and for the same reason.
|
|
60
|
+
*/
|
|
61
|
+
const fieldLists = new Map();
|
|
62
|
+
const MAX_FIELD_LISTS = 256;
|
|
63
|
+
const COLUMNS_PREFIX = '{"columns":';
|
|
64
|
+
const SHAPE_PREFIX = '{"shape":';
|
|
65
|
+
const ROWS_KEY = ',"rows":';
|
|
66
|
+
const ROWS_INFIX = '],"rows":';
|
|
67
|
+
/**
|
|
68
|
+
* Split the engine's `{"columns":[…],"rows":[…]}` into its two parts,
|
|
69
|
+
* parsing the rows and taking the columns from the cache when it has them.
|
|
70
|
+
*
|
|
71
|
+
* The first `],"rows":` is the boundary: it cannot occur inside a column
|
|
72
|
+
* name, where every `"` is escaped. Anything else is parsed whole.
|
|
73
|
+
*/
|
|
74
|
+
function splitResultSet(json, shapes) {
|
|
75
|
+
if (shapes && json.startsWith(SHAPE_PREFIX)) {
|
|
76
|
+
const comma = json.indexOf(',', SHAPE_PREFIX.length);
|
|
77
|
+
const id = Number(json.slice(SHAPE_PREFIX.length, comma));
|
|
78
|
+
const rows = JSON.parse(json.slice(comma + ROWS_KEY.length, -1));
|
|
79
|
+
return { columns: shapes(id), rows };
|
|
80
|
+
}
|
|
81
|
+
const split = json.startsWith(COLUMNS_PREFIX) && json.endsWith('}') ? json.indexOf(ROWS_INFIX) : -1;
|
|
82
|
+
if (split < 0) {
|
|
83
|
+
const parsed = JSON.parse(json);
|
|
84
|
+
return { columns: toFields(parsed.columns), rows: parsed.rows };
|
|
85
|
+
}
|
|
86
|
+
const columnsText = json.slice(COLUMNS_PREFIX.length, split + 1);
|
|
87
|
+
let columns = fieldLists.get(columnsText);
|
|
88
|
+
if (!columns) {
|
|
89
|
+
columns = toFields(JSON.parse(columnsText));
|
|
90
|
+
if (fieldLists.size >= MAX_FIELD_LISTS)
|
|
91
|
+
fieldLists.clear();
|
|
92
|
+
fieldLists.set(columnsText, columns);
|
|
93
|
+
}
|
|
94
|
+
const rows = JSON.parse(json.slice(split + ROWS_INFIX.length, -1));
|
|
95
|
+
return { columns, rows };
|
|
96
|
+
}
|
|
97
|
+
function toFields(columns) {
|
|
98
|
+
return columns.map((c) => ({
|
|
99
|
+
name: c.name.toUpperCase(),
|
|
100
|
+
type: c.type,
|
|
101
|
+
typeName: (0, field_types_1.firebirdTypeName)(c.type, c.scale),
|
|
102
|
+
subType: c.subType,
|
|
103
|
+
scale: c.scale,
|
|
104
|
+
length: c.length,
|
|
105
|
+
nullable: c.nullable,
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
// ---------------------------------------------------------------------------
|
|
51
109
|
// Row construction
|
|
52
110
|
// ---------------------------------------------------------------------------
|
|
53
111
|
/**
|
|
@@ -135,27 +193,21 @@ function rowBuilder(names) {
|
|
|
135
193
|
* costs nothing to produce. Object mode is what the row builder above exists
|
|
136
194
|
* for, and what the decode benchmark measures.
|
|
137
195
|
*/
|
|
138
|
-
function decodeResultSet(json, rowMode = 'object') {
|
|
139
|
-
const
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
typeName: (0, field_types_1.firebirdTypeName)(c.type, c.scale),
|
|
144
|
-
subType: c.subType,
|
|
145
|
-
scale: c.scale,
|
|
146
|
-
length: c.length,
|
|
147
|
-
nullable: c.nullable,
|
|
148
|
-
}));
|
|
196
|
+
function decodeResultSet(json, rowMode = 'object', shapes) {
|
|
197
|
+
const { columns, rows: encodedRows } = splitResultSet(json, shapes);
|
|
198
|
+
// Copies: the cached list is shared by every call with these columns, and a
|
|
199
|
+
// caller is free to change the fields it was given.
|
|
200
|
+
const fields = columns.map((f) => ({ ...f }));
|
|
149
201
|
if (rowMode === 'array') {
|
|
150
202
|
// Handed straight through: no builder, no per-row object, and nothing to
|
|
151
203
|
// collide when two columns share a name.
|
|
152
|
-
return { rows:
|
|
204
|
+
return { rows: encodedRows, fields };
|
|
153
205
|
}
|
|
154
206
|
const names = fields.map((f) => f.name);
|
|
155
207
|
const build = rowBuilder(names);
|
|
156
208
|
const rows = (build
|
|
157
|
-
?
|
|
158
|
-
:
|
|
209
|
+
? encodedRows.map(build)
|
|
210
|
+
: encodedRows.map((cols) => Object.fromEntries(names.map((name, i) => [name, cols[i]]))));
|
|
159
211
|
return { rows, fields };
|
|
160
212
|
}
|
|
161
213
|
/** One field of a description, as the engine encodes it. */
|
|
@@ -191,6 +243,13 @@ function decodeDescription(json) {
|
|
|
191
243
|
// ---------------------------------------------------------------------------
|
|
192
244
|
/** `flags` bit asking the engine to send binary BLOBs beside the JSON. */
|
|
193
245
|
exports.BLOB_SIDE_CHANNEL = 1;
|
|
246
|
+
/**
|
|
247
|
+
* `fb_query` flag bit: a kept statement's result may name its columns by id,
|
|
248
|
+
* `{"shape":N,"rows":[...]}`, rather than describe them again. The ids are
|
|
249
|
+
* the engine module's own and never reused, so the transport that loaded the
|
|
250
|
+
* module keeps what each one means.
|
|
251
|
+
*/
|
|
252
|
+
exports.SHAPE_IDS = 2;
|
|
194
253
|
function isBlobRef(value) {
|
|
195
254
|
return (typeof value === 'object' &&
|
|
196
255
|
value !== null &&
|
|
@@ -273,6 +332,36 @@ class DirectTransport {
|
|
|
273
332
|
this.options = options;
|
|
274
333
|
this.mod = null;
|
|
275
334
|
this.initPromise = null;
|
|
335
|
+
/** What each shape id of this module's engine means (see SHAPE_IDS). */
|
|
336
|
+
this.shapes = new Map();
|
|
337
|
+
/**
|
|
338
|
+
* The fields of shape `id`: remembered, or asked of the engine once. Called
|
|
339
|
+
* while decoding, right after the query that named the id and before any
|
|
340
|
+
* other engine call, when the statement holding that shape is the cache's
|
|
341
|
+
* most recently used and still kept.
|
|
342
|
+
*/
|
|
343
|
+
this.shapeColumns = (id) => {
|
|
344
|
+
const known = this.shapes.get(id);
|
|
345
|
+
if (known)
|
|
346
|
+
return known;
|
|
347
|
+
const mod = this.module;
|
|
348
|
+
const ptr = mod._fb_shape_columns(id);
|
|
349
|
+
if (ptr === 0) {
|
|
350
|
+
throw engineError(mod, `Firebird returned rows of a shape it no longer has (${id})`);
|
|
351
|
+
}
|
|
352
|
+
let parsed;
|
|
353
|
+
try {
|
|
354
|
+
parsed = JSON.parse(mod.UTF8ToString(ptr));
|
|
355
|
+
}
|
|
356
|
+
finally {
|
|
357
|
+
mod._fb_free_result(ptr);
|
|
358
|
+
}
|
|
359
|
+
const fields = toFields(parsed.columns);
|
|
360
|
+
if (this.shapes.size >= MAX_FIELD_LISTS)
|
|
361
|
+
this.shapes.clear();
|
|
362
|
+
this.shapes.set(id, fields);
|
|
363
|
+
return fields;
|
|
364
|
+
};
|
|
276
365
|
}
|
|
277
366
|
async init() {
|
|
278
367
|
// Concurrent first calls must not each load the module.
|
|
@@ -285,6 +374,7 @@ class DirectTransport {
|
|
|
285
374
|
this.mod = await (0, wasm_loader_1.loadFirebirdWasm)({
|
|
286
375
|
wasmBinary: this.options.wasmBinary,
|
|
287
376
|
locateFile: this.options.locateFile,
|
|
377
|
+
threads: this.options.threads,
|
|
288
378
|
});
|
|
289
379
|
const rc = this.mod._fb_init();
|
|
290
380
|
if (rc !== 0) {
|
|
@@ -380,7 +470,7 @@ class DirectTransport {
|
|
|
380
470
|
}
|
|
381
471
|
async query(dbHandle, txHandle, sql, params = [], rowMode = 'object', binaryBlobs = false) {
|
|
382
472
|
const mod = this.module;
|
|
383
|
-
const flags = binaryBlobs ? exports.BLOB_SIDE_CHANNEL : 0;
|
|
473
|
+
const flags = (binaryBlobs ? exports.BLOB_SIDE_CHANNEL : 0) | exports.SHAPE_IDS;
|
|
384
474
|
return this.withString(sql, (sqlPtr) => this.withParams(params, (paramPtr, paramLen) => {
|
|
385
475
|
const resultPtr = params.length === 0
|
|
386
476
|
? mod._fb_query(dbHandle, txHandle, sqlPtr, flags)
|
|
@@ -394,7 +484,7 @@ class DirectTransport {
|
|
|
394
484
|
// Read before anything else can run: the side buffer belongs to the
|
|
395
485
|
// engine and the next query replaces it.
|
|
396
486
|
const blobs = binaryBlobs ? readBlobs(mod) : null;
|
|
397
|
-
const result = decodeResultSet(json, rowMode);
|
|
487
|
+
const result = decodeResultSet(json, rowMode, this.shapeColumns);
|
|
398
488
|
return blobs ? attachBlobs(result, blobs, rowMode) : result;
|
|
399
489
|
}));
|
|
400
490
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-transport.js","sourceRoot":"","sources":["../../src/browser/engine-transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine-transport.js","sourceRoot":"","sources":["../../src/browser/engine-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,16 +115,24 @@ export interface FirebirdBrowserOptions {
|
|
|
115
115
|
* @see {@link import('../wasm-loader').WasmLoadOptions.locateFile}
|
|
116
116
|
*/
|
|
117
117
|
locateFile?: (filename: string) => string;
|
|
118
|
+
/**
|
|
119
|
+
* Which build the engine loads in Node; see
|
|
120
|
+
* {@link import('../wasm-loader').WasmLoadOptions.threads}. In a browser
|
|
121
|
+
* the page chooses by the glue script it loads ({@link wasmGlueFile}).
|
|
122
|
+
*/
|
|
123
|
+
threads?: boolean | 'auto';
|
|
118
124
|
/**
|
|
119
125
|
* Worker running the engine.
|
|
120
126
|
*
|
|
121
|
-
* **Browsers need this
|
|
122
|
-
* on mutexes while opening a database, and a browser main
|
|
123
|
-
* allowed to block — without a Worker the page deadlocks.
|
|
124
|
-
* script from `firebird-wasm/browser/worker-entry`.
|
|
127
|
+
* **Browsers need this with the threaded build.** It uses pthreads, so
|
|
128
|
+
* Firebird blocks on mutexes while opening a database, and a browser main
|
|
129
|
+
* thread is not allowed to block — without a Worker the page deadlocks.
|
|
130
|
+
* Build the Worker script from `firebird-wasm/browser/worker-entry`.
|
|
125
131
|
*
|
|
126
|
-
* Omit it
|
|
127
|
-
*
|
|
132
|
+
* Omit it where blocking the calling thread is acceptable, such as Node or
|
|
133
|
+
* a test harness driving a stub engine, or with `firebird-embedded-st.js`,
|
|
134
|
+
* the build without threads, which never blocks and can run on the page
|
|
135
|
+
* thread (though a Worker still keeps long statements off it).
|
|
128
136
|
*
|
|
129
137
|
* With `multiTab: 'shared'` this must be a **factory**. It is called only
|
|
130
138
|
* if this tab wins the election, so a follower never downloads and
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebird-browser.d.ts","sourceRoot":"","sources":["../../src/browser/firebird-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAKxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAKjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EACV,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,WAAW,EACX,OAAO,EACP,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAElB,0EAA0E;AAC1E,KAAK,gBAAgB,GAAG,YAAY,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAM5D,2EAA2E;AAC3E,MAAM,WAAW,iBAAiB;IAChC,wEAAwE;IACxE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC;AAED,uEAAuE;AACvE,MAAM,WAAW,SAAS,CAAC,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;IACnB,8DAA8D;IAC9D,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,uEAAuE;IACvE,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,iEAAiE;IACjE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,MAAM,WAAW,sBAAsB;IACrC,oDAAoD;IACpD,GAAG,CAAC,EAAE,mBAAmB,CAAC;IAC1B;;;OAGG;IACH,UAAU,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C
|
|
1
|
+
{"version":3,"file":"firebird-browser.d.ts","sourceRoot":"","sources":["../../src/browser/firebird-browser.ts"],"names":[],"mappings":"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"}
|