@powersync/common 1.57.2 → 2.0.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/lib/attachments/AttachmentContext.d.ts +5 -5
- package/lib/attachments/AttachmentContext.js +6 -2
- package/lib/attachments/AttachmentContext.js.map +1 -1
- package/lib/attachments/AttachmentQueue.d.ts +6 -6
- package/lib/attachments/AttachmentQueue.js +9 -8
- package/lib/attachments/AttachmentQueue.js.map +1 -1
- package/lib/attachments/AttachmentService.d.ts +3 -3
- package/lib/attachments/AttachmentService.js +4 -3
- package/lib/attachments/AttachmentService.js.map +1 -1
- package/lib/attachments/Schema.d.ts +2 -2
- package/lib/attachments/SyncingService.d.ts +2 -2
- package/lib/attachments/SyncingService.js +21 -6
- package/lib/attachments/SyncingService.js.map +1 -1
- package/lib/client/{AbstractPowerSyncDatabase.d.ts → CommonPowerSyncDatabase.d.ts} +56 -232
- package/lib/client/CommonPowerSyncDatabase.js +2 -0
- package/lib/client/CommonPowerSyncDatabase.js.map +1 -0
- package/lib/client/SQLOpenFactory.d.ts +35 -13
- package/lib/client/SQLOpenFactory.js +1 -25
- package/lib/client/SQLOpenFactory.js.map +1 -1
- package/lib/client/compilableQueryWatch.d.ts +2 -2
- package/lib/client/compilableQueryWatch.js +1 -2
- package/lib/client/compilableQueryWatch.js.map +1 -1
- package/lib/client/connection/PowerSyncBackendConnector.d.ts +3 -3
- package/lib/client/runOnSchemaChange.d.ts +2 -2
- package/lib/client/runOnSchemaChange.js.map +1 -1
- package/lib/client/sync/bucket/CrudEntry.d.ts +3 -34
- package/lib/client/sync/bucket/CrudEntry.js +0 -99
- package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
- package/lib/client/sync/options.d.ts +65 -0
- package/lib/client/sync/options.js +25 -0
- package/lib/client/sync/options.js.map +1 -0
- package/lib/client/sync/sync-streams.d.ts +1 -1
- package/lib/client/triggers/TriggerManager.d.ts +9 -38
- package/lib/client/watched/GetAllQuery.d.ts +3 -3
- package/lib/client/watched/GetAllQuery.js +1 -1
- package/lib/client/watched/GetAllQuery.js.map +1 -1
- package/lib/client/watched/WatchedQuery.d.ts +2 -10
- package/lib/client/watched/WatchedQuery.js +0 -11
- package/lib/client/watched/WatchedQuery.js.map +1 -1
- package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +0 -50
- package/lib/client/watched/processors/DifferentialQueryProcessor.js +1 -176
- package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
- package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +0 -22
- package/lib/client/watched/processors/OnChangeQueryProcessor.js +1 -82
- package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
- package/lib/db/DBAdapter.d.ts +72 -154
- package/lib/db/DBAdapter.js +70 -108
- package/lib/db/DBAdapter.js.map +1 -1
- package/lib/db/QueryResult.d.ts +104 -0
- package/lib/db/QueryResult.js +96 -0
- package/lib/db/QueryResult.js.map +1 -0
- package/lib/db/crud/SyncProgress.d.ts +1 -13
- package/lib/db/crud/SyncProgress.js +1 -62
- package/lib/db/crud/SyncProgress.js.map +1 -1
- package/lib/db/crud/SyncStatus.d.ts +32 -66
- package/lib/db/crud/SyncStatus.js +1 -253
- package/lib/db/crud/SyncStatus.js.map +1 -1
- package/lib/db/schema/Column.d.ts +0 -7
- package/lib/db/schema/Column.js +0 -7
- package/lib/db/schema/Column.js.map +1 -1
- package/lib/db/schema/Index.d.ts +2 -6
- package/lib/db/schema/Index.js +1 -4
- package/lib/db/schema/Index.js.map +1 -1
- package/lib/db/schema/IndexedColumn.d.ts +2 -6
- package/lib/db/schema/IndexedColumn.js +1 -4
- package/lib/db/schema/IndexedColumn.js.map +1 -1
- package/lib/db/schema/Schema.d.ts +4 -28
- package/lib/db/schema/Schema.js.map +1 -1
- package/lib/db/schema/Table.d.ts +50 -96
- package/lib/db/schema/Table.js +83 -91
- package/lib/db/schema/Table.js.map +1 -1
- package/lib/index.d.ts +5 -21
- package/lib/index.js +5 -22
- package/lib/index.js.map +1 -1
- package/lib/utils/BaseObserver.d.ts +1 -1
- package/lib/utils/BaseObserver.js +1 -1
- package/lib/utils/Logger.d.ts +52 -23
- package/lib/utils/Logger.js +35 -33
- package/lib/utils/Logger.js.map +1 -1
- package/lib/utils/MetaBaseObserver.d.ts +11 -11
- package/lib/utils/MetaBaseObserver.js +1 -50
- package/lib/utils/MetaBaseObserver.js.map +1 -1
- package/lib/utils/mutex.d.ts +3 -53
- package/lib/utils/mutex.js +1 -156
- package/lib/utils/mutex.js.map +1 -1
- package/package.json +8 -45
- package/src/attachments/AttachmentContext.ts +11 -10
- package/src/attachments/AttachmentQueue.ts +15 -14
- package/src/attachments/AttachmentService.ts +7 -6
- package/src/attachments/Schema.ts +2 -2
- package/src/attachments/SyncingService.ts +23 -9
- package/src/client/CommonPowerSyncDatabase.ts +540 -0
- package/src/client/SQLOpenFactory.ts +38 -22
- package/src/client/compilableQueryWatch.ts +3 -4
- package/src/client/connection/PowerSyncBackendConnector.ts +3 -3
- package/src/client/runOnSchemaChange.ts +2 -2
- package/src/client/sync/bucket/CrudEntry.ts +4 -104
- package/src/client/sync/options.ts +77 -0
- package/src/client/sync/sync-streams.ts +1 -1
- package/src/client/triggers/TriggerManager.ts +10 -41
- package/src/client/watched/GetAllQuery.ts +3 -3
- package/src/client/watched/WatchedQuery.ts +2 -15
- package/src/client/watched/processors/DifferentialQueryProcessor.ts +0 -223
- package/src/client/watched/processors/OnChangeQueryProcessor.ts +0 -111
- package/src/db/DBAdapter.ts +141 -226
- package/src/db/QueryResult.ts +195 -0
- package/src/db/crud/SyncProgress.ts +2 -42
- package/src/db/crud/SyncStatus.ts +45 -220
- package/src/db/schema/Column.ts +0 -8
- package/src/db/schema/Index.ts +3 -6
- package/src/db/schema/IndexedColumn.ts +3 -6
- package/src/db/schema/Schema.ts +4 -4
- package/src/db/schema/Table.ts +111 -186
- package/src/index.ts +5 -21
- package/src/utils/BaseObserver.ts +1 -1
- package/src/utils/Logger.ts +80 -42
- package/src/utils/MetaBaseObserver.ts +14 -60
- package/src/utils/mutex.ts +4 -201
- package/dist/bundle.cjs +0 -14393
- package/dist/bundle.cjs.map +0 -1
- package/dist/bundle.mjs +0 -14312
- package/dist/bundle.mjs.map +0 -1
- package/dist/bundle.node.cjs +0 -12024
- package/dist/bundle.node.cjs.map +0 -1
- package/dist/bundle.node.mjs +0 -11943
- package/dist/bundle.node.mjs.map +0 -1
- package/dist/index.d.cts +0 -4651
- package/legacy/sync_protocol.d.ts +0 -103
- package/lib/client/AbstractPowerSyncDatabase.js +0 -990
- package/lib/client/AbstractPowerSyncDatabase.js.map +0 -1
- package/lib/client/AbstractPowerSyncOpenFactory.d.ts +0 -28
- package/lib/client/AbstractPowerSyncOpenFactory.js +0 -28
- package/lib/client/AbstractPowerSyncOpenFactory.js.map +0 -1
- package/lib/client/ConnectionManager.d.ts +0 -115
- package/lib/client/ConnectionManager.js +0 -294
- package/lib/client/ConnectionManager.js.map +0 -1
- package/lib/client/CustomQuery.d.ts +0 -22
- package/lib/client/CustomQuery.js +0 -43
- package/lib/client/CustomQuery.js.map +0 -1
- package/lib/client/constants.d.ts +0 -4
- package/lib/client/constants.js +0 -5
- package/lib/client/constants.js.map +0 -1
- package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +0 -56
- package/lib/client/sync/bucket/BucketStorageAdapter.js +0 -29
- package/lib/client/sync/bucket/BucketStorageAdapter.js.map +0 -1
- package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +0 -37
- package/lib/client/sync/bucket/SqliteBucketStorage.js +0 -165
- package/lib/client/sync/bucket/SqliteBucketStorage.js.map +0 -1
- package/lib/client/sync/stream/AbstractRemote.d.ts +0 -180
- package/lib/client/sync/stream/AbstractRemote.js +0 -508
- package/lib/client/sync/stream/AbstractRemote.js.map +0 -1
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +0 -265
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +0 -705
- package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +0 -1
- package/lib/client/sync/stream/WebsocketClientTransport.d.ts +0 -15
- package/lib/client/sync/stream/WebsocketClientTransport.js +0 -62
- package/lib/client/sync/stream/WebsocketClientTransport.js.map +0 -1
- package/lib/client/sync/stream/core-instruction.d.ts +0 -77
- package/lib/client/sync/stream/core-instruction.js +0 -30
- package/lib/client/sync/stream/core-instruction.js.map +0 -1
- package/lib/client/triggers/MemoryTriggerClaimManager.d.ts +0 -6
- package/lib/client/triggers/MemoryTriggerClaimManager.js +0 -21
- package/lib/client/triggers/MemoryTriggerClaimManager.js.map +0 -1
- package/lib/client/triggers/TriggerManagerImpl.d.ts +0 -39
- package/lib/client/triggers/TriggerManagerImpl.js +0 -410
- package/lib/client/triggers/TriggerManagerImpl.js.map +0 -1
- package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +0 -68
- package/lib/client/watched/processors/AbstractQueryProcessor.js +0 -151
- package/lib/client/watched/processors/AbstractQueryProcessor.js.map +0 -1
- package/lib/db/ConnectionClosedError.d.ts +0 -12
- package/lib/db/ConnectionClosedError.js +0 -23
- package/lib/db/ConnectionClosedError.js.map +0 -1
- package/lib/db/schema/TableV2.d.ts +0 -11
- package/lib/db/schema/TableV2.js +0 -11
- package/lib/db/schema/TableV2.js.map +0 -1
- package/lib/utils/AbortOperation.d.ts +0 -11
- package/lib/utils/AbortOperation.js +0 -21
- package/lib/utils/AbortOperation.js.map +0 -1
- package/lib/utils/ControlledExecutor.d.ts +0 -31
- package/lib/utils/ControlledExecutor.js +0 -54
- package/lib/utils/ControlledExecutor.js.map +0 -1
- package/lib/utils/async.d.ts +0 -46
- package/lib/utils/async.js +0 -147
- package/lib/utils/async.js.map +0 -1
- package/lib/utils/compatibility.d.ts +0 -8
- package/lib/utils/compatibility.js +0 -9
- package/lib/utils/compatibility.js.map +0 -1
- package/lib/utils/parseQuery.d.ts +0 -12
- package/lib/utils/parseQuery.js +0 -20
- package/lib/utils/parseQuery.js.map +0 -1
- package/lib/utils/queue.d.ts +0 -16
- package/lib/utils/queue.js +0 -42
- package/lib/utils/queue.js.map +0 -1
- package/lib/utils/stream_transform.d.ts +0 -41
- package/lib/utils/stream_transform.js +0 -211
- package/lib/utils/stream_transform.js.map +0 -1
- package/src/client/AbstractPowerSyncDatabase.ts +0 -1408
- package/src/client/AbstractPowerSyncOpenFactory.ts +0 -45
- package/src/client/ConnectionManager.ts +0 -405
- package/src/client/CustomQuery.ts +0 -56
- package/src/client/constants.ts +0 -4
- package/src/client/sync/bucket/BucketStorageAdapter.ts +0 -65
- package/src/client/sync/bucket/SqliteBucketStorage.ts +0 -202
- package/src/client/sync/stream/AbstractRemote.ts +0 -648
- package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +0 -970
- package/src/client/sync/stream/WebsocketClientTransport.ts +0 -82
- package/src/client/sync/stream/core-instruction.ts +0 -109
- package/src/client/triggers/MemoryTriggerClaimManager.ts +0 -25
- package/src/client/triggers/TriggerManagerImpl.ts +0 -501
- package/src/client/watched/processors/AbstractQueryProcessor.ts +0 -226
- package/src/db/ConnectionClosedError.ts +0 -25
- package/src/db/schema/TableV2.ts +0 -11
- package/src/utils/AbortOperation.ts +0 -19
- package/src/utils/ControlledExecutor.ts +0 -78
- package/src/utils/async.ts +0 -185
- package/src/utils/compatibility.ts +0 -9
- package/src/utils/parseQuery.ts +0 -31
- package/src/utils/queue.ts +0 -48
- package/src/utils/stream_transform.ts +0 -260
package/lib/db/schema/Table.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Column, ColumnsType,
|
|
1
|
+
import { Column, ColumnsType, ExtractColumnValueType } from './Column.js';
|
|
2
2
|
import { Index } from './Index.js';
|
|
3
|
-
import {
|
|
3
|
+
import { IndexedColumn } from './IndexedColumn.js';
|
|
4
4
|
/**
|
|
5
5
|
* Options that apply both to JSON-based tables and raw tables.
|
|
6
6
|
*
|
|
@@ -32,7 +32,7 @@ export interface TrackPreviousOptions {
|
|
|
32
32
|
/**
|
|
33
33
|
* @public
|
|
34
34
|
*/
|
|
35
|
-
export interface
|
|
35
|
+
export interface ResolvedTableOptions extends SharedTableOptions {
|
|
36
36
|
/**
|
|
37
37
|
* The synced table name, matching sync rules
|
|
38
38
|
*/
|
|
@@ -43,114 +43,35 @@ export interface TableOptions extends SharedTableOptions {
|
|
|
43
43
|
/**
|
|
44
44
|
* @public
|
|
45
45
|
*/
|
|
46
|
-
export type RowType<T extends
|
|
47
|
-
[K in keyof
|
|
46
|
+
export type RowType<T extends Table<any>> = T extends Table<infer Columns> ? {
|
|
47
|
+
[K in keyof Columns]: ExtractColumnValueType<Columns[K]>;
|
|
48
48
|
} & {
|
|
49
49
|
id: string;
|
|
50
|
-
};
|
|
50
|
+
} : never;
|
|
51
51
|
/**
|
|
52
52
|
* @public
|
|
53
53
|
*/
|
|
54
|
-
export type IndexShorthand = Record<string, string[]>;
|
|
54
|
+
export type IndexShorthand = Record<string, (string | IndexedColumn)[]>;
|
|
55
55
|
/**
|
|
56
56
|
* @public
|
|
57
57
|
*/
|
|
58
|
-
export interface
|
|
58
|
+
export interface TableOptions extends SharedTableOptions {
|
|
59
59
|
indexes?: IndexShorthand;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
insertOnly: boolean;
|
|
67
|
-
localOnly: boolean;
|
|
68
|
-
trackPrevious: boolean;
|
|
69
|
-
trackMetadata: boolean;
|
|
70
|
-
ignoreEmptyUpdates: boolean;
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* @internal
|
|
74
|
-
*/
|
|
75
|
-
export declare const InvalidSQLCharacters: RegExp;
|
|
76
|
-
/**
|
|
62
|
+
* A resolved table in the PowerSync schema, with all columns, index definitions and options.
|
|
63
|
+
*
|
|
64
|
+
* When constructing tables for your schema, consider using {@link Table} instead.
|
|
65
|
+
*
|
|
77
66
|
* @public
|
|
78
67
|
*/
|
|
79
|
-
export declare class
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
static createLocalOnly(options: TableOptions): Table<ColumnsType>;
|
|
83
|
-
static createInsertOnly(options: TableOptions): Table<ColumnsType>;
|
|
84
|
-
/**
|
|
85
|
-
* Create a table.
|
|
86
|
-
* @deprecated This was only only included for TableV2 and is no longer necessary.
|
|
87
|
-
* Prefer to use new Table() directly.
|
|
88
|
-
*
|
|
89
|
-
* TODO remove in the next major release.
|
|
90
|
-
*/
|
|
91
|
-
static createTable(name: string, table: Table): Table<ColumnsType>;
|
|
92
|
-
/**
|
|
93
|
-
* Creates a new Table instance.
|
|
94
|
-
*
|
|
95
|
-
* This constructor supports two different versions:
|
|
96
|
-
* 1. New constructor: Using a Columns object and an optional TableV2Options object
|
|
97
|
-
* 2. Deprecated constructor: Using a TableOptions object (will be removed in the next major release)
|
|
98
|
-
*
|
|
99
|
-
* @param columns - Either a Columns object (for V2 syntax) or a TableOptions object (for V1 syntax)
|
|
100
|
-
* @param options - Optional configuration options for V2 syntax
|
|
101
|
-
*
|
|
102
|
-
* @example
|
|
103
|
-
* ```javascript
|
|
104
|
-
* // New Constructor
|
|
105
|
-
* const table = new Table(
|
|
106
|
-
* {
|
|
107
|
-
* name: column.text,
|
|
108
|
-
* age: column.integer
|
|
109
|
-
* },
|
|
110
|
-
* { indexes: { nameIndex: ['name'] } }
|
|
111
|
-
* );
|
|
112
|
-
*```
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```javascript
|
|
117
|
-
* // Deprecated Constructor
|
|
118
|
-
* const table = new Table({
|
|
119
|
-
* name: 'users',
|
|
120
|
-
* columns: [
|
|
121
|
-
* new Column({ name: 'name', type: ColumnType.TEXT }),
|
|
122
|
-
* new Column({ name: 'age', type: ColumnType.INTEGER })
|
|
123
|
-
* ]
|
|
124
|
-
* });
|
|
125
|
-
*```
|
|
126
|
-
*/
|
|
127
|
-
constructor(columns: Columns, options?: TableV2Options);
|
|
128
|
-
/**
|
|
129
|
-
* @deprecated This constructor will be removed in the next major release.
|
|
130
|
-
* Use the new constructor shown below instead as this does not show types.
|
|
131
|
-
* @example
|
|
132
|
-
* <caption>Use this instead</caption>
|
|
133
|
-
* ```javascript
|
|
134
|
-
* const table = new Table(
|
|
135
|
-
* {
|
|
136
|
-
* name: column.text,
|
|
137
|
-
* age: column.integer
|
|
138
|
-
* },
|
|
139
|
-
* { indexes: { nameIndex: ['name'] } }
|
|
140
|
-
* );
|
|
141
|
-
*```
|
|
142
|
-
*/
|
|
143
|
-
constructor(options: TableOptions);
|
|
144
|
-
copyWithName(name: string): Table;
|
|
145
|
-
private isTableV1;
|
|
146
|
-
private initTableV1;
|
|
147
|
-
private initTableV2;
|
|
148
|
-
private applyDefaultOptions;
|
|
68
|
+
export declare class ResolvedTable {
|
|
69
|
+
readonly options: ResolvedTableOptions;
|
|
70
|
+
constructor(options: ResolvedTableOptions);
|
|
149
71
|
get name(): string;
|
|
150
72
|
get viewNameOverride(): string | undefined;
|
|
151
73
|
get viewName(): string;
|
|
152
74
|
get columns(): Column[];
|
|
153
|
-
get columnMap(): Columns;
|
|
154
75
|
get indexes(): Index[];
|
|
155
76
|
get localOnly(): boolean;
|
|
156
77
|
get insertOnly(): boolean;
|
|
@@ -171,16 +92,49 @@ export declare class Table<Columns extends ColumnsType = ColumnsType> {
|
|
|
171
92
|
view_name: string;
|
|
172
93
|
columns: {
|
|
173
94
|
name: string;
|
|
174
|
-
type: ColumnType | undefined;
|
|
95
|
+
type: import("./Column.js").ColumnType | undefined;
|
|
175
96
|
}[];
|
|
176
97
|
indexes: {
|
|
177
98
|
name: string;
|
|
178
99
|
columns: {
|
|
179
100
|
name: string;
|
|
180
101
|
ascending: boolean | undefined;
|
|
181
|
-
type: ColumnType;
|
|
102
|
+
type: import("./Column.js").ColumnType;
|
|
182
103
|
}[];
|
|
183
104
|
}[];
|
|
184
105
|
};
|
|
106
|
+
private applyDefaultOptions;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* A table with a statically-typed `Columns` record structure.
|
|
110
|
+
*
|
|
111
|
+
* This is the recommended way to declare tables in PowerSync schemas.
|
|
112
|
+
*
|
|
113
|
+
* @public
|
|
114
|
+
*/
|
|
115
|
+
export declare class Table<Columns extends ColumnsType = ColumnsType> extends ResolvedTable {
|
|
116
|
+
protected _mappedColumns: Columns;
|
|
117
|
+
static createLocalOnly<Columns extends ColumnsType = ColumnsType>(columns: Columns, options?: TableOptions): Table<Columns>;
|
|
118
|
+
static createInsertOnly<Columns extends ColumnsType = ColumnsType>(columns: Columns, options?: TableOptions): Table<Columns>;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a new Table instance.
|
|
121
|
+
*
|
|
122
|
+
* @param columns - A Columns object (a record of column names to column types).
|
|
123
|
+
* @param options - Optional configuration options for the table.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```javascript
|
|
127
|
+
* const table = new Table(
|
|
128
|
+
* {
|
|
129
|
+
* name: column.text,
|
|
130
|
+
* age: column.integer
|
|
131
|
+
* },
|
|
132
|
+
* { indexes: { nameIndex: ['name'] } }
|
|
133
|
+
* );
|
|
134
|
+
*```
|
|
135
|
+
*/
|
|
136
|
+
constructor(columns: Columns, options?: TableOptions);
|
|
137
|
+
copyWithName(name: string): ResolvedTable;
|
|
138
|
+
private static optionsFromColumns;
|
|
185
139
|
}
|
|
186
140
|
export {};
|
package/lib/db/schema/Table.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { Column
|
|
1
|
+
import { Column } from './Column.js';
|
|
2
2
|
import { Index } from './Index.js';
|
|
3
3
|
import { IndexedColumn } from './IndexedColumn.js';
|
|
4
4
|
import { encodeTableOptions } from './internal.js';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* powersync-sqlite-core limits the number of column per table to 1999, due to internal SQLite limits.
|
|
7
|
+
* In earlier versions this was limited to 63.
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
const MAX_AMOUNT_OF_COLUMNS = 1999;
|
|
10
|
+
const DEFAULT_TABLE_OPTIONS = {
|
|
9
11
|
indexes: [],
|
|
10
12
|
insertOnly: false,
|
|
11
13
|
localOnly: false,
|
|
@@ -13,93 +15,20 @@ export const DEFAULT_TABLE_OPTIONS = {
|
|
|
13
15
|
trackMetadata: false,
|
|
14
16
|
ignoreEmptyUpdates: false
|
|
15
17
|
};
|
|
18
|
+
const InvalidSQLCharacters = /["'%,.#\s[\]]/;
|
|
16
19
|
/**
|
|
17
|
-
*
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
* A resolved table in the PowerSync schema, with all columns, index definitions and options.
|
|
21
|
+
*
|
|
22
|
+
* When constructing tables for your schema, consider using {@link Table} instead.
|
|
23
|
+
*
|
|
21
24
|
* @public
|
|
22
25
|
*/
|
|
23
|
-
export class
|
|
26
|
+
export class ResolvedTable {
|
|
24
27
|
options;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return new Table({ ...options, localOnly: true, insertOnly: false });
|
|
28
|
-
}
|
|
29
|
-
static createInsertOnly(options) {
|
|
30
|
-
return new Table({ ...options, localOnly: false, insertOnly: true });
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create a table.
|
|
34
|
-
* @deprecated This was only only included for TableV2 and is no longer necessary.
|
|
35
|
-
* Prefer to use new Table() directly.
|
|
36
|
-
*
|
|
37
|
-
* TODO remove in the next major release.
|
|
38
|
-
*/
|
|
39
|
-
static createTable(name, table) {
|
|
40
|
-
return new Table({
|
|
41
|
-
name,
|
|
42
|
-
columns: table.columns,
|
|
43
|
-
indexes: table.indexes,
|
|
44
|
-
localOnly: table.options.localOnly,
|
|
45
|
-
insertOnly: table.options.insertOnly,
|
|
46
|
-
viewName: table.options.viewName
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
constructor(optionsOrColumns, v2Options) {
|
|
50
|
-
if (this.isTableV1(optionsOrColumns)) {
|
|
51
|
-
this.initTableV1(optionsOrColumns);
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this.initTableV2(optionsOrColumns, v2Options);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
copyWithName(name) {
|
|
58
|
-
return new Table({
|
|
59
|
-
...this.options,
|
|
60
|
-
name
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
isTableV1(arg) {
|
|
64
|
-
return 'columns' in arg && Array.isArray(arg.columns);
|
|
65
|
-
}
|
|
66
|
-
initTableV1(options) {
|
|
67
|
-
this.options = {
|
|
68
|
-
...options,
|
|
69
|
-
indexes: options.indexes || []
|
|
70
|
-
};
|
|
28
|
+
constructor(options) {
|
|
29
|
+
this.options = options;
|
|
71
30
|
this.applyDefaultOptions();
|
|
72
31
|
}
|
|
73
|
-
initTableV2(columns, options) {
|
|
74
|
-
const convertedColumns = Object.entries(columns).map(([name, columnInfo]) => new Column({ name, type: columnInfo.type }));
|
|
75
|
-
const convertedIndexes = Object.entries(options?.indexes ?? {}).map(([name, columnNames]) => new Index({
|
|
76
|
-
name,
|
|
77
|
-
columns: columnNames.map((name) => new IndexedColumn({
|
|
78
|
-
name: name.replace(/^-/, ''),
|
|
79
|
-
ascending: !name.startsWith('-')
|
|
80
|
-
}))
|
|
81
|
-
}));
|
|
82
|
-
this.options = {
|
|
83
|
-
name: '',
|
|
84
|
-
columns: convertedColumns,
|
|
85
|
-
indexes: convertedIndexes,
|
|
86
|
-
viewName: options?.viewName,
|
|
87
|
-
insertOnly: options?.insertOnly,
|
|
88
|
-
localOnly: options?.localOnly,
|
|
89
|
-
trackPrevious: options?.trackPrevious,
|
|
90
|
-
trackMetadata: options?.trackMetadata,
|
|
91
|
-
ignoreEmptyUpdates: options?.ignoreEmptyUpdates
|
|
92
|
-
};
|
|
93
|
-
this.applyDefaultOptions();
|
|
94
|
-
this._mappedColumns = columns;
|
|
95
|
-
}
|
|
96
|
-
applyDefaultOptions() {
|
|
97
|
-
this.options.insertOnly ??= DEFAULT_TABLE_OPTIONS.insertOnly;
|
|
98
|
-
this.options.localOnly ??= DEFAULT_TABLE_OPTIONS.localOnly;
|
|
99
|
-
this.options.trackPrevious ??= DEFAULT_TABLE_OPTIONS.trackPrevious;
|
|
100
|
-
this.options.trackMetadata ??= DEFAULT_TABLE_OPTIONS.trackMetadata;
|
|
101
|
-
this.options.ignoreEmptyUpdates ??= DEFAULT_TABLE_OPTIONS.ignoreEmptyUpdates;
|
|
102
|
-
}
|
|
103
32
|
get name() {
|
|
104
33
|
return this.options.name;
|
|
105
34
|
}
|
|
@@ -112,13 +41,6 @@ export class Table {
|
|
|
112
41
|
get columns() {
|
|
113
42
|
return this.options.columns;
|
|
114
43
|
}
|
|
115
|
-
get columnMap() {
|
|
116
|
-
return (this._mappedColumns ??
|
|
117
|
-
this.columns.reduce((hash, column) => {
|
|
118
|
-
hash[column.name] = { type: column.type ?? ColumnType.TEXT };
|
|
119
|
-
return hash;
|
|
120
|
-
}, {}));
|
|
121
|
-
}
|
|
122
44
|
get indexes() {
|
|
123
45
|
return this.options.indexes ?? [];
|
|
124
46
|
}
|
|
@@ -208,5 +130,75 @@ export class Table {
|
|
|
208
130
|
...encodeTableOptions(this)
|
|
209
131
|
};
|
|
210
132
|
}
|
|
133
|
+
applyDefaultOptions() {
|
|
134
|
+
this.options.insertOnly ??= DEFAULT_TABLE_OPTIONS.insertOnly;
|
|
135
|
+
this.options.localOnly ??= DEFAULT_TABLE_OPTIONS.localOnly;
|
|
136
|
+
this.options.trackPrevious ??= DEFAULT_TABLE_OPTIONS.trackPrevious;
|
|
137
|
+
this.options.trackMetadata ??= DEFAULT_TABLE_OPTIONS.trackMetadata;
|
|
138
|
+
this.options.ignoreEmptyUpdates ??= DEFAULT_TABLE_OPTIONS.ignoreEmptyUpdates;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* A table with a statically-typed `Columns` record structure.
|
|
143
|
+
*
|
|
144
|
+
* This is the recommended way to declare tables in PowerSync schemas.
|
|
145
|
+
*
|
|
146
|
+
* @public
|
|
147
|
+
*/
|
|
148
|
+
export class Table extends ResolvedTable {
|
|
149
|
+
_mappedColumns;
|
|
150
|
+
static createLocalOnly(columns, options) {
|
|
151
|
+
return new Table(columns, { localOnly: true, insertOnly: false, ...options });
|
|
152
|
+
}
|
|
153
|
+
static createInsertOnly(columns, options) {
|
|
154
|
+
return new Table(columns, { localOnly: false, insertOnly: true, ...options });
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Creates a new Table instance.
|
|
158
|
+
*
|
|
159
|
+
* @param columns - A Columns object (a record of column names to column types).
|
|
160
|
+
* @param options - Optional configuration options for the table.
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```javascript
|
|
164
|
+
* const table = new Table(
|
|
165
|
+
* {
|
|
166
|
+
* name: column.text,
|
|
167
|
+
* age: column.integer
|
|
168
|
+
* },
|
|
169
|
+
* { indexes: { nameIndex: ['name'] } }
|
|
170
|
+
* );
|
|
171
|
+
*```
|
|
172
|
+
*/
|
|
173
|
+
constructor(columns, options) {
|
|
174
|
+
super(Table.optionsFromColumns(columns, options));
|
|
175
|
+
this._mappedColumns = columns;
|
|
176
|
+
}
|
|
177
|
+
copyWithName(name) {
|
|
178
|
+
return new ResolvedTable({ ...this.options, name });
|
|
179
|
+
}
|
|
180
|
+
static optionsFromColumns(columns, options) {
|
|
181
|
+
const convertedColumns = Object.entries(columns).map(([name, columnInfo]) => new Column({ name, type: columnInfo.type }));
|
|
182
|
+
const convertedIndexes = Object.entries(options?.indexes ?? {}).map(([name, columnNames]) => new Index({
|
|
183
|
+
name,
|
|
184
|
+
columns: columnNames.map((nameOrIndexedColumn) => typeof nameOrIndexedColumn === 'string'
|
|
185
|
+
? new IndexedColumn({
|
|
186
|
+
name: nameOrIndexedColumn.replace(/^-/, ''),
|
|
187
|
+
ascending: !nameOrIndexedColumn.startsWith('-')
|
|
188
|
+
})
|
|
189
|
+
: nameOrIndexedColumn)
|
|
190
|
+
}));
|
|
191
|
+
return {
|
|
192
|
+
name: '',
|
|
193
|
+
columns: convertedColumns,
|
|
194
|
+
indexes: convertedIndexes,
|
|
195
|
+
viewName: options?.viewName,
|
|
196
|
+
insertOnly: options?.insertOnly,
|
|
197
|
+
localOnly: options?.localOnly,
|
|
198
|
+
trackPrevious: options?.trackPrevious,
|
|
199
|
+
trackMetadata: options?.trackMetadata,
|
|
200
|
+
ignoreEmptyUpdates: options?.ignoreEmptyUpdates
|
|
201
|
+
};
|
|
202
|
+
}
|
|
211
203
|
}
|
|
212
204
|
//# sourceMappingURL=Table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/db/schema/Table.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Table.js","sourceRoot":"","sources":["../../../src/db/schema/Table.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,58 +1,42 @@
|
|
|
1
1
|
export * from './attachments/AttachmentContext.js';
|
|
2
2
|
export * from './attachments/AttachmentErrorHandler.js';
|
|
3
3
|
export * from './attachments/AttachmentQueue.js';
|
|
4
|
-
export * from './attachments/AttachmentService.js';
|
|
5
4
|
export * from './attachments/LocalStorageAdapter.js';
|
|
6
5
|
export * from './attachments/RemoteStorageAdapter.js';
|
|
7
6
|
export * from './attachments/Schema.js';
|
|
8
|
-
export * from './attachments/SyncingService.js';
|
|
9
7
|
export * from './attachments/WatchedAttachmentItem.js';
|
|
10
|
-
export * from './client/
|
|
11
|
-
export * from './client/AbstractPowerSyncOpenFactory.js';
|
|
8
|
+
export * from './client/CommonPowerSyncDatabase.js';
|
|
12
9
|
export { compilableQueryWatch, CompilableQueryWatchHandler } from './client/compilableQueryWatch.js';
|
|
13
10
|
export * from './client/connection/PowerSyncBackendConnector.js';
|
|
14
11
|
export * from './client/connection/PowerSyncCredentials.js';
|
|
15
|
-
export { MAX_OP_ID } from './client/constants.js';
|
|
16
|
-
export { runOnSchemaChange } from './client/runOnSchemaChange.js';
|
|
17
12
|
export * from './client/SQLOpenFactory.js';
|
|
18
|
-
export * from './client/sync/bucket/BucketStorageAdapter.js';
|
|
19
13
|
export * from './client/sync/bucket/CrudBatch.js';
|
|
20
14
|
export { CrudEntry, OpId, UpdateType } from './client/sync/bucket/CrudEntry.js';
|
|
21
15
|
export * from './client/sync/bucket/CrudTransaction.js';
|
|
22
|
-
export * from './client/sync/bucket/SqliteBucketStorage.js';
|
|
23
|
-
export * from './client/sync/stream/AbstractRemote.js';
|
|
24
|
-
export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
|
|
25
16
|
export * from './client/sync/stream/JsonValue.js';
|
|
26
17
|
export * from './client/sync/sync-streams.js';
|
|
27
|
-
export
|
|
28
|
-
export * from './db/ConnectionClosedError.js';
|
|
18
|
+
export { SyncOptions, SyncStreamConnectionMethod, FetchStrategy } from './client/sync/options.js';
|
|
29
19
|
export { ProgressWithOperations, SyncProgress } from './db/crud/SyncProgress.js';
|
|
30
20
|
export * from './db/crud/SyncStatus.js';
|
|
31
21
|
export * from './db/crud/UploadQueueStatus.js';
|
|
32
22
|
export * from './db/DBAdapter.js';
|
|
23
|
+
export * from './db/QueryResult.js';
|
|
33
24
|
export * from './db/schema/Column.js';
|
|
34
25
|
export * from './db/schema/Index.js';
|
|
35
26
|
export * from './db/schema/IndexedColumn.js';
|
|
36
27
|
export { PendingStatement, PendingStatementParameter, RawTableType } from './db/schema/RawTable.js';
|
|
37
28
|
export * from './db/schema/Schema.js';
|
|
38
29
|
export * from './db/schema/Table.js';
|
|
39
|
-
export * from './db/schema/TableV2.js';
|
|
40
30
|
export * from './client/Query.js';
|
|
41
|
-
export { MEMORY_TRIGGER_CLAIM_MANAGER } from './client/triggers/MemoryTriggerClaimManager.js';
|
|
42
31
|
export * from './client/triggers/sanitizeSQL.js';
|
|
43
32
|
export * from './client/triggers/TriggerManager.js';
|
|
44
|
-
export { TriggerManagerImpl } from './client/triggers/TriggerManagerImpl.js';
|
|
45
33
|
export * from './client/watched/GetAllQuery.js';
|
|
46
|
-
export * from './client/watched/processors/AbstractQueryProcessor.js';
|
|
47
34
|
export * from './client/watched/processors/comparators.js';
|
|
48
35
|
export * from './client/watched/processors/DifferentialQueryProcessor.js';
|
|
49
36
|
export * from './client/watched/processors/OnChangeQueryProcessor.js';
|
|
50
37
|
export * from './client/watched/WatchedQuery.js';
|
|
51
|
-
export
|
|
38
|
+
export { type Mutex } from './utils/mutex.js';
|
|
52
39
|
export * from './utils/BaseObserver.js';
|
|
53
|
-
export * from './utils/
|
|
40
|
+
export * from './utils/MetaBaseObserver.js';
|
|
54
41
|
export * from './utils/Logger.js';
|
|
55
|
-
export * from './utils/mutex.js';
|
|
56
|
-
export * from './utils/parseQuery.js';
|
|
57
|
-
export type { SimpleAsyncIterator } from './utils/stream_transform.js';
|
|
58
42
|
export * from './types/types.js';
|
package/lib/index.js
CHANGED
|
@@ -1,57 +1,40 @@
|
|
|
1
1
|
export * from './attachments/AttachmentContext.js';
|
|
2
2
|
export * from './attachments/AttachmentErrorHandler.js';
|
|
3
3
|
export * from './attachments/AttachmentQueue.js';
|
|
4
|
-
export * from './attachments/AttachmentService.js';
|
|
5
4
|
export * from './attachments/LocalStorageAdapter.js';
|
|
6
5
|
export * from './attachments/RemoteStorageAdapter.js';
|
|
7
6
|
export * from './attachments/Schema.js';
|
|
8
|
-
export * from './attachments/SyncingService.js';
|
|
9
7
|
export * from './attachments/WatchedAttachmentItem.js';
|
|
10
|
-
export * from './client/
|
|
11
|
-
export * from './client/AbstractPowerSyncOpenFactory.js';
|
|
8
|
+
export * from './client/CommonPowerSyncDatabase.js';
|
|
12
9
|
export { compilableQueryWatch } from './client/compilableQueryWatch.js';
|
|
13
10
|
export * from './client/connection/PowerSyncBackendConnector.js';
|
|
14
11
|
export * from './client/connection/PowerSyncCredentials.js';
|
|
15
|
-
export { MAX_OP_ID } from './client/constants.js';
|
|
16
|
-
export { runOnSchemaChange } from './client/runOnSchemaChange.js';
|
|
17
12
|
export * from './client/SQLOpenFactory.js';
|
|
18
|
-
export * from './client/sync/bucket/BucketStorageAdapter.js';
|
|
19
13
|
export * from './client/sync/bucket/CrudBatch.js';
|
|
20
|
-
export {
|
|
14
|
+
export { UpdateType } from './client/sync/bucket/CrudEntry.js';
|
|
21
15
|
export * from './client/sync/bucket/CrudTransaction.js';
|
|
22
|
-
export * from './client/sync/bucket/SqliteBucketStorage.js';
|
|
23
|
-
export * from './client/sync/stream/AbstractRemote.js';
|
|
24
|
-
export * from './client/sync/stream/AbstractStreamingSyncImplementation.js';
|
|
25
16
|
export * from './client/sync/stream/JsonValue.js';
|
|
26
17
|
export * from './client/sync/sync-streams.js';
|
|
27
|
-
export
|
|
28
|
-
export * from './db/ConnectionClosedError.js';
|
|
29
|
-
export { SyncProgress } from './db/crud/SyncProgress.js';
|
|
18
|
+
export { SyncStreamConnectionMethod, FetchStrategy } from './client/sync/options.js';
|
|
30
19
|
export * from './db/crud/SyncStatus.js';
|
|
31
20
|
export * from './db/crud/UploadQueueStatus.js';
|
|
32
21
|
export * from './db/DBAdapter.js';
|
|
22
|
+
export * from './db/QueryResult.js';
|
|
33
23
|
export * from './db/schema/Column.js';
|
|
34
24
|
export * from './db/schema/Index.js';
|
|
35
25
|
export * from './db/schema/IndexedColumn.js';
|
|
36
26
|
export * from './db/schema/Schema.js';
|
|
37
27
|
export * from './db/schema/Table.js';
|
|
38
|
-
export * from './db/schema/TableV2.js';
|
|
39
28
|
export * from './client/Query.js';
|
|
40
|
-
export { MEMORY_TRIGGER_CLAIM_MANAGER } from './client/triggers/MemoryTriggerClaimManager.js';
|
|
41
29
|
export * from './client/triggers/sanitizeSQL.js';
|
|
42
30
|
export * from './client/triggers/TriggerManager.js';
|
|
43
|
-
export { TriggerManagerImpl } from './client/triggers/TriggerManagerImpl.js';
|
|
44
31
|
export * from './client/watched/GetAllQuery.js';
|
|
45
|
-
export * from './client/watched/processors/AbstractQueryProcessor.js';
|
|
46
32
|
export * from './client/watched/processors/comparators.js';
|
|
47
33
|
export * from './client/watched/processors/DifferentialQueryProcessor.js';
|
|
48
34
|
export * from './client/watched/processors/OnChangeQueryProcessor.js';
|
|
49
35
|
export * from './client/watched/WatchedQuery.js';
|
|
50
|
-
export * from './utils/AbortOperation.js';
|
|
51
36
|
export * from './utils/BaseObserver.js';
|
|
52
|
-
export * from './utils/
|
|
37
|
+
export * from './utils/MetaBaseObserver.js';
|
|
53
38
|
export * from './utils/Logger.js';
|
|
54
|
-
export * from './utils/mutex.js';
|
|
55
|
-
export * from './utils/parseQuery.js';
|
|
56
39
|
export * from './types/types.js';
|
|
57
40
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,wCAAwC,CAAC;AAEvD,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kCAAkC,CAAC;AACrG,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAmB,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAChF,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EAAe,0BAA0B,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGlG,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AAErC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,iCAAiC,CAAC;AAChD,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,uDAAuD,CAAC;AACtE,cAAc,kCAAkC,CAAC;AAGjD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC"}
|
|
@@ -15,7 +15,7 @@ export interface BaseObserverInterface<T extends BaseListener> {
|
|
|
15
15
|
registerListener(listener: Partial<T>): () => void;
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
|
-
* @
|
|
18
|
+
* @public
|
|
19
19
|
*/
|
|
20
20
|
export declare class BaseObserver<T extends BaseListener = BaseListener> implements BaseObserverInterface<T> {
|
|
21
21
|
protected listeners: Set<Partial<T>>;
|