@elaraai/east-ui 1.0.97 → 1.0.98
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/src/collections/index.d.ts +0 -1
- package/dist/src/collections/index.d.ts.map +1 -1
- package/dist/src/collections/index.js +0 -1
- package/dist/src/collections/index.js.map +1 -1
- package/dist/src/component.d.ts +0 -999
- package/dist/src/component.d.ts.map +1 -1
- package/dist/src/component.js +0 -44
- package/dist/src/component.js.map +1 -1
- package/dist/src/contracts/drag.d.ts +2 -2
- package/dist/src/contracts/drag.js +2 -2
- package/dist/src/contracts/editing.d.ts +4 -0
- package/dist/src/contracts/editing.d.ts.map +1 -1
- package/dist/src/contracts/editing.js +2 -1
- package/dist/src/contracts/editing.js.map +1 -1
- package/dist/src/index.d.ts +2 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +4 -1
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +5 -2
- package/dist/src/internal.js.map +1 -1
- package/dist/src/layout/snap-grid/index.d.ts +1 -0
- package/dist/src/layout/snap-grid/index.d.ts.map +1 -1
- package/dist/src/pick/panel/index.js +1 -1
- package/dist/src/pick/panel/index.js.map +1 -1
- package/dist/src/platform/slice/index.d.ts +4 -7
- package/dist/src/platform/slice/index.d.ts.map +1 -1
- package/dist/src/platform/slice/index.js +5 -8
- package/dist/src/platform/slice/index.js.map +1 -1
- package/dist/src/platform/slice/record-area.d.ts +181 -0
- package/dist/src/platform/slice/record-area.d.ts.map +1 -0
- package/dist/src/platform/slice/record-area.js +304 -0
- package/dist/src/platform/slice/record-area.js.map +1 -0
- package/dist/src/platform/slice/record-chrome.d.ts +138 -0
- package/dist/src/platform/slice/record-chrome.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.d.ts +34 -1
- package/dist/src/platform/slice/record-plan.d.ts.map +1 -1
- package/dist/src/platform/slice/record-plan.js +126 -3
- package/dist/src/platform/slice/record-plan.js.map +1 -1
- package/dist/src/platform/slice/record-series.d.ts +166 -0
- package/dist/src/platform/slice/record-series.d.ts.map +1 -0
- package/dist/src/platform/slice/record-series.js +258 -0
- package/dist/src/platform/slice/record-series.js.map +1 -0
- package/dist/src/platform/slice/record-types.d.ts +1862 -13
- package/dist/src/platform/slice/record-types.d.ts.map +1 -1
- package/dist/src/platform/slice/record-types.js +50 -4
- package/dist/src/platform/slice/record-types.js.map +1 -1
- package/dist/src/platform/slice/record.d.ts +17 -2
- package/dist/src/platform/slice/record.d.ts.map +1 -1
- package/dist/src/platform/slice/record.js +62 -9
- package/dist/src/platform/slice/record.js.map +1 -1
- package/dist/src/runtime/collections/index.d.ts +0 -1
- package/dist/src/runtime/collections/index.d.ts.map +1 -1
- package/dist/src/runtime/collections/index.js +0 -1
- package/dist/src/runtime/collections/index.js.map +1 -1
- package/dist/src/runtime/record-slice-source.d.ts +298 -0
- package/dist/src/runtime/record-slice-source.d.ts.map +1 -1
- package/dist/src/runtime/record-slice-source.js +554 -16
- package/dist/src/runtime/record-slice-source.js.map +1 -1
- package/dist/src/runtime/record-slice.d.ts +87 -3
- package/dist/src/runtime/record-slice.d.ts.map +1 -1
- package/dist/src/runtime/record-slice.js +175 -12
- package/dist/src/runtime/record-slice.js.map +1 -1
- package/dist/src/slice/record/index.d.ts +69 -0
- package/dist/src/slice/record/index.d.ts.map +1 -1
- package/dist/src/style/color.d.ts +237 -0
- package/dist/src/style/color.d.ts.map +1 -0
- package/dist/src/style/color.js +105 -0
- package/dist/src/style/color.js.map +1 -0
- package/dist/src/style/namespace.d.ts +151 -1
- package/dist/src/style/namespace.d.ts.map +1 -1
- package/dist/src/style/namespace.js +9 -1
- package/dist/src/style/namespace.js.map +1 -1
- package/dist/src/style.d.ts +3 -0
- package/dist/src/style.d.ts.map +1 -1
- package/dist/src/style.js +3 -0
- package/dist/src/style.js.map +1 -1
- package/dist/test/style.examples.d.ts +1 -0
- package/dist/test/style.examples.d.ts.map +1 -1
- package/dist/test/style.examples.js +17 -2
- package/dist/test/style.examples.js.map +1 -1
- package/package.json +4 -4
- package/dist/src/collections/schematic/index.d.ts +0 -1390
- package/dist/src/collections/schematic/index.d.ts.map +0 -1
- package/dist/src/collections/schematic/index.js +0 -815
- package/dist/src/collections/schematic/index.js.map +0 -1
- package/dist/src/collections/schematic/types.d.ts +0 -1183
- package/dist/src/collections/schematic/types.d.ts.map +0 -1
- package/dist/src/collections/schematic/types.js +0 -724
- package/dist/src/collections/schematic/types.js.map +0 -1
- package/dist/src/runtime/collections/schematic.d.ts +0 -73
- package/dist/src/runtime/collections/schematic.d.ts.map +0 -1
- package/dist/src/runtime/collections/schematic.js +0 -69
- package/dist/src/runtime/collections/schematic.js.map +0 -1
- package/dist/test/collections/schematic.examples.d.ts +0 -23
- package/dist/test/collections/schematic.examples.d.ts.map +0 -1
- package/dist/test/collections/schematic.examples.js +0 -602
- package/dist/test/collections/schematic.examples.js.map +0 -1
|
@@ -63,6 +63,39 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
63
63
|
readonly to: import("@elaraai/east").StringType;
|
|
64
64
|
readonly optional: import("@elaraai/east").BooleanType;
|
|
65
65
|
}>>;
|
|
66
|
+
readonly area: OptionType<StructType<{
|
|
67
|
+
readonly x: import("@elaraai/east").StringType;
|
|
68
|
+
readonly y: import("@elaraai/east").StringType;
|
|
69
|
+
readonly width: OptionType<import("@elaraai/east").StringType>;
|
|
70
|
+
readonly height: OptionType<import("@elaraai/east").StringType>;
|
|
71
|
+
readonly centre: import("@elaraai/east").BooleanType;
|
|
72
|
+
readonly cell: import("@elaraai/east").FloatType;
|
|
73
|
+
readonly optional: import("@elaraai/east").BooleanType;
|
|
74
|
+
}>>;
|
|
75
|
+
readonly series: OptionType<StructType<{
|
|
76
|
+
readonly key: import("@elaraai/east").StringType;
|
|
77
|
+
readonly from: import("@elaraai/east").StringType;
|
|
78
|
+
readonly to: import("@elaraai/east").StringType;
|
|
79
|
+
readonly tile: VariantType<{
|
|
80
|
+
readonly day: NullType;
|
|
81
|
+
readonly week: NullType;
|
|
82
|
+
readonly month: NullType;
|
|
83
|
+
readonly quarter: NullType;
|
|
84
|
+
readonly year: NullType;
|
|
85
|
+
}>;
|
|
86
|
+
}>>;
|
|
87
|
+
readonly summary: OptionType<StructType<{
|
|
88
|
+
readonly key: import("@elaraai/east").StringType;
|
|
89
|
+
readonly from: import("@elaraai/east").StringType;
|
|
90
|
+
readonly to: import("@elaraai/east").StringType;
|
|
91
|
+
readonly tile: VariantType<{
|
|
92
|
+
readonly day: NullType;
|
|
93
|
+
readonly week: NullType;
|
|
94
|
+
readonly month: NullType;
|
|
95
|
+
readonly quarter: NullType;
|
|
96
|
+
readonly year: NullType;
|
|
97
|
+
}>;
|
|
98
|
+
}>>;
|
|
66
99
|
}>>;
|
|
67
100
|
readonly range: OptionType<import("@elaraai/east").StringType>;
|
|
68
101
|
readonly search: ArrayType<import("@elaraai/east").StringType>;
|
|
@@ -76,6 +109,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
76
109
|
readonly to: import("@elaraai/east").StringType;
|
|
77
110
|
}>;
|
|
78
111
|
readonly prefix: import("@elaraai/east").StringType;
|
|
112
|
+
readonly window: StructType<{
|
|
113
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
114
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
115
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
116
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
117
|
+
}>;
|
|
79
118
|
}>>;
|
|
80
119
|
}>>;
|
|
81
120
|
}>;
|
|
@@ -87,6 +126,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
87
126
|
readonly to: import("@elaraai/east").StringType;
|
|
88
127
|
}>;
|
|
89
128
|
readonly prefix: import("@elaraai/east").StringType;
|
|
129
|
+
readonly window: StructType<{
|
|
130
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
131
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
132
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
133
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
134
|
+
}>;
|
|
90
135
|
}>>;
|
|
91
136
|
readonly preset: OptionType<import("@elaraai/east").StringType>;
|
|
92
137
|
readonly resolution: OptionType<VariantType<{
|
|
@@ -107,6 +152,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
107
152
|
readonly to: import("@elaraai/east").StringType;
|
|
108
153
|
}>;
|
|
109
154
|
readonly prefix: import("@elaraai/east").StringType;
|
|
155
|
+
readonly window: StructType<{
|
|
156
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
157
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
158
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
159
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
160
|
+
}>;
|
|
110
161
|
}>>;
|
|
111
162
|
readonly preset: OptionType<import("@elaraai/east").StringType>;
|
|
112
163
|
readonly resolution: OptionType<VariantType<{
|
|
@@ -132,6 +183,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
132
183
|
readonly to: import("@elaraai/east").StringType;
|
|
133
184
|
}>;
|
|
134
185
|
readonly prefix: import("@elaraai/east").StringType;
|
|
186
|
+
readonly window: StructType<{
|
|
187
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
188
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
189
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
190
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
191
|
+
}>;
|
|
135
192
|
}>>], OptionType<import("@elaraai/east").IntegerType>>;
|
|
136
193
|
readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
|
|
137
194
|
readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
|
|
@@ -173,6 +230,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
173
230
|
readonly to: import("@elaraai/east").StringType;
|
|
174
231
|
}>;
|
|
175
232
|
readonly prefix: import("@elaraai/east").StringType;
|
|
233
|
+
readonly window: StructType<{
|
|
234
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
235
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
236
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
237
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
238
|
+
}>;
|
|
176
239
|
}>>, import("@elaraai/east").StringType], OptionType<import("@elaraai/east").BooleanType>>;
|
|
177
240
|
readonly containsRow: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
|
|
178
241
|
readonly values: ArrayType<import("@elaraai/east").StringType>;
|
|
@@ -181,6 +244,12 @@ export declare const RecordSliceChromeType: StructType<{
|
|
|
181
244
|
readonly to: import("@elaraai/east").StringType;
|
|
182
245
|
}>;
|
|
183
246
|
readonly prefix: import("@elaraai/east").StringType;
|
|
247
|
+
readonly window: StructType<{
|
|
248
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
249
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
250
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
251
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
252
|
+
}>;
|
|
184
253
|
}>>, import("@elaraai/east").StringType, import("@elaraai/east").BlobType], OptionType<import("@elaraai/east").BooleanType>>;
|
|
185
254
|
}>;
|
|
186
255
|
readonly affordances: ArrayType<VariantType<{
|
|
@@ -342,6 +411,39 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
342
411
|
readonly to: import("@elaraai/east").StringType;
|
|
343
412
|
readonly optional: import("@elaraai/east").BooleanType;
|
|
344
413
|
}>>;
|
|
414
|
+
readonly area: OptionType<StructType<{
|
|
415
|
+
readonly x: import("@elaraai/east").StringType;
|
|
416
|
+
readonly y: import("@elaraai/east").StringType;
|
|
417
|
+
readonly width: OptionType<import("@elaraai/east").StringType>;
|
|
418
|
+
readonly height: OptionType<import("@elaraai/east").StringType>;
|
|
419
|
+
readonly centre: import("@elaraai/east").BooleanType;
|
|
420
|
+
readonly cell: import("@elaraai/east").FloatType;
|
|
421
|
+
readonly optional: import("@elaraai/east").BooleanType;
|
|
422
|
+
}>>;
|
|
423
|
+
readonly series: OptionType<StructType<{
|
|
424
|
+
readonly key: import("@elaraai/east").StringType;
|
|
425
|
+
readonly from: import("@elaraai/east").StringType;
|
|
426
|
+
readonly to: import("@elaraai/east").StringType;
|
|
427
|
+
readonly tile: VariantType<{
|
|
428
|
+
readonly day: NullType;
|
|
429
|
+
readonly week: NullType;
|
|
430
|
+
readonly month: NullType;
|
|
431
|
+
readonly quarter: NullType;
|
|
432
|
+
readonly year: NullType;
|
|
433
|
+
}>;
|
|
434
|
+
}>>;
|
|
435
|
+
readonly summary: OptionType<StructType<{
|
|
436
|
+
readonly key: import("@elaraai/east").StringType;
|
|
437
|
+
readonly from: import("@elaraai/east").StringType;
|
|
438
|
+
readonly to: import("@elaraai/east").StringType;
|
|
439
|
+
readonly tile: VariantType<{
|
|
440
|
+
readonly day: NullType;
|
|
441
|
+
readonly week: NullType;
|
|
442
|
+
readonly month: NullType;
|
|
443
|
+
readonly quarter: NullType;
|
|
444
|
+
readonly year: NullType;
|
|
445
|
+
}>;
|
|
446
|
+
}>>;
|
|
345
447
|
}>>;
|
|
346
448
|
readonly range: OptionType<import("@elaraai/east").StringType>;
|
|
347
449
|
readonly search: ArrayType<import("@elaraai/east").StringType>;
|
|
@@ -355,6 +457,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
355
457
|
readonly to: import("@elaraai/east").StringType;
|
|
356
458
|
}>;
|
|
357
459
|
readonly prefix: import("@elaraai/east").StringType;
|
|
460
|
+
readonly window: StructType<{
|
|
461
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
462
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
463
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
464
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
465
|
+
}>;
|
|
358
466
|
}>>;
|
|
359
467
|
}>>;
|
|
360
468
|
}>;
|
|
@@ -366,6 +474,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
366
474
|
readonly to: import("@elaraai/east").StringType;
|
|
367
475
|
}>;
|
|
368
476
|
readonly prefix: import("@elaraai/east").StringType;
|
|
477
|
+
readonly window: StructType<{
|
|
478
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
479
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
480
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
481
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
482
|
+
}>;
|
|
369
483
|
}>>;
|
|
370
484
|
readonly preset: OptionType<import("@elaraai/east").StringType>;
|
|
371
485
|
readonly resolution: OptionType<VariantType<{
|
|
@@ -386,6 +500,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
386
500
|
readonly to: import("@elaraai/east").StringType;
|
|
387
501
|
}>;
|
|
388
502
|
readonly prefix: import("@elaraai/east").StringType;
|
|
503
|
+
readonly window: StructType<{
|
|
504
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
505
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
506
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
507
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
508
|
+
}>;
|
|
389
509
|
}>>;
|
|
390
510
|
readonly preset: OptionType<import("@elaraai/east").StringType>;
|
|
391
511
|
readonly resolution: OptionType<VariantType<{
|
|
@@ -411,6 +531,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
411
531
|
readonly to: import("@elaraai/east").StringType;
|
|
412
532
|
}>;
|
|
413
533
|
readonly prefix: import("@elaraai/east").StringType;
|
|
534
|
+
readonly window: StructType<{
|
|
535
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
536
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
537
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
538
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
539
|
+
}>;
|
|
414
540
|
}>>], OptionType<import("@elaraai/east").IntegerType>>;
|
|
415
541
|
readonly total: import("@elaraai/east").FunctionType<[], OptionType<import("@elaraai/east").IntegerType>>;
|
|
416
542
|
readonly domain: import("@elaraai/east").FunctionType<[import("@elaraai/east").StringType], OptionType<StructType<{
|
|
@@ -452,6 +578,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
452
578
|
readonly to: import("@elaraai/east").StringType;
|
|
453
579
|
}>;
|
|
454
580
|
readonly prefix: import("@elaraai/east").StringType;
|
|
581
|
+
readonly window: StructType<{
|
|
582
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
583
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
584
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
585
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
586
|
+
}>;
|
|
455
587
|
}>>, import("@elaraai/east").StringType], OptionType<import("@elaraai/east").BooleanType>>;
|
|
456
588
|
readonly containsRow: import("@elaraai/east").FunctionType<[import("@elaraai/east").DictType<import("@elaraai/east").StringType, VariantType<{
|
|
457
589
|
readonly values: ArrayType<import("@elaraai/east").StringType>;
|
|
@@ -460,6 +592,12 @@ export declare const RecordSlicesChromeType: StructType<{
|
|
|
460
592
|
readonly to: import("@elaraai/east").StringType;
|
|
461
593
|
}>;
|
|
462
594
|
readonly prefix: import("@elaraai/east").StringType;
|
|
595
|
+
readonly window: StructType<{
|
|
596
|
+
readonly minX: import("@elaraai/east").FloatType;
|
|
597
|
+
readonly minY: import("@elaraai/east").FloatType;
|
|
598
|
+
readonly maxX: import("@elaraai/east").FloatType;
|
|
599
|
+
readonly maxY: import("@elaraai/east").FloatType;
|
|
600
|
+
}>;
|
|
463
601
|
}>>, import("@elaraai/east").StringType, import("@elaraai/east").BlobType], OptionType<import("@elaraai/east").BooleanType>>;
|
|
464
602
|
}>;
|
|
465
603
|
}>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-chrome.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-chrome.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAc,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAkC,KAAK,kBAAkB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7K,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,yBAAyB;;;;;;;;EAGpC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AACzE,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"record-chrome.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-chrome.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,qEAAqE;AACrE,OAAO,EAAE,SAAS,EAAc,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAkC,KAAK,kBAAkB,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7K,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,sEAAsE;AACtE,eAAO,MAAM,yBAAyB;;;;;;;;EAGpC,CAAC;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,yBAAyB,CAAC;AACzE,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAE7E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC;AAEjE,6DAA6D;AAC7D,MAAM,WAAW,wBAAwB;IACrC,iEAAiE;IACjE,KAAK,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAC/C,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/C,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGrD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,wBAAwB,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CAapG;AAED;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIjC,CAAC;AACH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC;AAEnE,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACtC,wEAAwE;IACxE,KAAK,EAAE,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;IAChD,uEAAuE;IACvE,WAAW,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC/C,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC7C;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAGtD;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,QAAQ,CAAC,sBAAsB,CAAC,CAgBvG"}
|
|
@@ -19,6 +19,11 @@ export interface RecordSlicePlan {
|
|
|
19
19
|
}
|
|
20
20
|
/**
|
|
21
21
|
* Whether one index can answer every clause without scanning or duplicate rows.
|
|
22
|
+
* A clause under `__area` — a window, or the unplaced clause — is answered only
|
|
23
|
+
* by an area index whose leading fields the other clauses fill exactly. A
|
|
24
|
+
* series or a summary index answers none (#1039): the one files a row under
|
|
25
|
+
* each tile it touches, and the other's entries name no row; a reader reads
|
|
26
|
+
* their cells (`record-series.ts`).
|
|
22
27
|
* @param index - Available field path.
|
|
23
28
|
* @param where - Current narrowing.
|
|
24
29
|
* @returns Whether it is a supported path.
|
|
@@ -31,13 +36,41 @@ export declare function recordPlanIndex(indexes: readonly Index[], where: Readon
|
|
|
31
36
|
* prefix or half-open range. The server answers every query; no predicate runs
|
|
32
37
|
* over a fetched row. Completed ranges are sorted by their actual source offsets.
|
|
33
38
|
*
|
|
39
|
+
* A clause under `__area` reads through an area index whose leading fields the
|
|
40
|
+
* other clauses fill exactly: a `window`, the disjoint searches of
|
|
41
|
+
* {@link areaQueries} a combination of their values, or the unplaced clause, the
|
|
42
|
+
* rows with no place.
|
|
43
|
+
*
|
|
34
44
|
* @param indexes - Available paths.
|
|
35
45
|
* @param where - Field choices, in any authored order.
|
|
36
46
|
* @param defaultIndex - Unfiltered source containing every primary row once.
|
|
37
47
|
* @returns One path and its key searches; null when no index answers it.
|
|
38
|
-
* @throws When a choice would exceed the bounded number of disjoint runs
|
|
48
|
+
* @throws When a choice would exceed the bounded number of disjoint runs; when a
|
|
49
|
+
* clause under `__area` has no area index to read it, naming the one to
|
|
50
|
+
* declare; or when a window or the unplaced clause is malformed.
|
|
39
51
|
*/
|
|
40
52
|
export declare function planRecordSlice(indexes: readonly Index[], where: ReadonlyMap<string, Choice>, defaultIndex: string): RecordSlicePlan | null;
|
|
53
|
+
/**
|
|
54
|
+
* What a field's choice of a kind needs chosen first, by the narrowing as it
|
|
55
|
+
* stands: the fields an index that takes that kind of choice on the field
|
|
56
|
+
* takes exact choices of beside it — those before it on its path, every
|
|
57
|
+
* leading field of an interval index, and every Set field it fans out over —
|
|
58
|
+
* less those the narrowing already chooses so, the index needing the fewest.
|
|
59
|
+
* An index counts only where each of those is a field the rail offers, and
|
|
60
|
+
* where the matcher ({@link recordPathMatches}) takes what it would then hold.
|
|
61
|
+
* `null` where no index takes that kind of choice on the field at all,
|
|
62
|
+
* whatever else is chosen: a prefix of a field only an interval index leads,
|
|
63
|
+
* whose leading fields take exact values alone, is one no field chosen first
|
|
64
|
+
* makes possible.
|
|
65
|
+
*
|
|
66
|
+
* @param indexes - Available field paths.
|
|
67
|
+
* @param current - Current narrowing.
|
|
68
|
+
* @param field - The field being chosen.
|
|
69
|
+
* @param kind - The kind of its choice: exact values, a range or a prefix (a window is a read's, never the rail's).
|
|
70
|
+
* @param offered - The fields the rail offers: one it does not can never be chosen first.
|
|
71
|
+
* @returns The fields still to choose, in their index's order — none where none is — or null.
|
|
72
|
+
*/
|
|
73
|
+
export declare function recordChoiceNeeds(indexes: readonly Index[], current: ReadonlyMap<string, Choice>, field: string, kind: Choice["type"], offered: ReadonlySet<string>): string[] | null;
|
|
41
74
|
/**
|
|
42
75
|
* Keep the largest supported leading path after a choice changes. A new field
|
|
43
76
|
* that cannot follow replaces incompatible clauses; a trailing field with no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-plan.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"record-plan.d.ts","sourceRoot":"","sources":["../../../../src/platform/slice/record-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAIrF,KAAK,MAAM,GAAG,WAAW,CAAC,qBAAqB,CAAC,CAAC;AACjD,KAAK,KAAK,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAE/C,kFAAkF;AAClF,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC5B,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;CACzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CA2B3F;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,GAAG,SAAS,CAIhH;AA0BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CA4D3I;AASD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAC5G,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,IAAI,CAmBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAiBxK"}
|
|
@@ -5,20 +5,38 @@
|
|
|
5
5
|
/** Query planning shared by authoring validation and the record Slice runtime. */
|
|
6
6
|
import { none, some, variant } from "@elaraai/east";
|
|
7
7
|
import { intervalQueries } from "./record-interval.js";
|
|
8
|
+
import { AREA_FIELD, AREA_UNPLACED, areaQueries } from "./record-area.js";
|
|
8
9
|
/** Bound the fan-out of a multi-choice path; never replace it with a row scan. */
|
|
9
10
|
export const MAX_RECORD_SLICE_RUNS = 64;
|
|
10
11
|
/**
|
|
11
12
|
* Whether one index can answer every clause without scanning or duplicate rows.
|
|
13
|
+
* A clause under `__area` — a window, or the unplaced clause — is answered only
|
|
14
|
+
* by an area index whose leading fields the other clauses fill exactly. A
|
|
15
|
+
* series or a summary index answers none (#1039): the one files a row under
|
|
16
|
+
* each tile it touches, and the other's entries name no row; a reader reads
|
|
17
|
+
* their cells (`record-series.ts`).
|
|
12
18
|
* @param index - Available field path.
|
|
13
19
|
* @param where - Current narrowing.
|
|
14
20
|
* @returns Whether it is a supported path.
|
|
15
21
|
*/
|
|
16
22
|
export function recordPathMatches(index, where) {
|
|
23
|
+
if (index.series.type === "some" || index.summary.type === "some")
|
|
24
|
+
return false;
|
|
17
25
|
for (const field of index.sets) {
|
|
18
26
|
const choice = where.get(field);
|
|
19
27
|
if (choice?.type !== "values" || choice.value.length !== 1)
|
|
20
28
|
return false;
|
|
21
29
|
}
|
|
30
|
+
for (const [field, choice] of where)
|
|
31
|
+
if (choice.type === "window" && field !== AREA_FIELD)
|
|
32
|
+
return false;
|
|
33
|
+
const area = where.get(AREA_FIELD);
|
|
34
|
+
if (area !== undefined) {
|
|
35
|
+
if (index.area.type !== "some" || (area.type !== "window" && area.type !== "values"))
|
|
36
|
+
return false;
|
|
37
|
+
const leading = index.fields.slice(0, -1);
|
|
38
|
+
return leading.every(field => where.get(field)?.type === "values") && where.size === leading.length + 1;
|
|
39
|
+
}
|
|
22
40
|
if (index.interval.type === "some") {
|
|
23
41
|
const leading = index.fields.slice(0, -1);
|
|
24
42
|
if (leading.some(field => where.get(field)?.type !== "values"))
|
|
@@ -43,16 +61,46 @@ export function recordPlanIndex(indexes, where) {
|
|
|
43
61
|
return indexes.find(index => recordPathMatches(index, where) && (overlaps.size === 0
|
|
44
62
|
|| index.interval.type === "some" && overlaps.has(index.interval.value.from)));
|
|
45
63
|
}
|
|
64
|
+
/**
|
|
65
|
+
* Why no listed index answers a narrowing with a clause under `__area`: the
|
|
66
|
+
* choice it cannot take beside it, or the area index it needs, by the fields
|
|
67
|
+
* the other clauses choose.
|
|
68
|
+
*/
|
|
69
|
+
function areaRefusal(indexes, where) {
|
|
70
|
+
const beside = [...where.keys()].filter(field => field !== AREA_FIELD);
|
|
71
|
+
const named = (fields) => fields.map(field => `'${field}'`).join(", ");
|
|
72
|
+
const inexact = beside.filter(field => where.get(field).type !== "values");
|
|
73
|
+
if (inexact.length > 0) {
|
|
74
|
+
return `A read by area takes exact choices beside it, and ${named(inexact)} ${inexact.length === 1 ? "holds" : "hold"} a range or a prefix`;
|
|
75
|
+
}
|
|
76
|
+
const areas = indexes.filter(index => index.area.type === "some");
|
|
77
|
+
const fanned = beside.filter(field => areas.some(index => index.sets.has(field)) && where.get(field).value.length !== 1);
|
|
78
|
+
if (fanned.length > 0) {
|
|
79
|
+
return `A read by area takes one value of ${named(fanned)}, which ${fanned.length === 1 ? "fans" : "fan"} out over a Set`;
|
|
80
|
+
}
|
|
81
|
+
const on = beside.length === 0 ? "" : `on: [${beside.map(field => JSON.stringify(field)).join(", ")}], `;
|
|
82
|
+
return `A read by area${beside.length === 0 ? "" : ` beside ${named(beside)}`} needs an area index led by ` +
|
|
83
|
+
`${beside.length === 0 ? "no field" : `exactly ${named(beside)}`} — e3.recordIndex.area(name, record, { ${on}x, y, … }), ` +
|
|
84
|
+
`listed in Data.bindPaged's indexes` + (areas.length === 0 ? "; this binding lists none"
|
|
85
|
+
: `; ${named(areas.map(index => index.name))} ${areas.length === 1 ? "is" : "are"} led by other fields`);
|
|
86
|
+
}
|
|
46
87
|
/**
|
|
47
88
|
* Plan the record's narrowing as exact leading values followed by at most one
|
|
48
89
|
* prefix or half-open range. The server answers every query; no predicate runs
|
|
49
90
|
* over a fetched row. Completed ranges are sorted by their actual source offsets.
|
|
50
91
|
*
|
|
92
|
+
* A clause under `__area` reads through an area index whose leading fields the
|
|
93
|
+
* other clauses fill exactly: a `window`, the disjoint searches of
|
|
94
|
+
* {@link areaQueries} a combination of their values, or the unplaced clause, the
|
|
95
|
+
* rows with no place.
|
|
96
|
+
*
|
|
51
97
|
* @param indexes - Available paths.
|
|
52
98
|
* @param where - Field choices, in any authored order.
|
|
53
99
|
* @param defaultIndex - Unfiltered source containing every primary row once.
|
|
54
100
|
* @returns One path and its key searches; null when no index answers it.
|
|
55
|
-
* @throws When a choice would exceed the bounded number of disjoint runs
|
|
101
|
+
* @throws When a choice would exceed the bounded number of disjoint runs; when a
|
|
102
|
+
* clause under `__area` has no area index to read it, naming the one to
|
|
103
|
+
* declare; or when a window or the unplaced clause is malformed.
|
|
56
104
|
*/
|
|
57
105
|
export function planRecordSlice(indexes, where, defaultIndex) {
|
|
58
106
|
if (where.size === 0) {
|
|
@@ -60,12 +108,24 @@ export function planRecordSlice(indexes, where, defaultIndex) {
|
|
|
60
108
|
return { index: defaultIndex, queries: index?.interval.type === "some" && index.fields.length === 1
|
|
61
109
|
? intervalQueries([], undefined, index.interval.value) : [] };
|
|
62
110
|
}
|
|
111
|
+
for (const [field, choice] of where) {
|
|
112
|
+
if (choice.type === "window" && field !== AREA_FIELD)
|
|
113
|
+
throw new Error(`A window reads through an area index's ${AREA_FIELD}, not '${field}'`);
|
|
114
|
+
}
|
|
115
|
+
const area = where.get(AREA_FIELD);
|
|
116
|
+
if (area !== undefined && area.type !== "window" && area.type !== "values") {
|
|
117
|
+
throw new Error(`Under ${AREA_FIELD}, choose a window or the unplaced clause, not a ${area.type}`);
|
|
118
|
+
}
|
|
63
119
|
const index = recordPlanIndex(indexes, where);
|
|
64
|
-
if (index === undefined)
|
|
120
|
+
if (index === undefined) {
|
|
121
|
+
if (area !== undefined)
|
|
122
|
+
throw new Error(areaRefusal(indexes, where));
|
|
65
123
|
return null;
|
|
124
|
+
}
|
|
66
125
|
let prefixes = [[]];
|
|
67
126
|
let tail;
|
|
68
|
-
|
|
127
|
+
const generated = index.interval.type === "some" || (area !== undefined && index.area.type === "some");
|
|
128
|
+
for (const field of generated ? index.fields.slice(0, -1) : index.fields) {
|
|
69
129
|
const choice = where.get(field);
|
|
70
130
|
if (choice === undefined)
|
|
71
131
|
break;
|
|
@@ -81,6 +141,18 @@ export function planRecordSlice(indexes, where, defaultIndex) {
|
|
|
81
141
|
}
|
|
82
142
|
prefixes = prefixes.flatMap(prefix => values.map(value => [...prefix, value]));
|
|
83
143
|
}
|
|
144
|
+
if (area !== undefined && index.area.type === "some") {
|
|
145
|
+
const box = index.area.value;
|
|
146
|
+
if (area.type === "window") {
|
|
147
|
+
return { index: index.name, queries: prefixes.flatMap(values => areaQueries(values, area.value, box.cell)) };
|
|
148
|
+
}
|
|
149
|
+
if (area.type !== "values" || area.value.length !== 1 || area.value[0] !== AREA_UNPLACED) {
|
|
150
|
+
throw new Error(`Under ${AREA_FIELD}, the one value is the unplaced clause, ${AREA_UNPLACED}`);
|
|
151
|
+
}
|
|
152
|
+
if (!box.optional)
|
|
153
|
+
throw new Error(`'${index.name}' places every row: its '${box.x}' and '${box.y}' are not Options, so none is unplaced`);
|
|
154
|
+
return { index: index.name, queries: prefixes.map(values => variant("fields", { values: [...values, AREA_UNPLACED], prefix: none })) };
|
|
155
|
+
}
|
|
84
156
|
if (index.interval.type === "some") {
|
|
85
157
|
const interval = index.interval.value;
|
|
86
158
|
const choice = where.get(interval.from);
|
|
@@ -101,6 +173,57 @@ export function planRecordSlice(indexes, where, defaultIndex) {
|
|
|
101
173
|
: variant("fields", { values, prefix: none });
|
|
102
174
|
}) };
|
|
103
175
|
}
|
|
176
|
+
/** A choice of each kind the rail makes, as the matcher reads it: its kind and how many values, never what they are. */
|
|
177
|
+
const SAMPLES = {
|
|
178
|
+
values: variant("values", [""]),
|
|
179
|
+
range: variant("range", { from: "", to: "" }),
|
|
180
|
+
prefix: variant("prefix", ""),
|
|
181
|
+
};
|
|
182
|
+
/**
|
|
183
|
+
* What a field's choice of a kind needs chosen first, by the narrowing as it
|
|
184
|
+
* stands: the fields an index that takes that kind of choice on the field
|
|
185
|
+
* takes exact choices of beside it — those before it on its path, every
|
|
186
|
+
* leading field of an interval index, and every Set field it fans out over —
|
|
187
|
+
* less those the narrowing already chooses so, the index needing the fewest.
|
|
188
|
+
* An index counts only where each of those is a field the rail offers, and
|
|
189
|
+
* where the matcher ({@link recordPathMatches}) takes what it would then hold.
|
|
190
|
+
* `null` where no index takes that kind of choice on the field at all,
|
|
191
|
+
* whatever else is chosen: a prefix of a field only an interval index leads,
|
|
192
|
+
* whose leading fields take exact values alone, is one no field chosen first
|
|
193
|
+
* makes possible.
|
|
194
|
+
*
|
|
195
|
+
* @param indexes - Available field paths.
|
|
196
|
+
* @param current - Current narrowing.
|
|
197
|
+
* @param field - The field being chosen.
|
|
198
|
+
* @param kind - The kind of its choice: exact values, a range or a prefix (a window is a read's, never the rail's).
|
|
199
|
+
* @param offered - The fields the rail offers: one it does not can never be chosen first.
|
|
200
|
+
* @returns The fields still to choose, in their index's order — none where none is — or null.
|
|
201
|
+
*/
|
|
202
|
+
export function recordChoiceNeeds(indexes, current, field, kind, offered) {
|
|
203
|
+
if (kind === "window")
|
|
204
|
+
return null;
|
|
205
|
+
let best = null;
|
|
206
|
+
for (const index of indexes) {
|
|
207
|
+
const at = index.fields.indexOf(field);
|
|
208
|
+
if (at < 0 || index.series.type === "some" || index.summary.type === "some")
|
|
209
|
+
continue;
|
|
210
|
+
const before = index.interval.type === "some" ? index.fields.slice(0, -1) : index.fields.slice(0, at);
|
|
211
|
+
const needed = [...new Set([...before, ...index.sets])].filter(name => name !== field);
|
|
212
|
+
if (needed.some(name => !offered.has(name)))
|
|
213
|
+
continue;
|
|
214
|
+
const candidate = new Map(needed.map(name => [name, SAMPLES.values]));
|
|
215
|
+
candidate.set(field, SAMPLES[kind]);
|
|
216
|
+
if (!recordPathMatches(index, candidate))
|
|
217
|
+
continue;
|
|
218
|
+
const missing = needed.filter(name => {
|
|
219
|
+
const chosen = current.get(name);
|
|
220
|
+
return chosen?.type !== "values" || (index.sets.has(name) && chosen.value.length !== 1);
|
|
221
|
+
});
|
|
222
|
+
if (best === null || missing.length < best.length)
|
|
223
|
+
best = missing;
|
|
224
|
+
}
|
|
225
|
+
return best;
|
|
226
|
+
}
|
|
104
227
|
/**
|
|
105
228
|
* Keep the largest supported leading path after a choice changes. A new field
|
|
106
229
|
* that cannot follow replaces incompatible clauses; a trailing field with no
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-plan.js","sourceRoot":"","sources":["../../../../src/platform/slice/record-plan.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kFAAkF;AAClF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAoB,MAAM,eAAe,CAAC;AAKtE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAUxC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAY,EAAE,KAAkC;IAC9E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IAC7E,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnG,CAAC;IACD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,IAAI,EAAE,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM;IACxC,CAAC;IACD,OAAO,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE,KAAkC;IACzF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChL,OAAO,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;WAC7E,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,eAAe,CAAC,OAAyB,EAAE,KAAkC,EAAE,YAAoB;IAC/G,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QACzE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBAC/F,CAAC,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAe,CAAC,EAAE,CAAC,CAAC;IAChC,IAAI,IAAqD,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAAC,IAAI,GAAG,MAAM,CAAC;YAAC,MAAM;QAAC,CAAC;QACvD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,iCAAiC,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,oCAAoC,qBAAqB,gCAAgC,CAAC,CAAC;QAC/G,CAAC;QACD,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,MAAM,EAAE,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;YAC7F,MAAM,IAAI,KAAK,CAAC,oCAAoC,qBAAqB,gCAAgC,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;IACjH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACvD,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO;gBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC5H,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC;oBACnD,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC;oBAC/B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,UAAU;gBACpB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC;gBAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CAAC;AACT,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAyB,EAAE,OAAoC,EAAE,KAAa,EAAE,MAA0B;IACxI,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACnC,IAAI,MAAM,KAAK,SAAS;QAAE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;;QAC7C,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,IAAI,IAAI,GAA+B,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACnC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM;YAChC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAAE,MAAM;QACxC,CAAC;QACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5D,IAAI,iBAAiB,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAAE,IAAI,GAAG,SAAS,CAAC;IAC/G,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
1
|
+
{"version":3,"file":"record-plan.js","sourceRoot":"","sources":["../../../../src/platform/slice/record-plan.ts"],"names":[],"mappings":"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"}
|