@powersync/common 1.41.1 → 1.43.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 +4539 -177
- package/dist/bundle.cjs.map +1 -1
- package/dist/bundle.mjs +4539 -177
- package/dist/bundle.mjs.map +1 -1
- package/dist/bundle.node.cjs +21 -10
- package/dist/bundle.node.cjs.map +1 -1
- package/dist/bundle.node.mjs +21 -10
- package/dist/bundle.node.mjs.map +1 -1
- package/dist/index.d.cts +72 -13
- package/lib/client/sync/stream/AbstractRemote.js +10 -4
- package/lib/client/sync/stream/AbstractRemote.js.map +1 -1
- package/lib/client/triggers/TriggerManager.d.ts +71 -12
- package/lib/client/triggers/TriggerManagerImpl.js +10 -5
- package/lib/client/triggers/TriggerManagerImpl.js.map +1 -1
- package/package.json +2 -2
- package/src/client/sync/stream/AbstractRemote.ts +15 -5
- package/src/client/triggers/TriggerManager.ts +79 -12
- package/src/client/triggers/TriggerManagerImpl.ts +12 -6
package/dist/index.d.cts
CHANGED
|
@@ -2441,8 +2441,11 @@ declare enum DiffTriggerOperation {
|
|
|
2441
2441
|
* @experimental
|
|
2442
2442
|
* Diffs created by {@link TriggerManager#createDiffTrigger} are stored in a temporary table.
|
|
2443
2443
|
* This is the base record structure for all diff records.
|
|
2444
|
+
*
|
|
2445
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by default SQLite database queries.
|
|
2446
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
2444
2447
|
*/
|
|
2445
|
-
interface BaseTriggerDiffRecord {
|
|
2448
|
+
interface BaseTriggerDiffRecord<TOperationId extends string | number = number> {
|
|
2446
2449
|
/**
|
|
2447
2450
|
* The modified row's `id` column value.
|
|
2448
2451
|
*/
|
|
@@ -2451,6 +2454,12 @@ interface BaseTriggerDiffRecord {
|
|
|
2451
2454
|
* The operation performed which created this record.
|
|
2452
2455
|
*/
|
|
2453
2456
|
operation: DiffTriggerOperation;
|
|
2457
|
+
/**
|
|
2458
|
+
* Auto-incrementing primary key for the operation.
|
|
2459
|
+
* Defaults to number as returned by database queries (wa-sqlite returns lower 32 bits).
|
|
2460
|
+
* Can be string for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
2461
|
+
*/
|
|
2462
|
+
operation_id: TOperationId;
|
|
2454
2463
|
/**
|
|
2455
2464
|
* Time the change operation was recorded.
|
|
2456
2465
|
* This is in ISO 8601 format, e.g. `2023-10-01T12:00:00.000Z`.
|
|
@@ -2463,7 +2472,7 @@ interface BaseTriggerDiffRecord {
|
|
|
2463
2472
|
* This record contains the new value and optionally the previous value.
|
|
2464
2473
|
* Values are stored as JSON strings.
|
|
2465
2474
|
*/
|
|
2466
|
-
interface TriggerDiffUpdateRecord extends BaseTriggerDiffRecord {
|
|
2475
|
+
interface TriggerDiffUpdateRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
2467
2476
|
operation: DiffTriggerOperation.UPDATE;
|
|
2468
2477
|
/**
|
|
2469
2478
|
* The updated state of the row in JSON string format.
|
|
@@ -2479,7 +2488,7 @@ interface TriggerDiffUpdateRecord extends BaseTriggerDiffRecord {
|
|
|
2479
2488
|
* Represents a diff record for a SQLite INSERT operation.
|
|
2480
2489
|
* This record contains the new value represented as a JSON string.
|
|
2481
2490
|
*/
|
|
2482
|
-
interface TriggerDiffInsertRecord extends BaseTriggerDiffRecord {
|
|
2491
|
+
interface TriggerDiffInsertRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
2483
2492
|
operation: DiffTriggerOperation.INSERT;
|
|
2484
2493
|
/**
|
|
2485
2494
|
* The value of the row, at the time of INSERT, in JSON string format.
|
|
@@ -2491,7 +2500,7 @@ interface TriggerDiffInsertRecord extends BaseTriggerDiffRecord {
|
|
|
2491
2500
|
* Represents a diff record for a SQLite DELETE operation.
|
|
2492
2501
|
* This record contains the new value represented as a JSON string.
|
|
2493
2502
|
*/
|
|
2494
|
-
interface TriggerDiffDeleteRecord extends BaseTriggerDiffRecord {
|
|
2503
|
+
interface TriggerDiffDeleteRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
2495
2504
|
operation: DiffTriggerOperation.DELETE;
|
|
2496
2505
|
/**
|
|
2497
2506
|
* The value of the row, before the DELETE operation, in JSON string format.
|
|
@@ -2505,26 +2514,49 @@ interface TriggerDiffDeleteRecord extends BaseTriggerDiffRecord {
|
|
|
2505
2514
|
*
|
|
2506
2515
|
* Querying the DIFF table directly with {@link TriggerDiffHandlerContext#withDiff} will return records
|
|
2507
2516
|
* with the structure of this type.
|
|
2517
|
+
*
|
|
2518
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by database queries.
|
|
2519
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
2520
|
+
*
|
|
2508
2521
|
* @example
|
|
2509
2522
|
* ```typescript
|
|
2523
|
+
* // Default: operation_id is number
|
|
2510
2524
|
* const diffs = await context.withDiff<TriggerDiffRecord>('SELECT * FROM DIFF');
|
|
2511
|
-
*
|
|
2525
|
+
*
|
|
2526
|
+
* // With string operation_id for full precision
|
|
2527
|
+
* const diffsWithString = await context.withDiff<TriggerDiffRecord<string>>(
|
|
2528
|
+
* 'SELECT * FROM DIFF',
|
|
2529
|
+
* undefined,
|
|
2530
|
+
* { castOperationIdAsText: true }
|
|
2531
|
+
* );
|
|
2512
2532
|
* ```
|
|
2513
2533
|
*/
|
|
2514
|
-
type TriggerDiffRecord = TriggerDiffUpdateRecord | TriggerDiffInsertRecord | TriggerDiffDeleteRecord
|
|
2534
|
+
type TriggerDiffRecord<TOperationId extends string | number = number> = TriggerDiffUpdateRecord<TOperationId> | TriggerDiffInsertRecord<TOperationId> | TriggerDiffDeleteRecord<TOperationId>;
|
|
2515
2535
|
/**
|
|
2516
2536
|
* @experimental
|
|
2517
2537
|
* Querying the DIFF table directly with {@link TriggerDiffHandlerContext#withExtractedDiff} will return records
|
|
2518
2538
|
* with the tracked columns extracted from the JSON value.
|
|
2519
2539
|
* This type represents the structure of such records.
|
|
2540
|
+
*
|
|
2541
|
+
* @template T - The type for the extracted columns from the tracked JSON value.
|
|
2542
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by database queries.
|
|
2543
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
2544
|
+
*
|
|
2520
2545
|
* @example
|
|
2521
2546
|
* ```typescript
|
|
2547
|
+
* // Default: operation_id is number
|
|
2522
2548
|
* const diffs = await context.withExtractedDiff<ExtractedTriggerDiffRecord<{id: string, name: string}>>('SELECT * FROM DIFF');
|
|
2523
|
-
*
|
|
2549
|
+
*
|
|
2550
|
+
* // With string operation_id for full precision
|
|
2551
|
+
* const diffsWithString = await context.withExtractedDiff<ExtractedTriggerDiffRecord<{id: string, name: string}, string>>(
|
|
2552
|
+
* 'SELECT * FROM DIFF',
|
|
2553
|
+
* undefined,
|
|
2554
|
+
* { castOperationIdAsText: true }
|
|
2555
|
+
* );
|
|
2524
2556
|
* ```
|
|
2525
2557
|
*/
|
|
2526
|
-
type ExtractedTriggerDiffRecord<T> = T & {
|
|
2527
|
-
[K in keyof Omit<BaseTriggerDiffRecord
|
|
2558
|
+
type ExtractedTriggerDiffRecord<T, TOperationId extends string | number = number> = T & {
|
|
2559
|
+
[K in keyof Omit<BaseTriggerDiffRecord<TOperationId>, 'id'> as `__${string & K}`]: TriggerDiffRecord<TOperationId>[K];
|
|
2528
2560
|
} & {
|
|
2529
2561
|
__previous_value?: string;
|
|
2530
2562
|
};
|
|
@@ -2596,6 +2628,20 @@ interface CreateDiffTriggerOptions extends BaseCreateDiffTriggerOptions {
|
|
|
2596
2628
|
* Callback to drop a trigger after it has been created.
|
|
2597
2629
|
*/
|
|
2598
2630
|
type TriggerRemoveCallback = () => Promise<void>;
|
|
2631
|
+
/**
|
|
2632
|
+
* @experimental
|
|
2633
|
+
* Options for {@link TriggerDiffHandlerContext#withDiff}.
|
|
2634
|
+
*/
|
|
2635
|
+
interface WithDiffOptions {
|
|
2636
|
+
/**
|
|
2637
|
+
* If true, casts `operation_id` as TEXT in the internal CTE to preserve full 64-bit precision.
|
|
2638
|
+
* Use this when you need to ensure `operation_id` is treated as a string to avoid precision loss
|
|
2639
|
+
* for values exceeding JavaScript's Number.MAX_SAFE_INTEGER.
|
|
2640
|
+
*
|
|
2641
|
+
* When enabled, use {@link TriggerDiffRecord}<string> to type the result correctly.
|
|
2642
|
+
*/
|
|
2643
|
+
castOperationIdAsText?: boolean;
|
|
2644
|
+
}
|
|
2599
2645
|
/**
|
|
2600
2646
|
* @experimental
|
|
2601
2647
|
* Context for the `onChange` handler provided to {@link TriggerManager#trackTableDiff}.
|
|
@@ -2612,9 +2658,10 @@ interface TriggerDiffHandlerContext extends LockContext {
|
|
|
2612
2658
|
* The `DIFF` table is of the form described in {@link TriggerManager#createDiffTrigger}
|
|
2613
2659
|
* ```sql
|
|
2614
2660
|
* CREATE TEMP DIFF (
|
|
2661
|
+
* operation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
2615
2662
|
* id TEXT,
|
|
2616
2663
|
* operation TEXT,
|
|
2617
|
-
* timestamp TEXT
|
|
2664
|
+
* timestamp TEXT,
|
|
2618
2665
|
* value TEXT,
|
|
2619
2666
|
* previous_value TEXT
|
|
2620
2667
|
* );
|
|
@@ -2634,8 +2681,19 @@ interface TriggerDiffHandlerContext extends LockContext {
|
|
|
2634
2681
|
* JOIN todos ON DIFF.id = todos.id
|
|
2635
2682
|
* WHERE json_extract(DIFF.value, '$.status') = 'active'
|
|
2636
2683
|
* ```
|
|
2684
|
+
*
|
|
2685
|
+
* @example
|
|
2686
|
+
* ```typescript
|
|
2687
|
+
* // With operation_id cast as TEXT for full precision
|
|
2688
|
+
* const diffs = await context.withDiff<TriggerDiffRecord<string>>(
|
|
2689
|
+
* 'SELECT * FROM DIFF',
|
|
2690
|
+
* undefined,
|
|
2691
|
+
* { castOperationIdAsText: true }
|
|
2692
|
+
* );
|
|
2693
|
+
* // diffs[0].operation_id is now typed as string
|
|
2694
|
+
* ```
|
|
2637
2695
|
*/
|
|
2638
|
-
withDiff: <T = any>(query: string, params?: ReadonlyArray<Readonly<any
|
|
2696
|
+
withDiff: <T = any>(query: string, params?: ReadonlyArray<Readonly<any>>, options?: WithDiffOptions) => Promise<T[]>;
|
|
2639
2697
|
/**
|
|
2640
2698
|
* Allows querying the database with access to the table containing diff records.
|
|
2641
2699
|
* The diff table is accessible via the `DIFF` accessor.
|
|
@@ -2700,9 +2758,10 @@ interface TriggerManager {
|
|
|
2700
2758
|
*
|
|
2701
2759
|
* ```sql
|
|
2702
2760
|
* CREATE TEMP TABLE ${destination} (
|
|
2761
|
+
* operation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
2703
2762
|
* id TEXT,
|
|
2704
2763
|
* operation TEXT,
|
|
2705
|
-
* timestamp TEXT
|
|
2764
|
+
* timestamp TEXT,
|
|
2706
2765
|
* value TEXT,
|
|
2707
2766
|
* previous_value TEXT
|
|
2708
2767
|
* );
|
|
@@ -3602,4 +3661,4 @@ interface ParsedQuery {
|
|
|
3602
3661
|
declare const parseQuery: <T>(query: string | CompilableQuery<T>, parameters: any[]) => ParsedQuery;
|
|
3603
3662
|
|
|
3604
3663
|
export { AbortOperation, AbstractPowerSyncDatabase, AbstractPowerSyncDatabaseOpenFactory, AbstractQueryProcessor, AbstractRemote, AbstractStreamingSyncImplementation, ArrayComparator, BaseObserver, Column, ColumnType, ConnectionManager, ControlledExecutor, CrudBatch, CrudEntry, CrudTransaction, DEFAULT_CRUD_BATCH_LIMIT, DEFAULT_CRUD_UPLOAD_THROTTLE_MS, DEFAULT_INDEX_COLUMN_OPTIONS, DEFAULT_INDEX_OPTIONS, DEFAULT_LOCK_TIMEOUT_MS, DEFAULT_POWERSYNC_CLOSE_OPTIONS, DEFAULT_POWERSYNC_DB_OPTIONS, DEFAULT_PRESSURE_LIMITS, DEFAULT_REMOTE_LOGGER, DEFAULT_REMOTE_OPTIONS, DEFAULT_RETRY_DELAY_MS, DEFAULT_ROW_COMPARATOR, DEFAULT_STREAMING_SYNC_OPTIONS, DEFAULT_STREAM_CONNECTION_OPTIONS, DEFAULT_SYNC_CLIENT_IMPLEMENTATION, DEFAULT_TABLE_OPTIONS, DEFAULT_WATCH_QUERY_OPTIONS, DEFAULT_WATCH_THROTTLE_MS, DataStream, DiffTriggerOperation, DifferentialQueryProcessor, EMPTY_DIFFERENTIAL, FalsyComparator, FetchImplementationProvider, FetchStrategy, GetAllQuery, Index, IndexedColumn, InvalidSQLCharacters, LockType, LogLevel, MAX_AMOUNT_OF_COLUMNS, MAX_OP_ID, OnChangeQueryProcessor, OpType, OpTypeEnum, OplogEntry, PSInternalTable, PowerSyncControlCommand, RowUpdateType, Schema, SqliteBucketStorage, SyncClientImplementation, SyncDataBatch, SyncDataBucket, SyncProgress, SyncStatus, SyncStreamConnectionMethod, Table, TableV2, UpdateType, UploadQueueStats, WatchedQueryListenerEvent, column, compilableQueryWatch, createBaseLogger, createLogger, extractTableUpdates, isBatchedUpdateNotification, isContinueCheckpointRequest, isDBAdapter, isPowerSyncDatabaseOptionsWithSettings, isSQLOpenFactory, isSQLOpenOptions, isStreamingKeepalive, isStreamingSyncCheckpoint, isStreamingSyncCheckpointComplete, isStreamingSyncCheckpointDiff, isStreamingSyncCheckpointPartiallyComplete, isStreamingSyncData, isSyncNewCheckpointRequest, parseQuery, runOnSchemaChange, sanitizeSQL, sanitizeUUID };
|
|
3605
|
-
export type { AbstractQueryProcessorOptions, AbstractRemoteOptions, AbstractStreamingSyncImplementationOptions, AdditionalConnectionOptions, ArrayComparatorOptions, ArrayQueryDefinition, BSONImplementation, BaseColumnType, BaseConnectionOptions, BaseListener, BaseObserverInterface, BasePowerSyncDatabaseOptions, BaseTriggerDiffRecord, BatchedUpdateNotification, BucketChecksum, BucketDescription, BucketOperationProgress, BucketRequest, BucketState, BucketStorageAdapter, BucketStorageListener, Checkpoint, ChecksumCache, ColumnOptions, ColumnsType, CompilableQuery, CompilableQueryWatchHandler, CompiledQuery, ConnectionManagerListener, ConnectionManagerOptions, ConnectionManagerSyncImplementationResult, ContinueCheckpointRequest, ControlledExecutorOptions, CreateDiffTriggerOptions, CreateLoggerOptions, CreateSyncImplementationOptions, CrudRequest, CrudResponse, CrudUploadNotification, DBAdapter, DBAdapterListener, DBGetUtils, DBLockOptions, DataStreamCallback, DataStreamListener, DataStreamOptions, DifferentialQueryProcessorOptions, DifferentialWatchedQuery, DifferentialWatchedQueryComparator, DifferentialWatchedQueryListener, DifferentialWatchedQueryOptions, DifferentialWatchedQuerySettings, DisconnectAndClearOptions, Disposable, ExtractColumnValueType, ExtractedTriggerDiffRecord, FetchImplementation, GetAllQueryOptions, IndexColumnOptions, IndexOptions, IndexShorthand, InternalConnectionOptions, InternalSubscriptionAdapter, LinkQueryOptions, LockContext, LockOptions, MutableWatchedQueryState, OnChangeQueryProcessorOptions, OpId, OpTypeJSON, OplogEntryJSON, ParsedQuery, PowerSyncBackendConnector, PowerSyncCloseOptions, PowerSyncConnectionOptions, PowerSyncCredentials, PowerSyncDBListener, PowerSyncDatabaseOptions, PowerSyncDatabaseOptionsWithDBAdapter, PowerSyncDatabaseOptionsWithOpenFactory, PowerSyncDatabaseOptionsWithSettings, PowerSyncOpenFactoryOptions, ProgressWithOperations, Query, QueryParam, QueryResult, RemoteConnector, RequiredAdditionalConnectionOptions, RequiredPowerSyncConnectionOptions, RowType, SQLOnChangeOptions, SQLOpenFactory, SQLOpenOptions, SQLWatchOptions, SavedProgress, SchemaTableType, SocketSyncStreamOptions, StandardWatchedQuery, StandardWatchedQueryOptions, StreamingSyncCheckpoint, StreamingSyncCheckpointComplete, StreamingSyncCheckpointDiff, StreamingSyncCheckpointPartiallyComplete, StreamingSyncDataJSON, StreamingSyncImplementation, StreamingSyncImplementationListener, StreamingSyncKeepalive, StreamingSyncLine, StreamingSyncLineOrCrudUploadComplete, StreamingSyncRequest, StreamingSyncRequestParameterType, SubscribedStream, SyncDataBucketJSON, SyncDataFlowStatus, SyncLocalDatabaseResult, SyncNewCheckpointRequest, SyncPriorityStatus, SyncRequest, SyncResponse, SyncStatusOptions, SyncStream, SyncStreamDescription, SyncStreamOptions, SyncStreamStatus, SyncStreamSubscribeOptions, SyncStreamSubscription, SyncSubscriptionDescription, TableOptions, TableUpdateOperation, TableV2Options, TrackDiffOptions, TrackPreviousOptions, Transaction, TriggerCreationHooks, TriggerDiffDeleteRecord, TriggerDiffHandlerContext, TriggerDiffInsertRecord, TriggerDiffRecord, TriggerDiffUpdateRecord, TriggerManager, TriggerRemoveCallback, UpdateNotification, WatchCompatibleQuery, WatchExecuteOptions, WatchHandler, WatchOnChangeEvent, WatchOnChangeHandler, WatchedQuery, WatchedQueryComparator, WatchedQueryDifferential, WatchedQueryListener, WatchedQueryOptions, WatchedQueryRowDifferential, WatchedQuerySettings, WatchedQueryState };
|
|
3664
|
+
export type { AbstractQueryProcessorOptions, AbstractRemoteOptions, AbstractStreamingSyncImplementationOptions, AdditionalConnectionOptions, ArrayComparatorOptions, ArrayQueryDefinition, BSONImplementation, BaseColumnType, BaseConnectionOptions, BaseListener, BaseObserverInterface, BasePowerSyncDatabaseOptions, BaseTriggerDiffRecord, BatchedUpdateNotification, BucketChecksum, BucketDescription, BucketOperationProgress, BucketRequest, BucketState, BucketStorageAdapter, BucketStorageListener, Checkpoint, ChecksumCache, ColumnOptions, ColumnsType, CompilableQuery, CompilableQueryWatchHandler, CompiledQuery, ConnectionManagerListener, ConnectionManagerOptions, ConnectionManagerSyncImplementationResult, ContinueCheckpointRequest, ControlledExecutorOptions, CreateDiffTriggerOptions, CreateLoggerOptions, CreateSyncImplementationOptions, CrudRequest, CrudResponse, CrudUploadNotification, DBAdapter, DBAdapterListener, DBGetUtils, DBLockOptions, DataStreamCallback, DataStreamListener, DataStreamOptions, DifferentialQueryProcessorOptions, DifferentialWatchedQuery, DifferentialWatchedQueryComparator, DifferentialWatchedQueryListener, DifferentialWatchedQueryOptions, DifferentialWatchedQuerySettings, DisconnectAndClearOptions, Disposable, ExtractColumnValueType, ExtractedTriggerDiffRecord, FetchImplementation, GetAllQueryOptions, IndexColumnOptions, IndexOptions, IndexShorthand, InternalConnectionOptions, InternalSubscriptionAdapter, LinkQueryOptions, LockContext, LockOptions, MutableWatchedQueryState, OnChangeQueryProcessorOptions, OpId, OpTypeJSON, OplogEntryJSON, ParsedQuery, PowerSyncBackendConnector, PowerSyncCloseOptions, PowerSyncConnectionOptions, PowerSyncCredentials, PowerSyncDBListener, PowerSyncDatabaseOptions, PowerSyncDatabaseOptionsWithDBAdapter, PowerSyncDatabaseOptionsWithOpenFactory, PowerSyncDatabaseOptionsWithSettings, PowerSyncOpenFactoryOptions, ProgressWithOperations, Query, QueryParam, QueryResult, RemoteConnector, RequiredAdditionalConnectionOptions, RequiredPowerSyncConnectionOptions, RowType, SQLOnChangeOptions, SQLOpenFactory, SQLOpenOptions, SQLWatchOptions, SavedProgress, SchemaTableType, SocketSyncStreamOptions, StandardWatchedQuery, StandardWatchedQueryOptions, StreamingSyncCheckpoint, StreamingSyncCheckpointComplete, StreamingSyncCheckpointDiff, StreamingSyncCheckpointPartiallyComplete, StreamingSyncDataJSON, StreamingSyncImplementation, StreamingSyncImplementationListener, StreamingSyncKeepalive, StreamingSyncLine, StreamingSyncLineOrCrudUploadComplete, StreamingSyncRequest, StreamingSyncRequestParameterType, SubscribedStream, SyncDataBucketJSON, SyncDataFlowStatus, SyncLocalDatabaseResult, SyncNewCheckpointRequest, SyncPriorityStatus, SyncRequest, SyncResponse, SyncStatusOptions, SyncStream, SyncStreamDescription, SyncStreamOptions, SyncStreamStatus, SyncStreamSubscribeOptions, SyncStreamSubscription, SyncSubscriptionDescription, TableOptions, TableUpdateOperation, TableV2Options, TrackDiffOptions, TrackPreviousOptions, Transaction, TriggerCreationHooks, TriggerDiffDeleteRecord, TriggerDiffHandlerContext, TriggerDiffInsertRecord, TriggerDiffRecord, TriggerDiffUpdateRecord, TriggerManager, TriggerRemoveCallback, UpdateNotification, WatchCompatibleQuery, WatchExecuteOptions, WatchHandler, WatchOnChangeEvent, WatchOnChangeHandler, WatchedQuery, WatchedQueryComparator, WatchedQueryDifferential, WatchedQueryListener, WatchedQueryOptions, WatchedQueryRowDifferential, WatchedQuerySettings, WatchedQueryState, WithDiffOptions };
|
|
@@ -428,9 +428,11 @@ export class AbstractRemote {
|
|
|
428
428
|
// Create a new stream splitting the response at line endings while also handling cancellations
|
|
429
429
|
// by closing the reader.
|
|
430
430
|
const reader = res.body.getReader();
|
|
431
|
+
let readerReleased = false;
|
|
431
432
|
// This will close the network request and read stream
|
|
432
433
|
const closeReader = async () => {
|
|
433
434
|
try {
|
|
435
|
+
readerReleased = true;
|
|
434
436
|
await reader.cancel();
|
|
435
437
|
}
|
|
436
438
|
catch (ex) {
|
|
@@ -438,17 +440,21 @@ export class AbstractRemote {
|
|
|
438
440
|
}
|
|
439
441
|
reader.releaseLock();
|
|
440
442
|
};
|
|
443
|
+
const stream = new DataStream({
|
|
444
|
+
logger: this.logger,
|
|
445
|
+
mapLine: mapLine
|
|
446
|
+
});
|
|
441
447
|
abortSignal?.addEventListener('abort', () => {
|
|
442
448
|
closeReader();
|
|
449
|
+
stream.close();
|
|
443
450
|
});
|
|
444
451
|
const decoder = this.createTextDecoder();
|
|
445
452
|
let buffer = '';
|
|
446
|
-
const stream = new DataStream({
|
|
447
|
-
logger: this.logger,
|
|
448
|
-
mapLine: mapLine
|
|
449
|
-
});
|
|
450
453
|
const l = stream.registerListener({
|
|
451
454
|
lowWater: async () => {
|
|
455
|
+
if (stream.closed || abortSignal?.aborted || readerReleased) {
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
452
458
|
try {
|
|
453
459
|
let didCompleteLine = false;
|
|
454
460
|
while (!didCompleteLine) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AbstractRemote.js","sourceRoot":"","sources":["../../../../src/client/sync/stream/AbstractRemote.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,11 @@ export declare enum DiffTriggerOperation {
|
|
|
12
12
|
* @experimental
|
|
13
13
|
* Diffs created by {@link TriggerManager#createDiffTrigger} are stored in a temporary table.
|
|
14
14
|
* This is the base record structure for all diff records.
|
|
15
|
+
*
|
|
16
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by default SQLite database queries.
|
|
17
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
15
18
|
*/
|
|
16
|
-
export interface BaseTriggerDiffRecord {
|
|
19
|
+
export interface BaseTriggerDiffRecord<TOperationId extends string | number = number> {
|
|
17
20
|
/**
|
|
18
21
|
* The modified row's `id` column value.
|
|
19
22
|
*/
|
|
@@ -22,6 +25,12 @@ export interface BaseTriggerDiffRecord {
|
|
|
22
25
|
* The operation performed which created this record.
|
|
23
26
|
*/
|
|
24
27
|
operation: DiffTriggerOperation;
|
|
28
|
+
/**
|
|
29
|
+
* Auto-incrementing primary key for the operation.
|
|
30
|
+
* Defaults to number as returned by database queries (wa-sqlite returns lower 32 bits).
|
|
31
|
+
* Can be string for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
32
|
+
*/
|
|
33
|
+
operation_id: TOperationId;
|
|
25
34
|
/**
|
|
26
35
|
* Time the change operation was recorded.
|
|
27
36
|
* This is in ISO 8601 format, e.g. `2023-10-01T12:00:00.000Z`.
|
|
@@ -34,7 +43,7 @@ export interface BaseTriggerDiffRecord {
|
|
|
34
43
|
* This record contains the new value and optionally the previous value.
|
|
35
44
|
* Values are stored as JSON strings.
|
|
36
45
|
*/
|
|
37
|
-
export interface TriggerDiffUpdateRecord extends BaseTriggerDiffRecord {
|
|
46
|
+
export interface TriggerDiffUpdateRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
38
47
|
operation: DiffTriggerOperation.UPDATE;
|
|
39
48
|
/**
|
|
40
49
|
* The updated state of the row in JSON string format.
|
|
@@ -50,7 +59,7 @@ export interface TriggerDiffUpdateRecord extends BaseTriggerDiffRecord {
|
|
|
50
59
|
* Represents a diff record for a SQLite INSERT operation.
|
|
51
60
|
* This record contains the new value represented as a JSON string.
|
|
52
61
|
*/
|
|
53
|
-
export interface TriggerDiffInsertRecord extends BaseTriggerDiffRecord {
|
|
62
|
+
export interface TriggerDiffInsertRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
54
63
|
operation: DiffTriggerOperation.INSERT;
|
|
55
64
|
/**
|
|
56
65
|
* The value of the row, at the time of INSERT, in JSON string format.
|
|
@@ -62,7 +71,7 @@ export interface TriggerDiffInsertRecord extends BaseTriggerDiffRecord {
|
|
|
62
71
|
* Represents a diff record for a SQLite DELETE operation.
|
|
63
72
|
* This record contains the new value represented as a JSON string.
|
|
64
73
|
*/
|
|
65
|
-
export interface TriggerDiffDeleteRecord extends BaseTriggerDiffRecord {
|
|
74
|
+
export interface TriggerDiffDeleteRecord<TOperationId extends string | number = number> extends BaseTriggerDiffRecord<TOperationId> {
|
|
66
75
|
operation: DiffTriggerOperation.DELETE;
|
|
67
76
|
/**
|
|
68
77
|
* The value of the row, before the DELETE operation, in JSON string format.
|
|
@@ -76,26 +85,49 @@ export interface TriggerDiffDeleteRecord extends BaseTriggerDiffRecord {
|
|
|
76
85
|
*
|
|
77
86
|
* Querying the DIFF table directly with {@link TriggerDiffHandlerContext#withDiff} will return records
|
|
78
87
|
* with the structure of this type.
|
|
88
|
+
*
|
|
89
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by database queries.
|
|
90
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
91
|
+
*
|
|
79
92
|
* @example
|
|
80
93
|
* ```typescript
|
|
94
|
+
* // Default: operation_id is number
|
|
81
95
|
* const diffs = await context.withDiff<TriggerDiffRecord>('SELECT * FROM DIFF');
|
|
82
|
-
*
|
|
96
|
+
*
|
|
97
|
+
* // With string operation_id for full precision
|
|
98
|
+
* const diffsWithString = await context.withDiff<TriggerDiffRecord<string>>(
|
|
99
|
+
* 'SELECT * FROM DIFF',
|
|
100
|
+
* undefined,
|
|
101
|
+
* { castOperationIdAsText: true }
|
|
102
|
+
* );
|
|
83
103
|
* ```
|
|
84
104
|
*/
|
|
85
|
-
export type TriggerDiffRecord = TriggerDiffUpdateRecord | TriggerDiffInsertRecord | TriggerDiffDeleteRecord
|
|
105
|
+
export type TriggerDiffRecord<TOperationId extends string | number = number> = TriggerDiffUpdateRecord<TOperationId> | TriggerDiffInsertRecord<TOperationId> | TriggerDiffDeleteRecord<TOperationId>;
|
|
86
106
|
/**
|
|
87
107
|
* @experimental
|
|
88
108
|
* Querying the DIFF table directly with {@link TriggerDiffHandlerContext#withExtractedDiff} will return records
|
|
89
109
|
* with the tracked columns extracted from the JSON value.
|
|
90
110
|
* This type represents the structure of such records.
|
|
111
|
+
*
|
|
112
|
+
* @template T - The type for the extracted columns from the tracked JSON value.
|
|
113
|
+
* @template TOperationId - The type for `operation_id`. Defaults to `number` as returned by database queries.
|
|
114
|
+
* Use `string` for full 64-bit precision when using `{ castOperationIdAsText: true }` option.
|
|
115
|
+
*
|
|
91
116
|
* @example
|
|
92
117
|
* ```typescript
|
|
118
|
+
* // Default: operation_id is number
|
|
93
119
|
* const diffs = await context.withExtractedDiff<ExtractedTriggerDiffRecord<{id: string, name: string}>>('SELECT * FROM DIFF');
|
|
94
|
-
*
|
|
120
|
+
*
|
|
121
|
+
* // With string operation_id for full precision
|
|
122
|
+
* const diffsWithString = await context.withExtractedDiff<ExtractedTriggerDiffRecord<{id: string, name: string}, string>>(
|
|
123
|
+
* 'SELECT * FROM DIFF',
|
|
124
|
+
* undefined,
|
|
125
|
+
* { castOperationIdAsText: true }
|
|
126
|
+
* );
|
|
95
127
|
* ```
|
|
96
128
|
*/
|
|
97
|
-
export type ExtractedTriggerDiffRecord<T> = T & {
|
|
98
|
-
[K in keyof Omit<BaseTriggerDiffRecord
|
|
129
|
+
export type ExtractedTriggerDiffRecord<T, TOperationId extends string | number = number> = T & {
|
|
130
|
+
[K in keyof Omit<BaseTriggerDiffRecord<TOperationId>, 'id'> as `__${string & K}`]: TriggerDiffRecord<TOperationId>[K];
|
|
99
131
|
} & {
|
|
100
132
|
__previous_value?: string;
|
|
101
133
|
};
|
|
@@ -167,6 +199,20 @@ export interface CreateDiffTriggerOptions extends BaseCreateDiffTriggerOptions {
|
|
|
167
199
|
* Callback to drop a trigger after it has been created.
|
|
168
200
|
*/
|
|
169
201
|
export type TriggerRemoveCallback = () => Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* @experimental
|
|
204
|
+
* Options for {@link TriggerDiffHandlerContext#withDiff}.
|
|
205
|
+
*/
|
|
206
|
+
export interface WithDiffOptions {
|
|
207
|
+
/**
|
|
208
|
+
* If true, casts `operation_id` as TEXT in the internal CTE to preserve full 64-bit precision.
|
|
209
|
+
* Use this when you need to ensure `operation_id` is treated as a string to avoid precision loss
|
|
210
|
+
* for values exceeding JavaScript's Number.MAX_SAFE_INTEGER.
|
|
211
|
+
*
|
|
212
|
+
* When enabled, use {@link TriggerDiffRecord}<string> to type the result correctly.
|
|
213
|
+
*/
|
|
214
|
+
castOperationIdAsText?: boolean;
|
|
215
|
+
}
|
|
170
216
|
/**
|
|
171
217
|
* @experimental
|
|
172
218
|
* Context for the `onChange` handler provided to {@link TriggerManager#trackTableDiff}.
|
|
@@ -183,9 +229,10 @@ export interface TriggerDiffHandlerContext extends LockContext {
|
|
|
183
229
|
* The `DIFF` table is of the form described in {@link TriggerManager#createDiffTrigger}
|
|
184
230
|
* ```sql
|
|
185
231
|
* CREATE TEMP DIFF (
|
|
232
|
+
* operation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
186
233
|
* id TEXT,
|
|
187
234
|
* operation TEXT,
|
|
188
|
-
* timestamp TEXT
|
|
235
|
+
* timestamp TEXT,
|
|
189
236
|
* value TEXT,
|
|
190
237
|
* previous_value TEXT
|
|
191
238
|
* );
|
|
@@ -205,8 +252,19 @@ export interface TriggerDiffHandlerContext extends LockContext {
|
|
|
205
252
|
* JOIN todos ON DIFF.id = todos.id
|
|
206
253
|
* WHERE json_extract(DIFF.value, '$.status') = 'active'
|
|
207
254
|
* ```
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* // With operation_id cast as TEXT for full precision
|
|
259
|
+
* const diffs = await context.withDiff<TriggerDiffRecord<string>>(
|
|
260
|
+
* 'SELECT * FROM DIFF',
|
|
261
|
+
* undefined,
|
|
262
|
+
* { castOperationIdAsText: true }
|
|
263
|
+
* );
|
|
264
|
+
* // diffs[0].operation_id is now typed as string
|
|
265
|
+
* ```
|
|
208
266
|
*/
|
|
209
|
-
withDiff: <T = any>(query: string, params?: ReadonlyArray<Readonly<any
|
|
267
|
+
withDiff: <T = any>(query: string, params?: ReadonlyArray<Readonly<any>>, options?: WithDiffOptions) => Promise<T[]>;
|
|
210
268
|
/**
|
|
211
269
|
* Allows querying the database with access to the table containing diff records.
|
|
212
270
|
* The diff table is accessible via the `DIFF` accessor.
|
|
@@ -271,9 +329,10 @@ export interface TriggerManager {
|
|
|
271
329
|
*
|
|
272
330
|
* ```sql
|
|
273
331
|
* CREATE TEMP TABLE ${destination} (
|
|
332
|
+
* operation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
274
333
|
* id TEXT,
|
|
275
334
|
* operation TEXT,
|
|
276
|
-
* timestamp TEXT
|
|
335
|
+
* timestamp TEXT,
|
|
277
336
|
* value TEXT,
|
|
278
337
|
* previous_value TEXT
|
|
279
338
|
* );
|
|
@@ -87,6 +87,7 @@ export class TriggerManagerImpl {
|
|
|
87
87
|
await hooks?.beforeCreate?.(tx);
|
|
88
88
|
await tx.execute(/* sql */ `
|
|
89
89
|
CREATE TEMP TABLE ${destination} (
|
|
90
|
+
operation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
90
91
|
id TEXT,
|
|
91
92
|
operation TEXT,
|
|
92
93
|
timestamp TEXT,
|
|
@@ -197,17 +198,20 @@ export class TriggerManagerImpl {
|
|
|
197
198
|
const callbackResult = await options.onChange({
|
|
198
199
|
...tx,
|
|
199
200
|
destinationTable: destination,
|
|
200
|
-
withDiff: async (query, params) => {
|
|
201
|
+
withDiff: async (query, params, options) => {
|
|
201
202
|
// Wrap the query to expose the destination table
|
|
203
|
+
const operationIdSelect = options?.castOperationIdAsText
|
|
204
|
+
? 'id, operation, CAST(operation_id AS TEXT) as operation_id, timestamp, value, previous_value'
|
|
205
|
+
: '*';
|
|
202
206
|
const wrappedQuery = /* sql */ `
|
|
203
207
|
WITH
|
|
204
208
|
DIFF AS (
|
|
205
209
|
SELECT
|
|
206
|
-
|
|
210
|
+
${operationIdSelect}
|
|
207
211
|
FROM
|
|
208
212
|
${destination}
|
|
209
213
|
ORDER BY
|
|
210
|
-
|
|
214
|
+
operation_id ASC
|
|
211
215
|
) ${query}
|
|
212
216
|
`;
|
|
213
217
|
return tx.getAll(wrappedQuery, params);
|
|
@@ -221,13 +225,14 @@ export class TriggerManagerImpl {
|
|
|
221
225
|
id,
|
|
222
226
|
${contextColumns.length > 0
|
|
223
227
|
? `${contextColumns.map((col) => `json_extract(value, '$.${col}') as ${col}`).join(', ')},`
|
|
224
|
-
: ''}
|
|
228
|
+
: ''} operation_id as __operation_id,
|
|
229
|
+
operation as __operation,
|
|
225
230
|
timestamp as __timestamp,
|
|
226
231
|
previous_value as __previous_value
|
|
227
232
|
FROM
|
|
228
233
|
${destination}
|
|
229
234
|
ORDER BY
|
|
230
|
-
|
|
235
|
+
__operation_id ASC
|
|
231
236
|
) ${query}
|
|
232
237
|
`;
|
|
233
238
|
return tx.getAll(wrappedQuery, params);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriggerManagerImpl.js","sourceRoot":"","sources":["../../../src/client/triggers/TriggerManagerImpl.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAEL,oBAAoB,
|
|
1
|
+
{"version":3,"file":"TriggerManagerImpl.js","sourceRoot":"","sources":["../../../src/client/triggers/TriggerManagerImpl.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powersync/common",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.43.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"registry": "https://registry.npmjs.org/",
|
|
6
6
|
"access": "public"
|
|
@@ -49,7 +49,6 @@
|
|
|
49
49
|
"homepage": "https://docs.powersync.com",
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"async-mutex": "^0.5.0",
|
|
52
|
-
"buffer": "^6.0.3",
|
|
53
52
|
"event-iterator": "^2.0.0"
|
|
54
53
|
},
|
|
55
54
|
"devDependencies": {
|
|
@@ -59,6 +58,7 @@
|
|
|
59
58
|
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
60
59
|
"@types/node": "^20.5.9",
|
|
61
60
|
"@types/uuid": "^9.0.1",
|
|
61
|
+
"buffer": "^6.0.3",
|
|
62
62
|
"rollup": "^4.52.5",
|
|
63
63
|
"cross-fetch": "^4.1.0",
|
|
64
64
|
"js-logger": "^1.6.1",
|
|
@@ -6,8 +6,9 @@ import PACKAGE from '../../../../package.json' with { type: 'json' };
|
|
|
6
6
|
import { AbortOperation } from '../../../utils/AbortOperation.js';
|
|
7
7
|
import { DataStream } from '../../../utils/DataStream.js';
|
|
8
8
|
import { PowerSyncCredentials } from '../../connection/PowerSyncCredentials.js';
|
|
9
|
-
import { StreamingSyncRequest } from './streaming-sync-types.js';
|
|
10
9
|
import { WebsocketClientTransport } from './WebsocketClientTransport.js';
|
|
10
|
+
import { StreamingSyncRequest } from './streaming-sync-types.js';
|
|
11
|
+
|
|
11
12
|
|
|
12
13
|
export type BSONImplementation = typeof BSON;
|
|
13
14
|
|
|
@@ -557,9 +558,11 @@ export abstract class AbstractRemote {
|
|
|
557
558
|
// Create a new stream splitting the response at line endings while also handling cancellations
|
|
558
559
|
// by closing the reader.
|
|
559
560
|
const reader = res.body.getReader();
|
|
561
|
+
let readerReleased = false;
|
|
560
562
|
// This will close the network request and read stream
|
|
561
563
|
const closeReader = async () => {
|
|
562
564
|
try {
|
|
565
|
+
readerReleased = true;
|
|
563
566
|
await reader.cancel();
|
|
564
567
|
} catch (ex) {
|
|
565
568
|
// an error will throw if the reader hasn't been used yet
|
|
@@ -567,20 +570,27 @@ export abstract class AbstractRemote {
|
|
|
567
570
|
reader.releaseLock();
|
|
568
571
|
};
|
|
569
572
|
|
|
573
|
+
|
|
574
|
+
const stream = new DataStream<T, string>({
|
|
575
|
+
logger: this.logger,
|
|
576
|
+
mapLine: mapLine
|
|
577
|
+
});
|
|
578
|
+
|
|
570
579
|
abortSignal?.addEventListener('abort', () => {
|
|
571
580
|
closeReader();
|
|
581
|
+
stream.close();
|
|
572
582
|
});
|
|
573
583
|
|
|
574
584
|
const decoder = this.createTextDecoder();
|
|
575
585
|
let buffer = '';
|
|
576
586
|
|
|
577
|
-
|
|
578
|
-
logger: this.logger,
|
|
579
|
-
mapLine: mapLine
|
|
580
|
-
});
|
|
587
|
+
|
|
581
588
|
|
|
582
589
|
const l = stream.registerListener({
|
|
583
590
|
lowWater: async () => {
|
|
591
|
+
if (stream.closed || abortSignal?.aborted || readerReleased) {
|
|
592
|
+
return
|
|
593
|
+
}
|
|
584
594
|
try {
|
|
585
595
|
let didCompleteLine = false;
|
|
586
596
|
while (!didCompleteLine) {
|