@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.
Files changed (219) hide show
  1. package/lib/attachments/AttachmentContext.d.ts +5 -5
  2. package/lib/attachments/AttachmentContext.js +6 -2
  3. package/lib/attachments/AttachmentContext.js.map +1 -1
  4. package/lib/attachments/AttachmentQueue.d.ts +6 -6
  5. package/lib/attachments/AttachmentQueue.js +9 -8
  6. package/lib/attachments/AttachmentQueue.js.map +1 -1
  7. package/lib/attachments/AttachmentService.d.ts +3 -3
  8. package/lib/attachments/AttachmentService.js +4 -3
  9. package/lib/attachments/AttachmentService.js.map +1 -1
  10. package/lib/attachments/Schema.d.ts +2 -2
  11. package/lib/attachments/SyncingService.d.ts +2 -2
  12. package/lib/attachments/SyncingService.js +21 -6
  13. package/lib/attachments/SyncingService.js.map +1 -1
  14. package/lib/client/{AbstractPowerSyncDatabase.d.ts → CommonPowerSyncDatabase.d.ts} +56 -232
  15. package/lib/client/CommonPowerSyncDatabase.js +2 -0
  16. package/lib/client/CommonPowerSyncDatabase.js.map +1 -0
  17. package/lib/client/SQLOpenFactory.d.ts +35 -13
  18. package/lib/client/SQLOpenFactory.js +1 -25
  19. package/lib/client/SQLOpenFactory.js.map +1 -1
  20. package/lib/client/compilableQueryWatch.d.ts +2 -2
  21. package/lib/client/compilableQueryWatch.js +1 -2
  22. package/lib/client/compilableQueryWatch.js.map +1 -1
  23. package/lib/client/connection/PowerSyncBackendConnector.d.ts +3 -3
  24. package/lib/client/runOnSchemaChange.d.ts +2 -2
  25. package/lib/client/runOnSchemaChange.js.map +1 -1
  26. package/lib/client/sync/bucket/CrudEntry.d.ts +3 -34
  27. package/lib/client/sync/bucket/CrudEntry.js +0 -99
  28. package/lib/client/sync/bucket/CrudEntry.js.map +1 -1
  29. package/lib/client/sync/options.d.ts +65 -0
  30. package/lib/client/sync/options.js +25 -0
  31. package/lib/client/sync/options.js.map +1 -0
  32. package/lib/client/sync/sync-streams.d.ts +1 -1
  33. package/lib/client/triggers/TriggerManager.d.ts +9 -38
  34. package/lib/client/watched/GetAllQuery.d.ts +3 -3
  35. package/lib/client/watched/GetAllQuery.js +1 -1
  36. package/lib/client/watched/GetAllQuery.js.map +1 -1
  37. package/lib/client/watched/WatchedQuery.d.ts +2 -10
  38. package/lib/client/watched/WatchedQuery.js +0 -11
  39. package/lib/client/watched/WatchedQuery.js.map +1 -1
  40. package/lib/client/watched/processors/DifferentialQueryProcessor.d.ts +0 -50
  41. package/lib/client/watched/processors/DifferentialQueryProcessor.js +1 -176
  42. package/lib/client/watched/processors/DifferentialQueryProcessor.js.map +1 -1
  43. package/lib/client/watched/processors/OnChangeQueryProcessor.d.ts +0 -22
  44. package/lib/client/watched/processors/OnChangeQueryProcessor.js +1 -82
  45. package/lib/client/watched/processors/OnChangeQueryProcessor.js.map +1 -1
  46. package/lib/db/DBAdapter.d.ts +72 -154
  47. package/lib/db/DBAdapter.js +70 -108
  48. package/lib/db/DBAdapter.js.map +1 -1
  49. package/lib/db/QueryResult.d.ts +104 -0
  50. package/lib/db/QueryResult.js +96 -0
  51. package/lib/db/QueryResult.js.map +1 -0
  52. package/lib/db/crud/SyncProgress.d.ts +1 -13
  53. package/lib/db/crud/SyncProgress.js +1 -62
  54. package/lib/db/crud/SyncProgress.js.map +1 -1
  55. package/lib/db/crud/SyncStatus.d.ts +32 -66
  56. package/lib/db/crud/SyncStatus.js +1 -253
  57. package/lib/db/crud/SyncStatus.js.map +1 -1
  58. package/lib/db/schema/Column.d.ts +0 -7
  59. package/lib/db/schema/Column.js +0 -7
  60. package/lib/db/schema/Column.js.map +1 -1
  61. package/lib/db/schema/Index.d.ts +2 -6
  62. package/lib/db/schema/Index.js +1 -4
  63. package/lib/db/schema/Index.js.map +1 -1
  64. package/lib/db/schema/IndexedColumn.d.ts +2 -6
  65. package/lib/db/schema/IndexedColumn.js +1 -4
  66. package/lib/db/schema/IndexedColumn.js.map +1 -1
  67. package/lib/db/schema/Schema.d.ts +4 -28
  68. package/lib/db/schema/Schema.js.map +1 -1
  69. package/lib/db/schema/Table.d.ts +50 -96
  70. package/lib/db/schema/Table.js +83 -91
  71. package/lib/db/schema/Table.js.map +1 -1
  72. package/lib/index.d.ts +5 -21
  73. package/lib/index.js +5 -22
  74. package/lib/index.js.map +1 -1
  75. package/lib/utils/BaseObserver.d.ts +1 -1
  76. package/lib/utils/BaseObserver.js +1 -1
  77. package/lib/utils/Logger.d.ts +52 -23
  78. package/lib/utils/Logger.js +35 -33
  79. package/lib/utils/Logger.js.map +1 -1
  80. package/lib/utils/MetaBaseObserver.d.ts +11 -11
  81. package/lib/utils/MetaBaseObserver.js +1 -50
  82. package/lib/utils/MetaBaseObserver.js.map +1 -1
  83. package/lib/utils/mutex.d.ts +3 -53
  84. package/lib/utils/mutex.js +1 -156
  85. package/lib/utils/mutex.js.map +1 -1
  86. package/package.json +8 -45
  87. package/src/attachments/AttachmentContext.ts +11 -10
  88. package/src/attachments/AttachmentQueue.ts +15 -14
  89. package/src/attachments/AttachmentService.ts +7 -6
  90. package/src/attachments/Schema.ts +2 -2
  91. package/src/attachments/SyncingService.ts +23 -9
  92. package/src/client/CommonPowerSyncDatabase.ts +540 -0
  93. package/src/client/SQLOpenFactory.ts +38 -22
  94. package/src/client/compilableQueryWatch.ts +3 -4
  95. package/src/client/connection/PowerSyncBackendConnector.ts +3 -3
  96. package/src/client/runOnSchemaChange.ts +2 -2
  97. package/src/client/sync/bucket/CrudEntry.ts +4 -104
  98. package/src/client/sync/options.ts +77 -0
  99. package/src/client/sync/sync-streams.ts +1 -1
  100. package/src/client/triggers/TriggerManager.ts +10 -41
  101. package/src/client/watched/GetAllQuery.ts +3 -3
  102. package/src/client/watched/WatchedQuery.ts +2 -15
  103. package/src/client/watched/processors/DifferentialQueryProcessor.ts +0 -223
  104. package/src/client/watched/processors/OnChangeQueryProcessor.ts +0 -111
  105. package/src/db/DBAdapter.ts +141 -226
  106. package/src/db/QueryResult.ts +195 -0
  107. package/src/db/crud/SyncProgress.ts +2 -42
  108. package/src/db/crud/SyncStatus.ts +45 -220
  109. package/src/db/schema/Column.ts +0 -8
  110. package/src/db/schema/Index.ts +3 -6
  111. package/src/db/schema/IndexedColumn.ts +3 -6
  112. package/src/db/schema/Schema.ts +4 -4
  113. package/src/db/schema/Table.ts +111 -186
  114. package/src/index.ts +5 -21
  115. package/src/utils/BaseObserver.ts +1 -1
  116. package/src/utils/Logger.ts +80 -42
  117. package/src/utils/MetaBaseObserver.ts +14 -60
  118. package/src/utils/mutex.ts +4 -201
  119. package/dist/bundle.cjs +0 -14393
  120. package/dist/bundle.cjs.map +0 -1
  121. package/dist/bundle.mjs +0 -14312
  122. package/dist/bundle.mjs.map +0 -1
  123. package/dist/bundle.node.cjs +0 -12024
  124. package/dist/bundle.node.cjs.map +0 -1
  125. package/dist/bundle.node.mjs +0 -11943
  126. package/dist/bundle.node.mjs.map +0 -1
  127. package/dist/index.d.cts +0 -4651
  128. package/legacy/sync_protocol.d.ts +0 -103
  129. package/lib/client/AbstractPowerSyncDatabase.js +0 -990
  130. package/lib/client/AbstractPowerSyncDatabase.js.map +0 -1
  131. package/lib/client/AbstractPowerSyncOpenFactory.d.ts +0 -28
  132. package/lib/client/AbstractPowerSyncOpenFactory.js +0 -28
  133. package/lib/client/AbstractPowerSyncOpenFactory.js.map +0 -1
  134. package/lib/client/ConnectionManager.d.ts +0 -115
  135. package/lib/client/ConnectionManager.js +0 -294
  136. package/lib/client/ConnectionManager.js.map +0 -1
  137. package/lib/client/CustomQuery.d.ts +0 -22
  138. package/lib/client/CustomQuery.js +0 -43
  139. package/lib/client/CustomQuery.js.map +0 -1
  140. package/lib/client/constants.d.ts +0 -4
  141. package/lib/client/constants.js +0 -5
  142. package/lib/client/constants.js.map +0 -1
  143. package/lib/client/sync/bucket/BucketStorageAdapter.d.ts +0 -56
  144. package/lib/client/sync/bucket/BucketStorageAdapter.js +0 -29
  145. package/lib/client/sync/bucket/BucketStorageAdapter.js.map +0 -1
  146. package/lib/client/sync/bucket/SqliteBucketStorage.d.ts +0 -37
  147. package/lib/client/sync/bucket/SqliteBucketStorage.js +0 -165
  148. package/lib/client/sync/bucket/SqliteBucketStorage.js.map +0 -1
  149. package/lib/client/sync/stream/AbstractRemote.d.ts +0 -180
  150. package/lib/client/sync/stream/AbstractRemote.js +0 -508
  151. package/lib/client/sync/stream/AbstractRemote.js.map +0 -1
  152. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.d.ts +0 -265
  153. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js +0 -705
  154. package/lib/client/sync/stream/AbstractStreamingSyncImplementation.js.map +0 -1
  155. package/lib/client/sync/stream/WebsocketClientTransport.d.ts +0 -15
  156. package/lib/client/sync/stream/WebsocketClientTransport.js +0 -62
  157. package/lib/client/sync/stream/WebsocketClientTransport.js.map +0 -1
  158. package/lib/client/sync/stream/core-instruction.d.ts +0 -77
  159. package/lib/client/sync/stream/core-instruction.js +0 -30
  160. package/lib/client/sync/stream/core-instruction.js.map +0 -1
  161. package/lib/client/triggers/MemoryTriggerClaimManager.d.ts +0 -6
  162. package/lib/client/triggers/MemoryTriggerClaimManager.js +0 -21
  163. package/lib/client/triggers/MemoryTriggerClaimManager.js.map +0 -1
  164. package/lib/client/triggers/TriggerManagerImpl.d.ts +0 -39
  165. package/lib/client/triggers/TriggerManagerImpl.js +0 -410
  166. package/lib/client/triggers/TriggerManagerImpl.js.map +0 -1
  167. package/lib/client/watched/processors/AbstractQueryProcessor.d.ts +0 -68
  168. package/lib/client/watched/processors/AbstractQueryProcessor.js +0 -151
  169. package/lib/client/watched/processors/AbstractQueryProcessor.js.map +0 -1
  170. package/lib/db/ConnectionClosedError.d.ts +0 -12
  171. package/lib/db/ConnectionClosedError.js +0 -23
  172. package/lib/db/ConnectionClosedError.js.map +0 -1
  173. package/lib/db/schema/TableV2.d.ts +0 -11
  174. package/lib/db/schema/TableV2.js +0 -11
  175. package/lib/db/schema/TableV2.js.map +0 -1
  176. package/lib/utils/AbortOperation.d.ts +0 -11
  177. package/lib/utils/AbortOperation.js +0 -21
  178. package/lib/utils/AbortOperation.js.map +0 -1
  179. package/lib/utils/ControlledExecutor.d.ts +0 -31
  180. package/lib/utils/ControlledExecutor.js +0 -54
  181. package/lib/utils/ControlledExecutor.js.map +0 -1
  182. package/lib/utils/async.d.ts +0 -46
  183. package/lib/utils/async.js +0 -147
  184. package/lib/utils/async.js.map +0 -1
  185. package/lib/utils/compatibility.d.ts +0 -8
  186. package/lib/utils/compatibility.js +0 -9
  187. package/lib/utils/compatibility.js.map +0 -1
  188. package/lib/utils/parseQuery.d.ts +0 -12
  189. package/lib/utils/parseQuery.js +0 -20
  190. package/lib/utils/parseQuery.js.map +0 -1
  191. package/lib/utils/queue.d.ts +0 -16
  192. package/lib/utils/queue.js +0 -42
  193. package/lib/utils/queue.js.map +0 -1
  194. package/lib/utils/stream_transform.d.ts +0 -41
  195. package/lib/utils/stream_transform.js +0 -211
  196. package/lib/utils/stream_transform.js.map +0 -1
  197. package/src/client/AbstractPowerSyncDatabase.ts +0 -1408
  198. package/src/client/AbstractPowerSyncOpenFactory.ts +0 -45
  199. package/src/client/ConnectionManager.ts +0 -405
  200. package/src/client/CustomQuery.ts +0 -56
  201. package/src/client/constants.ts +0 -4
  202. package/src/client/sync/bucket/BucketStorageAdapter.ts +0 -65
  203. package/src/client/sync/bucket/SqliteBucketStorage.ts +0 -202
  204. package/src/client/sync/stream/AbstractRemote.ts +0 -648
  205. package/src/client/sync/stream/AbstractStreamingSyncImplementation.ts +0 -970
  206. package/src/client/sync/stream/WebsocketClientTransport.ts +0 -82
  207. package/src/client/sync/stream/core-instruction.ts +0 -109
  208. package/src/client/triggers/MemoryTriggerClaimManager.ts +0 -25
  209. package/src/client/triggers/TriggerManagerImpl.ts +0 -501
  210. package/src/client/watched/processors/AbstractQueryProcessor.ts +0 -226
  211. package/src/db/ConnectionClosedError.ts +0 -25
  212. package/src/db/schema/TableV2.ts +0 -11
  213. package/src/utils/AbortOperation.ts +0 -19
  214. package/src/utils/ControlledExecutor.ts +0 -78
  215. package/src/utils/async.ts +0 -185
  216. package/src/utils/compatibility.ts +0 -9
  217. package/src/utils/parseQuery.ts +0 -31
  218. package/src/utils/queue.ts +0 -48
  219. package/src/utils/stream_transform.ts +0 -260
@@ -1,6 +1,6 @@
1
- import { Column, ColumnsType, ColumnType, ExtractColumnValueType } from './Column.js';
1
+ import { Column, ColumnsType, ExtractColumnValueType } from './Column.js';
2
2
  import { Index } from './Index.js';
3
- import { TableV2 } from './TableV2.js';
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 TableOptions extends SharedTableOptions {
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 TableV2<any>> = {
47
- [K in keyof T['columnMap']]: ExtractColumnValueType<T['columnMap'][K]>;
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 TableV2Options extends SharedTableOptions {
58
+ export interface TableOptions extends SharedTableOptions {
59
59
  indexes?: IndexShorthand;
60
60
  }
61
61
  /**
62
- * @internal
63
- */
64
- export declare const DEFAULT_TABLE_OPTIONS: {
65
- indexes: never[];
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 Table<Columns extends ColumnsType = ColumnsType> {
80
- protected options: TableOptions;
81
- protected _mappedColumns: Columns;
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 {};
@@ -1,11 +1,13 @@
1
- import { Column, ColumnType, MAX_AMOUNT_OF_COLUMNS } from './Column.js';
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
- * @internal
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
- export const DEFAULT_TABLE_OPTIONS = {
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
- * @internal
18
- */
19
- export const InvalidSQLCharacters = /["'%,.#\s[\]]/;
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 Table {
26
+ export class ResolvedTable {
24
27
  options;
25
- _mappedColumns;
26
- static createLocalOnly(options) {
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":"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"}
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/AbstractPowerSyncDatabase.js';
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 * from './client/ConnectionManager.js';
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 * from './utils/AbortOperation.js';
38
+ export { type Mutex } from './utils/mutex.js';
52
39
  export * from './utils/BaseObserver.js';
53
- export * from './utils/ControlledExecutor.js';
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/AbstractPowerSyncDatabase.js';
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 { CrudEntry, UpdateType } from './client/sync/bucket/CrudEntry.js';
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 * from './client/ConnectionManager.js';
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/ControlledExecutor.js';
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,oCAAoC,CAAC;AACnD,cAAc,sCAAsC,CAAC;AACrD,cAAc,uCAAuC,CAAC;AACtD,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,wCAAwC,CAAC;AAEvD,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAA+B,MAAM,kCAAkC,CAAC;AACrG,cAAc,kDAAkD,CAAC;AACjE,cAAc,6CAA6C,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8CAA8C,CAAC;AAC7D,cAAc,mCAAmC,CAAC;AAClD,OAAO,EAAE,SAAS,EAAQ,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAChF,cAAc,yCAAyC,CAAC;AACxD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,wCAAwC,CAAC;AACvD,cAAc,6DAA6D,CAAC;AAC5E,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAE9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EAA0B,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACjF,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC;AAE7C,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAC9F,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,cAAc,iCAAiC,CAAC;AAChD,cAAc,uDAAuD,CAAC;AACtE,cAAc,4CAA4C,CAAC;AAC3D,cAAc,2DAA2D,CAAC;AAC1E,cAAc,uDAAuD,CAAC;AACtE,cAAc,kCAAkC,CAAC;AAEjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,kBAAkB,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
- * @internal
18
+ * @public
19
19
  */
20
20
  export declare class BaseObserver<T extends BaseListener = BaseListener> implements BaseObserverInterface<T> {
21
21
  protected listeners: Set<Partial<T>>;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @internal
2
+ * @public
3
3
  */
4
4
  export class BaseObserver {
5
5
  listeners = new Set();