@powersync/service-sync-rules 0.36.0 → 0.38.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/BaseSqlDataQuery.d.ts +4 -4
- package/dist/BaseSqlDataQuery.js.map +1 -1
- package/dist/BucketSource.d.ts +35 -28
- package/dist/BucketSource.js +12 -28
- package/dist/BucketSource.js.map +1 -1
- package/dist/HydratedSyncConfig.d.ts +80 -0
- package/dist/HydratedSyncConfig.js +207 -0
- package/dist/HydratedSyncConfig.js.map +1 -0
- package/dist/HydrationState.d.ts +20 -1
- package/dist/HydrationState.js +14 -2
- package/dist/HydrationState.js.map +1 -1
- package/dist/SourceTableRef.d.ts +9 -0
- package/dist/SourceTableRef.js +4 -0
- package/dist/SourceTableRef.js.map +1 -0
- package/dist/SqlBucketDescriptor.d.ts +5 -4
- package/dist/SqlBucketDescriptor.js +3 -0
- package/dist/SqlBucketDescriptor.js.map +1 -1
- package/dist/SqlDataQuery.d.ts +2 -2
- package/dist/SqlDataQuery.js.map +1 -1
- package/dist/SqlParameterQuery.d.ts +8 -7
- package/dist/SqlParameterQuery.js +5 -3
- package/dist/SqlParameterQuery.js.map +1 -1
- package/dist/StaticSqlParameterQuery.d.ts +2 -2
- package/dist/StaticSqlParameterQuery.js.map +1 -1
- package/dist/SyncConfig.d.ts +8 -8
- package/dist/SyncConfig.js +8 -16
- package/dist/SyncConfig.js.map +1 -1
- package/dist/TablePattern.d.ts +8 -2
- package/dist/TablePattern.js +8 -0
- package/dist/TablePattern.js.map +1 -1
- package/dist/TableValuedFunctionSqlParameterQuery.d.ts +2 -2
- package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
- package/dist/TableValuedFunctions.js +15 -10
- package/dist/TableValuedFunctions.js.map +1 -1
- package/dist/cast.js +7 -5
- package/dist/cast.js.map +1 -1
- package/dist/compatibility.d.ts +3 -1
- package/dist/compatibility.js +12 -3
- package/dist/compatibility.js.map +1 -1
- package/dist/compiler/equality.js +2 -1
- package/dist/compiler/equality.js.map +1 -1
- package/dist/compiler/parser.js +1 -1
- package/dist/compiler/parser.js.map +1 -1
- package/dist/events/SqlEventDescriptor.d.ts +2 -2
- package/dist/events/SqlEventDescriptor.js.map +1 -1
- package/dist/events/SqlEventSourceQuery.d.ts +2 -2
- package/dist/events/SqlEventSourceQuery.js.map +1 -1
- package/dist/from_yaml.js +9 -2
- package/dist/from_yaml.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/sql_functions.d.ts +4 -4
- package/dist/sql_functions.js +12 -6
- package/dist/sql_functions.js.map +1 -1
- package/dist/streams/filter.d.ts +8 -7
- package/dist/streams/filter.js +5 -3
- package/dist/streams/filter.js.map +1 -1
- package/dist/streams/stream.d.ts +5 -4
- package/dist/streams/stream.js +3 -0
- package/dist/streams/stream.js.map +1 -1
- package/dist/sync_plan/engine/factory.d.ts +4 -0
- package/dist/sync_plan/engine/factory.js +13 -0
- package/dist/sync_plan/engine/factory.js.map +1 -0
- package/dist/sync_plan/engine/javascript.js +0 -1
- package/dist/sync_plan/engine/javascript.js.map +1 -1
- package/dist/sync_plan/engine/scalar_expression_engine.d.ts +0 -4
- package/dist/sync_plan/engine/scalar_expression_engine.js +2 -2
- package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -1
- package/dist/sync_plan/engine/sqlite.d.ts +26 -5
- package/dist/sync_plan/engine/sqlite.js +41 -23
- package/dist/sync_plan/engine/sqlite.js.map +1 -1
- package/dist/sync_plan/evaluator/bucket_data_source.d.ts +6 -7
- package/dist/sync_plan/evaluator/bucket_data_source.js +67 -57
- package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
- package/dist/sync_plan/evaluator/bucket_source.d.ts +2 -2
- package/dist/sync_plan/evaluator/bucket_source.js +4 -4
- package/dist/sync_plan/evaluator/bucket_source.js.map +1 -1
- package/dist/sync_plan/evaluator/index.d.ts +0 -2
- package/dist/sync_plan/evaluator/index.js.map +1 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +3 -1
- package/dist/sync_plan/evaluator/parameter_evaluator.js +5 -4
- package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
- package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +8 -9
- package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +62 -58
- package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
- package/dist/sync_plan/expression.js +1 -1
- package/dist/sync_plan/expression.js.map +1 -1
- package/dist/sync_plan/expression_to_sql.js +1 -1
- package/dist/sync_plan/expression_to_sql.js.map +1 -1
- package/dist/sync_plan/plan.d.ts +2 -2
- package/dist/sync_plan/plan_equality_serialized.d.ts +25 -0
- package/dist/sync_plan/plan_equality_serialized.js +46 -0
- package/dist/sync_plan/plan_equality_serialized.js.map +1 -0
- package/dist/sync_plan/serialize.d.ts +16 -17
- package/dist/types.d.ts +12 -2
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +1 -0
- package/dist/utils.js +13 -0
- package/dist/utils.js.map +1 -1
- package/package.json +2 -3
- package/schema/sync_rules.json +4 -0
- package/dist/HydratedSyncRules.d.ts +0 -46
- package/dist/HydratedSyncRules.js +0 -88
- package/dist/HydratedSyncRules.js.map +0 -1
- package/dist/SourceTableInterface.d.ts +0 -5
- package/dist/SourceTableInterface.js +0 -2
- package/dist/SourceTableInterface.js.map +0 -1
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { CompatibilityContext, isEvaluatedParameters, isEvaluatedRow, isEvaluationError, mergeBucketParameterQueriers, mergeDataSources, mergeParameterIndexLookupCreators } from './index.js';
|
|
2
|
-
/**
|
|
3
|
-
* Hydrated sync config is sync config definitions along with persisted state. Currently, the persisted state
|
|
4
|
-
* specifically affects bucket names.
|
|
5
|
-
*/
|
|
6
|
-
export class HydratedSyncRules {
|
|
7
|
-
bucketSources = [];
|
|
8
|
-
eventDescriptors = [];
|
|
9
|
-
compatibility = CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY;
|
|
10
|
-
definition;
|
|
11
|
-
innerEvaluateRow;
|
|
12
|
-
innerEvaluateParameterRow;
|
|
13
|
-
constructor(params) {
|
|
14
|
-
const hydrationState = params.createParams.hydrationState;
|
|
15
|
-
this.definition = params.definition;
|
|
16
|
-
this.innerEvaluateRow = mergeDataSources(hydrationState, params.bucketDataSources).evaluateRow;
|
|
17
|
-
this.innerEvaluateParameterRow = mergeParameterIndexLookupCreators(hydrationState, params.bucketParameterIndexLookupCreators).evaluateParameterRow;
|
|
18
|
-
if (params.eventDescriptors) {
|
|
19
|
-
this.eventDescriptors = params.eventDescriptors;
|
|
20
|
-
}
|
|
21
|
-
if (params.compatibility) {
|
|
22
|
-
this.compatibility = params.compatibility;
|
|
23
|
-
}
|
|
24
|
-
this.bucketSources = this.definition.bucketSources.map((source) => source.hydrate(params.createParams));
|
|
25
|
-
}
|
|
26
|
-
// These methods do not depend on hydration, so we can just forward them to the definition.
|
|
27
|
-
getSourceTables() {
|
|
28
|
-
return this.definition.getSourceTables();
|
|
29
|
-
}
|
|
30
|
-
tableTriggersEvent(table) {
|
|
31
|
-
return this.definition.tableTriggersEvent(table);
|
|
32
|
-
}
|
|
33
|
-
tableSyncsData(table) {
|
|
34
|
-
return this.definition.tableSyncsData(table);
|
|
35
|
-
}
|
|
36
|
-
tableSyncsParameters(table) {
|
|
37
|
-
return this.definition.tableSyncsParameters(table);
|
|
38
|
-
}
|
|
39
|
-
applyRowContext(source) {
|
|
40
|
-
return this.definition.applyRowContext(source);
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Throws errors.
|
|
44
|
-
*/
|
|
45
|
-
evaluateRow(options) {
|
|
46
|
-
const { results, errors } = this.evaluateRowWithErrors(options);
|
|
47
|
-
if (errors.length > 0) {
|
|
48
|
-
throw new Error(errors[0].error);
|
|
49
|
-
}
|
|
50
|
-
return results;
|
|
51
|
-
}
|
|
52
|
-
evaluateRowWithErrors(options) {
|
|
53
|
-
const rawResults = this.innerEvaluateRow(options);
|
|
54
|
-
const results = rawResults.filter(isEvaluatedRow);
|
|
55
|
-
const errors = rawResults.filter(isEvaluationError);
|
|
56
|
-
return { results, errors };
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Throws errors.
|
|
60
|
-
*/
|
|
61
|
-
evaluateParameterRow(table, row) {
|
|
62
|
-
const { results, errors } = this.evaluateParameterRowWithErrors(table, row);
|
|
63
|
-
if (errors.length > 0) {
|
|
64
|
-
throw new Error(errors[0].error);
|
|
65
|
-
}
|
|
66
|
-
return results;
|
|
67
|
-
}
|
|
68
|
-
evaluateParameterRowWithErrors(table, row) {
|
|
69
|
-
const rawResults = this.innerEvaluateParameterRow(table, row);
|
|
70
|
-
const results = rawResults.filter(isEvaluatedParameters);
|
|
71
|
-
const errors = rawResults.filter(isEvaluationError);
|
|
72
|
-
return { results, errors };
|
|
73
|
-
}
|
|
74
|
-
getBucketParameterQuerier(options) {
|
|
75
|
-
const queriers = [];
|
|
76
|
-
const errors = [];
|
|
77
|
-
const pending = { queriers, errors };
|
|
78
|
-
for (const source of this.bucketSources) {
|
|
79
|
-
if ((source.definition.subscribedToByDefault && options.hasDefaultStreams) ||
|
|
80
|
-
source.definition.name in options.streams) {
|
|
81
|
-
source.pushBucketParameterQueriers(pending, options);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
const querier = mergeBucketParameterQueriers(queriers);
|
|
85
|
-
return { querier, errors };
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=HydratedSyncRules.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HydratedSyncRules.js","sourceRoot":"","sources":["../src/HydratedSyncRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SourceTableInterface.js","sourceRoot":"","sources":["../src/SourceTableInterface.ts"],"names":[],"mappings":""}
|