@powersync/service-module-mongodb 0.12.14 → 0.12.16
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
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @powersync/service-module-mongodb
|
|
2
2
|
|
|
3
|
+
## 0.12.16
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- bdfd287: Add the `timestamp_max_precision` option for sync rules. It can be set to `seconds`, `milliseconds` or `microseconds` to restrict the precision of synced datetime values.
|
|
8
|
+
- Updated dependencies [8fdbf8d]
|
|
9
|
+
- Updated dependencies [bdfd287]
|
|
10
|
+
- @powersync/service-core@1.18.2
|
|
11
|
+
- @powersync/service-sync-rules@0.29.10
|
|
12
|
+
- @powersync/lib-services-framework@0.7.14
|
|
13
|
+
- @powersync/lib-service-mongodb@0.6.16
|
|
14
|
+
|
|
15
|
+
## 0.12.15
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [21b3a41]
|
|
20
|
+
- @powersync/service-sync-rules@0.29.9
|
|
21
|
+
- @powersync/lib-services-framework@0.7.13
|
|
22
|
+
- @powersync/service-core@1.18.1
|
|
23
|
+
- @powersync/lib-service-mongodb@0.6.15
|
|
24
|
+
|
|
3
25
|
## 0.12.14
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mongo } from '@powersync/lib-service-mongodb';
|
|
2
2
|
import { storage } from '@powersync/service-core';
|
|
3
3
|
import { JsonContainer } from '@powersync/service-jsonbig';
|
|
4
|
-
import { CustomArray, CustomObject, CustomSqliteValue, DateTimeValue } from '@powersync/service-sync-rules';
|
|
4
|
+
import { CustomArray, CustomObject, CustomSqliteValue, DateTimeValue, TimeValuePrecision } from '@powersync/service-sync-rules';
|
|
5
5
|
import { ErrorCode, ServiceError } from '@powersync/lib-services-framework';
|
|
6
6
|
import { MongoLSN } from '../common/MongoLSN.js';
|
|
7
7
|
import { CHECKPOINTS_COLLECTION } from './replication-utils.js';
|
|
@@ -65,7 +65,7 @@ export function toMongoSyncRulesValue(data) {
|
|
|
65
65
|
}
|
|
66
66
|
else if (data instanceof Date) {
|
|
67
67
|
const isoString = data.toISOString();
|
|
68
|
-
return new DateTimeValue(isoString);
|
|
68
|
+
return new DateTimeValue(isoString, undefined, mongoTimeOptions);
|
|
69
69
|
}
|
|
70
70
|
else if (data instanceof mongo.Binary) {
|
|
71
71
|
return new Uint8Array(data.buffer);
|
|
@@ -133,7 +133,7 @@ function filterJsonData(data, context, depth = 0) {
|
|
|
133
133
|
}
|
|
134
134
|
else if (data instanceof Date) {
|
|
135
135
|
const isoString = data.toISOString();
|
|
136
|
-
return new DateTimeValue(isoString).toSqliteValue(context);
|
|
136
|
+
return new DateTimeValue(isoString, undefined, mongoTimeOptions).toSqliteValue(context);
|
|
137
137
|
}
|
|
138
138
|
else if (data instanceof mongo.ObjectId) {
|
|
139
139
|
return data.toHexString();
|
|
@@ -210,4 +210,8 @@ export async function createCheckpoint(client, db, id) {
|
|
|
210
210
|
await session.endSession();
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
+
const mongoTimeOptions = {
|
|
214
|
+
subSecondPrecision: TimeValuePrecision.milliseconds,
|
|
215
|
+
defaultSubSecondPrecision: TimeValuePrecision.milliseconds
|
|
216
|
+
};
|
|
213
217
|
//# sourceMappingURL=MongoRelation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoRelation.js","sourceRoot":"","sources":["../../src/replication/MongoRelation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAEL,WAAW,EACX,YAAY,EACZ,iBAAiB,EAGjB,aAAa,
|
|
1
|
+
{"version":3,"file":"MongoRelation.js","sourceRoot":"","sources":["../../src/replication/MongoRelation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAEL,WAAW,EACX,YAAY,EACZ,iBAAiB,EAGjB,aAAa,EAEb,kBAAkB,EACnB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,UAAU,gBAAgB,CAAC,MAAmC;IAClE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,MAAM,EAAE,MAAM,CAAC,EAAE;QACjB,qEAAqE;QACrE,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;KACK,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA4D;IAC7F,IAAI,MAAM,YAAY,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC3D,IAAI,MAAM,GAAmB,EAAE,CAAC;IAChC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;QACtC,2EAA2E;QAC3E,uBAAuB;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,UAAU,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACvE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,IAAI,YAAY,UAAU,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,EAAE,CAAC;AAEvB,SAAS,cAAc,CAAC,IAAS,EAAE,OAA6B,EAAE,KAAK,GAAG,CAAC;IACzE,MAAM,UAAU,GAAG,IAAI,CAAC;IACxB,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;QACxB,kDAAkD;QAClD,MAAM,IAAI,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,iDAAiD,WAAW,EAAE,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,WAAW,EAAE,CAAC;QACtC,sCAAsC;QACtC,wCAAwC;QACxC,mCAAmC;QACnC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxB,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,IAAI,aAAa,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC1F,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC1C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;SAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,IAAI,IAAI,YAAY,KAAK,CAAC,MAAM,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACvD,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;SAAM,IAAI,IAAI,YAAY,aAAa,EAAE,CAAC;QACzC,oEAAoE;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,IAAI,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,MAAM,GAAwB,EAAE,CAAC;QACrC,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAyB,EACzB,EAAY,EACZ,EAA2B;IAE3B,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IACtC,IAAI,CAAC;QACH,mEAAmE;QACnE,4EAA4E;QAC5E,+BAA+B;QAC/B,MAAM,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC,gBAAgB,CAC1D;YACE,GAAG,EAAE,EAAS;SACf,EACD;YACE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE;SACf,EACD;YACE,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,OAAO;YACvB,OAAO;SACR,CACF,CAAC;QACF,MAAM,IAAI,GAAG,OAAO,CAAC,aAAc,CAAC;QACpC,+DAA+D;QAC/D,OAAO,IAAI,QAAQ,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC;IACtD,CAAC;YAAS,CAAC;QACT,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,MAAM,gBAAgB,GAA0B;IAC9C,kBAAkB,EAAE,kBAAkB,CAAC,YAAY;IACnD,yBAAyB,EAAE,kBAAkB,CAAC,YAAY;CAC3D,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@powersync/service-module-mongodb",
|
|
3
3
|
"repository": "https://github.com/powersync-ja/powersync-service",
|
|
4
4
|
"types": "dist/index.d.ts",
|
|
5
|
-
"version": "0.12.
|
|
5
|
+
"version": "0.12.16",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"license": "FSL-1.1-ALv2",
|
|
8
8
|
"type": "module",
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"bson": "^6.10.4",
|
|
26
26
|
"ts-codec": "^1.3.0",
|
|
27
27
|
"uuid": "^11.1.0",
|
|
28
|
-
"@powersync/lib-service-mongodb": "0.6.
|
|
29
|
-
"@powersync/lib-services-framework": "0.7.
|
|
30
|
-
"@powersync/service-core": "1.18.
|
|
28
|
+
"@powersync/lib-service-mongodb": "0.6.16",
|
|
29
|
+
"@powersync/lib-services-framework": "0.7.14",
|
|
30
|
+
"@powersync/service-core": "1.18.2",
|
|
31
31
|
"@powersync/service-jsonbig": "0.17.12",
|
|
32
|
-
"@powersync/service-sync-rules": "0.29.
|
|
32
|
+
"@powersync/service-sync-rules": "0.29.10",
|
|
33
33
|
"@powersync/service-types": "0.13.3"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@powersync/service-core-tests": "0.12.
|
|
37
|
-
"@powersync/service-module-mongodb-storage": "0.12.
|
|
38
|
-
"@powersync/service-module-postgres-storage": "0.10.
|
|
36
|
+
"@powersync/service-core-tests": "0.12.16",
|
|
37
|
+
"@powersync/service-module-mongodb-storage": "0.12.16",
|
|
38
|
+
"@powersync/service-module-postgres-storage": "0.10.16"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc -b",
|
|
@@ -8,7 +8,9 @@ import {
|
|
|
8
8
|
CustomSqliteValue,
|
|
9
9
|
SqliteInputRow,
|
|
10
10
|
SqliteInputValue,
|
|
11
|
-
DateTimeValue
|
|
11
|
+
DateTimeValue,
|
|
12
|
+
DateTimeSourceOptions,
|
|
13
|
+
TimeValuePrecision
|
|
12
14
|
} from '@powersync/service-sync-rules';
|
|
13
15
|
|
|
14
16
|
import { ErrorCode, ServiceError } from '@powersync/lib-services-framework';
|
|
@@ -69,7 +71,7 @@ export function toMongoSyncRulesValue(data: any): SqliteInputValue {
|
|
|
69
71
|
return data.toHexString();
|
|
70
72
|
} else if (data instanceof Date) {
|
|
71
73
|
const isoString = data.toISOString();
|
|
72
|
-
return new DateTimeValue(isoString);
|
|
74
|
+
return new DateTimeValue(isoString, undefined, mongoTimeOptions);
|
|
73
75
|
} else if (data instanceof mongo.Binary) {
|
|
74
76
|
return new Uint8Array(data.buffer);
|
|
75
77
|
} else if (data instanceof mongo.Long) {
|
|
@@ -122,7 +124,7 @@ function filterJsonData(data: any, context: CompatibilityContext, depth = 0): an
|
|
|
122
124
|
return data;
|
|
123
125
|
} else if (data instanceof Date) {
|
|
124
126
|
const isoString = data.toISOString();
|
|
125
|
-
return new DateTimeValue(isoString).toSqliteValue(context);
|
|
127
|
+
return new DateTimeValue(isoString, undefined, mongoTimeOptions).toSqliteValue(context);
|
|
126
128
|
} else if (data instanceof mongo.ObjectId) {
|
|
127
129
|
return data.toHexString();
|
|
128
130
|
} else if (data instanceof mongo.UUID) {
|
|
@@ -195,3 +197,8 @@ export async function createCheckpoint(
|
|
|
195
197
|
await session.endSession();
|
|
196
198
|
}
|
|
197
199
|
}
|
|
200
|
+
|
|
201
|
+
const mongoTimeOptions: DateTimeSourceOptions = {
|
|
202
|
+
subSecondPrecision: TimeValuePrecision.milliseconds,
|
|
203
|
+
defaultSubSecondPrecision: TimeValuePrecision.milliseconds
|
|
204
|
+
};
|
|
@@ -4,7 +4,8 @@ import {
|
|
|
4
4
|
CompatibilityContext,
|
|
5
5
|
CompatibilityEdition,
|
|
6
6
|
SqliteInputRow,
|
|
7
|
-
SqlSyncRules
|
|
7
|
+
SqlSyncRules,
|
|
8
|
+
TimeValuePrecision
|
|
8
9
|
} from '@powersync/service-sync-rules';
|
|
9
10
|
import { describe, expect, test } from 'vitest';
|
|
10
11
|
|
|
@@ -555,11 +556,23 @@ bucket_definitions:
|
|
|
555
556
|
noFraction: '2023-03-06 13:47:01.000Z'
|
|
556
557
|
});
|
|
557
558
|
|
|
558
|
-
const newFormat = applyRowContext(row, new CompatibilityContext(CompatibilityEdition.SYNC_STREAMS));
|
|
559
|
+
const newFormat = applyRowContext(row, new CompatibilityContext({ edition: CompatibilityEdition.SYNC_STREAMS }));
|
|
559
560
|
expect(newFormat).toMatchObject({
|
|
560
561
|
fraction: '2023-03-06T13:47:01.123Z',
|
|
561
562
|
noFraction: '2023-03-06T13:47:01.000Z'
|
|
562
563
|
});
|
|
564
|
+
|
|
565
|
+
const reducedPrecisionFormat = applyRowContext(
|
|
566
|
+
row,
|
|
567
|
+
new CompatibilityContext({
|
|
568
|
+
edition: CompatibilityEdition.SYNC_STREAMS,
|
|
569
|
+
maxTimeValuePrecision: TimeValuePrecision.seconds
|
|
570
|
+
})
|
|
571
|
+
);
|
|
572
|
+
expect(reducedPrecisionFormat).toMatchObject({
|
|
573
|
+
fraction: '2023-03-06T13:47:01Z',
|
|
574
|
+
noFraction: '2023-03-06T13:47:01Z'
|
|
575
|
+
});
|
|
563
576
|
} finally {
|
|
564
577
|
await client.close();
|
|
565
578
|
}
|