@powersync/web 1.6.0 → 1.8.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/README.md +1 -1
- package/dist/fe5d98632ac68b2022d7.wasm +0 -0
- package/dist/index.umd.js +40336 -0
- package/dist/index.umd.js.map +1 -0
- package/dist/worker/SharedSyncImplementation.umd.js +4174 -0
- package/dist/worker/SharedSyncImplementation.umd.js.map +1 -0
- package/dist/worker/WASQLiteDB.umd.js +2780 -0
- package/dist/worker/WASQLiteDB.umd.js.map +1 -0
- package/dist/worker/node_modules_bson_lib_bson_mjs.umd.js +4437 -0
- package/dist/worker/node_modules_bson_lib_bson_mjs.umd.js.map +1 -0
- package/dist/worker/node_modules_crypto-browserify_index_js.umd.js +33582 -0
- package/dist/worker/node_modules_crypto-browserify_index_js.umd.js.map +1 -0
- package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js +175 -0
- package/dist/worker/node_modules_journeyapps_wa-sqlite_dist_wa-sqlite-async_mjs.umd.js.map +1 -0
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js +1926 -0
- package/dist/worker/node_modules_journeyapps_wa-sqlite_src_examples_IDBBatchAtomicVFS_js.umd.js.map +1 -0
- package/lib/package.json +89 -0
- package/lib/src/db/PowerSyncDatabase.d.ts +19 -7
- package/lib/src/db/PowerSyncDatabase.js +1 -0
- package/lib/src/db/PowerSyncDatabase.js.map +1 -0
- package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js +1 -0
- package/lib/src/db/adapters/AbstractWebPowerSyncDatabaseOpenFactory.js.map +1 -0
- package/lib/src/db/adapters/AbstractWebSQLOpenFactory.d.ts +2 -2
- package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js +5 -4
- package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js.map +1 -0
- package/lib/src/db/adapters/SSRDBAdapter.js +1 -0
- package/lib/src/db/adapters/SSRDBAdapter.js.map +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.d.ts +3 -2
- package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js +11 -3
- package/lib/src/db/adapters/wa-sqlite/WASQLiteDBAdapter.js.map +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLiteOpenFactory.js.map +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js +1 -0
- package/lib/src/db/adapters/wa-sqlite/WASQLitePowerSyncDatabaseOpenFactory.js.map +1 -0
- package/lib/src/db/adapters/web-sql-flags.d.ts +13 -2
- package/lib/src/db/adapters/web-sql-flags.js +1 -0
- package/lib/src/db/adapters/web-sql-flags.js.map +1 -0
- package/lib/src/db/sync/SSRWebStreamingSyncImplementation.d.ts +34 -2
- package/lib/src/db/sync/SSRWebStreamingSyncImplementation.js +44 -3
- package/lib/src/db/sync/SSRWebStreamingSyncImplementation.js.map +1 -0
- package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js +33 -9
- package/lib/src/db/sync/SharedWebStreamingSyncImplementation.js.map +1 -0
- package/lib/src/db/sync/WebRemote.d.ts +1 -0
- package/lib/src/db/sync/WebRemote.js +12 -0
- package/lib/src/db/sync/WebRemote.js.map +1 -0
- package/lib/src/db/sync/WebStreamingSyncImplementation.d.ts +9 -2
- package/lib/src/db/sync/WebStreamingSyncImplementation.js +1 -0
- package/lib/src/db/sync/WebStreamingSyncImplementation.js.map +1 -0
- package/lib/src/db/sync/userAgent.d.ts +17 -0
- package/lib/src/db/sync/userAgent.js +65 -0
- package/lib/src/db/sync/userAgent.js.map +1 -0
- package/lib/src/index.js +1 -0
- package/lib/src/index.js.map +1 -0
- package/lib/src/shared/open-db.js +1 -0
- package/lib/src/shared/open-db.js.map +1 -0
- package/lib/src/shared/types.js +1 -0
- package/lib/src/shared/types.js.map +1 -0
- package/lib/src/worker/db/WASQLiteDB.worker.d.ts +4 -1
- package/lib/src/worker/db/WASQLiteDB.worker.js +61 -1
- package/lib/src/worker/db/WASQLiteDB.worker.js.map +1 -0
- package/lib/src/worker/db/open-worker-database.d.ts +4 -2
- package/lib/src/worker/db/open-worker-database.js +41 -20
- package/lib/src/worker/db/open-worker-database.js.map +1 -0
- package/lib/src/worker/sync/AbstractSharedSyncClientProvider.js +1 -0
- package/lib/src/worker/sync/AbstractSharedSyncClientProvider.js.map +1 -0
- package/lib/src/worker/sync/BroadcastLogger.js +1 -0
- package/lib/src/worker/sync/BroadcastLogger.js.map +1 -0
- package/lib/src/worker/sync/SharedSyncImplementation.js +1 -0
- package/lib/src/worker/sync/SharedSyncImplementation.js.map +1 -0
- package/lib/src/worker/sync/SharedSyncImplementation.worker.js +1 -0
- package/lib/src/worker/sync/SharedSyncImplementation.worker.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +36 -14
- package/lib/src/worker/db/SharedWASQLiteDB.worker.d.ts +0 -1
- package/lib/src/worker/db/SharedWASQLiteDB.worker.js +0 -49
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as Comlink from 'comlink';
|
|
2
|
-
import { openWorkerDatabasePort } from '../../worker/db/open-worker-database';
|
|
2
|
+
import { openWorkerDatabasePort, resolveWorkerDatabasePortFactory } from '../../worker/db/open-worker-database';
|
|
3
3
|
import { AbstractSharedSyncClientProvider } from '../../worker/sync/AbstractSharedSyncClientProvider';
|
|
4
4
|
import { SharedSyncClientEvent } from '../../worker/sync/SharedSyncImplementation';
|
|
5
5
|
import { WebStreamingSyncImplementation } from './WebStreamingSyncImplementation';
|
|
6
|
+
import { resolveWebSQLFlags } from '../adapters/web-sql-flags';
|
|
6
7
|
/**
|
|
7
8
|
* The shared worker will trigger methods on this side of the message port
|
|
8
9
|
* via this client provider.
|
|
@@ -78,12 +79,30 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
|
|
|
78
79
|
* Configure or connect to the shared sync worker.
|
|
79
80
|
* This worker will manage all syncing operations remotely.
|
|
80
81
|
*/
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
82
|
+
const resolvedWorkerOptions = {
|
|
83
|
+
...options,
|
|
84
|
+
dbFilename: this.options.identifier,
|
|
85
|
+
flags: resolveWebSQLFlags(options.flags)
|
|
86
|
+
};
|
|
87
|
+
const syncWorker = options.sync?.worker;
|
|
88
|
+
if (syncWorker) {
|
|
89
|
+
if (typeof syncWorker === 'function') {
|
|
90
|
+
this.messagePort = syncWorker(resolvedWorkerOptions).port;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
this.messagePort = new SharedWorker(`${syncWorker}`, {
|
|
94
|
+
/* @vite-ignore */
|
|
95
|
+
name: `shared-sync-${this.webOptions.identifier}`
|
|
96
|
+
}).port;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.messagePort = new SharedWorker(new URL('../../worker/sync/SharedSyncImplementation.worker.js', import.meta.url), {
|
|
101
|
+
/* @vite-ignore */
|
|
102
|
+
name: `shared-sync-${this.webOptions.identifier}`,
|
|
103
|
+
type: 'module'
|
|
104
|
+
}).port;
|
|
105
|
+
}
|
|
87
106
|
this.syncManager = Comlink.wrap(this.messagePort);
|
|
88
107
|
this.triggerCrudUpload = this.syncManager.triggerCrudUpload;
|
|
89
108
|
/**
|
|
@@ -93,14 +112,18 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
|
|
|
93
112
|
* sync worker.
|
|
94
113
|
*/
|
|
95
114
|
const { crudUploadThrottleMs, identifier, retryDelayMs } = this.options;
|
|
96
|
-
const
|
|
115
|
+
const dbWorker = options.database?.options?.worker;
|
|
116
|
+
const dbOpenerPort = typeof dbWorker === 'function'
|
|
117
|
+
? resolveWorkerDatabasePortFactory(() => dbWorker(resolvedWorkerOptions))
|
|
118
|
+
: openWorkerDatabasePort(this.options.identifier, true, dbWorker);
|
|
119
|
+
const flags = { ...this.webOptions.flags, workers: undefined };
|
|
97
120
|
this.isInitialized = this.syncManager.init(Comlink.transfer(dbOpenerPort, [dbOpenerPort]), {
|
|
98
121
|
dbName: this.options.identifier,
|
|
99
122
|
streamOptions: {
|
|
100
123
|
crudUploadThrottleMs,
|
|
101
124
|
identifier,
|
|
102
125
|
retryDelayMs,
|
|
103
|
-
flags:
|
|
126
|
+
flags: flags
|
|
104
127
|
}
|
|
105
128
|
});
|
|
106
129
|
/**
|
|
@@ -160,3 +183,4 @@ export class SharedWebStreamingSyncImplementation extends WebStreamingSyncImplem
|
|
|
160
183
|
return this.syncManager['_testUpdateAllStatuses'](status.toJSON());
|
|
161
184
|
}
|
|
162
185
|
}
|
|
186
|
+
//# sourceMappingURL=SharedWebStreamingSyncImplementation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedWebStreamingSyncImplementation.js","sourceRoot":"","sources":["../../../../src/db/sync/SharedWebStreamingSyncImplementation.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,6 @@ export declare class WebRemote extends AbstractRemote {
|
|
|
5
5
|
protected logger: ILogger;
|
|
6
6
|
private _bson;
|
|
7
7
|
constructor(connector: RemoteConnector, logger?: ILogger, options?: Partial<AbstractRemoteOptions>);
|
|
8
|
+
getUserAgent(): string;
|
|
8
9
|
getBSON(): Promise<BSONImplementation>;
|
|
9
10
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { AbstractRemote, DEFAULT_REMOTE_LOGGER, FetchImplementationProvider } from '@powersync/common';
|
|
2
|
+
import { getUserAgentInfo } from './userAgent';
|
|
2
3
|
/*
|
|
3
4
|
* Depends on browser's implementation of global fetch.
|
|
4
5
|
*/
|
|
@@ -19,6 +20,16 @@ export class WebRemote extends AbstractRemote {
|
|
|
19
20
|
this.connector = connector;
|
|
20
21
|
this.logger = logger;
|
|
21
22
|
}
|
|
23
|
+
getUserAgent() {
|
|
24
|
+
let ua = [super.getUserAgent(), `powersync-web`];
|
|
25
|
+
try {
|
|
26
|
+
ua.push(...getUserAgentInfo());
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
this.logger.warn('Failed to get user agent info', e);
|
|
30
|
+
}
|
|
31
|
+
return ua.join(' ');
|
|
32
|
+
}
|
|
22
33
|
async getBSON() {
|
|
23
34
|
if (this._bson) {
|
|
24
35
|
return this._bson;
|
|
@@ -31,3 +42,4 @@ export class WebRemote extends AbstractRemote {
|
|
|
31
42
|
return this._bson;
|
|
32
43
|
}
|
|
33
44
|
}
|
|
45
|
+
//# sourceMappingURL=WebRemote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebRemote.js","sourceRoot":"","sources":["../../../../src/db/sync/WebRemote.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EAGd,qBAAqB,EAErB,2BAA2B,EAE5B,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;GAEG;AACH,MAAM,gBAAiB,SAAQ,2BAA2B;IACxD,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,SAAU,SAAQ,cAAc;IAI/B;IACA;IAJJ,KAAK,CAAiC;IAE9C,YACY,SAA0B,EAC1B,SAAkB,qBAAqB,EACjD,OAAwC;QAExC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE;YACvB,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClB,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,IAAI,gBAAgB,EAAE;SAC5E,CAAC,CAAC;QAPO,cAAS,GAAT,SAAS,CAAiB;QAC1B,WAAM,GAAN,MAAM,CAAiC;IAOnD,CAAC;IAED,YAAY;QACV,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,eAAe,CAAC,CAAC;QACjD,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,GAAG,gBAAgB,EAAE,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED;;WAEG;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { AbstractStreamingSyncImplementation, AbstractStreamingSyncImplementationOptions, LockOptions } from '@powersync/common';
|
|
2
|
+
import { ResolvedWebSQLOpenOptions, WebSQLFlags } from '../adapters/web-sql-flags';
|
|
2
3
|
export interface WebStreamingSyncImplementationOptions extends AbstractStreamingSyncImplementationOptions {
|
|
3
|
-
flags?:
|
|
4
|
-
|
|
4
|
+
flags?: WebSQLFlags;
|
|
5
|
+
database?: {
|
|
6
|
+
options: {
|
|
7
|
+
worker?: string | URL | ((options: ResolvedWebSQLOpenOptions) => Worker | SharedWorker);
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
sync?: {
|
|
11
|
+
worker?: string | URL | ((options: ResolvedWebSQLOpenOptions) => SharedWorker);
|
|
5
12
|
};
|
|
6
13
|
}
|
|
7
14
|
export declare class WebStreamingSyncImplementation extends AbstractStreamingSyncImplementation {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebStreamingSyncImplementation.js","sourceRoot":"","sources":["../../../../src/db/sync/WebStreamingSyncImplementation.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mCAAmC,EAGnC,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAgB3B,MAAM,OAAO,8BAA+B,SAAQ,mCAAmC;IACrF,YAAY,OAA8C;QACxD,0DAA0D;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,OAAgD,CAAC;IAC/D,CAAC;IAED,UAAU,CAAI,WAA2B;QACvC,MAAM,UAAU,GAAG,kBAAkB,WAAW,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;QACtF,WAAW,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACvF,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface NavigatorInfo {
|
|
2
|
+
userAgent: string;
|
|
3
|
+
userAgentData?: {
|
|
4
|
+
brands?: {
|
|
5
|
+
brand: string;
|
|
6
|
+
version: string;
|
|
7
|
+
}[];
|
|
8
|
+
platform?: string;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Get a minimal representation of browser, version and operating system.
|
|
13
|
+
*
|
|
14
|
+
* The goal is to get enough environemnt info to reproduce issues, but no
|
|
15
|
+
* more.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getUserAgentInfo(nav?: NavigatorInfo): string[];
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get a minimal representation of browser, version and operating system.
|
|
3
|
+
*
|
|
4
|
+
* The goal is to get enough environemnt info to reproduce issues, but no
|
|
5
|
+
* more.
|
|
6
|
+
*/
|
|
7
|
+
export function getUserAgentInfo(nav) {
|
|
8
|
+
nav ??= navigator;
|
|
9
|
+
const browser = getBrowserInfo(nav);
|
|
10
|
+
const os = getOsInfo(nav);
|
|
11
|
+
// The cast below is to cater for TypeScript < 5.5.0
|
|
12
|
+
return [browser, os].filter((v) => v != null);
|
|
13
|
+
}
|
|
14
|
+
function getBrowserInfo(nav) {
|
|
15
|
+
const brands = nav.userAgentData?.brands;
|
|
16
|
+
if (brands != null) {
|
|
17
|
+
const tests = [
|
|
18
|
+
{ name: 'Google Chrome', value: 'Chrome' },
|
|
19
|
+
{ name: 'Opera', value: 'Opera' },
|
|
20
|
+
{ name: 'Edge', value: 'Edge' },
|
|
21
|
+
{ name: 'Chromium', value: 'Chromium' }
|
|
22
|
+
];
|
|
23
|
+
for (let { name, value } of tests) {
|
|
24
|
+
const brand = brands.find((b) => b.brand == name);
|
|
25
|
+
if (brand != null) {
|
|
26
|
+
return `${value}/${brand.version}`;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const ua = nav.userAgent;
|
|
31
|
+
const regexps = [
|
|
32
|
+
{ re: /(?:firefox|fxios)\/(\d+)/i, value: 'Firefox' },
|
|
33
|
+
{ re: /(?:edg|edge|edga|edgios)\/(\d+)/i, value: 'Edge' },
|
|
34
|
+
{ re: /opr\/(\d+)/i, value: 'Opera' },
|
|
35
|
+
{ re: /(?:chrome|chromium|crios)\/(\d+)/i, value: 'Chrome' },
|
|
36
|
+
{ re: /version\/(\d+).*safari/i, value: 'Safari' }
|
|
37
|
+
];
|
|
38
|
+
for (let { re, value } of regexps) {
|
|
39
|
+
const match = re.exec(ua);
|
|
40
|
+
if (match != null) {
|
|
41
|
+
return `${value}/${match[1]}`;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
function getOsInfo(nav) {
|
|
47
|
+
if (nav.userAgentData?.platform != null) {
|
|
48
|
+
return nav.userAgentData.platform.toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
const ua = nav.userAgent;
|
|
51
|
+
const regexps = [
|
|
52
|
+
{ re: /windows/i, value: 'windows' },
|
|
53
|
+
{ re: /android/i, value: 'android' },
|
|
54
|
+
{ re: /linux/i, value: 'linux' },
|
|
55
|
+
{ re: /iphone|ipad|ipod/i, value: 'ios' },
|
|
56
|
+
{ re: /macintosh|mac os x/i, value: 'macos' }
|
|
57
|
+
];
|
|
58
|
+
for (let { re, value } of regexps) {
|
|
59
|
+
if (re.test(ua)) {
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=userAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"userAgent.js","sourceRoot":"","sources":["../../../../src/db/sync/userAgent.ts"],"names":[],"mappings":"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"}
|
package/lib/src/index.js
CHANGED
|
@@ -9,3 +9,4 @@ export * from './db/adapters/AbstractWebPowerSyncDatabaseOpenFactory';
|
|
|
9
9
|
export * from './db/adapters/web-sql-flags';
|
|
10
10
|
export * from './db/adapters/AbstractWebSQLOpenFactory';
|
|
11
11
|
export * from './db/adapters/wa-sqlite/WASQLiteOpenFactory';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0CAA0C,CAAC;AACzD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,2CAA2C,CAAC;AAC1D,cAAc,8DAA8D,CAAC;AAC7E,cAAc,uDAAuD,CAAC;AACtE,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-db.js","sourceRoot":"","sources":["../../../src/shared/open-db.ts"],"names":[],"mappings":"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"}
|
package/lib/src/shared/types.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/shared/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,3 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supports both shared and dedicated workers, based on how the worker is constructed (new SharedWorker vs new Worker()).
|
|
3
|
+
*/
|
|
4
|
+
import '@journeyapps/wa-sqlite';
|
|
1
5
|
import * as Comlink from 'comlink';
|
|
2
6
|
import { _openDB } from '../../shared/open-db';
|
|
3
|
-
|
|
7
|
+
const DBMap = new Map();
|
|
8
|
+
const OPEN_DB_LOCK = 'open-wasqlite-db';
|
|
9
|
+
let nextClientId = 1;
|
|
10
|
+
const openDBShared = async (dbFileName) => {
|
|
11
|
+
// Prevent multiple simultaneous opens from causing race conditions
|
|
12
|
+
return navigator.locks.request(OPEN_DB_LOCK, async () => {
|
|
13
|
+
const clientId = nextClientId++;
|
|
14
|
+
if (!DBMap.has(dbFileName)) {
|
|
15
|
+
const clientIds = new Set();
|
|
16
|
+
const connection = await _openDB(dbFileName);
|
|
17
|
+
DBMap.set(dbFileName, {
|
|
18
|
+
clientIds,
|
|
19
|
+
db: connection
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const dbEntry = DBMap.get(dbFileName);
|
|
23
|
+
dbEntry.clientIds.add(clientId);
|
|
24
|
+
const { db } = dbEntry;
|
|
25
|
+
const wrappedConnection = {
|
|
26
|
+
...db,
|
|
27
|
+
close: Comlink.proxy(() => {
|
|
28
|
+
const { clientIds } = dbEntry;
|
|
29
|
+
clientIds.delete(clientId);
|
|
30
|
+
if (clientIds.size == 0) {
|
|
31
|
+
console.debug(`Closing connection to ${dbFileName}.`);
|
|
32
|
+
DBMap.delete(dbFileName);
|
|
33
|
+
return db.close?.();
|
|
34
|
+
}
|
|
35
|
+
console.debug(`Connection to ${dbFileName} not closed yet due to active clients.`);
|
|
36
|
+
})
|
|
37
|
+
};
|
|
38
|
+
return Comlink.proxy(wrappedConnection);
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const openDBDedicated = async (dbFileName) => {
|
|
42
|
+
const connection = await _openDB(dbFileName);
|
|
43
|
+
return Comlink.proxy(connection);
|
|
44
|
+
};
|
|
45
|
+
// Check if we're in a SharedWorker context
|
|
46
|
+
if (typeof SharedWorkerGlobalScope !== 'undefined') {
|
|
47
|
+
const _self = self;
|
|
48
|
+
_self.onconnect = function (event) {
|
|
49
|
+
const port = event.ports[0];
|
|
50
|
+
console.debug('Exposing shared db on port', port);
|
|
51
|
+
Comlink.expose(openDBShared, port);
|
|
52
|
+
};
|
|
53
|
+
addEventListener('unload', () => {
|
|
54
|
+
Array.from(DBMap.values()).forEach(async (dbConnection) => {
|
|
55
|
+
const db = await dbConnection.db;
|
|
56
|
+
db.close?.();
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
Comlink.expose(openDBDedicated);
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=WASQLiteDB.worker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WASQLiteDB.worker.js","sourceRoot":"","sources":["../../../../src/worker/db/WASQLiteDB.worker.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,wBAAwB,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAY/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;AAC1D,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB,MAAM,YAAY,GAAG,KAAK,EAAE,UAAkB,EAAiC,EAAE;IAC/E,mEAAmE;IACnE,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAEhC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;YAC7C,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE;gBACpB,SAAS;gBACT,EAAE,EAAE,UAAU;aACf,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACvC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC;QAEvB,MAAM,iBAAiB,GAAG;YACxB,GAAG,EAAE;YACL,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;gBACxB,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;gBAC9B,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3B,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,KAAK,CAAC,yBAAyB,UAAU,GAAG,CAAC,CAAC;oBACtD,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;oBACzB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;gBACtB,CAAC;gBACD,OAAO,CAAC,KAAK,CAAC,iBAAiB,UAAU,wCAAwC,CAAC,CAAC;YACrF,CAAC,CAAC;SACH,CAAC;QAEF,OAAO,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,KAAK,EAAE,UAAkB,EAAiC,EAAE;IAClF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,2CAA2C;AAC3C,IAAI,OAAO,uBAAuB,KAAK,WAAW,EAAE,CAAC;IACnD,MAAM,KAAK,GAA4B,IAAW,CAAC;IACnD,KAAK,CAAC,SAAS,GAAG,UAAU,KAA2B;QACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;QAClD,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YACxD,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC"}
|
|
@@ -3,9 +3,11 @@ import type { OpenDB } from '../../shared/types';
|
|
|
3
3
|
/**
|
|
4
4
|
* Opens a shared or dedicated worker which exposes opening of database connections
|
|
5
5
|
*/
|
|
6
|
-
export declare function openWorkerDatabasePort(workerIdentifier: string, multipleTabs?: boolean): MessagePort | Worker;
|
|
6
|
+
export declare function openWorkerDatabasePort(workerIdentifier: string, multipleTabs?: boolean, worker?: string | URL): MessagePort | Worker;
|
|
7
7
|
/**
|
|
8
8
|
* @returns A function which allows for opening database connections inside
|
|
9
9
|
* a worker.
|
|
10
10
|
*/
|
|
11
|
-
export declare function getWorkerDatabaseOpener(workerIdentifier: string, multipleTabs?: boolean): Comlink.Remote<OpenDB>;
|
|
11
|
+
export declare function getWorkerDatabaseOpener(workerIdentifier: string, multipleTabs?: boolean, worker?: string | URL): Comlink.Remote<OpenDB>;
|
|
12
|
+
export declare function resolveWorkerDatabasePortFactory(worker: () => Worker | SharedWorker): MessagePort | Worker;
|
|
13
|
+
export declare function isSharedWorker(worker: Worker | SharedWorker): worker is SharedWorker;
|
|
@@ -2,29 +2,50 @@ import * as Comlink from 'comlink';
|
|
|
2
2
|
/**
|
|
3
3
|
* Opens a shared or dedicated worker which exposes opening of database connections
|
|
4
4
|
*/
|
|
5
|
-
export function openWorkerDatabasePort(workerIdentifier, multipleTabs = true) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
5
|
+
export function openWorkerDatabasePort(workerIdentifier, multipleTabs = true, worker = '') {
|
|
6
|
+
if (worker) {
|
|
7
|
+
return multipleTabs
|
|
8
|
+
? new SharedWorker(`${worker}`, {
|
|
9
|
+
/* @vite-ignore */
|
|
10
|
+
name: `shared-DB-worker-${workerIdentifier}`
|
|
11
|
+
}).port
|
|
12
|
+
: new Worker(`${worker}`, {
|
|
13
|
+
/* @vite-ignore */
|
|
14
|
+
name: `DB-worker-${workerIdentifier}`
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
/**
|
|
19
|
+
* Webpack V5 can bundle the worker automatically if the full Worker constructor syntax is used
|
|
20
|
+
* https://webpack.js.org/guides/web-workers/
|
|
21
|
+
* This enables multi tab support by default, but falls back if SharedWorker is not available
|
|
22
|
+
* (in the case of Android)
|
|
23
|
+
*/
|
|
24
|
+
return multipleTabs
|
|
25
|
+
? new SharedWorker(new URL('./WASQLiteDB.worker.js', import.meta.url), {
|
|
26
|
+
/* @vite-ignore */
|
|
27
|
+
name: `shared-DB-worker-${workerIdentifier}`,
|
|
28
|
+
type: 'module'
|
|
29
|
+
}).port
|
|
30
|
+
: new Worker(new URL('./WASQLiteDB.worker.js', import.meta.url), {
|
|
31
|
+
/* @vite-ignore */
|
|
32
|
+
name: `DB-worker-${workerIdentifier}`,
|
|
33
|
+
type: 'module'
|
|
34
|
+
});
|
|
35
|
+
}
|
|
23
36
|
}
|
|
24
37
|
/**
|
|
25
38
|
* @returns A function which allows for opening database connections inside
|
|
26
39
|
* a worker.
|
|
27
40
|
*/
|
|
28
|
-
export function getWorkerDatabaseOpener(workerIdentifier, multipleTabs = true) {
|
|
29
|
-
return Comlink.wrap(openWorkerDatabasePort(workerIdentifier, multipleTabs));
|
|
41
|
+
export function getWorkerDatabaseOpener(workerIdentifier, multipleTabs = true, worker = '') {
|
|
42
|
+
return Comlink.wrap(openWorkerDatabasePort(workerIdentifier, multipleTabs, worker));
|
|
30
43
|
}
|
|
44
|
+
export function resolveWorkerDatabasePortFactory(worker) {
|
|
45
|
+
const workerInstance = worker();
|
|
46
|
+
return isSharedWorker(workerInstance) ? workerInstance.port : workerInstance;
|
|
47
|
+
}
|
|
48
|
+
export function isSharedWorker(worker) {
|
|
49
|
+
return 'port' in worker;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=open-worker-database.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open-worker-database.js","sourceRoot":"","sources":["../../../../src/worker/db/open-worker-database.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAGnC;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,gBAAwB,EAAE,YAAY,GAAG,IAAI,EAAE,SAAuB,EAAE;IAC7G,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,YAAY;YACjB,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,MAAM,EAAE,EAAE;gBAC5B,kBAAkB;gBAClB,IAAI,EAAE,oBAAoB,gBAAgB,EAAE;aAC7C,CAAC,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,EAAE,EAAE;gBACtB,kBAAkB;gBAClB,IAAI,EAAE,aAAa,gBAAgB,EAAE;aACtC,CAAC,CAAC;IACT,CAAC;SAAM,CAAC;QACN;;;;;WAKG;QACH,OAAO,YAAY;YACjB,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACnE,kBAAkB;gBAClB,IAAI,EAAE,oBAAoB,gBAAgB,EAAE;gBAC5C,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC,IAAI;YACT,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,wBAAwB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAC7D,kBAAkB;gBAClB,IAAI,EAAE,aAAa,gBAAgB,EAAE;gBACrC,IAAI,EAAE,QAAQ;aACf,CAAC,CAAC;IACT,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,gBAAwB,EAAE,YAAY,GAAG,IAAI,EAAE,SAAuB,EAAE;IAC9G,OAAO,OAAO,CAAC,IAAI,CAAS,sBAAsB,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,gCAAgC,CAAC,MAAmC;IAClF,MAAM,cAAc,GAAG,MAAM,EAAE,CAAC;IAChC,OAAO,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAA6B;IAC1D,OAAO,MAAM,IAAI,MAAM,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractSharedSyncClientProvider.js","sourceRoot":"","sources":["../../../../src/worker/sync/AbstractSharedSyncClientProvider.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAgB,gCAAgC;CAarD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BroadcastLogger.js","sourceRoot":"","sources":["../../../../src/worker/sync/BroadcastLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedSyncImplementation.js","sourceRoot":"","sources":["../../../../src/worker/sync/SharedSyncImplementation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SharedSyncImplementation.worker.js","sourceRoot":"","sources":["../../../../src/worker/sync/SharedSyncImplementation.worker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,KAAK,GAA4B,IAAW,CAAC;AACnD,MAAM,CAAC,WAAW,EAAE,CAAC;AACrB,MAAM,wBAAwB,GAAG,IAAI,wBAAwB,EAAE,CAAC;AAEhE,KAAK,CAAC,SAAS,GAAG,UAAU,KAA2B;IACrD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAA+B,CAAC;QACtD,IAAI,OAAO,EAAE,KAAK,IAAI,qBAAqB,CAAC,YAAY,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;YAC7C,wBAAwB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC;IAC/C,wBAAwB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC"}
|