@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.
Files changed (108) hide show
  1. package/dist/BaseSqlDataQuery.d.ts +4 -4
  2. package/dist/BaseSqlDataQuery.js.map +1 -1
  3. package/dist/BucketSource.d.ts +35 -28
  4. package/dist/BucketSource.js +12 -28
  5. package/dist/BucketSource.js.map +1 -1
  6. package/dist/HydratedSyncConfig.d.ts +80 -0
  7. package/dist/HydratedSyncConfig.js +207 -0
  8. package/dist/HydratedSyncConfig.js.map +1 -0
  9. package/dist/HydrationState.d.ts +20 -1
  10. package/dist/HydrationState.js +14 -2
  11. package/dist/HydrationState.js.map +1 -1
  12. package/dist/SourceTableRef.d.ts +9 -0
  13. package/dist/SourceTableRef.js +4 -0
  14. package/dist/SourceTableRef.js.map +1 -0
  15. package/dist/SqlBucketDescriptor.d.ts +5 -4
  16. package/dist/SqlBucketDescriptor.js +3 -0
  17. package/dist/SqlBucketDescriptor.js.map +1 -1
  18. package/dist/SqlDataQuery.d.ts +2 -2
  19. package/dist/SqlDataQuery.js.map +1 -1
  20. package/dist/SqlParameterQuery.d.ts +8 -7
  21. package/dist/SqlParameterQuery.js +5 -3
  22. package/dist/SqlParameterQuery.js.map +1 -1
  23. package/dist/StaticSqlParameterQuery.d.ts +2 -2
  24. package/dist/StaticSqlParameterQuery.js.map +1 -1
  25. package/dist/SyncConfig.d.ts +8 -8
  26. package/dist/SyncConfig.js +8 -16
  27. package/dist/SyncConfig.js.map +1 -1
  28. package/dist/TablePattern.d.ts +8 -2
  29. package/dist/TablePattern.js +8 -0
  30. package/dist/TablePattern.js.map +1 -1
  31. package/dist/TableValuedFunctionSqlParameterQuery.d.ts +2 -2
  32. package/dist/TableValuedFunctionSqlParameterQuery.js.map +1 -1
  33. package/dist/TableValuedFunctions.js +15 -10
  34. package/dist/TableValuedFunctions.js.map +1 -1
  35. package/dist/cast.js +7 -5
  36. package/dist/cast.js.map +1 -1
  37. package/dist/compatibility.d.ts +3 -1
  38. package/dist/compatibility.js +12 -3
  39. package/dist/compatibility.js.map +1 -1
  40. package/dist/compiler/equality.js +2 -1
  41. package/dist/compiler/equality.js.map +1 -1
  42. package/dist/compiler/parser.js +1 -1
  43. package/dist/compiler/parser.js.map +1 -1
  44. package/dist/events/SqlEventDescriptor.d.ts +2 -2
  45. package/dist/events/SqlEventDescriptor.js.map +1 -1
  46. package/dist/events/SqlEventSourceQuery.d.ts +2 -2
  47. package/dist/events/SqlEventSourceQuery.js.map +1 -1
  48. package/dist/from_yaml.js +9 -2
  49. package/dist/from_yaml.js.map +1 -1
  50. package/dist/index.d.ts +6 -4
  51. package/dist/index.js +6 -4
  52. package/dist/index.js.map +1 -1
  53. package/dist/sql_functions.d.ts +4 -4
  54. package/dist/sql_functions.js +12 -6
  55. package/dist/sql_functions.js.map +1 -1
  56. package/dist/streams/filter.d.ts +8 -7
  57. package/dist/streams/filter.js +5 -3
  58. package/dist/streams/filter.js.map +1 -1
  59. package/dist/streams/stream.d.ts +5 -4
  60. package/dist/streams/stream.js +3 -0
  61. package/dist/streams/stream.js.map +1 -1
  62. package/dist/sync_plan/engine/factory.d.ts +4 -0
  63. package/dist/sync_plan/engine/factory.js +13 -0
  64. package/dist/sync_plan/engine/factory.js.map +1 -0
  65. package/dist/sync_plan/engine/javascript.js +0 -1
  66. package/dist/sync_plan/engine/javascript.js.map +1 -1
  67. package/dist/sync_plan/engine/scalar_expression_engine.d.ts +0 -4
  68. package/dist/sync_plan/engine/scalar_expression_engine.js +2 -2
  69. package/dist/sync_plan/engine/scalar_expression_engine.js.map +1 -1
  70. package/dist/sync_plan/engine/sqlite.d.ts +26 -5
  71. package/dist/sync_plan/engine/sqlite.js +41 -23
  72. package/dist/sync_plan/engine/sqlite.js.map +1 -1
  73. package/dist/sync_plan/evaluator/bucket_data_source.d.ts +6 -7
  74. package/dist/sync_plan/evaluator/bucket_data_source.js +67 -57
  75. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  76. package/dist/sync_plan/evaluator/bucket_source.d.ts +2 -2
  77. package/dist/sync_plan/evaluator/bucket_source.js +4 -4
  78. package/dist/sync_plan/evaluator/bucket_source.js.map +1 -1
  79. package/dist/sync_plan/evaluator/index.d.ts +0 -2
  80. package/dist/sync_plan/evaluator/index.js.map +1 -1
  81. package/dist/sync_plan/evaluator/parameter_evaluator.d.ts +3 -1
  82. package/dist/sync_plan/evaluator/parameter_evaluator.js +5 -4
  83. package/dist/sync_plan/evaluator/parameter_evaluator.js.map +1 -1
  84. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +8 -9
  85. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +62 -58
  86. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
  87. package/dist/sync_plan/expression.js +1 -1
  88. package/dist/sync_plan/expression.js.map +1 -1
  89. package/dist/sync_plan/expression_to_sql.js +1 -1
  90. package/dist/sync_plan/expression_to_sql.js.map +1 -1
  91. package/dist/sync_plan/plan.d.ts +2 -2
  92. package/dist/sync_plan/plan_equality_serialized.d.ts +25 -0
  93. package/dist/sync_plan/plan_equality_serialized.js +46 -0
  94. package/dist/sync_plan/plan_equality_serialized.js.map +1 -0
  95. package/dist/sync_plan/serialize.d.ts +16 -17
  96. package/dist/types.d.ts +12 -2
  97. package/dist/types.js.map +1 -1
  98. package/dist/utils.d.ts +1 -0
  99. package/dist/utils.js +13 -0
  100. package/dist/utils.js.map +1 -1
  101. package/package.json +2 -3
  102. package/schema/sync_rules.json +4 -0
  103. package/dist/HydratedSyncRules.d.ts +0 -46
  104. package/dist/HydratedSyncRules.js +0 -88
  105. package/dist/HydratedSyncRules.js.map +0 -1
  106. package/dist/SourceTableInterface.d.ts +0 -5
  107. package/dist/SourceTableInterface.js +0 -2
  108. 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,5 +0,0 @@
1
- export interface SourceTableInterface {
2
- readonly connectionTag: string;
3
- readonly schema: string;
4
- readonly name: string;
5
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SourceTableInterface.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SourceTableInterface.js","sourceRoot":"","sources":["../src/SourceTableInterface.ts"],"names":[],"mappings":""}