@powersync/common 1.53.2 → 1.54.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/dist/bundle.cjs +548 -345
- package/dist/bundle.cjs.map +1 -1
- package/dist/bundle.mjs +548 -345
- package/dist/bundle.mjs.map +1 -1
- package/dist/bundle.node.cjs +548 -345
- package/dist/bundle.node.cjs.map +1 -1
- package/dist/bundle.node.mjs +548 -345
- package/dist/bundle.node.mjs.map +1 -1
- package/dist/index.d.cts +727 -189
- package/lib/attachments/AttachmentContext.d.ts +7 -6
- package/lib/attachments/AttachmentContext.js +2 -1
- package/lib/attachments/AttachmentContext.js.map +1 -1
- package/lib/attachments/AttachmentErrorHandler.d.ts +6 -6
- package/lib/attachments/AttachmentQueue.d.ts +61 -20
- package/lib/attachments/AttachmentQueue.js +16 -18
- package/lib/attachments/AttachmentQueue.js.map +1 -1
- package/lib/attachments/LocalStorageAdapter.d.ts +14 -8
- package/lib/attachments/LocalStorageAdapter.js +3 -0
- package/lib/attachments/LocalStorageAdapter.js.map +1 -1
- package/lib/attachments/RemoteStorageAdapter.d.ts +4 -4
- package/lib/attachments/Schema.d.ts +12 -4
- package/lib/attachments/Schema.js +8 -3
- package/lib/attachments/Schema.js.map +1 -1
- package/lib/attachments/WatchedAttachmentItem.d.ts +3 -1
- package/lib/client/AbstractPowerSyncDatabase.d.ts +110 -58
- package/lib/client/AbstractPowerSyncDatabase.js +59 -48
- package/lib/client/AbstractPowerSyncDatabase.js.map +1 -1
- package/lib/client/AbstractPowerSyncOpenFactory.d.ts +6 -0
- package/lib/client/AbstractPowerSyncOpenFactory.js +3 -0
- package/lib/client/AbstractPowerSyncOpenFactory.js.map +1 -1
- package/lib/client/ConnectionManager.d.ts +4 -1
- package/lib/client/ConnectionManager.js +1 -1
- package/lib/client/ConnectionManager.js.map +1 -1
- package/lib/client/Query.d.ts +9 -0
- package/lib/client/SQLOpenFactory.d.ts +12 -0
- package/lib/client/SQLOpenFactory.js +6 -0
- package/lib/client/SQLOpenFactory.js.map +1 -1
- package/lib/client/compilableQueryWatch.d.ts +6 -0
- package/lib/client/compilableQueryWatch.js +3 -0
- package/lib/client/compilableQueryWatch.js.map +1 -1
- package/lib/client/connection/PowerSyncBackendConnector.d.ts +3 -0
- package/lib/client/connection/PowerSyncCredentials.d.ts +3 -0
- package/lib/client/constants.d.ts +3 -0
- package/lib/client/constants.js +3 -0
- package/lib/client/constants.js.map +1 -1
- package/lib/client/runOnSchemaChange.d.ts +3 -0
- package/lib/client/runOnSchemaChange.js +3 -0
- package/lib/client/runOnSchemaChange.js.map +1 -1
- package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +12 -0
- package/lib/client/sync/bucket/BucketStorageAdapter.js +6 -0
- package/lib/client/sync/bucket/BucketStorageAdapter.js.map +1 -1
- package/lib/client/sync/bucket/CrudBatch.d.ts +2 -0
- package/lib/client/sync/bucket/CrudBatch.js +2 -0
- package/lib/client/sync/bucket/CrudBatch.js.map +1 -1
- package/lib/client/sync/bucket/CrudEntry.d.ts +9 -0
- package/lib/client/sync/bucket/CrudEntry.js +4 -0
- package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
- package/lib/client/sync/bucket/CrudTransaction.d.ts +3 -0
- package/lib/client/sync/bucket/CrudTransaction.js +3 -0
- package/lib/client/sync/bucket/CrudTransaction.js.map +1 -1
- package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +3 -0
- package/lib/client/sync/bucket/SqliteBucketStorage.js +3 -0
- package/lib/client/sync/bucket/SqliteBucketStorage.js.map +1 -1
- package/lib/client/sync/stream/AbstractRemote.d.ts +30 -1
- package/lib/client/sync/stream/AbstractRemote.js +15 -1
- package/lib/client/sync/stream/AbstractRemote.js.map +1 -1
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +55 -5
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +32 -4
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +1 -1
- package/lib/client/sync/stream/JsonValue.d.ts +3 -0
- package/lib/client/sync/stream/WebsocketClientTransport.js +2 -1
- package/lib/client/sync/stream/WebsocketClientTransport.js.map +1 -1
- package/lib/client/sync/sync-streams.d.ts +22 -7
- package/lib/client/triggers/TriggerManager.d.ts +19 -18
- package/lib/client/triggers/TriggerManager.js +2 -1
- package/lib/client/triggers/TriggerManager.js.map +1 -1
- package/lib/client/triggers/TriggerManagerImpl.d.ts +1 -1
- package/lib/client/triggers/TriggerManagerImpl.js +3 -3
- package/lib/client/triggers/TriggerManagerImpl.js.map +1 -1
- package/lib/client/triggers/sanitizeSQL.d.ts +4 -0
- package/lib/client/triggers/sanitizeSQL.js +4 -0
- package/lib/client/triggers/sanitizeSQL.js.map +1 -1
- package/lib/client/watched/GetAllQuery.d.ts +4 -0
- package/lib/client/watched/GetAllQuery.js +2 -0
- package/lib/client/watched/GetAllQuery.js.map +1 -1
- package/lib/client/watched/WatchedQuery.d.ts +24 -2
- package/lib/client/watched/WatchedQuery.js +9 -0
- package/lib/client/watched/WatchedQuery.js.map +1 -1
- package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +1 -1
- package/lib/client/watched/processors/AbstractQueryProcessor.js.map +1 -1
- package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +20 -0
- package/lib/client/watched/processors/DifferentialQueryProcessor.js +4 -0
- package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
- package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +4 -0
- package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
- package/lib/client/watched/processors/comparators.d.ts +8 -0
- package/lib/client/watched/processors/comparators.js +4 -0
- package/lib/client/watched/processors/comparators.js.map +1 -1
- package/lib/db/ConnectionClosedError.d.ts +2 -0
- package/lib/db/ConnectionClosedError.js +2 -0
- package/lib/db/ConnectionClosedError.js.map +1 -1
- package/lib/db/DBAdapter.d.ts +56 -6
- package/lib/db/DBAdapter.js +15 -3
- package/lib/db/DBAdapter.js.map +1 -1
- package/lib/db/crud/SyncProgress.d.ts +6 -1
- package/lib/db/crud/SyncProgress.js +2 -0
- package/lib/db/crud/SyncProgress.js.map +1 -1
- package/lib/db/crud/SyncStatus.d.ts +36 -38
- package/lib/db/crud/SyncStatus.js +19 -14
- package/lib/db/crud/SyncStatus.js.map +1 -1
- package/lib/db/crud/UploadQueueStatus.d.ts +3 -0
- package/lib/db/crud/UploadQueueStatus.js +3 -0
- package/lib/db/crud/UploadQueueStatus.js.map +1 -1
- package/lib/db/schema/Column.d.ts +28 -0
- package/lib/db/schema/Column.js +16 -3
- package/lib/db/schema/Column.js.map +1 -1
- package/lib/db/schema/Index.d.ts +9 -0
- package/lib/db/schema/Index.js +6 -0
- package/lib/db/schema/Index.js.map +1 -1
- package/lib/db/schema/IndexedColumn.d.ts +9 -0
- package/lib/db/schema/IndexedColumn.js +6 -0
- package/lib/db/schema/IndexedColumn.js.map +1 -1
- package/lib/db/schema/RawTable.d.ts +7 -1
- package/lib/db/schema/Schema.d.ts +6 -1
- package/lib/db/schema/Schema.js +3 -1
- package/lib/db/schema/Schema.js.map +1 -1
- package/lib/db/schema/Table.d.ts +27 -3
- package/lib/db/schema/Table.js +9 -0
- package/lib/db/schema/Table.js.map +1 -1
- package/lib/db/schema/TableV2.d.ts +2 -0
- package/lib/db/schema/TableV2.js +2 -0
- package/lib/db/schema/TableV2.js.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/types/types.d.ts +6 -0
- package/lib/utils/AbortOperation.d.ts +2 -0
- package/lib/utils/AbortOperation.js +2 -0
- package/lib/utils/AbortOperation.js.map +1 -1
- package/lib/utils/BaseObserver.d.ts +12 -0
- package/lib/utils/BaseObserver.js +3 -0
- package/lib/utils/BaseObserver.js.map +1 -1
- package/lib/utils/ControlledExecutor.d.ts +6 -0
- package/lib/utils/ControlledExecutor.js +3 -0
- package/lib/utils/ControlledExecutor.js.map +1 -1
- package/lib/utils/Logger.d.ts +9 -0
- package/lib/utils/Logger.js +6 -0
- package/lib/utils/Logger.js.map +1 -1
- package/lib/utils/mutex.d.ts +8 -0
- package/lib/utils/mutex.js +3 -0
- package/lib/utils/mutex.js.map +1 -1
- package/lib/utils/parseQuery.d.ts +6 -0
- package/lib/utils/parseQuery.js +3 -0
- package/lib/utils/parseQuery.js.map +1 -1
- package/lib/utils/stream_transform.d.ts +3 -1
- package/lib/utils/stream_transform.js.map +1 -1
- package/package.json +3 -2
- package/src/attachments/AttachmentContext.ts +7 -6
- package/src/attachments/AttachmentErrorHandler.ts +6 -6
- package/src/attachments/AttachmentQueue.ts +71 -23
- package/src/attachments/LocalStorageAdapter.ts +14 -8
- package/src/attachments/README.md +2 -0
- package/src/attachments/RemoteStorageAdapter.ts +4 -4
- package/src/attachments/Schema.ts +12 -4
- package/src/attachments/WatchedAttachmentItem.ts +3 -1
- package/src/client/AbstractPowerSyncDatabase.ts +117 -62
- package/src/client/AbstractPowerSyncOpenFactory.ts +6 -0
- package/src/client/ConnectionManager.ts +4 -1
- package/src/client/Query.ts +9 -0
- package/src/client/SQLOpenFactory.ts +12 -0
- package/src/client/compilableQueryWatch.ts +6 -0
- package/src/client/connection/PowerSyncBackendConnector.ts +3 -0
- package/src/client/connection/PowerSyncCredentials.ts +3 -0
- package/src/client/constants.ts +3 -0
- package/src/client/runOnSchemaChange.ts +3 -0
- package/src/client/sync/bucket/BucketStorageAdapter.ts +12 -0
- package/src/client/sync/bucket/CrudBatch.ts +2 -0
- package/src/client/sync/bucket/CrudEntry.ts +9 -0
- package/src/client/sync/bucket/CrudTransaction.ts +3 -0
- package/src/client/sync/bucket/SqliteBucketStorage.ts +3 -0
- package/src/client/sync/stream/AbstractRemote.ts +30 -1
- package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +55 -5
- package/src/client/sync/stream/JsonValue.ts +3 -0
- package/src/client/sync/stream/WebsocketClientTransport.ts +3 -1
- package/src/client/sync/sync-streams.ts +22 -9
- package/src/client/triggers/TriggerManager.ts +19 -18
- package/src/client/triggers/TriggerManagerImpl.ts +5 -5
- package/src/client/triggers/sanitizeSQL.ts +5 -0
- package/src/client/watched/GetAllQuery.ts +5 -1
- package/src/client/watched/WatchedQuery.ts +24 -2
- package/src/client/watched/processors/AbstractQueryProcessor.ts +6 -6
- package/src/client/watched/processors/DifferentialQueryProcessor.ts +28 -5
- package/src/client/watched/processors/OnChangeQueryProcessor.ts +9 -3
- package/src/client/watched/processors/comparators.ts +8 -0
- package/src/db/ConnectionClosedError.ts +2 -0
- package/src/db/DBAdapter.ts +58 -6
- package/src/db/crud/SyncProgress.ts +6 -1
- package/src/db/crud/SyncStatus.ts +40 -21
- package/src/db/crud/UploadQueueStatus.ts +3 -0
- package/src/db/schema/Column.ts +28 -3
- package/src/db/schema/Index.ts +9 -0
- package/src/db/schema/IndexedColumn.ts +9 -0
- package/src/db/schema/RawTable.ts +7 -1
- package/src/db/schema/Schema.ts +8 -3
- package/src/db/schema/Table.ts +30 -5
- package/src/db/schema/TableV2.ts +2 -0
- package/src/index.ts +1 -1
- package/src/types/types.ts +6 -0
- package/src/utils/AbortOperation.ts +2 -0
- package/src/utils/BaseObserver.ts +12 -0
- package/src/utils/ControlledExecutor.ts +6 -0
- package/src/utils/Logger.ts +9 -0
- package/src/utils/mutex.ts +12 -0
- package/src/utils/parseQuery.ts +6 -0
- package/src/utils/stream_transform.ts +3 -1
|
@@ -4,6 +4,8 @@ import { MetaBaseObserverInterface } from '../../utils/MetaBaseObserver.js';
|
|
|
4
4
|
import { AbstractPowerSyncDatabase } from '../AbstractPowerSyncDatabase.js';
|
|
5
5
|
/**
|
|
6
6
|
* State for {@link WatchedQuery} instances.
|
|
7
|
+
*
|
|
8
|
+
* @public
|
|
7
9
|
*/
|
|
8
10
|
export interface WatchedQueryState<Data> {
|
|
9
11
|
/**
|
|
@@ -31,6 +33,8 @@ export interface WatchedQueryState<Data> {
|
|
|
31
33
|
}
|
|
32
34
|
/**
|
|
33
35
|
* Options provided to the `execute` method of a {@link WatchCompatibleQuery}.
|
|
36
|
+
*
|
|
37
|
+
* @public
|
|
34
38
|
*/
|
|
35
39
|
export interface WatchExecuteOptions {
|
|
36
40
|
sql: string;
|
|
@@ -38,13 +42,16 @@ export interface WatchExecuteOptions {
|
|
|
38
42
|
db: AbstractPowerSyncDatabase;
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
45
|
+
*
|
|
46
|
+
* @public
|
|
43
47
|
*/
|
|
44
48
|
export interface WatchCompatibleQuery<ResultType> {
|
|
45
49
|
execute(options: WatchExecuteOptions): Promise<ResultType>;
|
|
46
50
|
compile(): CompiledQuery;
|
|
47
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
48
55
|
export interface WatchedQueryOptions {
|
|
49
56
|
/** The minimum interval between queries. */
|
|
50
57
|
throttleMs?: number;
|
|
@@ -61,6 +68,9 @@ export interface WatchedQueryOptions {
|
|
|
61
68
|
*/
|
|
62
69
|
triggerOnTables?: string[];
|
|
63
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
64
74
|
export declare enum WatchedQueryListenerEvent {
|
|
65
75
|
ON_DATA = "onData",
|
|
66
76
|
ON_ERROR = "onError",
|
|
@@ -68,6 +78,9 @@ export declare enum WatchedQueryListenerEvent {
|
|
|
68
78
|
SETTINGS_WILL_UPDATE = "settingsWillUpdate",
|
|
69
79
|
CLOSED = "closed"
|
|
70
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* @public
|
|
83
|
+
*/
|
|
71
84
|
export interface WatchedQueryListener<Data> extends BaseListener {
|
|
72
85
|
[WatchedQueryListenerEvent.ON_DATA]?: (data: Data) => void | Promise<void>;
|
|
73
86
|
[WatchedQueryListenerEvent.ON_ERROR]?: (error: Error) => void | Promise<void>;
|
|
@@ -75,8 +88,17 @@ export interface WatchedQueryListener<Data> extends BaseListener {
|
|
|
75
88
|
[WatchedQueryListenerEvent.SETTINGS_WILL_UPDATE]?: () => void;
|
|
76
89
|
[WatchedQueryListenerEvent.CLOSED]?: () => void | Promise<void>;
|
|
77
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
78
94
|
export declare const DEFAULT_WATCH_THROTTLE_MS = 30;
|
|
95
|
+
/**
|
|
96
|
+
* @internal
|
|
97
|
+
*/
|
|
79
98
|
export declare const DEFAULT_WATCH_QUERY_OPTIONS: WatchedQueryOptions;
|
|
99
|
+
/**
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
80
102
|
export interface WatchedQuery<Data = unknown, Settings extends WatchedQueryOptions = WatchedQueryOptions, Listener extends WatchedQueryListener<Data> = WatchedQueryListener<Data>> extends MetaBaseObserverInterface<Listener> {
|
|
81
103
|
/**
|
|
82
104
|
* Current state of the watched query.
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public
|
|
3
|
+
*/
|
|
1
4
|
export var WatchedQueryListenerEvent;
|
|
2
5
|
(function (WatchedQueryListenerEvent) {
|
|
3
6
|
WatchedQueryListenerEvent["ON_DATA"] = "onData";
|
|
@@ -6,7 +9,13 @@ export var WatchedQueryListenerEvent;
|
|
|
6
9
|
WatchedQueryListenerEvent["SETTINGS_WILL_UPDATE"] = "settingsWillUpdate";
|
|
7
10
|
WatchedQueryListenerEvent["CLOSED"] = "closed";
|
|
8
11
|
})(WatchedQueryListenerEvent || (WatchedQueryListenerEvent = {}));
|
|
12
|
+
/**
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
9
15
|
export const DEFAULT_WATCH_THROTTLE_MS = 30;
|
|
16
|
+
/**
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
10
19
|
export const DEFAULT_WATCH_QUERY_OPTIONS = {
|
|
11
20
|
throttleMs: DEFAULT_WATCH_THROTTLE_MS,
|
|
12
21
|
reportFetching: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchedQuery.js","sourceRoot":"","sources":["../../../src/client/watched/WatchedQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WatchedQuery.js","sourceRoot":"","sources":["../../../src/client/watched/WatchedQuery.ts"],"names":[],"mappings":"AA4EA;;GAEG;AACH,MAAM,CAAN,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACnC,+CAAkB,CAAA;IAClB,iDAAoB,CAAA;IACpB,8DAAiC,CAAA;IACjC,wEAA2C,CAAA;IAC3C,8CAAiB,CAAA;AACnB,CAAC,EANW,yBAAyB,KAAzB,yBAAyB,QAMpC;AAaD;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAwB;IAC9D,UAAU,EAAE,yBAAyB;IACrC,cAAc,EAAE,IAAI;CACrB,CAAC"}
|
|
@@ -47,7 +47,7 @@ export declare abstract class AbstractQueryProcessor<Data = unknown[], Settings
|
|
|
47
47
|
updateSettings(settings: Settings): Promise<void>;
|
|
48
48
|
/**
|
|
49
49
|
* This method is used to link a query to the subscribers of this listener class.
|
|
50
|
-
* This method should perform actual query watching and report results via {@link updateState} method.
|
|
50
|
+
* This method should perform actual query watching and report results via {@link AbstractQueryProcessor.updateState} method.
|
|
51
51
|
*/
|
|
52
52
|
protected abstract linkQuery(options: LinkQueryOptions<Data>): Promise<void>;
|
|
53
53
|
protected updateState(update: Partial<MutableWatchedQueryState<Data>>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/AbstractQueryProcessor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"AbstractQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/AbstractQueryProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { AbstractQueryProcessor, AbstractQueryProcessorOptions, LinkQueryOptions
|
|
|
3
3
|
/**
|
|
4
4
|
* Represents an updated row in a differential watched query.
|
|
5
5
|
* It contains both the current and previous state of the row.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
6
8
|
*/
|
|
7
9
|
export interface WatchedQueryRowDifferential<RowType> {
|
|
8
10
|
readonly current: RowType;
|
|
@@ -11,6 +13,8 @@ export interface WatchedQueryRowDifferential<RowType> {
|
|
|
11
13
|
/**
|
|
12
14
|
* Represents the result of a watched query that has been diffed.
|
|
13
15
|
* {@link DifferentialWatchedQueryState#diff} is of the {@link WatchedQueryDifferential} form.
|
|
16
|
+
*
|
|
17
|
+
* @public
|
|
14
18
|
*/
|
|
15
19
|
export interface WatchedQueryDifferential<RowType> {
|
|
16
20
|
readonly added: ReadonlyArray<Readonly<RowType>>;
|
|
@@ -35,6 +39,8 @@ export interface WatchedQueryDifferential<RowType> {
|
|
|
35
39
|
}
|
|
36
40
|
/**
|
|
37
41
|
* Row comparator for differentially watched queries which keys and compares items in the result set.
|
|
42
|
+
*
|
|
43
|
+
* @public
|
|
38
44
|
*/
|
|
39
45
|
export interface DifferentialWatchedQueryComparator<RowType> {
|
|
40
46
|
/**
|
|
@@ -48,6 +54,8 @@ export interface DifferentialWatchedQueryComparator<RowType> {
|
|
|
48
54
|
}
|
|
49
55
|
/**
|
|
50
56
|
* Options for building a differential watched query with the {@link Query} builder.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
51
59
|
*/
|
|
52
60
|
export interface DifferentialWatchedQueryOptions<RowType> extends WatchedQueryOptions {
|
|
53
61
|
/**
|
|
@@ -64,6 +72,8 @@ export interface DifferentialWatchedQueryOptions<RowType> extends WatchedQueryOp
|
|
|
64
72
|
}
|
|
65
73
|
/**
|
|
66
74
|
* Settings for differential incremental watched queries using.
|
|
75
|
+
*
|
|
76
|
+
* @public
|
|
67
77
|
*/
|
|
68
78
|
export interface DifferentialWatchedQuerySettings<RowType> extends DifferentialWatchedQueryOptions<RowType> {
|
|
69
79
|
/**
|
|
@@ -71,9 +81,15 @@ export interface DifferentialWatchedQuerySettings<RowType> extends DifferentialW
|
|
|
71
81
|
*/
|
|
72
82
|
query: WatchCompatibleQuery<RowType[]>;
|
|
73
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* @public
|
|
86
|
+
*/
|
|
74
87
|
export interface DifferentialWatchedQueryListener<RowType> extends WatchedQueryListener<ReadonlyArray<Readonly<RowType>>> {
|
|
75
88
|
onDiff?: (diff: WatchedQueryDifferential<RowType>) => void | Promise<void>;
|
|
76
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* @public
|
|
92
|
+
*/
|
|
77
93
|
export type DifferentialWatchedQuery<RowType> = WatchedQuery<ReadonlyArray<Readonly<RowType>>, DifferentialWatchedQuerySettings<RowType>, DifferentialWatchedQueryListener<RowType>>;
|
|
78
94
|
/**
|
|
79
95
|
* @internal
|
|
@@ -88,6 +104,8 @@ type DataHashMap<RowType> = Map<string, {
|
|
|
88
104
|
/**
|
|
89
105
|
* An empty differential result set.
|
|
90
106
|
* This is used as the initial state for differential incrementally watched queries.
|
|
107
|
+
*
|
|
108
|
+
* @internal
|
|
91
109
|
*/
|
|
92
110
|
export declare const EMPTY_DIFFERENTIAL: {
|
|
93
111
|
added: never[];
|
|
@@ -100,6 +118,8 @@ export declare const EMPTY_DIFFERENTIAL: {
|
|
|
100
118
|
* Default implementation of the {@link DifferentialWatchedQueryComparator} for watched queries.
|
|
101
119
|
* It keys items by their `id` property if available, alternatively it uses JSON stringification
|
|
102
120
|
* of the entire item for the key and comparison.
|
|
121
|
+
*
|
|
122
|
+
* @internal
|
|
103
123
|
*/
|
|
104
124
|
export declare const DEFAULT_ROW_COMPARATOR: DifferentialWatchedQueryComparator<any>;
|
|
105
125
|
/**
|
|
@@ -2,6 +2,8 @@ import { AbstractQueryProcessor } from './AbstractQueryProcessor.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* An empty differential result set.
|
|
4
4
|
* This is used as the initial state for differential incrementally watched queries.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
5
7
|
*/
|
|
6
8
|
export const EMPTY_DIFFERENTIAL = {
|
|
7
9
|
added: [],
|
|
@@ -14,6 +16,8 @@ export const EMPTY_DIFFERENTIAL = {
|
|
|
14
16
|
* Default implementation of the {@link DifferentialWatchedQueryComparator} for watched queries.
|
|
15
17
|
* It keys items by their `id` property if available, alternatively it uses JSON stringification
|
|
16
18
|
* of the entire item for the key and comparison.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
17
21
|
*/
|
|
18
22
|
export const DEFAULT_ROW_COMPARATOR = {
|
|
19
23
|
keyBy: (item) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DifferentialQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/DifferentialQueryProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAIvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"DifferentialQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/DifferentialQueryProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,16 @@ import { AbstractQueryProcessor, AbstractQueryProcessorOptions, LinkQueryOptions
|
|
|
3
3
|
import { WatchedQueryComparator } from './comparators.js';
|
|
4
4
|
/**
|
|
5
5
|
* Settings for {@link WatchedQuery} instances created via {@link Query#watch}.
|
|
6
|
+
*
|
|
7
|
+
* @public
|
|
6
8
|
*/
|
|
7
9
|
export interface WatchedQuerySettings<DataType> extends WatchedQueryOptions {
|
|
8
10
|
query: WatchCompatibleQuery<DataType>;
|
|
9
11
|
}
|
|
10
12
|
/**
|
|
11
13
|
* {@link WatchedQuery} returned from {@link Query#watch}.
|
|
14
|
+
*
|
|
15
|
+
* @public
|
|
12
16
|
*/
|
|
13
17
|
export type StandardWatchedQuery<DataType> = WatchedQuery<DataType, WatchedQuerySettings<DataType>>;
|
|
14
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OnChangeQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/OnChangeQueryProcessor.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAIvB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"OnChangeQueryProcessor.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/OnChangeQueryProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
* A basic comparator for incrementally watched queries. This performs a single comparison which
|
|
3
3
|
* determines if the result set has changed. The {@link WatchedQuery} will only emit the new result
|
|
4
4
|
* if a change has been detected.
|
|
5
|
+
*
|
|
6
|
+
* @public
|
|
5
7
|
*/
|
|
6
8
|
export interface WatchedQueryComparator<Data> {
|
|
7
9
|
checkEquality: (current: Data, previous: Data) => boolean;
|
|
8
10
|
}
|
|
9
11
|
/**
|
|
10
12
|
* Options for {@link ArrayComparator}
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
11
15
|
*/
|
|
12
16
|
export type ArrayComparatorOptions<ItemType> = {
|
|
13
17
|
/**
|
|
@@ -18,6 +22,8 @@ export type ArrayComparatorOptions<ItemType> = {
|
|
|
18
22
|
/**
|
|
19
23
|
* An efficient comparator for {@link WatchedQuery} created with {@link Query#watch}. This has the ability to determine if a query
|
|
20
24
|
* result has changes without necessarily processing all items in the result.
|
|
25
|
+
*
|
|
26
|
+
* @public
|
|
21
27
|
*/
|
|
22
28
|
export declare class ArrayComparator<ItemType> implements WatchedQueryComparator<ItemType[]> {
|
|
23
29
|
protected options: ArrayComparatorOptions<ItemType>;
|
|
@@ -26,5 +32,7 @@ export declare class ArrayComparator<ItemType> implements WatchedQueryComparator
|
|
|
26
32
|
}
|
|
27
33
|
/**
|
|
28
34
|
* Watched query comparator that always reports changed result sets.
|
|
35
|
+
*
|
|
36
|
+
* @public
|
|
29
37
|
*/
|
|
30
38
|
export declare const FalsyComparator: WatchedQueryComparator<unknown>;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* An efficient comparator for {@link WatchedQuery} created with {@link Query#watch}. This has the ability to determine if a query
|
|
3
3
|
* result has changes without necessarily processing all items in the result.
|
|
4
|
+
*
|
|
5
|
+
* @public
|
|
4
6
|
*/
|
|
5
7
|
export class ArrayComparator {
|
|
6
8
|
options;
|
|
@@ -28,6 +30,8 @@ export class ArrayComparator {
|
|
|
28
30
|
}
|
|
29
31
|
/**
|
|
30
32
|
* Watched query comparator that always reports changed result sets.
|
|
33
|
+
*
|
|
34
|
+
* @public
|
|
31
35
|
*/
|
|
32
36
|
export const FalsyComparator = {
|
|
33
37
|
checkEquality: () => false // Default comparator that always returns false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comparators.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/comparators.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"comparators.js","sourceRoot":"","sources":["../../../../src/client/watched/processors/comparators.ts"],"names":[],"mappings":"AAuBA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IACJ;IAAtB,YAAsB,OAAyC;QAAzC,YAAO,GAAP,OAAO,CAAkC;IAAG,CAAC;IAEnE,aAAa,CAAC,OAAmB,EAAE,QAAoB;QACrD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEnC,sCAAsC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAE5C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAoC;IAC9D,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,+CAA+C;CAC3E,CAAC"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Thrown when an underlying database connection is closed.
|
|
3
3
|
* This is particularly relevant when worker connections are marked as closed while
|
|
4
4
|
* operations are still in progress.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
5
7
|
*/
|
|
6
8
|
export declare class ConnectionClosedError extends Error {
|
|
7
9
|
static NAME: string;
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
* Thrown when an underlying database connection is closed.
|
|
3
3
|
* This is particularly relevant when worker connections are marked as closed while
|
|
4
4
|
* operations are still in progress.
|
|
5
|
+
*
|
|
6
|
+
* @internal
|
|
5
7
|
*/
|
|
6
8
|
export class ConnectionClosedError extends Error {
|
|
7
9
|
static NAME = 'ConnectionClosedError';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionClosedError.js","sourceRoot":"","sources":["../../src/db/ConnectionClosedError.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ConnectionClosedError.js","sourceRoot":"","sources":["../../src/db/ConnectionClosedError.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAC9C,MAAM,CAAC,IAAI,GAAG,uBAAuB,CAAC;IAEtC,MAAM,CAAC,OAAO,CAAC,KAAU;QACvB;;;;WAIG;QACH,OAAO,CACL,KAAK,YAAY,qBAAqB,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAC/G,CAAC;IACJ,CAAC;IACD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IACzC,CAAC"}
|
package/lib/db/DBAdapter.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ import { BaseListener, BaseObserverInterface } from '../utils/BaseObserver.js';
|
|
|
9
9
|
*/
|
|
10
10
|
/**
|
|
11
11
|
* Object returned by SQL Query executions.
|
|
12
|
+
*
|
|
13
|
+
* @public
|
|
12
14
|
*/
|
|
13
15
|
export type QueryResult = {
|
|
14
16
|
/** Represents the auto-generated row id if applicable. */
|
|
@@ -28,12 +30,15 @@ export type QueryResult = {
|
|
|
28
30
|
/** The length of the dataset */
|
|
29
31
|
length: number;
|
|
30
32
|
/** A convenience function to acess the index based the row object
|
|
31
|
-
* @param idx the row index
|
|
33
|
+
* @param idx - the row index
|
|
32
34
|
* @returns the row structure identified by column names
|
|
33
35
|
*/
|
|
34
36
|
item: (idx: number) => any;
|
|
35
37
|
};
|
|
36
38
|
};
|
|
39
|
+
/**
|
|
40
|
+
* @public
|
|
41
|
+
*/
|
|
37
42
|
export interface DBGetUtils {
|
|
38
43
|
/** Execute a read-only query and return results. */
|
|
39
44
|
getAll<T>(sql: string, parameters?: any[]): Promise<T[]>;
|
|
@@ -42,6 +47,9 @@ export interface DBGetUtils {
|
|
|
42
47
|
/** Execute a read-only query and return the first result, error if the ResultSet is empty. */
|
|
43
48
|
get<T>(sql: string, parameters?: any[]): Promise<T>;
|
|
44
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* @public
|
|
52
|
+
*/
|
|
45
53
|
export interface SqlExecutor {
|
|
46
54
|
/** Execute a single write statement. */
|
|
47
55
|
execute: (query: string, params?: any[] | undefined) => Promise<QueryResult>;
|
|
@@ -53,15 +61,22 @@ export interface SqlExecutor {
|
|
|
53
61
|
*
|
|
54
62
|
* Example result:
|
|
55
63
|
*
|
|
56
|
-
* ```
|
|
64
|
+
* ```JavaScript
|
|
65
|
+
* [ [ '1', 'list 1', '33', 'Post content', '1' ] ]
|
|
66
|
+
* ```
|
|
57
67
|
*
|
|
58
68
|
* Where as `execute`'s `rows._array` would have been:
|
|
59
69
|
*
|
|
60
|
-
* ```
|
|
70
|
+
* ```JavaScript
|
|
71
|
+
* [ { id: '33', name: 'list 1', content: 'Post content', list_id: '1' } ]
|
|
72
|
+
* ```
|
|
61
73
|
*/
|
|
62
74
|
executeRaw: (query: string, params?: any[] | undefined) => Promise<any[][]>;
|
|
63
75
|
executeBatch: (query: string, params?: any[][]) => Promise<QueryResult>;
|
|
64
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* @public
|
|
79
|
+
*/
|
|
65
80
|
export interface LockContext extends SqlExecutor, DBGetUtils {
|
|
66
81
|
/**
|
|
67
82
|
* How the connection has been opened.
|
|
@@ -74,7 +89,9 @@ export interface LockContext extends SqlExecutor, DBGetUtils {
|
|
|
74
89
|
connectionType?: 'writer' | 'queryOnly' | 'readOnly';
|
|
75
90
|
}
|
|
76
91
|
/**
|
|
77
|
-
* Implements {@link DBGetUtils} on a {@link
|
|
92
|
+
* Implements {@link DBGetUtils} on a {@link SqlExecutor}.
|
|
93
|
+
*
|
|
94
|
+
* @internal
|
|
78
95
|
*/
|
|
79
96
|
export declare function DBGetUtilsDefaultMixin<TBase extends new (...args: any[]) => Omit<SqlExecutor, 'executeBatch'>>(Base: TBase): {
|
|
80
97
|
new (...args: any[]): {
|
|
@@ -86,6 +103,9 @@ export declare function DBGetUtilsDefaultMixin<TBase extends new (...args: any[]
|
|
|
86
103
|
executeRaw: (query: string, params?: any[] | undefined) => Promise<any[][]>;
|
|
87
104
|
};
|
|
88
105
|
} & TBase;
|
|
106
|
+
/**
|
|
107
|
+
* @public
|
|
108
|
+
*/
|
|
89
109
|
export interface Transaction extends LockContext {
|
|
90
110
|
/** Commit multiple changes to the local DB using the Transaction context. */
|
|
91
111
|
commit: () => Promise<QueryResult>;
|
|
@@ -94,27 +114,40 @@ export interface Transaction extends LockContext {
|
|
|
94
114
|
}
|
|
95
115
|
/**
|
|
96
116
|
* Update table operation numbers from SQLite
|
|
117
|
+
*
|
|
118
|
+
* @public
|
|
97
119
|
*/
|
|
98
120
|
export declare enum RowUpdateType {
|
|
99
121
|
SQLITE_INSERT = 18,
|
|
100
122
|
SQLITE_DELETE = 9,
|
|
101
123
|
SQLITE_UPDATE = 23
|
|
102
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* @public
|
|
127
|
+
*/
|
|
103
128
|
export interface TableUpdateOperation {
|
|
104
129
|
opType: RowUpdateType;
|
|
105
130
|
rowId: number;
|
|
106
131
|
}
|
|
107
132
|
/**
|
|
108
133
|
* Notification of an update to one or more tables, for the purpose of realtime change notifications.
|
|
134
|
+
*
|
|
135
|
+
* @public
|
|
109
136
|
*/
|
|
110
137
|
export interface UpdateNotification extends TableUpdateOperation {
|
|
111
138
|
table: string;
|
|
112
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* @public
|
|
142
|
+
*/
|
|
113
143
|
export interface BatchedUpdateNotification {
|
|
114
144
|
rawUpdates: UpdateNotification[];
|
|
115
145
|
tables: string[];
|
|
116
146
|
groupedUpdates: Record<string, TableUpdateOperation[]>;
|
|
117
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* @public
|
|
150
|
+
*/
|
|
118
151
|
export interface DBAdapterListener extends BaseListener {
|
|
119
152
|
/**
|
|
120
153
|
* Listener for table updates.
|
|
@@ -124,9 +157,15 @@ export interface DBAdapterListener extends BaseListener {
|
|
|
124
157
|
*/
|
|
125
158
|
tablesUpdated: (updateNotification: BatchedUpdateNotification | UpdateNotification) => void;
|
|
126
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* @public
|
|
162
|
+
*/
|
|
127
163
|
export interface DBLockOptions {
|
|
128
164
|
timeoutMs?: number;
|
|
129
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* @public
|
|
168
|
+
*/
|
|
130
169
|
export interface ConnectionPool extends BaseObserverInterface<DBAdapterListener> {
|
|
131
170
|
name: string;
|
|
132
171
|
close: () => void | Promise<void>;
|
|
@@ -137,13 +176,18 @@ export interface ConnectionPool extends BaseObserverInterface<DBAdapterListener>
|
|
|
137
176
|
*/
|
|
138
177
|
refreshSchema: () => Promise<void>;
|
|
139
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* @public
|
|
181
|
+
*/
|
|
140
182
|
export interface DBAdapter extends ConnectionPool, SqlExecutor, DBGetUtils {
|
|
141
183
|
readTransaction: <T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions) => Promise<T>;
|
|
142
184
|
writeTransaction: <T>(fn: (tx: Transaction) => Promise<T>, options?: DBLockOptions) => Promise<T>;
|
|
143
185
|
}
|
|
144
186
|
/**
|
|
145
|
-
* A mixin to implement {@link DBAdapter} by delegating to {@link ConnectionPool
|
|
146
|
-
* {@link ConnectionPool
|
|
187
|
+
* A mixin to implement {@link DBAdapter} by delegating to {@link ConnectionPool#readLock} and
|
|
188
|
+
* {@link ConnectionPool#writeLock}.
|
|
189
|
+
*
|
|
190
|
+
* @internal
|
|
147
191
|
*/
|
|
148
192
|
export declare function DBAdapterDefaultMixin<TBase extends new (...args: any[]) => ConnectionPool>(Base: TBase): {
|
|
149
193
|
new (...args: any[]): {
|
|
@@ -166,5 +210,11 @@ export declare function DBAdapterDefaultMixin<TBase extends new (...args: any[])
|
|
|
166
210
|
registerListener(listener: Partial<DBAdapterListener>): () => void;
|
|
167
211
|
};
|
|
168
212
|
} & TBase;
|
|
213
|
+
/**
|
|
214
|
+
* @internal
|
|
215
|
+
*/
|
|
169
216
|
export declare function isBatchedUpdateNotification(update: BatchedUpdateNotification | UpdateNotification): update is BatchedUpdateNotification;
|
|
217
|
+
/**
|
|
218
|
+
* @internal
|
|
219
|
+
*/
|
|
170
220
|
export declare function extractTableUpdates(update: BatchedUpdateNotification | UpdateNotification): string[];
|
package/lib/db/DBAdapter.js
CHANGED
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
* different SQLite DB implementations.
|
|
4
4
|
*/
|
|
5
5
|
/**
|
|
6
|
-
* Implements {@link DBGetUtils} on a {@link
|
|
6
|
+
* Implements {@link DBGetUtils} on a {@link SqlExecutor}.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
7
9
|
*/
|
|
8
10
|
export function DBGetUtilsDefaultMixin(Base) {
|
|
9
11
|
return class extends Base {
|
|
@@ -47,6 +49,8 @@ export function DBGetUtilsDefaultMixin(Base) {
|
|
|
47
49
|
}
|
|
48
50
|
/**
|
|
49
51
|
* Update table operation numbers from SQLite
|
|
52
|
+
*
|
|
53
|
+
* @public
|
|
50
54
|
*/
|
|
51
55
|
export var RowUpdateType;
|
|
52
56
|
(function (RowUpdateType) {
|
|
@@ -55,8 +59,10 @@ export var RowUpdateType;
|
|
|
55
59
|
RowUpdateType[RowUpdateType["SQLITE_UPDATE"] = 23] = "SQLITE_UPDATE";
|
|
56
60
|
})(RowUpdateType || (RowUpdateType = {}));
|
|
57
61
|
/**
|
|
58
|
-
* A mixin to implement {@link DBAdapter} by delegating to {@link ConnectionPool
|
|
59
|
-
* {@link ConnectionPool
|
|
62
|
+
* A mixin to implement {@link DBAdapter} by delegating to {@link ConnectionPool#readLock} and
|
|
63
|
+
* {@link ConnectionPool#writeLock}.
|
|
64
|
+
*
|
|
65
|
+
* @internal
|
|
60
66
|
*/
|
|
61
67
|
export function DBAdapterDefaultMixin(Base) {
|
|
62
68
|
return class extends Base {
|
|
@@ -144,9 +150,15 @@ class TransactionImplementation extends DBGetUtilsDefaultMixin(BaseTransaction)
|
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
152
|
}
|
|
153
|
+
/**
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
147
156
|
export function isBatchedUpdateNotification(update) {
|
|
148
157
|
return 'tables' in update;
|
|
149
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
150
162
|
export function extractTableUpdates(update) {
|
|
151
163
|
return isBatchedUpdateNotification(update) ? update.tables : [update.table];
|
|
152
164
|
}
|
package/lib/db/DBAdapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DBAdapter.js","sourceRoot":"","sources":["../../src/db/DBAdapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"DBAdapter.js","sourceRoot":"","sources":["../../src/db/DBAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,8 @@ export declare const FULL_SYNC_PRIORITY = 2147483647;
|
|
|
10
10
|
*
|
|
11
11
|
* To obtain these values, use {@link SyncProgress}, available through
|
|
12
12
|
* {@link SyncStatus#downloadProgress}.
|
|
13
|
+
*
|
|
14
|
+
* @public
|
|
13
15
|
*/
|
|
14
16
|
export interface ProgressWithOperations {
|
|
15
17
|
/**
|
|
@@ -22,7 +24,8 @@ export interface ProgressWithOperations {
|
|
|
22
24
|
*/
|
|
23
25
|
downloadedOperations: number;
|
|
24
26
|
/**
|
|
25
|
-
* Relative progress, as {@link downloadedOperations} of
|
|
27
|
+
* Relative progress, as {@link ProgressWithOperations.downloadedOperations} of
|
|
28
|
+
* {@link ProgressWithOperations.totalOperations}.
|
|
26
29
|
*
|
|
27
30
|
* This will be a number between `0.0` and `1.0` (inclusive).
|
|
28
31
|
*
|
|
@@ -51,6 +54,8 @@ export interface ProgressWithOperations {
|
|
|
51
54
|
*
|
|
52
55
|
* Also note that data is downloaded in bulk, which means that individual counters are unlikely
|
|
53
56
|
* to be updated one-by-one.
|
|
57
|
+
*
|
|
58
|
+
* @public
|
|
54
59
|
*/
|
|
55
60
|
export declare class SyncProgress implements ProgressWithOperations {
|
|
56
61
|
protected internal: InternalProgressInformation;
|