@powersync/common 1.41.1 → 1.42.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/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
- * diff.forEach(diff => console.log(diff.operation, diff.timestamp, JSON.parse(diff.value)))
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
- * diff.forEach(diff => console.log(diff.__operation, diff.__timestamp, diff.columnName))
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, 'id'> as `__${string & K}`]: TriggerDiffRecord[K];
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>>) => Promise<T[]>;
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
- * diff.forEach(diff => console.log(diff.operation, diff.timestamp, JSON.parse(diff.value)))
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
- * diff.forEach(diff => console.log(diff.__operation, diff.__timestamp, diff.columnName))
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, 'id'> as `__${string & K}`]: TriggerDiffRecord[K];
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>>) => Promise<T[]>;
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
- timestamp ASC
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
- : ''} operation as __operation,
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
- __timestamp ASC
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":"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"}
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.41.1",
3
+ "version": "1.42.0",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org/",
6
6
  "access": "public"
@@ -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
- const stream = new DataStream<T, string>({
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) {