@powersync/service-sync-rules 0.42.0 → 0.44.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/README.md +49 -14
- package/dist/BucketSource.d.ts +2 -2
- package/dist/HydratedSyncConfig.d.ts +2 -0
- package/dist/HydratedSyncConfig.js +9 -3
- package/dist/HydratedSyncConfig.js.map +1 -1
- package/dist/SourceTableConfig.d.ts +42 -0
- package/dist/SourceTableConfig.js +152 -0
- package/dist/SourceTableConfig.js.map +1 -0
- package/dist/SqlSyncRules.d.ts +14 -0
- package/dist/SqlSyncRules.js +2 -1
- package/dist/SqlSyncRules.js.map +1 -1
- package/dist/StorageVersion.d.ts +0 -1
- package/dist/StorageVersion.js +0 -1
- package/dist/StorageVersion.js.map +1 -1
- package/dist/SyncConfig.d.ts +3 -1
- package/dist/SyncConfig.js +3 -1
- package/dist/SyncConfig.js.map +1 -1
- package/dist/SyncConfigDiagnostics.d.ts +12 -0
- package/dist/SyncConfigDiagnostics.js +2 -0
- package/dist/SyncConfigDiagnostics.js.map +1 -0
- package/dist/TablePattern.d.ts +2 -2
- package/dist/TablePattern.js +17 -7
- package/dist/TablePattern.js.map +1 -1
- package/dist/compatibility.d.ts +2 -1
- package/dist/compatibility.js +4 -2
- package/dist/compatibility.js.map +1 -1
- package/dist/compiler/compiler.d.ts +4 -4
- package/dist/compiler/compiler.js +2 -2
- package/dist/compiler/equality.d.ts +2 -2
- package/dist/compiler/equality.js +2 -2
- package/dist/compiler/expression.d.ts +3 -3
- package/dist/compiler/expression.js +2 -2
- package/dist/compiler/parser.d.ts +1 -1
- package/dist/compiler/parser.js +2 -2
- package/dist/compiler/sqlite.js +1 -2
- package/dist/compiler/sqlite.js.map +1 -1
- package/dist/compiler/table.d.ts +2 -2
- package/dist/compiler/table.js +1 -1
- package/dist/from_yaml.d.ts +3 -1
- package/dist/from_yaml.js +121 -26
- package/dist/from_yaml.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/json.d.ts +7 -0
- package/dist/json.js +2 -0
- package/dist/json.js.map +1 -0
- package/dist/json_schema.d.ts +10 -0
- package/dist/json_schema.js +26 -7
- package/dist/json_schema.js.map +1 -1
- package/dist/legacy/BaseSqlDataQuery.d.ts +12 -0
- package/dist/legacy/BaseSqlDataQuery.js +3 -0
- package/dist/legacy/BaseSqlDataQuery.js.map +1 -1
- package/dist/legacy/SqlBucketDescriptor.d.ts +9 -0
- package/dist/legacy/SqlBucketDescriptor.js +6 -0
- package/dist/legacy/SqlBucketDescriptor.js.map +1 -1
- package/dist/legacy/SqlDataQuery.d.ts +6 -0
- package/dist/legacy/SqlDataQuery.js +3 -0
- package/dist/legacy/SqlDataQuery.js.map +1 -1
- package/dist/legacy/SqlParameterQuery.d.ts +4 -0
- package/dist/legacy/SqlParameterQuery.js +1 -0
- package/dist/legacy/SqlParameterQuery.js.map +1 -1
- package/dist/legacy/StaticSqlParameterQuery.d.ts +4 -0
- package/dist/legacy/StaticSqlParameterQuery.js +1 -0
- package/dist/legacy/StaticSqlParameterQuery.js.map +1 -1
- package/dist/legacy/TableQuerySchema.d.ts +1 -0
- package/dist/legacy/TableQuerySchema.js +1 -0
- package/dist/legacy/TableQuerySchema.js.map +1 -1
- package/dist/legacy/TableValuedFunctionSqlParameterQuery.d.ts +4 -0
- package/dist/legacy/TableValuedFunctionSqlParameterQuery.js +1 -0
- package/dist/legacy/TableValuedFunctionSqlParameterQuery.js.map +1 -1
- package/dist/legacy/sql_filters.d.ts +13 -0
- package/dist/legacy/sql_filters.js +10 -0
- package/dist/legacy/sql_filters.js.map +1 -1
- package/dist/legacy/sql_support.d.ts +33 -0
- package/dist/legacy/sql_support.js +33 -0
- package/dist/legacy/sql_support.js.map +1 -1
- package/dist/legacy/streams/filter.d.ts +22 -0
- package/dist/legacy/streams/filter.js +19 -0
- package/dist/legacy/streams/filter.js.map +1 -1
- package/dist/legacy/streams/from_sql.d.ts +3 -0
- package/dist/legacy/streams/from_sql.js +5 -2
- package/dist/legacy/streams/from_sql.js.map +1 -1
- package/dist/legacy/streams/functions.d.ts +3 -0
- package/dist/legacy/streams/functions.js +3 -0
- package/dist/legacy/streams/functions.js.map +1 -1
- package/dist/legacy/streams/parameter.d.ts +10 -0
- package/dist/legacy/streams/stream.d.ts +7 -1
- package/dist/legacy/streams/stream.js +7 -1
- package/dist/legacy/streams/stream.js.map +1 -1
- package/dist/legacy/streams/variant.d.ts +6 -0
- package/dist/legacy/streams/variant.js +1 -0
- package/dist/legacy/streams/variant.js.map +1 -1
- package/dist/legacy/validators.d.ts +1 -0
- package/dist/legacy/validators.js +1 -0
- package/dist/legacy/validators.js.map +1 -1
- package/dist/mongo/MongoBsonValidators.d.ts +78 -0
- package/dist/mongo/MongoBsonValidators.js +129 -0
- package/dist/mongo/MongoBsonValidators.js.map +1 -0
- package/dist/mongo/MongoFilterExpression.d.ts +65 -0
- package/dist/mongo/MongoFilterExpression.js +183 -0
- package/dist/mongo/MongoFilterExpression.js.map +1 -0
- package/dist/mongo/MongoFilterValidation.d.ts +28 -0
- package/dist/mongo/MongoFilterValidation.js +47 -0
- package/dist/mongo/MongoFilterValidation.js.map +1 -0
- package/dist/schema-generators/TsSchemaGenerator.d.ts +1 -0
- package/dist/schema-generators/TsSchemaGenerator.js +15 -9
- package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
- package/dist/sync_plan/evaluator/bucket_source.js +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.js +1 -1
- package/dist/sync_plan/plan.d.ts +3 -1
- package/dist/sync_plan/schema_inference.d.ts +1 -1
- package/dist/sync_plan/schema_inference.js +1 -1
- package/dist/sync_plan/serialize.d.ts +13 -2
- package/dist/sync_plan/serialize.js +17 -8
- package/dist/sync_plan/serialize.js.map +1 -1
- package/dist/types.d.ts +1 -8
- package/dist/types.js +8 -13
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +43 -12
- package/dist/utils.js.map +1 -1
- package/dist/yaml_source_locations.d.ts +14 -0
- package/dist/yaml_source_locations.js +112 -0
- package/dist/yaml_source_locations.js.map +1 -0
- package/dist/yaml_validation.js.map +1 -1
- package/package.json +9 -3
- package/schema/sync_config.json +620 -0
- package/schema/sync_rules.json +387 -4
package/dist/types.js
CHANGED
|
@@ -13,7 +13,7 @@ export function isSourceEvaluatedRow(e) {
|
|
|
13
13
|
export function isEvaluatedParameters(e) {
|
|
14
14
|
return 'lookup' in e;
|
|
15
15
|
}
|
|
16
|
-
export class
|
|
16
|
+
export class RequestJwtPayload {
|
|
17
17
|
/**
|
|
18
18
|
* Raw payload from JSON.parse.
|
|
19
19
|
*
|
|
@@ -30,10 +30,6 @@ export class BaseJwtPayload {
|
|
|
30
30
|
this.parsedPayload = parsedPayload;
|
|
31
31
|
this.userIdJson = jsonValueToSqlite(true, parsedPayload.sub);
|
|
32
32
|
}
|
|
33
|
-
get parameters() {
|
|
34
|
-
// Verified to be either undefined or an object when parsing the token.
|
|
35
|
-
return this.parsedPayload.parameters;
|
|
36
|
-
}
|
|
37
33
|
}
|
|
38
34
|
export class RequestParameters {
|
|
39
35
|
parsedTokenPayload;
|
|
@@ -62,17 +58,16 @@ export class RequestParameters {
|
|
|
62
58
|
this.userId = tokenPayload.userId;
|
|
63
59
|
return;
|
|
64
60
|
}
|
|
65
|
-
//
|
|
66
|
-
const legacyParameters = tokenPayload.parameters;
|
|
67
|
-
const tokenParameters = {
|
|
68
|
-
...legacyParameters,
|
|
69
|
-
// sub takes presedence over any embedded parameters
|
|
70
|
-
user_id: tokenPayload.userIdJson
|
|
71
|
-
};
|
|
61
|
+
// If the token has a non-null `parameters` key, the service verifies it to be an object (in KeyStore.verifyJwt).
|
|
62
|
+
const legacyParameters = tokenPayload.parsedPayload.parameters;
|
|
72
63
|
// Client and token parameters don't contain DateTime values or other custom types, so we don't need to consider
|
|
73
64
|
// compatibility.
|
|
74
65
|
this.parsedTokenPayload = tokenPayload.parsedPayload;
|
|
75
|
-
this.legacyTokenParameters = toSyncRulesParameters(
|
|
66
|
+
this.legacyTokenParameters = toSyncRulesParameters({
|
|
67
|
+
...legacyParameters,
|
|
68
|
+
// sub takes presedence over any embedded parameters
|
|
69
|
+
user_id: tokenPayload.userIdJson
|
|
70
|
+
}, CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY);
|
|
76
71
|
this.userId = tokenPayload.userIdJson;
|
|
77
72
|
this.rawTokenPayload = JSONBig.stringify(tokenPayload.parsedPayload);
|
|
78
73
|
this.rawUserParameters = JSONBig.stringify(clientParameters);
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAiB,MAAM,4BAA4B,CAAC;AAIpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAO1D,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAyFtE,MAAM,UAAU,iBAAiB,CAC/B,CAA8G;IAE9G,OAAO,OAAQ,CAAqB,CAAC,KAAK,IAAI,QAAQ,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,CAAmB;IAChD,OAAO,OAAQ,CAAkB,CAAC,MAAM,IAAI,QAAQ,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAA2B;IAC9D,OAAO,OAAQ,CAA0B,CAAC,0BAA0B,IAAI,QAAQ,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,CAA4B;IAChE,OAAO,QAAQ,IAAI,CAAC,CAAC;AACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -49,6 +49,7 @@ export declare function filterJsonRow(data: SqliteRow): SqliteJsonRow;
|
|
|
49
49
|
export declare function jsonValueToSqlite(fixedJsonBehavior: boolean, value: null | undefined | string | number | bigint | boolean | any): SqliteJsonValue;
|
|
50
50
|
export declare function isJsonValue(value: SqliteValue): value is SqliteJsonValue;
|
|
51
51
|
export declare function isValidParameterValue(value: SqliteValue): value is SqliteParameterValue;
|
|
52
|
+
export declare function filterJsonData(data: any, context: CompatibilityContext, depth?: number): any;
|
|
52
53
|
/**
|
|
53
54
|
* Map database row to SqliteRow for use in sync config.
|
|
54
55
|
*/
|
package/dist/utils.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { JSONBig, JsonContainer, stringifyRaw } from '@powersync/service-jsonbig';
|
|
2
|
+
import { CompatibilityOption } from './compatibility.js';
|
|
2
3
|
import { SyncRuleProcessingError as SyncRulesProcessingError } from './errors.js';
|
|
3
4
|
import { SQLITE_FALSE, SQLITE_TRUE } from './sqliteBool.js';
|
|
4
5
|
import { CustomArray, CustomObject, CustomSqliteValue } from './types/custom_sqlite_value.js';
|
|
@@ -32,19 +33,51 @@ export function resolvedBucket(description, options) {
|
|
|
32
33
|
* bucket.
|
|
33
34
|
*/
|
|
34
35
|
export function mergeBuckets(buckets) {
|
|
35
|
-
const
|
|
36
|
+
const pending = new Map();
|
|
37
|
+
const allBuckets = [];
|
|
36
38
|
for (const bucket of buckets) {
|
|
37
|
-
const existing =
|
|
39
|
+
const existing = pending.get(bucket.bucket);
|
|
40
|
+
let resolved;
|
|
38
41
|
if (existing != null) {
|
|
39
|
-
existing
|
|
40
|
-
existing.priority = Math.min(existing.priority, bucket.priority);
|
|
42
|
+
resolved = existing;
|
|
43
|
+
existing.resolved.priority = Math.min(existing.resolved.priority, bucket.priority);
|
|
41
44
|
}
|
|
42
45
|
else {
|
|
43
46
|
// Clone so that we can modify the merged value without affecting the input value
|
|
44
|
-
|
|
47
|
+
const clone = withBucketSource({
|
|
48
|
+
definition: bucket.definition,
|
|
49
|
+
bucket: bucket.bucket,
|
|
50
|
+
priority: bucket.priority,
|
|
51
|
+
inclusion_reasons: [] // Set while iterating over all sources
|
|
52
|
+
}, bucket.source);
|
|
53
|
+
resolved = {
|
|
54
|
+
resolved: clone,
|
|
55
|
+
coveredByDefaultSubscription: false,
|
|
56
|
+
explicitSubscriptionReasons: []
|
|
57
|
+
};
|
|
58
|
+
allBuckets.push(clone);
|
|
59
|
+
pending.set(bucket.bucket, resolved);
|
|
60
|
+
}
|
|
61
|
+
// A stream can reach the same bucket through more than one branch (e.g. overlapping
|
|
62
|
+
// subscriptions, or both a static and a dynamic parameter query) with the same inclusion
|
|
63
|
+
// reason each time, so de-duplicate as we merge.
|
|
64
|
+
for (const reason of bucket.inclusion_reasons) {
|
|
65
|
+
if (reason === 'default') {
|
|
66
|
+
if (!resolved.coveredByDefaultSubscription) {
|
|
67
|
+
resolved.coveredByDefaultSubscription = true;
|
|
68
|
+
resolved.resolved.inclusion_reasons.push(reason);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// explicitSubscriptionReasons is a small array in practice, use a linear scan instead of a set
|
|
73
|
+
if (!resolved.explicitSubscriptionReasons.includes(reason.subscription)) {
|
|
74
|
+
resolved.explicitSubscriptionReasons.push(reason.subscription);
|
|
75
|
+
resolved.resolved.inclusion_reasons.push(reason);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
45
78
|
}
|
|
46
79
|
}
|
|
47
|
-
return
|
|
80
|
+
return allBuckets;
|
|
48
81
|
}
|
|
49
82
|
export function uniqueBy(values, key) {
|
|
50
83
|
const result = [];
|
|
@@ -59,11 +92,6 @@ export function uniqueBy(values, key) {
|
|
|
59
92
|
}
|
|
60
93
|
return result;
|
|
61
94
|
}
|
|
62
|
-
function cloneResolvedBucket(bucket) {
|
|
63
|
-
let clone = structuredClone(bucket);
|
|
64
|
-
// The structured clone does not include the non-enumerable source - set it directly.
|
|
65
|
-
return withBucketSource(clone, bucket.source);
|
|
66
|
-
}
|
|
67
95
|
export function withBucketSource(value, source) {
|
|
68
96
|
Object.defineProperty(value, 'source', {
|
|
69
97
|
value: source,
|
|
@@ -128,7 +156,7 @@ export function isJsonValue(value) {
|
|
|
128
156
|
export function isValidParameterValue(value) {
|
|
129
157
|
return value != null && isJsonValue(value);
|
|
130
158
|
}
|
|
131
|
-
function filterJsonData(data, context, depth = 0) {
|
|
159
|
+
export function filterJsonData(data, context, depth = 0) {
|
|
132
160
|
if (depth > DEPTH_LIMIT) {
|
|
133
161
|
// This is primarily to prevent infinite recursion
|
|
134
162
|
// TODO: Proper error class
|
|
@@ -143,6 +171,9 @@ function filterJsonData(data, context, depth = 0) {
|
|
|
143
171
|
return data;
|
|
144
172
|
}
|
|
145
173
|
else if (typeof data == 'boolean') {
|
|
174
|
+
if (context.isEnabled(CompatibilityOption.fixedBooleanInJson)) {
|
|
175
|
+
return data;
|
|
176
|
+
}
|
|
146
177
|
return data ? SQLITE_TRUE : SQLITE_FALSE;
|
|
147
178
|
}
|
|
148
179
|
else if (typeof data == 'bigint') {
|
package/dist/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAY,YAAY,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ErrorObject } from 'ajv';
|
|
2
|
+
import { Document } from 'yaml';
|
|
3
|
+
import { YamlError } from './errors.js';
|
|
4
|
+
import type { SyncConfigSourceLocationResolver } from './SyncConfigDiagnostics.js';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a path-based source-location resolver over a parsed YAML document.
|
|
7
|
+
* For `config: { edition: 3 }`, resolving `['config', 'edition']` locates `3` by default or `edition` with target `'key'`.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createYamlSourceLocationResolver(document: Document): SyncConfigSourceLocationResolver;
|
|
10
|
+
/**
|
|
11
|
+
* Maps AJV validation errors to sync config errors positioned in the original source.
|
|
12
|
+
* For example, a type error at `/config/edition` highlights that field's value and retains AJV's message.
|
|
13
|
+
*/
|
|
14
|
+
export declare function mapAjvErrorsToYamlErrors(sourceLocationResolver: SyncConfigSourceLocationResolver, errors: readonly ErrorObject[]): YamlError[];
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { isMap, isNode, isScalar } from 'yaml';
|
|
2
|
+
import { YamlError } from './errors.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a path-based source-location resolver over a parsed YAML document.
|
|
5
|
+
* For `config: { edition: 3 }`, resolving `['config', 'edition']` locates `3` by default or `edition` with target `'key'`.
|
|
6
|
+
*/
|
|
7
|
+
export function createYamlSourceLocationResolver(document) {
|
|
8
|
+
return {
|
|
9
|
+
getLocation(path, target = 'value') {
|
|
10
|
+
return getYamlPathLocation(document, path, target);
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Maps AJV validation errors to sync config errors positioned in the original source.
|
|
16
|
+
* For example, a type error at `/config/edition` highlights that field's value and retains AJV's message.
|
|
17
|
+
*/
|
|
18
|
+
export function mapAjvErrorsToYamlErrors(sourceLocationResolver, errors) {
|
|
19
|
+
return errors.map((error) => {
|
|
20
|
+
const { path, target } = getAjvErrorSourcePath(error);
|
|
21
|
+
const location = sourceLocationResolver.getLocation(path, target);
|
|
22
|
+
const message = error.message ?? 'The sync config does not match its JSON Schema.';
|
|
23
|
+
return new YamlError(new Error(message), location);
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Converts an AJV error into a config path and chooses whether to highlight its key or value.
|
|
28
|
+
* An extra property `unknown` at `/config` targets the key at `['config', 'unknown']`.
|
|
29
|
+
* Missing properties target their containing map because the missing field has no source node.
|
|
30
|
+
*/
|
|
31
|
+
function getAjvErrorSourcePath(error) {
|
|
32
|
+
const path = parseJsonPointer(error.instancePath);
|
|
33
|
+
if (error.keyword == 'additionalProperties') {
|
|
34
|
+
const additionalProperty = error.params.additionalProperty;
|
|
35
|
+
if (typeof additionalProperty == 'string') {
|
|
36
|
+
path.push(additionalProperty);
|
|
37
|
+
}
|
|
38
|
+
return { path, target: 'key' };
|
|
39
|
+
}
|
|
40
|
+
else if (error.keyword == 'propertyNames' && typeof error.propertyName == 'string') {
|
|
41
|
+
path.push(error.propertyName);
|
|
42
|
+
return { path, target: 'key' };
|
|
43
|
+
}
|
|
44
|
+
else if (error.keyword == 'required' || error.keyword == 'minProperties') {
|
|
45
|
+
// A missing property has no node of its own. Highlight the containing map's key, such as the table definition.
|
|
46
|
+
return { path, target: path.length == 0 ? 'value' : 'key' };
|
|
47
|
+
}
|
|
48
|
+
return { path, target: 'value' };
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Finds a key or value's source offsets, trying parent paths when the requested node does not exist.
|
|
52
|
+
* For example, `['config', 'missing']` falls back to `['config']` if `missing` is absent.
|
|
53
|
+
*/
|
|
54
|
+
function getYamlPathLocation(document, path, target) {
|
|
55
|
+
const resolvedPath = [...path];
|
|
56
|
+
while (true) {
|
|
57
|
+
const node = getYamlPathNode(document, resolvedPath, target);
|
|
58
|
+
if (node != null) {
|
|
59
|
+
return getNodeLocation(node);
|
|
60
|
+
}
|
|
61
|
+
if (resolvedPath.length == 0) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
resolvedPath.pop();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Looks up the YAML node at an exact path, returning undefined if no matching node exists.
|
|
69
|
+
* For `edition: 3`, `['edition']` selects the `edition` key node or the `3` value node according to the target.
|
|
70
|
+
* An empty path selects the document's root node.
|
|
71
|
+
*/
|
|
72
|
+
function getYamlPathNode(document, path, target) {
|
|
73
|
+
if (target == 'value' || path.length == 0) {
|
|
74
|
+
const value = document.getIn(path, true);
|
|
75
|
+
return isNode(value) ? value : undefined;
|
|
76
|
+
}
|
|
77
|
+
const parent = document.getIn(path.slice(0, -1), true);
|
|
78
|
+
if (!isMap(parent)) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
const key = path[path.length - 1];
|
|
82
|
+
const pair = parent.items.find((candidate) => isScalar(candidate.key) && String(candidate.key.value) == String(key));
|
|
83
|
+
return pair != null && isNode(pair.key) ? pair.key : undefined;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Converts a YAML node's range into source offsets, including any trailing comment or newline in the node range.
|
|
87
|
+
* A range `[4, 7, 8]` becomes `{ start: 4, end: 8 }`; a node without a range has no location.
|
|
88
|
+
*/
|
|
89
|
+
function getNodeLocation(node) {
|
|
90
|
+
if (node?.range == null) {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
start: node.range[0],
|
|
95
|
+
end: node.range[2]
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Splits a JSON pointer into path segments and decodes escaped slashes (`~1`) and tildes (`~0`).
|
|
100
|
+
* For example, `/tables/a~1b/~0name` becomes `['tables', 'a/b', '~name']`; an empty pointer becomes `[]`.
|
|
101
|
+
* Numeric segments remain strings, so `/items/0` becomes `['items', '0']`.
|
|
102
|
+
*/
|
|
103
|
+
function parseJsonPointer(pointer) {
|
|
104
|
+
if (pointer.length == 0) {
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
return pointer
|
|
108
|
+
.split('/')
|
|
109
|
+
.slice(1)
|
|
110
|
+
.map((segment) => segment.replaceAll('~1', '/').replaceAll('~0', '~'));
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=yaml_source_locations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yaml_source_locations.js","sourceRoot":"","sources":["../src/yaml_source_locations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml_validation.js","sourceRoot":"","sources":["../src/yaml_validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"yaml_validation.js","sourceRoot":"","sources":["../src/yaml_validation.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powersync/service-sync-rules",
|
|
3
3
|
"repository": "https://github.com/powersync-ja/powersync-service",
|
|
4
|
-
"version": "0.
|
|
5
|
-
"exports":
|
|
4
|
+
"version": "0.44.0",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./dist/index.js",
|
|
7
|
+
"./schema/sync_config.json": "./schema/sync_config.json"
|
|
8
|
+
},
|
|
6
9
|
"license": "FSL-1.1-ALv2",
|
|
7
10
|
"publishConfig": {
|
|
8
11
|
"access": "public"
|
|
@@ -16,15 +19,18 @@
|
|
|
16
19
|
"@syncpoint/wkx": "^0.5.0",
|
|
17
20
|
"ajv": "^8.18.0",
|
|
18
21
|
"pgsql-ast-parser": "^11.1.0",
|
|
22
|
+
"ts-codec": "^1.3.0",
|
|
19
23
|
"uuid": "^14.0.0",
|
|
20
24
|
"yaml": "^2.8.3",
|
|
25
|
+
"zod": "^4.6.5",
|
|
26
|
+
"bson": "^6.10.4",
|
|
21
27
|
"@powersync/service-jsonbig": "^0.17.13"
|
|
22
28
|
},
|
|
23
29
|
"devDependencies": {
|
|
24
30
|
"@types/node": "^22.16.2",
|
|
25
31
|
"ebnf": "^1.9.1",
|
|
26
32
|
"railroad-diagrams": "^1.0.0",
|
|
27
|
-
"vitest": "^4.1.
|
|
33
|
+
"vitest": "^4.1.11"
|
|
28
34
|
},
|
|
29
35
|
"scripts": {
|
|
30
36
|
"clean": "rm -r ./dist && tsc -b --clean",
|