@powersync/web 0.0.0-dev-20250416141218 → 0.0.0-dev-20250417091221
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/index.umd.js +32 -320
- package/dist/index.umd.js.map +1 -1
- package/dist/worker/SharedSyncImplementation.umd.js +38 -350
- package/dist/worker/SharedSyncImplementation.umd.js.map +1 -1
- package/dist/worker/WASQLiteDB.umd.js +1 -1
- package/dist/worker/WASQLiteDB.umd.js.map +1 -1
- package/lib/package.json +1 -2
- package/lib/src/db/adapters/AbstractWebSQLOpenFactory.d.ts +1 -2
- package/lib/src/db/adapters/AbstractWebSQLOpenFactory.js +2 -2
- package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.d.ts +1 -2
- package/lib/src/db/adapters/LockedAsyncDatabaseAdapter.js +2 -3
- package/lib/src/db/adapters/web-sql-flags.d.ts +1 -2
- package/lib/src/db/sync/WebRemote.d.ts +1 -2
- package/lib/src/worker/sync/BroadcastLogger.d.ts +1 -1
- package/lib/src/worker/sync/BroadcastLogger.js +9 -9
- package/lib/src/worker/sync/SharedSyncImplementation.d.ts +1 -2
- package/lib/src/worker/sync/SharedSyncImplementation.js +2 -3
- package/lib/src/worker/sync/SharedSyncImplementation.worker.js +3 -2
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -4
|
@@ -1,306 +1,21 @@
|
|
|
1
1
|
var sdk_web;
|
|
2
2
|
/******/ (() => { // webpackBootstrap
|
|
3
|
+
/******/ "use strict";
|
|
3
4
|
/******/ var __webpack_modules__ = ({
|
|
4
5
|
|
|
5
|
-
/***/ "../../node_modules/js-logger/src/logger.js":
|
|
6
|
-
/*!**************************************************!*\
|
|
7
|
-
!*** ../../node_modules/js-logger/src/logger.js ***!
|
|
8
|
-
\**************************************************/
|
|
9
|
-
/***/ (function(module, exports, __webpack_require__) {
|
|
10
|
-
|
|
11
|
-
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
|
12
|
-
* js-logger - http://github.com/jonnyreeves/js-logger
|
|
13
|
-
* Jonny Reeves, http://jonnyreeves.co.uk/
|
|
14
|
-
* js-logger may be freely distributed under the MIT license.
|
|
15
|
-
*/
|
|
16
|
-
(function (global) {
|
|
17
|
-
"use strict";
|
|
18
|
-
|
|
19
|
-
// Top level module for the global, static logger instance.
|
|
20
|
-
var Logger = { };
|
|
21
|
-
|
|
22
|
-
// For those that are at home that are keeping score.
|
|
23
|
-
Logger.VERSION = "1.6.1";
|
|
24
|
-
|
|
25
|
-
// Function which handles all incoming log messages.
|
|
26
|
-
var logHandler;
|
|
27
|
-
|
|
28
|
-
// Map of ContextualLogger instances by name; used by Logger.get() to return the same named instance.
|
|
29
|
-
var contextualLoggersByNameMap = {};
|
|
30
|
-
|
|
31
|
-
// Polyfill for ES5's Function.bind.
|
|
32
|
-
var bind = function(scope, func) {
|
|
33
|
-
return function() {
|
|
34
|
-
return func.apply(scope, arguments);
|
|
35
|
-
};
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
// Super exciting object merger-matron 9000 adding another 100 bytes to your download.
|
|
39
|
-
var merge = function () {
|
|
40
|
-
var args = arguments, target = args[0], key, i;
|
|
41
|
-
for (i = 1; i < args.length; i++) {
|
|
42
|
-
for (key in args[i]) {
|
|
43
|
-
if (!(key in target) && args[i].hasOwnProperty(key)) {
|
|
44
|
-
target[key] = args[i][key];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return target;
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
// Helper to define a logging level object; helps with optimisation.
|
|
52
|
-
var defineLogLevel = function(value, name) {
|
|
53
|
-
return { value: value, name: name };
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
// Predefined logging levels.
|
|
57
|
-
Logger.TRACE = defineLogLevel(1, 'TRACE');
|
|
58
|
-
Logger.DEBUG = defineLogLevel(2, 'DEBUG');
|
|
59
|
-
Logger.INFO = defineLogLevel(3, 'INFO');
|
|
60
|
-
Logger.TIME = defineLogLevel(4, 'TIME');
|
|
61
|
-
Logger.WARN = defineLogLevel(5, 'WARN');
|
|
62
|
-
Logger.ERROR = defineLogLevel(8, 'ERROR');
|
|
63
|
-
Logger.OFF = defineLogLevel(99, 'OFF');
|
|
64
|
-
|
|
65
|
-
// Inner class which performs the bulk of the work; ContextualLogger instances can be configured independently
|
|
66
|
-
// of each other.
|
|
67
|
-
var ContextualLogger = function(defaultContext) {
|
|
68
|
-
this.context = defaultContext;
|
|
69
|
-
this.setLevel(defaultContext.filterLevel);
|
|
70
|
-
this.log = this.info; // Convenience alias.
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
ContextualLogger.prototype = {
|
|
74
|
-
// Changes the current logging level for the logging instance.
|
|
75
|
-
setLevel: function (newLevel) {
|
|
76
|
-
// Ensure the supplied Level object looks valid.
|
|
77
|
-
if (newLevel && "value" in newLevel) {
|
|
78
|
-
this.context.filterLevel = newLevel;
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
// Gets the current logging level for the logging instance
|
|
83
|
-
getLevel: function () {
|
|
84
|
-
return this.context.filterLevel;
|
|
85
|
-
},
|
|
86
|
-
|
|
87
|
-
// Is the logger configured to output messages at the supplied level?
|
|
88
|
-
enabledFor: function (lvl) {
|
|
89
|
-
var filterLevel = this.context.filterLevel;
|
|
90
|
-
return lvl.value >= filterLevel.value;
|
|
91
|
-
},
|
|
92
|
-
|
|
93
|
-
trace: function () {
|
|
94
|
-
this.invoke(Logger.TRACE, arguments);
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
debug: function () {
|
|
98
|
-
this.invoke(Logger.DEBUG, arguments);
|
|
99
|
-
},
|
|
100
|
-
|
|
101
|
-
info: function () {
|
|
102
|
-
this.invoke(Logger.INFO, arguments);
|
|
103
|
-
},
|
|
104
|
-
|
|
105
|
-
warn: function () {
|
|
106
|
-
this.invoke(Logger.WARN, arguments);
|
|
107
|
-
},
|
|
108
|
-
|
|
109
|
-
error: function () {
|
|
110
|
-
this.invoke(Logger.ERROR, arguments);
|
|
111
|
-
},
|
|
112
|
-
|
|
113
|
-
time: function (label) {
|
|
114
|
-
if (typeof label === 'string' && label.length > 0) {
|
|
115
|
-
this.invoke(Logger.TIME, [ label, 'start' ]);
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
timeEnd: function (label) {
|
|
120
|
-
if (typeof label === 'string' && label.length > 0) {
|
|
121
|
-
this.invoke(Logger.TIME, [ label, 'end' ]);
|
|
122
|
-
}
|
|
123
|
-
},
|
|
124
|
-
|
|
125
|
-
// Invokes the logger callback if it's not being filtered.
|
|
126
|
-
invoke: function (level, msgArgs) {
|
|
127
|
-
if (logHandler && this.enabledFor(level)) {
|
|
128
|
-
logHandler(msgArgs, merge({ level: level }, this.context));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
// Protected instance which all calls to the to level `Logger` module will be routed through.
|
|
134
|
-
var globalLogger = new ContextualLogger({ filterLevel: Logger.OFF });
|
|
135
|
-
|
|
136
|
-
// Configure the global Logger instance.
|
|
137
|
-
(function() {
|
|
138
|
-
// Shortcut for optimisers.
|
|
139
|
-
var L = Logger;
|
|
140
|
-
|
|
141
|
-
L.enabledFor = bind(globalLogger, globalLogger.enabledFor);
|
|
142
|
-
L.trace = bind(globalLogger, globalLogger.trace);
|
|
143
|
-
L.debug = bind(globalLogger, globalLogger.debug);
|
|
144
|
-
L.time = bind(globalLogger, globalLogger.time);
|
|
145
|
-
L.timeEnd = bind(globalLogger, globalLogger.timeEnd);
|
|
146
|
-
L.info = bind(globalLogger, globalLogger.info);
|
|
147
|
-
L.warn = bind(globalLogger, globalLogger.warn);
|
|
148
|
-
L.error = bind(globalLogger, globalLogger.error);
|
|
149
|
-
|
|
150
|
-
// Don't forget the convenience alias!
|
|
151
|
-
L.log = L.info;
|
|
152
|
-
}());
|
|
153
|
-
|
|
154
|
-
// Set the global logging handler. The supplied function should expect two arguments, the first being an arguments
|
|
155
|
-
// object with the supplied log messages and the second being a context object which contains a hash of stateful
|
|
156
|
-
// parameters which the logging function can consume.
|
|
157
|
-
Logger.setHandler = function (func) {
|
|
158
|
-
logHandler = func;
|
|
159
|
-
};
|
|
160
|
-
|
|
161
|
-
// Sets the global logging filter level which applies to *all* previously registered, and future Logger instances.
|
|
162
|
-
// (note that named loggers (retrieved via `Logger.get`) can be configured independently if required).
|
|
163
|
-
Logger.setLevel = function(level) {
|
|
164
|
-
// Set the globalLogger's level.
|
|
165
|
-
globalLogger.setLevel(level);
|
|
166
|
-
|
|
167
|
-
// Apply this level to all registered contextual loggers.
|
|
168
|
-
for (var key in contextualLoggersByNameMap) {
|
|
169
|
-
if (contextualLoggersByNameMap.hasOwnProperty(key)) {
|
|
170
|
-
contextualLoggersByNameMap[key].setLevel(level);
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
};
|
|
174
|
-
|
|
175
|
-
// Gets the global logging filter level
|
|
176
|
-
Logger.getLevel = function() {
|
|
177
|
-
return globalLogger.getLevel();
|
|
178
|
-
};
|
|
179
|
-
|
|
180
|
-
// Retrieve a ContextualLogger instance. Note that named loggers automatically inherit the global logger's level,
|
|
181
|
-
// default context and log handler.
|
|
182
|
-
Logger.get = function (name) {
|
|
183
|
-
// All logger instances are cached so they can be configured ahead of use.
|
|
184
|
-
return contextualLoggersByNameMap[name] ||
|
|
185
|
-
(contextualLoggersByNameMap[name] = new ContextualLogger(merge({ name: name }, globalLogger.context)));
|
|
186
|
-
};
|
|
187
|
-
|
|
188
|
-
// CreateDefaultHandler returns a handler function which can be passed to `Logger.setHandler()` which will
|
|
189
|
-
// write to the window's console object (if present); the optional options object can be used to customise the
|
|
190
|
-
// formatter used to format each log message.
|
|
191
|
-
Logger.createDefaultHandler = function (options) {
|
|
192
|
-
options = options || {};
|
|
193
|
-
|
|
194
|
-
options.formatter = options.formatter || function defaultMessageFormatter(messages, context) {
|
|
195
|
-
// Prepend the logger's name to the log message for easy identification.
|
|
196
|
-
if (context.name) {
|
|
197
|
-
messages.unshift("[" + context.name + "]");
|
|
198
|
-
}
|
|
199
|
-
};
|
|
200
|
-
|
|
201
|
-
// Map of timestamps by timer labels used to track `#time` and `#timeEnd()` invocations in environments
|
|
202
|
-
// that don't offer a native console method.
|
|
203
|
-
var timerStartTimeByLabelMap = {};
|
|
204
|
-
|
|
205
|
-
// Support for IE8+ (and other, slightly more sane environments)
|
|
206
|
-
var invokeConsoleMethod = function (hdlr, messages) {
|
|
207
|
-
Function.prototype.apply.call(hdlr, console, messages);
|
|
208
|
-
};
|
|
209
|
-
|
|
210
|
-
// Check for the presence of a logger.
|
|
211
|
-
if (typeof console === "undefined") {
|
|
212
|
-
return function () { /* no console */ };
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return function(messages, context) {
|
|
216
|
-
// Convert arguments object to Array.
|
|
217
|
-
messages = Array.prototype.slice.call(messages);
|
|
218
|
-
|
|
219
|
-
var hdlr = console.log;
|
|
220
|
-
var timerLabel;
|
|
221
|
-
|
|
222
|
-
if (context.level === Logger.TIME) {
|
|
223
|
-
timerLabel = (context.name ? '[' + context.name + '] ' : '') + messages[0];
|
|
224
|
-
|
|
225
|
-
if (messages[1] === 'start') {
|
|
226
|
-
if (console.time) {
|
|
227
|
-
console.time(timerLabel);
|
|
228
|
-
}
|
|
229
|
-
else {
|
|
230
|
-
timerStartTimeByLabelMap[timerLabel] = new Date().getTime();
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
if (console.timeEnd) {
|
|
235
|
-
console.timeEnd(timerLabel);
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
invokeConsoleMethod(hdlr, [ timerLabel + ': ' +
|
|
239
|
-
(new Date().getTime() - timerStartTimeByLabelMap[timerLabel]) + 'ms' ]);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
else {
|
|
244
|
-
// Delegate through to custom warn/error loggers if present on the console.
|
|
245
|
-
if (context.level === Logger.WARN && console.warn) {
|
|
246
|
-
hdlr = console.warn;
|
|
247
|
-
} else if (context.level === Logger.ERROR && console.error) {
|
|
248
|
-
hdlr = console.error;
|
|
249
|
-
} else if (context.level === Logger.INFO && console.info) {
|
|
250
|
-
hdlr = console.info;
|
|
251
|
-
} else if (context.level === Logger.DEBUG && console.debug) {
|
|
252
|
-
hdlr = console.debug;
|
|
253
|
-
} else if (context.level === Logger.TRACE && console.trace) {
|
|
254
|
-
hdlr = console.trace;
|
|
255
|
-
}
|
|
256
|
-
|
|
257
|
-
options.formatter(messages, context);
|
|
258
|
-
invokeConsoleMethod(hdlr, messages);
|
|
259
|
-
}
|
|
260
|
-
};
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
// Configure and example a Default implementation which writes to the `window.console` (if present). The
|
|
264
|
-
// `options` hash can be used to configure the default logLevel and provide a custom message formatter.
|
|
265
|
-
Logger.useDefaults = function(options) {
|
|
266
|
-
Logger.setLevel(options && options.defaultLevel || Logger.DEBUG);
|
|
267
|
-
Logger.setHandler(Logger.createDefaultHandler(options));
|
|
268
|
-
};
|
|
269
|
-
|
|
270
|
-
// Createa an alias to useDefaults to avoid reaking a react-hooks rule.
|
|
271
|
-
Logger.setDefaults = Logger.useDefaults;
|
|
272
|
-
|
|
273
|
-
// Export to popular environments boilerplate.
|
|
274
|
-
if (true) {
|
|
275
|
-
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (Logger),
|
|
276
|
-
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
|
277
|
-
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
|
278
|
-
__WEBPACK_AMD_DEFINE_FACTORY__),
|
|
279
|
-
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
|
280
|
-
}
|
|
281
|
-
else {}
|
|
282
|
-
}(this));
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
/***/ }),
|
|
286
|
-
|
|
287
6
|
/***/ "./lib/src/db/adapters/LockedAsyncDatabaseAdapter.js":
|
|
288
7
|
/*!***********************************************************!*\
|
|
289
8
|
!*** ./lib/src/db/adapters/LockedAsyncDatabaseAdapter.js ***!
|
|
290
9
|
\***********************************************************/
|
|
291
10
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
292
11
|
|
|
293
|
-
"use strict";
|
|
294
12
|
__webpack_require__.r(__webpack_exports__);
|
|
295
13
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
296
14
|
/* harmony export */ LockedAsyncDatabaseAdapter: () => (/* binding */ LockedAsyncDatabaseAdapter)
|
|
297
15
|
/* harmony export */ });
|
|
298
16
|
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
|
|
299
|
-
/* harmony import */ var
|
|
300
|
-
/* harmony import */ var
|
|
301
|
-
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../..//shared/navigator */ "./lib/src/shared/navigator.js");
|
|
302
|
-
/* harmony import */ var _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./WorkerWrappedAsyncDatabaseConnection */ "./lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js");
|
|
303
|
-
|
|
17
|
+
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../..//shared/navigator */ "./lib/src/shared/navigator.js");
|
|
18
|
+
/* harmony import */ var _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./WorkerWrappedAsyncDatabaseConnection */ "./lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js");
|
|
304
19
|
|
|
305
20
|
|
|
306
21
|
|
|
@@ -323,7 +38,7 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
323
38
|
super();
|
|
324
39
|
this.options = options;
|
|
325
40
|
this._dbIdentifier = options.name;
|
|
326
|
-
this.logger = options.logger ??
|
|
41
|
+
this.logger = options.logger ?? (0,_powersync_common__WEBPACK_IMPORTED_MODULE_0__.createLogger)(`LockedAsyncDatabaseAdapter - ${this._dbIdentifier}`);
|
|
327
42
|
// Set the name if provided. We can query for the name if not available yet
|
|
328
43
|
this.debugMode = options.debugMode ?? false;
|
|
329
44
|
if (this.debugMode) {
|
|
@@ -380,7 +95,7 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
380
95
|
await this.initPromise;
|
|
381
96
|
}
|
|
382
97
|
async shareConnection() {
|
|
383
|
-
if (false == this._db instanceof
|
|
98
|
+
if (false == this._db instanceof _WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_2__.WorkerWrappedAsyncDatabaseConnection) {
|
|
384
99
|
throw new Error(`Only worker connections can be shared`);
|
|
385
100
|
}
|
|
386
101
|
return this._db.shareConnection();
|
|
@@ -437,7 +152,7 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
437
152
|
return this.acquireLock(async () => fn(this.generateDBHelpers({ execute: this._execute, executeRaw: this._executeRaw })));
|
|
438
153
|
}
|
|
439
154
|
acquireLock(callback) {
|
|
440
|
-
return (0,
|
|
155
|
+
return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_1__.getNavigatorLocks)().request(`db-lock-${this._dbIdentifier}`, callback);
|
|
441
156
|
}
|
|
442
157
|
async readTransaction(fn, options) {
|
|
443
158
|
return this.readLock(this.wrapTransaction(fn));
|
|
@@ -560,7 +275,6 @@ class LockedAsyncDatabaseAdapter extends _powersync_common__WEBPACK_IMPORTED_MOD
|
|
|
560
275
|
\*********************************************************************/
|
|
561
276
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
562
277
|
|
|
563
|
-
"use strict";
|
|
564
278
|
__webpack_require__.r(__webpack_exports__);
|
|
565
279
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
566
280
|
/* harmony export */ WorkerWrappedAsyncDatabaseConnection: () => (/* binding */ WorkerWrappedAsyncDatabaseConnection)
|
|
@@ -661,7 +375,6 @@ class WorkerWrappedAsyncDatabaseConnection {
|
|
|
661
375
|
\**************************************/
|
|
662
376
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
663
377
|
|
|
664
|
-
"use strict";
|
|
665
378
|
__webpack_require__.r(__webpack_exports__);
|
|
666
379
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
667
380
|
/* harmony export */ WebRemote: () => (/* binding */ WebRemote)
|
|
@@ -722,7 +435,6 @@ class WebRemote extends _powersync_common__WEBPACK_IMPORTED_MODULE_0__.AbstractR
|
|
|
722
435
|
\***********************************************************/
|
|
723
436
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
724
437
|
|
|
725
|
-
"use strict";
|
|
726
438
|
__webpack_require__.r(__webpack_exports__);
|
|
727
439
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
728
440
|
/* harmony export */ WebStreamingSyncImplementation: () => (/* binding */ WebStreamingSyncImplementation)
|
|
@@ -755,7 +467,6 @@ class WebStreamingSyncImplementation extends _powersync_common__WEBPACK_IMPORTED
|
|
|
755
467
|
\**************************************/
|
|
756
468
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
757
469
|
|
|
758
|
-
"use strict";
|
|
759
470
|
__webpack_require__.r(__webpack_exports__);
|
|
760
471
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
761
472
|
/* harmony export */ getUserAgentInfo: () => (/* binding */ getUserAgentInfo)
|
|
@@ -834,7 +545,6 @@ function getOsInfo(nav) {
|
|
|
834
545
|
\*************************************/
|
|
835
546
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
836
547
|
|
|
837
|
-
"use strict";
|
|
838
548
|
__webpack_require__.r(__webpack_exports__);
|
|
839
549
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
840
550
|
/* harmony export */ getNavigatorLocks: () => (/* binding */ getNavigatorLocks)
|
|
@@ -855,13 +565,11 @@ const getNavigatorLocks = () => {
|
|
|
855
565
|
\************************************************/
|
|
856
566
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
857
567
|
|
|
858
|
-
"use strict";
|
|
859
568
|
__webpack_require__.r(__webpack_exports__);
|
|
860
569
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
861
570
|
/* harmony export */ BroadcastLogger: () => (/* binding */ BroadcastLogger)
|
|
862
571
|
/* harmony export */ });
|
|
863
|
-
/* harmony import */ var
|
|
864
|
-
/* harmony import */ var js_logger__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(js_logger__WEBPACK_IMPORTED_MODULE_0__);
|
|
572
|
+
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
|
|
865
573
|
|
|
866
574
|
/**
|
|
867
575
|
* Broadcasts logs to all clients
|
|
@@ -877,13 +585,13 @@ class BroadcastLogger {
|
|
|
877
585
|
OFF;
|
|
878
586
|
constructor(clients) {
|
|
879
587
|
this.clients = clients;
|
|
880
|
-
this.TRACE =
|
|
881
|
-
this.DEBUG =
|
|
882
|
-
this.INFO =
|
|
883
|
-
this.TIME =
|
|
884
|
-
this.WARN =
|
|
885
|
-
this.ERROR =
|
|
886
|
-
this.OFF =
|
|
588
|
+
this.TRACE = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.TRACE;
|
|
589
|
+
this.DEBUG = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.DEBUG;
|
|
590
|
+
this.INFO = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.INFO;
|
|
591
|
+
this.TIME = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.TIME;
|
|
592
|
+
this.WARN = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.WARN;
|
|
593
|
+
this.ERROR = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.ERROR;
|
|
594
|
+
this.OFF = _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.OFF;
|
|
887
595
|
}
|
|
888
596
|
trace(...x) {
|
|
889
597
|
console.trace(...x);
|
|
@@ -928,7 +636,7 @@ class BroadcastLogger {
|
|
|
928
636
|
}
|
|
929
637
|
getLevel() {
|
|
930
638
|
// Levels are not adjustable on this level.
|
|
931
|
-
return
|
|
639
|
+
return _powersync_common__WEBPACK_IMPORTED_MODULE_0__.LogLevel.INFO;
|
|
932
640
|
}
|
|
933
641
|
enabledFor(level) {
|
|
934
642
|
// Levels are not adjustable on this level.
|
|
@@ -976,7 +684,6 @@ class BroadcastLogger {
|
|
|
976
684
|
\*********************************************************/
|
|
977
685
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
978
686
|
|
|
979
|
-
"use strict";
|
|
980
687
|
__webpack_require__.r(__webpack_exports__);
|
|
981
688
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
982
689
|
/* harmony export */ SharedSyncClientEvent: () => (/* binding */ SharedSyncClientEvent),
|
|
@@ -984,16 +691,13 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
984
691
|
/* harmony export */ });
|
|
985
692
|
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
|
|
986
693
|
/* harmony import */ var async_mutex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! async-mutex */ "../../node_modules/async-mutex/index.mjs");
|
|
987
|
-
/* harmony import */ var
|
|
988
|
-
/* harmony import */ var
|
|
989
|
-
/* harmony import */ var
|
|
990
|
-
/* harmony import */ var
|
|
991
|
-
/* harmony import */ var
|
|
992
|
-
/* harmony import */ var
|
|
993
|
-
/* harmony import */ var
|
|
994
|
-
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
|
|
995
|
-
/* harmony import */ var _BroadcastLogger__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./BroadcastLogger */ "./lib/src/worker/sync/BroadcastLogger.js");
|
|
996
|
-
|
|
694
|
+
/* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
|
|
695
|
+
/* harmony import */ var _db_sync_WebRemote__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../db/sync/WebRemote */ "./lib/src/db/sync/WebRemote.js");
|
|
696
|
+
/* harmony import */ var _db_sync_WebStreamingSyncImplementation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../db/sync/WebStreamingSyncImplementation */ "./lib/src/db/sync/WebStreamingSyncImplementation.js");
|
|
697
|
+
/* harmony import */ var _db_adapters_LockedAsyncDatabaseAdapter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../db/adapters/LockedAsyncDatabaseAdapter */ "./lib/src/db/adapters/LockedAsyncDatabaseAdapter.js");
|
|
698
|
+
/* harmony import */ var _db_adapters_WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../db/adapters/WorkerWrappedAsyncDatabaseConnection */ "./lib/src/db/adapters/WorkerWrappedAsyncDatabaseConnection.js");
|
|
699
|
+
/* harmony import */ var _shared_navigator__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../shared/navigator */ "./lib/src/shared/navigator.js");
|
|
700
|
+
/* harmony import */ var _BroadcastLogger__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./BroadcastLogger */ "./lib/src/worker/sync/BroadcastLogger.js");
|
|
997
701
|
|
|
998
702
|
|
|
999
703
|
|
|
@@ -1037,7 +741,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1037
741
|
this.dbAdapter = null;
|
|
1038
742
|
this.syncParams = null;
|
|
1039
743
|
this.syncStreamClient = null;
|
|
1040
|
-
this.logger =
|
|
744
|
+
this.logger = (0,_powersync_common__WEBPACK_IMPORTED_MODULE_0__.createLogger)('shared-sync');
|
|
1041
745
|
this.lastConnectOptions = undefined;
|
|
1042
746
|
this.isInitialized = new Promise((resolve) => {
|
|
1043
747
|
const callback = this.registerListener({
|
|
@@ -1048,7 +752,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1048
752
|
});
|
|
1049
753
|
});
|
|
1050
754
|
this.syncStatus = new _powersync_common__WEBPACK_IMPORTED_MODULE_0__.SyncStatus({});
|
|
1051
|
-
this.broadCastLogger = new
|
|
755
|
+
this.broadCastLogger = new _BroadcastLogger__WEBPACK_IMPORTED_MODULE_7__.BroadcastLogger(this.ports);
|
|
1052
756
|
}
|
|
1053
757
|
async waitForStatus(status) {
|
|
1054
758
|
await this.waitForReady();
|
|
@@ -1100,7 +804,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1100
804
|
async connect(options) {
|
|
1101
805
|
await this.waitForReady();
|
|
1102
806
|
// This effectively queues connect and disconnect calls. Ensuring multiple tabs' requests are synchronized
|
|
1103
|
-
return (0,
|
|
807
|
+
return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_6__.getNavigatorLocks)().request('shared-sync-connect', async () => {
|
|
1104
808
|
if (!this.dbAdapter) {
|
|
1105
809
|
await this.openInternalDB();
|
|
1106
810
|
}
|
|
@@ -1117,7 +821,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1117
821
|
async disconnect() {
|
|
1118
822
|
await this.waitForReady();
|
|
1119
823
|
// This effectively queues connect and disconnect calls. Ensuring multiple tabs' requests are synchronized
|
|
1120
|
-
return (0,
|
|
824
|
+
return (0,_shared_navigator__WEBPACK_IMPORTED_MODULE_6__.getNavigatorLocks)().request('shared-sync-connect', async () => {
|
|
1121
825
|
await this.syncStreamClient?.disconnect();
|
|
1122
826
|
await this.syncStreamClient?.dispose();
|
|
1123
827
|
this.syncStreamClient = null;
|
|
@@ -1129,7 +833,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1129
833
|
addPort(port) {
|
|
1130
834
|
const portProvider = {
|
|
1131
835
|
port,
|
|
1132
|
-
clientProvider:
|
|
836
|
+
clientProvider: comlink__WEBPACK_IMPORTED_MODULE_8__.wrap(port)
|
|
1133
837
|
};
|
|
1134
838
|
this.ports.push(portProvider);
|
|
1135
839
|
// Give the newly connected client the latest status
|
|
@@ -1175,7 +879,7 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1175
879
|
trackedPort.db.close();
|
|
1176
880
|
}
|
|
1177
881
|
// Release proxy
|
|
1178
|
-
trackedPort.clientProvider[
|
|
882
|
+
trackedPort.clientProvider[comlink__WEBPACK_IMPORTED_MODULE_8__.releaseProxy]();
|
|
1179
883
|
}
|
|
1180
884
|
triggerCrudUpload() {
|
|
1181
885
|
this.waitForReady().then(() => this.syncStreamClient?.triggerCrudUpload());
|
|
@@ -1196,9 +900,9 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1196
900
|
// This should only be called after initialization has completed
|
|
1197
901
|
const syncParams = this.syncParams;
|
|
1198
902
|
// Create a new StreamingSyncImplementation for each connect call. This is usually done is all SDKs.
|
|
1199
|
-
return new
|
|
903
|
+
return new _db_sync_WebStreamingSyncImplementation__WEBPACK_IMPORTED_MODULE_3__.WebStreamingSyncImplementation({
|
|
1200
904
|
adapter: new _powersync_common__WEBPACK_IMPORTED_MODULE_0__.SqliteBucketStorage(this.dbAdapter, new async_mutex__WEBPACK_IMPORTED_MODULE_1__.Mutex(), this.logger),
|
|
1201
|
-
remote: new
|
|
905
|
+
remote: new _db_sync_WebRemote__WEBPACK_IMPORTED_MODULE_2__.WebRemote({
|
|
1202
906
|
fetchCredentials: async () => {
|
|
1203
907
|
const lastPort = this.ports[this.ports.length - 1];
|
|
1204
908
|
return new Promise(async (resolve, reject) => {
|
|
@@ -1254,13 +958,13 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1254
958
|
throw new Error(`Could not open DB connection since no client is connected.`);
|
|
1255
959
|
}
|
|
1256
960
|
const workerPort = await lastClient.clientProvider.getDBWorkerPort();
|
|
1257
|
-
const remote =
|
|
961
|
+
const remote = comlink__WEBPACK_IMPORTED_MODULE_8__.wrap(workerPort);
|
|
1258
962
|
const identifier = this.syncParams.dbParams.dbFilename;
|
|
1259
963
|
const db = await remote(this.syncParams.dbParams);
|
|
1260
|
-
const locked = new
|
|
964
|
+
const locked = new _db_adapters_LockedAsyncDatabaseAdapter__WEBPACK_IMPORTED_MODULE_4__.LockedAsyncDatabaseAdapter({
|
|
1261
965
|
name: identifier,
|
|
1262
966
|
openConnection: async () => {
|
|
1263
|
-
return new
|
|
967
|
+
return new _db_adapters_WorkerWrappedAsyncDatabaseConnection__WEBPACK_IMPORTED_MODULE_5__.WorkerWrappedAsyncDatabaseConnection({
|
|
1264
968
|
remote,
|
|
1265
969
|
baseConnection: db,
|
|
1266
970
|
identifier
|
|
@@ -1303,7 +1007,6 @@ class SharedSyncImplementation extends _powersync_common__WEBPACK_IMPORTED_MODUL
|
|
|
1303
1007
|
\************************************************/
|
|
1304
1008
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1305
1009
|
|
|
1306
|
-
"use strict";
|
|
1307
1010
|
__webpack_require__.r(__webpack_exports__);
|
|
1308
1011
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1309
1012
|
/* harmony export */ E_ALREADY_LOCKED: () => (/* binding */ E_ALREADY_LOCKED),
|
|
@@ -1555,7 +1258,6 @@ function tryAcquire(sync, alreadyAcquiredError = E_ALREADY_LOCKED) {
|
|
|
1555
1258
|
\*******************************************************/
|
|
1556
1259
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1557
1260
|
|
|
1558
|
-
"use strict";
|
|
1559
1261
|
__webpack_require__.r(__webpack_exports__);
|
|
1560
1262
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1561
1263
|
/* harmony export */ createEndpoint: () => (/* binding */ createEndpoint),
|
|
@@ -1937,7 +1639,6 @@ function generateUUID() {
|
|
|
1937
1639
|
\*********************************/
|
|
1938
1640
|
/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
|
|
1939
1641
|
|
|
1940
|
-
"use strict";
|
|
1941
1642
|
__webpack_require__.r(__webpack_exports__);
|
|
1942
1643
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
1943
1644
|
/* harmony export */ AbortOperation: () => (/* binding */ P),
|
|
@@ -1973,7 +1674,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
1973
1674
|
/* harmony export */ IndexedColumn: () => (/* binding */ bo),
|
|
1974
1675
|
/* harmony export */ InvalidSQLCharacters: () => (/* binding */ _o),
|
|
1975
1676
|
/* harmony export */ LockType: () => (/* binding */ qr),
|
|
1976
|
-
/* harmony export */
|
|
1677
|
+
/* harmony export */ LogLevel: () => (/* binding */ Ao),
|
|
1977
1678
|
/* harmony export */ MAX_AMOUNT_OF_COLUMNS: () => (/* binding */ po),
|
|
1978
1679
|
/* harmony export */ MAX_OP_ID: () => (/* binding */ to),
|
|
1979
1680
|
/* harmony export */ OpType: () => (/* binding */ N),
|
|
@@ -2140,18 +1841,6 @@ read:function(l,n,u,e,t){var r,o,i=8*t-e-1,a=(1<<i)-1,s=a>>1,c=-7,d=u?t-1:0,h=u?
|
|
|
2140
1841
|
/******/ };
|
|
2141
1842
|
/******/ })();
|
|
2142
1843
|
/******/
|
|
2143
|
-
/******/ /* webpack/runtime/compat get default export */
|
|
2144
|
-
/******/ (() => {
|
|
2145
|
-
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
2146
|
-
/******/ __webpack_require__.n = (module) => {
|
|
2147
|
-
/******/ var getter = module && module.__esModule ?
|
|
2148
|
-
/******/ () => (module['default']) :
|
|
2149
|
-
/******/ () => (module);
|
|
2150
|
-
/******/ __webpack_require__.d(getter, { a: getter });
|
|
2151
|
-
/******/ return getter;
|
|
2152
|
-
/******/ };
|
|
2153
|
-
/******/ })();
|
|
2154
|
-
/******/
|
|
2155
1844
|
/******/ /* webpack/runtime/create fake namespace object */
|
|
2156
1845
|
/******/ (() => {
|
|
2157
1846
|
/******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
|
|
@@ -2319,22 +2008,21 @@ read:function(l,n,u,e,t){var r,o,i=8*t-e-1,a=(1<<i)-1,s=a>>1,c=-7,d=u?t-1:0,h=u?
|
|
|
2319
2008
|
/******/
|
|
2320
2009
|
/************************************************************************/
|
|
2321
2010
|
var __webpack_exports__ = {};
|
|
2322
|
-
// This entry need to be wrapped in an IIFE because it need to be in
|
|
2011
|
+
// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
|
|
2323
2012
|
(() => {
|
|
2324
|
-
"use strict";
|
|
2325
2013
|
/*!****************************************************************!*\
|
|
2326
2014
|
!*** ./lib/src/worker/sync/SharedSyncImplementation.worker.js ***!
|
|
2327
2015
|
\****************************************************************/
|
|
2328
2016
|
__webpack_require__.r(__webpack_exports__);
|
|
2329
2017
|
/* harmony import */ var comlink__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! comlink */ "../../node_modules/comlink/dist/esm/comlink.mjs");
|
|
2330
2018
|
/* harmony import */ var _SharedSyncImplementation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SharedSyncImplementation */ "./lib/src/worker/sync/SharedSyncImplementation.js");
|
|
2331
|
-
/* harmony import */ var
|
|
2332
|
-
/* harmony import */ var js_logger__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(js_logger__WEBPACK_IMPORTED_MODULE_1__);
|
|
2019
|
+
/* harmony import */ var _powersync_common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @powersync/common */ "../common/dist/bundle.mjs");
|
|
2333
2020
|
|
|
2334
2021
|
|
|
2335
2022
|
|
|
2336
2023
|
const _self = self;
|
|
2337
|
-
|
|
2024
|
+
const logger = (0,_powersync_common__WEBPACK_IMPORTED_MODULE_1__.createBaseLogger)();
|
|
2025
|
+
logger.useDefaults();
|
|
2338
2026
|
const sharedSyncImplementation = new _SharedSyncImplementation__WEBPACK_IMPORTED_MODULE_0__.SharedSyncImplementation();
|
|
2339
2027
|
_self.onconnect = function (event) {
|
|
2340
2028
|
const port = event.ports[0];
|