@powersync/service-sync-rules 0.30.0 → 0.31.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 (71) hide show
  1. package/dist/HydratedSyncRules.d.ts +3 -3
  2. package/dist/HydratedSyncRules.js.map +1 -1
  3. package/dist/SqlSyncRules.d.ts +11 -37
  4. package/dist/SqlSyncRules.js +11 -340
  5. package/dist/SqlSyncRules.js.map +1 -1
  6. package/dist/SyncConfig.d.ts +43 -0
  7. package/dist/SyncConfig.js +102 -0
  8. package/dist/SyncConfig.js.map +1 -0
  9. package/dist/TablePattern.d.ts +21 -6
  10. package/dist/TablePattern.js +57 -30
  11. package/dist/TablePattern.js.map +1 -1
  12. package/dist/compatibility.d.ts +7 -0
  13. package/dist/compatibility.js +34 -0
  14. package/dist/compatibility.js.map +1 -1
  15. package/dist/compiler/compiler.d.ts +7 -1
  16. package/dist/compiler/compiler.js +19 -2
  17. package/dist/compiler/compiler.js.map +1 -1
  18. package/dist/compiler/parser.js +3 -3
  19. package/dist/compiler/parser.js.map +1 -1
  20. package/dist/compiler/rows.d.ts +2 -2
  21. package/dist/compiler/table.d.ts +3 -4
  22. package/dist/compiler/table.js.map +1 -1
  23. package/dist/from_yaml.d.ts +28 -0
  24. package/dist/from_yaml.js +411 -0
  25. package/dist/from_yaml.js.map +1 -0
  26. package/dist/index.d.ts +2 -1
  27. package/dist/index.js +2 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/json_schema.js +17 -1
  30. package/dist/json_schema.js.map +1 -1
  31. package/dist/schema-generators/DartSchemaGenerator.d.ts +3 -3
  32. package/dist/schema-generators/DartSchemaGenerator.js.map +1 -1
  33. package/dist/schema-generators/DotNetSchemaGenerator.d.ts +2 -2
  34. package/dist/schema-generators/DotNetSchemaGenerator.js.map +1 -1
  35. package/dist/schema-generators/JsLegacySchemaGenerator.d.ts +2 -2
  36. package/dist/schema-generators/JsLegacySchemaGenerator.js.map +1 -1
  37. package/dist/schema-generators/KotlinSchemaGenerator.d.ts +2 -2
  38. package/dist/schema-generators/KotlinSchemaGenerator.js.map +1 -1
  39. package/dist/schema-generators/RoomSchemaGenerator.d.ts +2 -2
  40. package/dist/schema-generators/RoomSchemaGenerator.js.map +1 -1
  41. package/dist/schema-generators/SchemaGenerator.d.ts +3 -3
  42. package/dist/schema-generators/SchemaGenerator.js.map +1 -1
  43. package/dist/schema-generators/SqlSchemaGenerator.d.ts +2 -2
  44. package/dist/schema-generators/SqlSchemaGenerator.js.map +1 -1
  45. package/dist/schema-generators/SwiftSchemaGenerator.d.ts +2 -2
  46. package/dist/schema-generators/SwiftSchemaGenerator.js.map +1 -1
  47. package/dist/schema-generators/TsSchemaGenerator.d.ts +2 -2
  48. package/dist/schema-generators/TsSchemaGenerator.js.map +1 -1
  49. package/dist/sql_functions.d.ts +2 -2
  50. package/dist/sync_plan/evaluator/bucket_data_source.d.ts +1 -0
  51. package/dist/sync_plan/evaluator/bucket_data_source.js +5 -3
  52. package/dist/sync_plan/evaluator/bucket_data_source.js.map +1 -1
  53. package/dist/sync_plan/evaluator/index.d.ts +12 -2
  54. package/dist/sync_plan/evaluator/index.js +26 -20
  55. package/dist/sync_plan/evaluator/index.js.map +1 -1
  56. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.d.ts +2 -1
  57. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js +6 -4
  58. package/dist/sync_plan/evaluator/parameter_index_lookup_creator.js.map +1 -1
  59. package/dist/sync_plan/plan.d.ts +2 -2
  60. package/dist/sync_plan/schema_inference.d.ts +2 -1
  61. package/dist/sync_plan/schema_inference.js +4 -2
  62. package/dist/sync_plan/schema_inference.js.map +1 -1
  63. package/dist/sync_plan/serialize.d.ts +2 -2
  64. package/dist/sync_plan/serialize.js +7 -2
  65. package/dist/sync_plan/serialize.js.map +1 -1
  66. package/dist/types.d.ts +20 -5
  67. package/dist/types.js +27 -5
  68. package/dist/types.js.map +1 -1
  69. package/dist/utils.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/schema/sync_rules.json +19 -3
@@ -0,0 +1,411 @@
1
+ import { isScalar, LineCounter, parseDocument, Scalar, YAMLMap, YAMLSeq } from 'yaml';
2
+ import { SqlRuleError, SyncRulesErrors, YamlError } from './errors.js';
3
+ import { DEFAULT_BUCKET_PRIORITY, isValidPriority } from './BucketDescription.js';
4
+ import { CompatibilityContext, CompatibilityEdition, CompatibilityOption, TimeValuePrecision } from './compatibility.js';
5
+ import { SqlSyncRules } from './SqlSyncRules.js';
6
+ import { validateSyncRulesSchema } from './json_schema.js';
7
+ import { SqlEventDescriptor } from './events/SqlEventDescriptor.js';
8
+ import { SqlBucketDescriptor } from './SqlBucketDescriptor.js';
9
+ import { SyncStreamsCompiler } from './compiler/compiler.js';
10
+ import { syncStreamFromSql } from './streams/from_sql.js';
11
+ import { PrecompiledSyncConfig } from './sync_plan/evaluator/index.js';
12
+ import { javaScriptExpressionEngine } from './sync_plan/engine/javascript.js';
13
+ const ACCEPT_POTENTIALLY_DANGEROUS_QUERIES = Symbol('ACCEPT_POTENTIALLY_DANGEROUS_QUERIES');
14
+ /**
15
+ * Reads `sync_rules.yaml` files containing a sync configuration.
16
+ *
17
+ * @internal Only exposed through `SqlSyncRules.fromYaml`.
18
+ */
19
+ export class SyncConfigFromYaml {
20
+ options;
21
+ yaml;
22
+ #errors = [];
23
+ #lineCounter = new LineCounter();
24
+ // Names of bucket definitions and sync streams, to prevent duplicates.
25
+ #definitionNames = new Set();
26
+ constructor(options, yaml) {
27
+ this.options = options;
28
+ this.yaml = yaml;
29
+ }
30
+ read() {
31
+ return { config: this.#read(), errors: this.#errors };
32
+ }
33
+ #read() {
34
+ const parsed = parseDocument(this.yaml, {
35
+ schema: 'core',
36
+ keepSourceTokens: true,
37
+ lineCounter: this.#lineCounter,
38
+ customTags: [
39
+ {
40
+ tag: '!accept_potentially_dangerous_queries',
41
+ resolve(_text, _onError) {
42
+ return ACCEPT_POTENTIALLY_DANGEROUS_QUERIES;
43
+ }
44
+ }
45
+ ]
46
+ });
47
+ if (parsed.errors.length > 0) {
48
+ this.#errors.push(...parsed.errors.map((e) => new YamlError(e)));
49
+ this.#throwOnErrorIfRequested();
50
+ // Return an empty sync rules instance if we couldn't parse YAML, it doesn't make sense to try parsing the broken
51
+ // structure further.
52
+ return new SqlSyncRules(this.yaml);
53
+ }
54
+ let compatibility;
55
+ let useNewCompiler;
56
+ if (parsed.has('config')) {
57
+ const declaredOptions = parsed.get('config');
58
+ const compatibilityOptions = this.#parseCompatibilityOptions(declaredOptions);
59
+ compatibility = compatibilityOptions.compatibility;
60
+ useNewCompiler = compatibilityOptions.useNewCompiler;
61
+ }
62
+ else {
63
+ compatibility = CompatibilityContext.FULL_BACKWARDS_COMPATIBILITY;
64
+ useNewCompiler = false;
65
+ }
66
+ // Bucket definitions using explicit parameter and data queries.
67
+ const bucketMap = parsed.get('bucket_definitions');
68
+ const streamMap = parsed.get('streams');
69
+ let result;
70
+ if (useNewCompiler && this.options.allowNewSyncCompiler) {
71
+ result = this.#compileSyncPlan(bucketMap, streamMap, compatibility);
72
+ }
73
+ else {
74
+ result = this.#legacyParseBucketDefinitionsAndStreams(bucketMap, streamMap, compatibility);
75
+ }
76
+ const eventDefinitions = this.#parseEventDefinitions(parsed, compatibility);
77
+ result.eventDescriptors.push(...eventDefinitions);
78
+ // Validate that there are no additional properties.
79
+ // Since these errors don't contain line numbers, do this last.
80
+ const valid = validateSyncRulesSchema(parsed.toJSON());
81
+ if (!valid) {
82
+ this.#errors.push(...validateSyncRulesSchema.errors.map((e) => {
83
+ return new YamlError(e);
84
+ }));
85
+ }
86
+ this.#throwOnErrorIfRequested();
87
+ return result;
88
+ }
89
+ #throwOnErrorIfRequested() {
90
+ if (this.options.throwOnError && this.#errors.find((e) => e.type != 'warning') != null) {
91
+ throw new SyncRulesErrors(this.#errors);
92
+ }
93
+ }
94
+ /**
95
+ * Parses the `config` block of a sync configuration.
96
+ *
97
+ * @see https://docs.powersync.com/sync/advanced/compatibility
98
+ */
99
+ #parseCompatibilityOptions(declaredOptions) {
100
+ const edition = (declaredOptions.get('edition') ?? CompatibilityEdition.LEGACY);
101
+ const options = new Map();
102
+ let maxTimeValuePrecision = undefined;
103
+ let useNewCompiler = false;
104
+ for (const entry of declaredOptions.items) {
105
+ const { key: { value: key }, value: { value } } = entry;
106
+ if (key == 'timestamp_max_precision') {
107
+ maxTimeValuePrecision = TimeValuePrecision.byName[value];
108
+ }
109
+ if (key == 'sync_config_compiler') {
110
+ useNewCompiler = Boolean(value);
111
+ continue;
112
+ }
113
+ const option = CompatibilityOption.byName[key];
114
+ if (option) {
115
+ options.set(option, Boolean(value));
116
+ }
117
+ }
118
+ const compatibility = new CompatibilityContext({ edition, overrides: options, maxTimeValuePrecision });
119
+ if (maxTimeValuePrecision && !compatibility.isEnabled(CompatibilityOption.timestampsIso8601)) {
120
+ this.#errors.push(new YamlError(new Error(`'timestamp_max_precision' requires 'timestamps_iso8601' to be enabled.`)));
121
+ }
122
+ return { compatibility, useNewCompiler };
123
+ }
124
+ #compileSyncPlan(bucketMap, streamMap, compatibility) {
125
+ if (bucketMap != null) {
126
+ this.#errors.push(this.#yamlError(bucketMap, `'bucket_definitions' are not supported by the new compiler. Consider using https://powersync-community.github.io/bucket-definitions-to-sync-streams/ to translate them to streams.`));
127
+ }
128
+ if (streamMap == null) {
129
+ this.#errors.push(new YamlError(new Error(`'streams' are required.`)));
130
+ }
131
+ const compiler = new SyncStreamsCompiler(this.options);
132
+ for (const entry of streamMap?.items ?? []) {
133
+ const { key: keyScalar, value } = entry;
134
+ if (!(value instanceof YAMLMap)) {
135
+ // The json schema validator will flag this later.
136
+ continue;
137
+ }
138
+ const key = keyScalar.toString();
139
+ if (!this.#checkUniqueName(key, keyScalar)) {
140
+ continue;
141
+ }
142
+ const $with = value.get('with');
143
+ const streamCompiler = compiler.stream({
144
+ name: key,
145
+ isSubscribedByDefault: value.get('auto_subscribe', true)?.value == true,
146
+ priority: this.#parsePriority(value) ?? DEFAULT_BUCKET_PRIORITY
147
+ });
148
+ if ($with != null) {
149
+ for (const entry of $with.items ?? []) {
150
+ const { key: cteName, value: cteQuery } = entry;
151
+ const [sql, errorListener] = this.#scalarErrorListener(cteQuery);
152
+ const parsed = compiler.commonTableExpression(sql, errorListener);
153
+ if (parsed) {
154
+ streamCompiler.registerCommonTableExpression(cteName.value, parsed);
155
+ }
156
+ }
157
+ }
158
+ const addQuery = (query) => {
159
+ const [sql, errorListener] = this.#scalarErrorListener(query);
160
+ streamCompiler.addQuery(sql, errorListener);
161
+ };
162
+ const queries = value.get('queries');
163
+ const query = value.get('query', true);
164
+ if ((queries == null) == (query == null)) {
165
+ this.#errors.push(this.#yamlError(value, 'One of `queries` or `query` must be given.'));
166
+ }
167
+ if (query) {
168
+ addQuery(query);
169
+ }
170
+ if (queries) {
171
+ for (const queryEntry of queries.items) {
172
+ if (queryEntry instanceof Scalar) {
173
+ addQuery(queryEntry);
174
+ }
175
+ }
176
+ }
177
+ streamCompiler.finish();
178
+ }
179
+ return new PrecompiledSyncConfig(compiler.output.toSyncPlan(), {
180
+ defaultSchema: this.options.defaultSchema,
181
+ engine: javaScriptExpressionEngine(compatibility),
182
+ sourceText: this.yaml
183
+ });
184
+ }
185
+ #legacyParseBucketDefinitionsAndStreams(bucketMap, streamMap, compatibility) {
186
+ const rules = new SqlSyncRules(this.yaml);
187
+ rules.compatibility = compatibility;
188
+ if (bucketMap == null && streamMap == null) {
189
+ this.#errors.push(new YamlError(new Error(`'bucket_definitions' or 'streams' is required`)));
190
+ this.#throwOnErrorIfRequested();
191
+ }
192
+ for (let entry of bucketMap?.items ?? []) {
193
+ const { key: keyScalar, value } = entry;
194
+ const key = keyScalar.toString();
195
+ if (!this.#checkUniqueName(key, keyScalar)) {
196
+ continue;
197
+ }
198
+ if (value == null || !(value instanceof YAMLMap)) {
199
+ this.#errors.push(this.#tokenError(keyScalar, `'${key}' bucket definition must be an object`));
200
+ continue;
201
+ }
202
+ const accept_potentially_dangerous_queries = value.get('accept_potentially_dangerous_queries', true)?.value == true;
203
+ const parseOptionPriority = this.#parsePriority(value);
204
+ const queryOptions = {
205
+ ...this.options,
206
+ accept_potentially_dangerous_queries,
207
+ priority: parseOptionPriority,
208
+ compatibility
209
+ };
210
+ const parameters = value.get('parameters', true);
211
+ const dataQueries = value.get('data', true);
212
+ const descriptor = new SqlBucketDescriptor(key);
213
+ if (parameters instanceof Scalar) {
214
+ this.#withScalar(parameters, (q) => {
215
+ return descriptor.addParameterQuery(q, queryOptions);
216
+ });
217
+ }
218
+ else if (parameters instanceof YAMLSeq) {
219
+ for (let item of parameters.items) {
220
+ this.#withScalar(item, (q) => {
221
+ return descriptor.addParameterQuery(q, queryOptions);
222
+ });
223
+ }
224
+ }
225
+ else {
226
+ descriptor.addParameterQuery('SELECT', queryOptions);
227
+ }
228
+ if (!(dataQueries instanceof YAMLSeq)) {
229
+ this.#errors.push(this.#tokenError((dataQueries ?? value), `'data' must be an array`));
230
+ continue;
231
+ }
232
+ for (let query of dataQueries.items) {
233
+ this.#withScalar(query, (q) => {
234
+ return descriptor.addDataQuery(q, queryOptions, compatibility);
235
+ });
236
+ }
237
+ rules.bucketSources.push(descriptor);
238
+ rules.bucketDataSources.push(...descriptor.dataSources);
239
+ rules.bucketParameterLookupSources.push(...descriptor.parameterIndexLookupCreators);
240
+ }
241
+ for (const entry of streamMap?.items ?? []) {
242
+ const { key: keyScalar, value } = entry;
243
+ const key = keyScalar.toString();
244
+ if (!this.#checkUniqueName(key, keyScalar)) {
245
+ continue;
246
+ }
247
+ // We don't support with or multiple queries in streams, those are only supported by the new compiler.
248
+ const $with = value.get('with');
249
+ if ($with != null) {
250
+ this.#errors.push(this.#yamlError($with, 'Common table expressions are not supported without the `sync_config_compiler` option.'));
251
+ }
252
+ const queries = value.get('queries');
253
+ if (queries != null) {
254
+ this.#errors.push(this.#yamlError(queries, 'Multiple queries not supported without the `sync_config_compiler` option.'));
255
+ }
256
+ const accept_potentially_dangerous_queries = value.get('accept_potentially_dangerous_queries', true)?.value == true;
257
+ const queryOptions = {
258
+ ...this.options,
259
+ accept_potentially_dangerous_queries,
260
+ priority: this.#parsePriority(value),
261
+ auto_subscribe: value.get('auto_subscribe', true)?.value == true,
262
+ compatibility
263
+ };
264
+ const data = value.get('query', true);
265
+ if (data instanceof Scalar) {
266
+ this.#withScalar(data, (q) => {
267
+ const [parsed, errors] = syncStreamFromSql(key, q, queryOptions);
268
+ rules.bucketSources.push(parsed);
269
+ rules.bucketDataSources.push(...parsed.dataSources);
270
+ rules.bucketParameterLookupSources.push(...parsed.parameterIndexLookupCreators);
271
+ return {
272
+ parsed: true,
273
+ errors
274
+ };
275
+ });
276
+ }
277
+ else {
278
+ this.#errors.push(this.#tokenError(data, 'Must be a string.'));
279
+ continue;
280
+ }
281
+ }
282
+ return rules;
283
+ }
284
+ #parseEventDefinitions(parsed, compatibility) {
285
+ const eventMap = parsed.get('event_definitions');
286
+ const eventDescriptors = [];
287
+ for (const event of eventMap?.items ?? []) {
288
+ const { key, value } = event;
289
+ if (false == value instanceof YAMLMap) {
290
+ this.#errors.push(new YamlError(new Error(`Event definitions must be objects.`)));
291
+ continue;
292
+ }
293
+ const payloads = value.get('payloads');
294
+ if (false == payloads instanceof YAMLSeq) {
295
+ this.#errors.push(new YamlError(new Error(`Event definition payloads must be an array.`)));
296
+ continue;
297
+ }
298
+ const eventDescriptor = new SqlEventDescriptor(key.toString(), compatibility);
299
+ for (let item of payloads.items) {
300
+ if (!isScalar(item)) {
301
+ this.#errors.push(new YamlError(new Error(`Payload queries for events must be scalar.`)));
302
+ continue;
303
+ }
304
+ this.#withScalar(item, (q) => {
305
+ return eventDescriptor.addSourceQuery(q, this.options);
306
+ });
307
+ }
308
+ eventDescriptors.push(eventDescriptor);
309
+ }
310
+ return eventDescriptors;
311
+ }
312
+ #checkUniqueName(name, literal) {
313
+ if (this.#definitionNames.has(name)) {
314
+ this.#errors.push(this.#tokenError(literal, 'Duplicate stream or bucket definition.'));
315
+ return false;
316
+ }
317
+ this.#definitionNames.add(name);
318
+ return true;
319
+ }
320
+ #parsePriority(value) {
321
+ if (value.has('priority')) {
322
+ const priorityValue = value.get('priority', true);
323
+ if (typeof priorityValue.value != 'number' || !isValidPriority(priorityValue.value)) {
324
+ this.#errors.push(this.#tokenError(priorityValue, 'Invalid priority, expected a number between 0 and 3 (inclusive).'));
325
+ }
326
+ else {
327
+ return priorityValue.value;
328
+ }
329
+ }
330
+ }
331
+ #yamlError(node, message) {
332
+ if (node.range != null) {
333
+ const [start, _, end] = node.range;
334
+ return new YamlError(new Error(message), { start, end });
335
+ }
336
+ else {
337
+ return new YamlError(new Error(message));
338
+ }
339
+ }
340
+ #tokenError(token, message) {
341
+ const start = token?.srcToken?.offset ?? 0;
342
+ const end = start + 1;
343
+ return new YamlError(new Error(message), { start, end });
344
+ }
345
+ #withScalar(scalar, cb) {
346
+ const value = scalar.toString();
347
+ const wrapped = (value) => {
348
+ try {
349
+ return cb(value);
350
+ }
351
+ catch (e) {
352
+ return {
353
+ parsed: false,
354
+ errors: [e]
355
+ };
356
+ }
357
+ };
358
+ const result = wrapped(value);
359
+ for (let err of result.errors) {
360
+ this.#addErrorFromScalar(scalar, value, err);
361
+ }
362
+ return result;
363
+ }
364
+ /**
365
+ * Reads string contents from a YAML scalar and returns an error listener for the sync stream compiler.
366
+ */
367
+ #scalarErrorListener(scalar) {
368
+ const value = scalar.toString();
369
+ const listener = {
370
+ report: (message, location, options) => {
371
+ const error = new SqlRuleError(message, value, location);
372
+ if (options?.isWarning) {
373
+ error.type = 'warning';
374
+ }
375
+ this.#addErrorFromScalar(scalar, value, error);
376
+ }
377
+ };
378
+ return [value, listener];
379
+ }
380
+ /**
381
+ * Adds an error originally added while parsing a YAML scalar string.
382
+ *
383
+ * @param scalar The scalar being parsed.
384
+ * @param value String contents of the scalar.
385
+ * @param error An error in the scalar content. Offsets will be translated to point at the full YAML source.
386
+ */
387
+ #addErrorFromScalar(scalar, value, err) {
388
+ let sourceOffset = scalar.srcToken.offset;
389
+ if (scalar.type == Scalar.QUOTE_DOUBLE || scalar.type == Scalar.QUOTE_SINGLE) {
390
+ // TODO: Is there a better way to do this?
391
+ sourceOffset += 1;
392
+ }
393
+ let offset;
394
+ let end;
395
+ if (err instanceof SqlRuleError && err.location) {
396
+ offset = err.location.start + sourceOffset;
397
+ end = err.location.end + sourceOffset;
398
+ }
399
+ else if (typeof err.token?._location?.start == 'number') {
400
+ offset = sourceOffset + err.token?._location?.start;
401
+ end = sourceOffset + err.token?._location?.end;
402
+ }
403
+ else {
404
+ offset = sourceOffset;
405
+ end = sourceOffset + Math.max(value.length, 1);
406
+ }
407
+ const pos = { start: offset, end };
408
+ this.#errors.push(new YamlError(err, pos));
409
+ }
410
+ }
411
+ //# sourceMappingURL=from_yaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from_yaml.js","sourceRoot":"","sources":["../src/from_yaml.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -22,6 +22,7 @@ export * from './StaticSchema.js';
22
22
  export { SyncStream } from './streams/stream.js';
23
23
  export { STREAM_FUNCTIONS } from './streams/functions.js';
24
24
  export { syncStreamFromSql } from './streams/from_sql.js';
25
+ export { SyncConfig, SyncConfigWithErrors } from './SyncConfig.js';
25
26
  export * from './TablePattern.js';
26
27
  export * from './types.js';
27
28
  export * from './types/custom_sqlite_value.js';
@@ -32,6 +33,6 @@ export * from './HydratedSyncRules.js';
32
33
  export * from './compiler/compiler.js';
33
34
  export * from './sync_plan/plan.js';
34
35
  export { serializeSyncPlan, deserializeSyncPlan } from './sync_plan/serialize.js';
35
- export { addPrecompiledSyncPlanToRules } from './sync_plan/evaluator/index.js';
36
+ export { PrecompiledSyncConfig } from './sync_plan/evaluator/index.js';
36
37
  export { javaScriptExpressionEngine } from './sync_plan/engine/javascript.js';
37
38
  export { nodeSqliteExpressionEngine } from './sync_plan/engine/sqlite.js';
package/dist/index.js CHANGED
@@ -22,6 +22,7 @@ export * from './StaticSchema.js';
22
22
  export { SyncStream } from './streams/stream.js';
23
23
  export { STREAM_FUNCTIONS } from './streams/functions.js';
24
24
  export { syncStreamFromSql } from './streams/from_sql.js';
25
+ export { SyncConfig } from './SyncConfig.js';
25
26
  export * from './TablePattern.js';
26
27
  export * from './types.js';
27
28
  export * from './types/custom_sqlite_value.js';
@@ -32,7 +33,7 @@ export * from './HydratedSyncRules.js';
32
33
  export * from './compiler/compiler.js';
33
34
  export * from './sync_plan/plan.js';
34
35
  export { serializeSyncPlan, deserializeSyncPlan } from './sync_plan/serialize.js';
35
- export { addPrecompiledSyncPlanToRules } from './sync_plan/evaluator/index.js';
36
+ export { PrecompiledSyncConfig } from './sync_plan/evaluator/index.js';
36
37
  export { javaScriptExpressionEngine } from './sync_plan/engine/javascript.js';
37
38
  export { nodeSqliteExpressionEngine } from './sync_plan/engine/sqlite.js';
38
39
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,cAAc,wBAAwB,CAAC;AAEvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0CAA0C,CAAC;AACzD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,cAAc,wBAAwB,CAAC;AAEvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
@@ -56,7 +56,6 @@ export const syncRulesSchema = {
56
56
  patternProperties: {
57
57
  '.*': {
58
58
  type: 'object',
59
- required: ['query'],
60
59
  examples: [{ query: ['select * from mytable'] }],
61
60
  properties: {
62
61
  accept_potentially_dangerous_queries: {
@@ -74,6 +73,20 @@ export const syncRulesSchema = {
74
73
  query: {
75
74
  description: 'The SQL query defining content to sync in this stream.',
76
75
  type: 'string'
76
+ },
77
+ queries: {
78
+ description: 'SQL queries defining content to sync in this stream.',
79
+ type: 'array',
80
+ items: { type: 'string' }
81
+ },
82
+ with: {
83
+ type: 'object',
84
+ description: 'Common table expressions defining subqueries available in queries.',
85
+ patternProperties: {
86
+ '.*': {
87
+ type: 'string'
88
+ }
89
+ }
77
90
  }
78
91
  }
79
92
  }
@@ -122,6 +135,9 @@ export const syncRulesSchema = {
122
135
  type: 'string',
123
136
  enum: Object.values(TimeValuePrecision.byName).map((e) => e.name)
124
137
  },
138
+ sync_config_compiler: {
139
+ type: 'boolean'
140
+ },
125
141
  ...Object.fromEntries(Object.entries(CompatibilityOption.byName).map((e) => {
126
142
  return [
127
143
  e[0],
@@ -1 +1 @@
1
- {"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../src/json_schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json_schema.js","sourceRoot":"","sources":["../src/json_schema.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SqlSyncRules } from '../SqlSyncRules.js';
1
+ import { SyncConfig } from '../SyncConfig.js';
2
2
  import { SourceSchema } from '../types.js';
3
3
  import { GenerateSchemaOptions, SchemaGenerator } from './SchemaGenerator.js';
4
4
  export declare class DartSchemaGenerator extends SchemaGenerator {
@@ -6,7 +6,7 @@ export declare class DartSchemaGenerator extends SchemaGenerator {
6
6
  readonly label = "Dart";
7
7
  readonly mediaType = "text/x-dart";
8
8
  readonly fileName = "schema.dart";
9
- generate(source: SqlSyncRules, schema: SourceSchema, options?: GenerateSchemaOptions): string;
9
+ generate(source: SyncConfig, schema: SourceSchema, options?: GenerateSchemaOptions): string;
10
10
  private generateTable;
11
11
  private generateColumn;
12
12
  }
@@ -15,7 +15,7 @@ export declare class DartFlutterFlowSchemaGenerator extends SchemaGenerator {
15
15
  readonly label = "FlutterFlow";
16
16
  readonly mediaType = "application/json";
17
17
  readonly fileName = "schema.json";
18
- generate(source: SqlSyncRules, schema: SourceSchema, options?: GenerateSchemaOptions): string;
18
+ generate(source: SyncConfig, schema: SourceSchema, options?: GenerateSchemaOptions): string;
19
19
  private generateTable;
20
20
  private generateColumn;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DartSchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/DartSchemaGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DartSchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/DartSchemaGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { SqlSyncRules } from '../SqlSyncRules.js';
1
+ import { SyncConfig } from '../SyncConfig.js';
2
2
  import { SourceSchema } from '../types.js';
3
3
  import { GenerateSchemaOptions, SchemaGenerator } from './SchemaGenerator.js';
4
4
  export declare class DotNetSchemaGenerator extends SchemaGenerator {
@@ -6,7 +6,7 @@ export declare class DotNetSchemaGenerator extends SchemaGenerator {
6
6
  readonly label = ".Net";
7
7
  readonly mediaType = "text/x-csharp";
8
8
  readonly fileName = "Schema.cs";
9
- generate(source: SqlSyncRules, schema: SourceSchema, options?: GenerateSchemaOptions): string;
9
+ generate(source: SyncConfig, schema: SourceSchema, options?: GenerateSchemaOptions): string;
10
10
  private toUpperCaseFirstLetter;
11
11
  private generateTable;
12
12
  private generateColumn;
@@ -1 +1 @@
1
- {"version":3,"file":"DotNetSchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/DotNetSchemaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAC/C,GAAG,GAAG,QAAQ,CAAC;IACf,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,eAAe,CAAC;IAC5B,QAAQ,GAAG,WAAW,CAAC;IAEhC,QAAQ,CAAC,MAAoB,EAAE,MAAoB,EAAE,OAA+B;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO;;;;IAIP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;MAI1F,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;;EAE1G,CAAC;IACD,CAAC;IAEO,sBAAsB,CAAC,GAAW;QACxC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,OAA2B,EAAE,OAA+B;QAC9F,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,cAAsB,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,OAAO,IAAI,GAAG,CAAC;YAClC,CAAC;YAED,IAAI,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC3D,OAAO,GAAG,cAAc,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,uBAAuB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;;IAE/D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;MACpB,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAwB;QAC7C,OAAO,MAAM,MAAM,CAAC,IAAI,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAqB,EAAU,EAAE;IACzD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,CAAC,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QACtC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"DotNetSchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/DotNetSchemaGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAyB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAC/C,GAAG,GAAG,QAAQ,CAAC;IACf,KAAK,GAAG,MAAM,CAAC;IACf,SAAS,GAAG,eAAe,CAAC;IAC5B,QAAQ,GAAG,WAAW,CAAC;IAEhC,QAAQ,CAAC,MAAkB,EAAE,MAAoB,EAAE,OAA+B;QAChF,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO;;;;IAIP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;MAI1F,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;;EAE1G,CAAC;IACD,CAAC;IAEO,sBAAsB,CAAC,GAAW;QACxC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,OAA2B,EAAE,OAA+B;QAC9F,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACrC,MAAM,IAAI,GAAG,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,cAAsB,CAAC;YAC3B,IAAI,IAAI,EAAE,CAAC;gBACT,cAAc,GAAG,OAAO,IAAI,EAAE,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,cAAc,GAAG,OAAO,IAAI,GAAG,CAAC;YAClC,CAAC;YAED,IAAI,OAAO,EAAE,mBAAmB,IAAI,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,CAAC;gBAC3D,OAAO,GAAG,cAAc,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,OAAO,cAAc,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,uBAAuB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC;;IAE/D,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;MACpB,CAAC;IACL,CAAC;IAEO,cAAc,CAAC,MAAwB;QAC7C,OAAO,MAAM,MAAM,CAAC,IAAI,MAAM,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC;IAC7D,CAAC;CACF;AAED,MAAM,gBAAgB,GAAG,CAAC,GAAqB,EAAU,EAAE;IACzD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IACnB,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;QAC5B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;SAAM,IAAI,CAAC,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;QACtC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACH,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { SqlSyncRules } from '../SqlSyncRules.js';
1
+ import { SyncConfig } from '../SyncConfig.js';
2
2
  import { SourceSchema } from '../types.js';
3
3
  import { SchemaGenerator } from './SchemaGenerator.js';
4
4
  export declare class JsLegacySchemaGenerator extends SchemaGenerator {
@@ -6,7 +6,7 @@ export declare class JsLegacySchemaGenerator extends SchemaGenerator {
6
6
  readonly label = "JavaScript (legacy syntax)";
7
7
  readonly mediaType = "text/javascript";
8
8
  readonly fileName = "schema.js";
9
- generate(source: SqlSyncRules, schema: SourceSchema): string;
9
+ generate(source: SyncConfig, schema: SourceSchema): string;
10
10
  private generateTable;
11
11
  private generateColumn;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"JsLegacySchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/JsLegacySchemaGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG5F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IACjD,GAAG,GAAG,UAAU,CAAC;IACjB,KAAK,GAAG,4BAA4B,CAAC;IACrC,SAAS,GAAG,iBAAiB,CAAC;IAC9B,QAAQ,GAAG,WAAW,CAAC;IAEhC,QAAQ,CAAC,MAAoB,EAAE,MAAoB;QACjD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO;IACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;CAErF,CAAC;IACA,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,OAA2B;QAC7D,OAAO;aACE,IAAI;;QAET,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;;KAE/D,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAwB;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YAC5B,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACnC,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACtC,OAAO,uBAAuB,MAAM,CAAC,IAAI,gCAAgC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"JsLegacySchemaGenerator.js","sourceRoot":"","sources":["../../src/schema-generators/JsLegacySchemaGenerator.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAO,uBAAwB,SAAQ,eAAe;IACjD,GAAG,GAAG,UAAU,CAAC;IACjB,KAAK,GAAG,4BAA4B,CAAC;IACrC,SAAS,GAAG,iBAAiB,CAAC;IAC9B,QAAQ,GAAG,WAAW,CAAC;IAEhC,QAAQ,CAAC,MAAkB,EAAE,MAAoB;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO;IACP,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;;CAErF,CAAC;IACA,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,OAA2B;QAC7D,OAAO;aACE,IAAI;;QAET,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;;KAE/D,CAAC;IACJ,CAAC;IAEO,cAAc,CAAC,MAAwB;QAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YAC5B,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,EAAE,CAAC;YACnC,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;aAAM,IAAI,CAAC,CAAC,SAAS,GAAG,YAAY,EAAE,CAAC;YACtC,OAAO,uBAAuB,MAAM,CAAC,IAAI,gCAAgC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,OAAO,uBAAuB,MAAM,CAAC,IAAI,6BAA6B,CAAC;QACzE,CAAC;IACH,CAAC;CACF"}