@powersync/service-core 0.0.0-dev-20250903111505 → 0.0.0-dev-20250910154512
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/CHANGELOG.md +44 -4
- package/dist/routes/configure-fastify.d.ts +5 -5
- package/dist/routes/endpoints/sync-stream.d.ts +10 -10
- package/dist/storage/BucketStorageBatch.d.ts +4 -4
- package/dist/storage/BucketStorageBatch.js.map +1 -1
- package/dist/util/protocol-types.d.ts +4 -4
- package/dist/util/protocol-types.js +1 -1
- package/dist/util/protocol-types.js.map +1 -1
- package/dist/util/utils.d.ts +2 -2
- package/dist/util/utils.js.map +1 -1
- package/package.json +5 -5
- package/src/storage/BucketStorageBatch.ts +4 -10
- package/src/util/protocol-types.ts +2 -2
- package/src/util/utils.ts +4 -4
- package/test/src/util/protocol_types.test.ts +43 -0
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @powersync/service-core
|
|
2
2
|
|
|
3
|
-
## 0.0.0-dev-
|
|
3
|
+
## 0.0.0-dev-20250910154512
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
@@ -10,9 +10,49 @@
|
|
|
10
10
|
- Updated dependencies [f1d187b]
|
|
11
11
|
- Updated dependencies [0fad466]
|
|
12
12
|
- Updated dependencies [a700ec9]
|
|
13
|
-
- @powersync/service-types@0.0.0-dev-
|
|
14
|
-
- @powersync/lib-services-framework@0.0.0-dev-
|
|
15
|
-
- @powersync/service-rsocket-router@0.0.0-dev-
|
|
13
|
+
- @powersync/service-types@0.0.0-dev-20250910154512
|
|
14
|
+
- @powersync/lib-services-framework@0.0.0-dev-20250910154512
|
|
15
|
+
- @powersync/service-rsocket-router@0.0.0-dev-20250910154512
|
|
16
|
+
|
|
17
|
+
## 1.15.6
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- 221289d: Correctly handle custom types in primary keys.
|
|
22
|
+
- Updated dependencies [221289d]
|
|
23
|
+
- @powersync/service-sync-rules@0.29.4
|
|
24
|
+
- @powersync/lib-services-framework@0.7.7
|
|
25
|
+
- @powersync/service-rsocket-router@0.2.4
|
|
26
|
+
|
|
27
|
+
## 1.15.5
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies [f34da91]
|
|
32
|
+
- @powersync/service-sync-rules@0.29.3
|
|
33
|
+
- @powersync/lib-services-framework@0.7.6
|
|
34
|
+
- @powersync/service-rsocket-router@0.2.3
|
|
35
|
+
|
|
36
|
+
## 1.15.4
|
|
37
|
+
|
|
38
|
+
### Patch Changes
|
|
39
|
+
|
|
40
|
+
- a2b8bb0: Avoid frequent write checkpoint lookups when the user does not have one.
|
|
41
|
+
- f400b0f: Protocol: Allow `null` as stream parameter.
|
|
42
|
+
- Updated dependencies [17aae6d]
|
|
43
|
+
- @powersync/service-sync-rules@0.29.2
|
|
44
|
+
- @powersync/lib-services-framework@0.7.5
|
|
45
|
+
- @powersync/service-rsocket-router@0.2.2
|
|
46
|
+
|
|
47
|
+
## 1.15.3
|
|
48
|
+
|
|
49
|
+
### Patch Changes
|
|
50
|
+
|
|
51
|
+
- f1b4cef: Fix checksum calculation issues with large buckets.
|
|
52
|
+
- Updated dependencies [9681b4c]
|
|
53
|
+
- @powersync/service-sync-rules@0.29.1
|
|
54
|
+
- @powersync/lib-services-framework@0.7.4
|
|
55
|
+
- @powersync/service-rsocket-router@0.2.1
|
|
16
56
|
|
|
17
57
|
## 1.15.2
|
|
18
58
|
|
|
@@ -686,9 +686,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
686
686
|
client_id?: string | undefined;
|
|
687
687
|
streams?: {
|
|
688
688
|
subscriptions: {
|
|
689
|
+
parameters: Record<string, any> | null;
|
|
689
690
|
stream: string;
|
|
690
691
|
override_priority: number | null;
|
|
691
|
-
parameters?: Record<string, any> | undefined;
|
|
692
692
|
}[];
|
|
693
693
|
include_defaults?: boolean | undefined;
|
|
694
694
|
} | undefined;
|
|
@@ -704,9 +704,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
704
704
|
client_id?: string | undefined;
|
|
705
705
|
streams?: {
|
|
706
706
|
subscriptions: {
|
|
707
|
+
parameters: Record<string, any> | null;
|
|
707
708
|
stream: string;
|
|
708
709
|
override_priority: number | null;
|
|
709
|
-
parameters?: Record<string, any> | undefined;
|
|
710
710
|
}[];
|
|
711
711
|
include_defaults?: boolean | undefined;
|
|
712
712
|
} | undefined;
|
|
@@ -722,9 +722,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
722
722
|
client_id?: string | undefined;
|
|
723
723
|
streams?: {
|
|
724
724
|
subscriptions: {
|
|
725
|
+
parameters: Record<string, any> | null;
|
|
725
726
|
stream: string;
|
|
726
727
|
override_priority: number | null;
|
|
727
|
-
parameters?: Record<string, any> | undefined;
|
|
728
728
|
}[];
|
|
729
729
|
include_defaults?: boolean | undefined;
|
|
730
730
|
} | undefined;
|
|
@@ -744,9 +744,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
744
744
|
client_id?: string | undefined;
|
|
745
745
|
streams?: {
|
|
746
746
|
subscriptions: {
|
|
747
|
+
parameters: Record<string, any> | null;
|
|
747
748
|
stream: string;
|
|
748
749
|
override_priority: number | null;
|
|
749
|
-
parameters?: Record<string, any> | undefined;
|
|
750
750
|
}[];
|
|
751
751
|
include_defaults?: boolean | undefined;
|
|
752
752
|
} | undefined;
|
|
@@ -763,9 +763,9 @@ export declare const DEFAULT_ROUTE_OPTIONS: {
|
|
|
763
763
|
client_id?: string | undefined;
|
|
764
764
|
streams?: {
|
|
765
765
|
subscriptions: {
|
|
766
|
+
parameters: Record<string, any> | null;
|
|
766
767
|
stream: string;
|
|
767
768
|
override_priority: number | null;
|
|
768
|
-
parameters?: Record<string, any> | undefined;
|
|
769
769
|
}[];
|
|
770
770
|
include_defaults?: boolean | undefined;
|
|
771
771
|
} | undefined;
|
|
@@ -15,9 +15,9 @@ export declare const syncStreamed: router.Endpoint<{
|
|
|
15
15
|
client_id?: string | undefined;
|
|
16
16
|
streams?: {
|
|
17
17
|
subscriptions: {
|
|
18
|
+
parameters: Record<string, any> | null;
|
|
18
19
|
stream: string;
|
|
19
20
|
override_priority: number | null;
|
|
20
|
-
parameters?: Record<string, any> | undefined;
|
|
21
21
|
}[];
|
|
22
22
|
include_defaults?: boolean | undefined;
|
|
23
23
|
} | undefined;
|
|
@@ -33,9 +33,9 @@ export declare const syncStreamed: router.Endpoint<{
|
|
|
33
33
|
client_id?: string | undefined;
|
|
34
34
|
streams?: {
|
|
35
35
|
subscriptions: {
|
|
36
|
+
parameters: Record<string, any> | null;
|
|
36
37
|
stream: string;
|
|
37
38
|
override_priority: number | null;
|
|
38
|
-
parameters?: Record<string, any> | undefined;
|
|
39
39
|
}[];
|
|
40
40
|
include_defaults?: boolean | undefined;
|
|
41
41
|
} | undefined;
|
|
@@ -51,9 +51,9 @@ export declare const syncStreamed: router.Endpoint<{
|
|
|
51
51
|
client_id?: string | undefined;
|
|
52
52
|
streams?: {
|
|
53
53
|
subscriptions: {
|
|
54
|
+
parameters: Record<string, any> | null;
|
|
54
55
|
stream: string;
|
|
55
56
|
override_priority: number | null;
|
|
56
|
-
parameters?: Record<string, any> | undefined;
|
|
57
57
|
}[];
|
|
58
58
|
include_defaults?: boolean | undefined;
|
|
59
59
|
} | undefined;
|
|
@@ -73,9 +73,9 @@ export declare const syncStreamed: router.Endpoint<{
|
|
|
73
73
|
client_id?: string | undefined;
|
|
74
74
|
streams?: {
|
|
75
75
|
subscriptions: {
|
|
76
|
+
parameters: Record<string, any> | null;
|
|
76
77
|
stream: string;
|
|
77
78
|
override_priority: number | null;
|
|
78
|
-
parameters?: Record<string, any> | undefined;
|
|
79
79
|
}[];
|
|
80
80
|
include_defaults?: boolean | undefined;
|
|
81
81
|
} | undefined;
|
|
@@ -92,9 +92,9 @@ export declare const syncStreamed: router.Endpoint<{
|
|
|
92
92
|
client_id?: string | undefined;
|
|
93
93
|
streams?: {
|
|
94
94
|
subscriptions: {
|
|
95
|
+
parameters: Record<string, any> | null;
|
|
95
96
|
stream: string;
|
|
96
97
|
override_priority: number | null;
|
|
97
|
-
parameters?: Record<string, any> | undefined;
|
|
98
98
|
}[];
|
|
99
99
|
include_defaults?: boolean | undefined;
|
|
100
100
|
} | undefined;
|
|
@@ -112,9 +112,9 @@ export declare const SYNC_STREAM_ROUTES: (router.Endpoint<{
|
|
|
112
112
|
client_id?: string | undefined;
|
|
113
113
|
streams?: {
|
|
114
114
|
subscriptions: {
|
|
115
|
+
parameters: Record<string, any> | null;
|
|
115
116
|
stream: string;
|
|
116
117
|
override_priority: number | null;
|
|
117
|
-
parameters?: Record<string, any> | undefined;
|
|
118
118
|
}[];
|
|
119
119
|
include_defaults?: boolean | undefined;
|
|
120
120
|
} | undefined;
|
|
@@ -130,9 +130,9 @@ export declare const SYNC_STREAM_ROUTES: (router.Endpoint<{
|
|
|
130
130
|
client_id?: string | undefined;
|
|
131
131
|
streams?: {
|
|
132
132
|
subscriptions: {
|
|
133
|
+
parameters: Record<string, any> | null;
|
|
133
134
|
stream: string;
|
|
134
135
|
override_priority: number | null;
|
|
135
|
-
parameters?: Record<string, any> | undefined;
|
|
136
136
|
}[];
|
|
137
137
|
include_defaults?: boolean | undefined;
|
|
138
138
|
} | undefined;
|
|
@@ -148,9 +148,9 @@ export declare const SYNC_STREAM_ROUTES: (router.Endpoint<{
|
|
|
148
148
|
client_id?: string | undefined;
|
|
149
149
|
streams?: {
|
|
150
150
|
subscriptions: {
|
|
151
|
+
parameters: Record<string, any> | null;
|
|
151
152
|
stream: string;
|
|
152
153
|
override_priority: number | null;
|
|
153
|
-
parameters?: Record<string, any> | undefined;
|
|
154
154
|
}[];
|
|
155
155
|
include_defaults?: boolean | undefined;
|
|
156
156
|
} | undefined;
|
|
@@ -170,9 +170,9 @@ export declare const SYNC_STREAM_ROUTES: (router.Endpoint<{
|
|
|
170
170
|
client_id?: string | undefined;
|
|
171
171
|
streams?: {
|
|
172
172
|
subscriptions: {
|
|
173
|
+
parameters: Record<string, any> | null;
|
|
173
174
|
stream: string;
|
|
174
175
|
override_priority: number | null;
|
|
175
|
-
parameters?: Record<string, any> | undefined;
|
|
176
176
|
}[];
|
|
177
177
|
include_defaults?: boolean | undefined;
|
|
178
178
|
} | undefined;
|
|
@@ -189,9 +189,9 @@ export declare const SYNC_STREAM_ROUTES: (router.Endpoint<{
|
|
|
189
189
|
client_id?: string | undefined;
|
|
190
190
|
streams?: {
|
|
191
191
|
subscriptions: {
|
|
192
|
+
parameters: Record<string, any> | null;
|
|
192
193
|
stream: string;
|
|
193
194
|
override_priority: number | null;
|
|
194
|
-
parameters?: Record<string, any> | undefined;
|
|
195
195
|
}[];
|
|
196
196
|
include_defaults?: boolean | undefined;
|
|
197
197
|
} | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ObserverClient } from '@powersync/lib-services-framework';
|
|
2
|
-
import { EvaluatedParameters, EvaluatedRow,
|
|
2
|
+
import { EvaluatedParameters, EvaluatedRow, SqliteRow, ToastableSqliteRow } from '@powersync/service-sync-rules';
|
|
3
3
|
import { BSON } from 'bson';
|
|
4
4
|
import { ReplicationEventPayload } from './ReplicationEventPayload.js';
|
|
5
5
|
import { SourceTable, TableSnapshotStatus } from './SourceTable.js';
|
|
@@ -108,7 +108,7 @@ export interface SaveInsert {
|
|
|
108
108
|
sourceTable: SourceTable;
|
|
109
109
|
before?: undefined;
|
|
110
110
|
beforeReplicaId?: undefined;
|
|
111
|
-
after:
|
|
111
|
+
after: SqliteRow;
|
|
112
112
|
afterReplicaId: ReplicaId;
|
|
113
113
|
}
|
|
114
114
|
export interface SaveUpdate {
|
|
@@ -117,7 +117,7 @@ export interface SaveUpdate {
|
|
|
117
117
|
/**
|
|
118
118
|
* This is only present when the id has changed, and will only contain replica identity columns.
|
|
119
119
|
*/
|
|
120
|
-
before?:
|
|
120
|
+
before?: SqliteRow;
|
|
121
121
|
beforeReplicaId?: ReplicaId;
|
|
122
122
|
/**
|
|
123
123
|
* A null value means null column.
|
|
@@ -130,7 +130,7 @@ export interface SaveUpdate {
|
|
|
130
130
|
export interface SaveDelete {
|
|
131
131
|
tag: SaveOperationTag.DELETE;
|
|
132
132
|
sourceTable: SourceTable;
|
|
133
|
-
before?:
|
|
133
|
+
before?: SqliteRow;
|
|
134
134
|
beforeReplicaId: ReplicaId;
|
|
135
135
|
after?: undefined;
|
|
136
136
|
afterReplicaId?: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BucketStorageBatch.js","sourceRoot":"","sources":["../../src/storage/BucketStorageBatch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BucketStorageBatch.js","sourceRoot":"","sources":["../../src/storage/BucketStorageBatch.ts"],"names":[],"mappings":"AAQA,MAAM,CAAC,MAAM,mCAAmC,GAAqC;IACnF,sBAAsB,EAAE,IAAI;IAC5B,uBAAuB,EAAE,IAAI;CAC9B,CAAC;AAgHF,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;IACjB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
|
|
@@ -20,7 +20,7 @@ export declare const RequestedStreamSubscription: t.ObjectCodec<{
|
|
|
20
20
|
/**
|
|
21
21
|
* An optional dictionary of parameters to pass to this specific stream.
|
|
22
22
|
*/
|
|
23
|
-
parameters: t.
|
|
23
|
+
parameters: t.Union<t.RecordCodec<t.Codec<any, any, t.CodecType.Any, t.CodecProps>>, t.Codec<null, null, t.CodecType.Null, t.CodecProps>>;
|
|
24
24
|
/**
|
|
25
25
|
* Set when the client wishes to re-assign a different priority to this stream.
|
|
26
26
|
*
|
|
@@ -51,7 +51,7 @@ export declare const StreamSubscriptionRequest: t.ObjectCodec<{
|
|
|
51
51
|
/**
|
|
52
52
|
* An optional dictionary of parameters to pass to this specific stream.
|
|
53
53
|
*/
|
|
54
|
-
parameters: t.
|
|
54
|
+
parameters: t.Union<t.RecordCodec<t.Codec<any, any, t.CodecType.Any, t.CodecProps>>, t.Codec<null, null, t.CodecType.Null, t.CodecProps>>;
|
|
55
55
|
/**
|
|
56
56
|
* Set when the client wishes to re-assign a different priority to this stream.
|
|
57
57
|
*
|
|
@@ -98,16 +98,16 @@ export declare const StreamingSyncRequest: t.ObjectCodec<{
|
|
|
98
98
|
*/
|
|
99
99
|
streams: t.OptionalCodec<t.Codec<{
|
|
100
100
|
subscriptions: {
|
|
101
|
+
parameters: Record<string, any> | null;
|
|
101
102
|
stream: string;
|
|
102
103
|
override_priority: number | null;
|
|
103
|
-
parameters?: Record<string, any> | undefined;
|
|
104
104
|
}[];
|
|
105
105
|
include_defaults?: boolean | undefined;
|
|
106
106
|
}, {
|
|
107
107
|
subscriptions: {
|
|
108
|
+
parameters: Record<string, any> | null;
|
|
108
109
|
stream: string;
|
|
109
110
|
override_priority: number | null;
|
|
110
|
-
parameters?: Record<string, any> | undefined;
|
|
111
111
|
}[];
|
|
112
112
|
include_defaults?: boolean | undefined;
|
|
113
113
|
}, string, t.CodecProps>>;
|
|
@@ -17,7 +17,7 @@ export const RequestedStreamSubscription = t.object({
|
|
|
17
17
|
/**
|
|
18
18
|
* An optional dictionary of parameters to pass to this specific stream.
|
|
19
19
|
*/
|
|
20
|
-
parameters: t.record(t.any).
|
|
20
|
+
parameters: t.union(t.record(t.any), t.Null),
|
|
21
21
|
/**
|
|
22
22
|
* Set when the client wishes to re-assign a different priority to this stream.
|
|
23
23
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol-types.js","sourceRoot":"","sources":["../../src/util/protocol-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM;CAChB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"protocol-types.js","sourceRoot":"","sources":["../../src/util/protocol-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAI9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM;IAEd;;OAEG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM;CAChB,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM;IAChB;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC;IAC5C;;;;;OAKG;IACH,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;CAC7C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD;;;;OAIG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;IAEtC;;OAEG;IACH,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC;CACpD,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,EAAE;IAE1C;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE;IAElC;;OAEG;IACH,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;IAEtC;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;IAE9B;;OAEG;IACH,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAEtC;;OAEG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE;IAE9B;;OAEG;IACH,OAAO,EAAE,yBAAyB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC"}
|
package/dist/util/utils.d.ts
CHANGED
|
@@ -42,13 +42,13 @@ export declare function addBucketChecksums(a: BucketChecksum, b: PartialChecksum
|
|
|
42
42
|
export declare function addPartialChecksums(bucket: string, a: PartialChecksum | BucketChecksum | null, b: PartialChecksum | BucketChecksum | null): PartialChecksum | BucketChecksum;
|
|
43
43
|
export declare function getUuidReplicaIdentityBson(tuple: sync_rules.ToastableSqliteRow, columns: storage.ColumnDescriptor[]): bson.UUID;
|
|
44
44
|
export declare function uuidForRowBson(row: sync_rules.SqliteRow): bson.UUID;
|
|
45
|
-
export declare function hasToastedValues(row: sync_rules.ToastableSqliteRow): boolean;
|
|
45
|
+
export declare function hasToastedValues<V>(row: sync_rules.ToastableSqliteRow<V>): boolean;
|
|
46
46
|
/**
|
|
47
47
|
* Returns true if we have a complete row.
|
|
48
48
|
*
|
|
49
49
|
* If we don't store data, we assume we always have a complete row.
|
|
50
50
|
*/
|
|
51
|
-
export declare function isCompleteRow(storeData: boolean, row: sync_rules.ToastableSqliteRow): row is sync_rules.
|
|
51
|
+
export declare function isCompleteRow<V>(storeData: boolean, row: sync_rules.ToastableSqliteRow<V>): row is sync_rules.SqliteRow<V>;
|
|
52
52
|
/**
|
|
53
53
|
* Reduce a bucket to the final state as stored on the client.
|
|
54
54
|
*
|
package/dist/util/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/util/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
8
|
-
"version": "0.0.0-dev-
|
|
8
|
+
"version": "0.0.0-dev-20250910154512",
|
|
9
9
|
"main": "dist/index.js",
|
|
10
10
|
"license": "FSL-1.1-ALv2",
|
|
11
11
|
"type": "module",
|
|
@@ -33,11 +33,11 @@
|
|
|
33
33
|
"uuid": "^11.1.0",
|
|
34
34
|
"winston": "^3.13.0",
|
|
35
35
|
"yaml": "^2.3.2",
|
|
36
|
-
"@powersync/lib-services-framework": "0.0.0-dev-
|
|
36
|
+
"@powersync/lib-services-framework": "0.0.0-dev-20250910154512",
|
|
37
37
|
"@powersync/service-jsonbig": "0.17.11",
|
|
38
|
-
"@powersync/service-rsocket-router": "0.0.0-dev-
|
|
39
|
-
"@powersync/service-sync-rules": "0.29.
|
|
40
|
-
"@powersync/service-types": "0.0.0-dev-
|
|
38
|
+
"@powersync/service-rsocket-router": "0.0.0-dev-20250910154512",
|
|
39
|
+
"@powersync/service-sync-rules": "0.29.4",
|
|
40
|
+
"@powersync/service-types": "0.0.0-dev-20250910154512"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@types/async": "^3.2.24",
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { ObserverClient } from '@powersync/lib-services-framework';
|
|
2
|
-
import {
|
|
3
|
-
EvaluatedParameters,
|
|
4
|
-
EvaluatedRow,
|
|
5
|
-
SqliteInputRow,
|
|
6
|
-
SqliteRow,
|
|
7
|
-
ToastableSqliteRow
|
|
8
|
-
} from '@powersync/service-sync-rules';
|
|
2
|
+
import { EvaluatedParameters, EvaluatedRow, SqliteRow, ToastableSqliteRow } from '@powersync/service-sync-rules';
|
|
9
3
|
import { BSON } from 'bson';
|
|
10
4
|
import { ReplicationEventPayload } from './ReplicationEventPayload.js';
|
|
11
5
|
import { SourceTable, TableSnapshotStatus } from './SourceTable.js';
|
|
@@ -138,7 +132,7 @@ export interface SaveInsert {
|
|
|
138
132
|
sourceTable: SourceTable;
|
|
139
133
|
before?: undefined;
|
|
140
134
|
beforeReplicaId?: undefined;
|
|
141
|
-
after:
|
|
135
|
+
after: SqliteRow;
|
|
142
136
|
afterReplicaId: ReplicaId;
|
|
143
137
|
}
|
|
144
138
|
|
|
@@ -149,7 +143,7 @@ export interface SaveUpdate {
|
|
|
149
143
|
/**
|
|
150
144
|
* This is only present when the id has changed, and will only contain replica identity columns.
|
|
151
145
|
*/
|
|
152
|
-
before?:
|
|
146
|
+
before?: SqliteRow;
|
|
153
147
|
beforeReplicaId?: ReplicaId;
|
|
154
148
|
|
|
155
149
|
/**
|
|
@@ -164,7 +158,7 @@ export interface SaveUpdate {
|
|
|
164
158
|
export interface SaveDelete {
|
|
165
159
|
tag: SaveOperationTag.DELETE;
|
|
166
160
|
sourceTable: SourceTable;
|
|
167
|
-
before?:
|
|
161
|
+
before?: SqliteRow;
|
|
168
162
|
beforeReplicaId: ReplicaId;
|
|
169
163
|
after?: undefined;
|
|
170
164
|
afterReplicaId?: undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as t from 'ts-codec';
|
|
2
|
-
import {
|
|
2
|
+
import { BucketPriority, SqliteJsonRow } from '@powersync/service-sync-rules';
|
|
3
3
|
import { JsonContainer } from '@powersync/service-jsonbig';
|
|
4
4
|
|
|
5
5
|
export const BucketRequest = t.object({
|
|
@@ -24,7 +24,7 @@ export const RequestedStreamSubscription = t.object({
|
|
|
24
24
|
/**
|
|
25
25
|
* An optional dictionary of parameters to pass to this specific stream.
|
|
26
26
|
*/
|
|
27
|
-
parameters: t.record(t.any).
|
|
27
|
+
parameters: t.union(t.record(t.any), t.Null),
|
|
28
28
|
/**
|
|
29
29
|
* Set when the client wishes to re-assign a different priority to this stream.
|
|
30
30
|
*
|
package/src/util/utils.ts
CHANGED
|
@@ -182,7 +182,7 @@ export function uuidForRowBson(row: sync_rules.SqliteRow): bson.UUID {
|
|
|
182
182
|
return new bson.UUID(uuid.v5(repr, ID_NAMESPACE, buffer));
|
|
183
183
|
}
|
|
184
184
|
|
|
185
|
-
export function hasToastedValues(row: sync_rules.ToastableSqliteRow) {
|
|
185
|
+
export function hasToastedValues<V>(row: sync_rules.ToastableSqliteRow<V>) {
|
|
186
186
|
for (let key in row) {
|
|
187
187
|
if (typeof row[key] == 'undefined') {
|
|
188
188
|
return true;
|
|
@@ -196,10 +196,10 @@ export function hasToastedValues(row: sync_rules.ToastableSqliteRow) {
|
|
|
196
196
|
*
|
|
197
197
|
* If we don't store data, we assume we always have a complete row.
|
|
198
198
|
*/
|
|
199
|
-
export function isCompleteRow(
|
|
199
|
+
export function isCompleteRow<V>(
|
|
200
200
|
storeData: boolean,
|
|
201
|
-
row: sync_rules.ToastableSqliteRow
|
|
202
|
-
): row is sync_rules.
|
|
201
|
+
row: sync_rules.ToastableSqliteRow<V>
|
|
202
|
+
): row is sync_rules.SqliteRow<V> {
|
|
203
203
|
if (!storeData) {
|
|
204
204
|
// Assume the row is complete - no need to check
|
|
205
205
|
return true;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { StreamingSyncRequest } from '@/index.js';
|
|
2
|
+
import { schema } from '@powersync/lib-services-framework';
|
|
3
|
+
import { describe, test, expect, it } from 'vitest';
|
|
4
|
+
|
|
5
|
+
describe('protocol types', () => {
|
|
6
|
+
describe('StreamingSyncRequest', () => {
|
|
7
|
+
const validator = schema.createTsCodecValidator(StreamingSyncRequest, { allowAdditional: true });
|
|
8
|
+
|
|
9
|
+
test('with streams', () => {
|
|
10
|
+
expect(
|
|
11
|
+
validator.validate({
|
|
12
|
+
buckets: [],
|
|
13
|
+
include_checksum: true,
|
|
14
|
+
raw_data: true,
|
|
15
|
+
binary_data: true,
|
|
16
|
+
client_id: '0da33a94-c140-4b42-b3b3-a1df3b1352a3',
|
|
17
|
+
parameters: {},
|
|
18
|
+
streams: {
|
|
19
|
+
include_defaults: true,
|
|
20
|
+
subscriptions: [{ stream: 'does_not_exist', parameters: null, override_priority: null }]
|
|
21
|
+
}
|
|
22
|
+
} as any)
|
|
23
|
+
).toMatchObject({ valid: true });
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
test('does not allow missing parameters', () => {
|
|
27
|
+
expect(
|
|
28
|
+
validator.validate({
|
|
29
|
+
buckets: [],
|
|
30
|
+
include_checksum: true,
|
|
31
|
+
raw_data: true,
|
|
32
|
+
binary_data: true,
|
|
33
|
+
client_id: '0da33a94-c140-4b42-b3b3-a1df3b1352a3',
|
|
34
|
+
parameters: {},
|
|
35
|
+
streams: {
|
|
36
|
+
include_defaults: true,
|
|
37
|
+
subscriptions: [{ stream: 'a', override_priority: null }]
|
|
38
|
+
}
|
|
39
|
+
} as any)
|
|
40
|
+
).toMatchObject({ valid: false });
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
});
|