@elaraai/e3-ui 1.0.98 → 1.0.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -2
- package/dist/src/allocation/adapters.d.ts +1 -1
- package/dist/src/allocation/adapters.js +1 -1
- package/dist/src/allocation/index.d.ts +46 -90
- package/dist/src/allocation/index.d.ts.map +1 -1
- package/dist/src/allocation/index.js +5 -5
- package/dist/src/allocation/index.js.map +1 -1
- package/dist/src/bind/data-indexed.d.ts +273 -51
- package/dist/src/bind/data-indexed.d.ts.map +1 -1
- package/dist/src/bind/data-indexed.js +233 -56
- package/dist/src/bind/data-indexed.js.map +1 -1
- package/dist/src/bind/data.d.ts +48 -9
- package/dist/src/bind/data.d.ts.map +1 -1
- package/dist/src/bind/data.js +48 -3
- package/dist/src/bind/data.js.map +1 -1
- package/dist/src/bind/record.d.ts +61 -24
- package/dist/src/bind/record.d.ts.map +1 -1
- package/dist/src/bind/record.js +17 -57
- package/dist/src/bind/record.js.map +1 -1
- package/dist/src/calendar/index.d.ts +55 -95
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +10 -6
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/flowchart/index.d.ts +35 -31
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +35 -31
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/library.d.ts +108 -84
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +108 -84
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +39 -107
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +3 -3
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/values.d.ts +35 -31
- package/dist/src/flowchart/values.d.ts.map +1 -1
- package/dist/src/flowchart/values.js +35 -31
- package/dist/src/flowchart/values.js.map +1 -1
- package/dist/src/flowchart/window.d.ts +0 -12
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/flowchart/window.js +3 -2
- package/dist/src/flowchart/window.js.map +1 -1
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +7 -3
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +12 -3
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/assemble.d.ts +8 -0
- package/dist/src/plan/assemble.d.ts.map +1 -1
- package/dist/src/plan/assemble.js +1 -1
- package/dist/src/plan/assemble.js.map +1 -1
- package/dist/src/plan/builders.d.ts +1518 -2
- package/dist/src/plan/builders.d.ts.map +1 -1
- package/dist/src/plan/builders.js +248 -114
- package/dist/src/plan/builders.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +9 -14
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +6 -46
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/factories.d.ts +72 -4
- package/dist/src/plan/factories.d.ts.map +1 -1
- package/dist/src/plan/factories.js +147 -1
- package/dist/src/plan/factories.js.map +1 -1
- package/dist/src/plan/index.d.ts +147 -125
- package/dist/src/plan/index.d.ts.map +1 -1
- package/dist/src/plan/index.js +135 -122
- package/dist/src/plan/index.js.map +1 -1
- package/dist/src/plan/ir.d.ts +1105 -44
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ir.js +5 -0
- package/dist/src/plan/ir.js.map +1 -1
- package/dist/src/plan/library.d.ts +65 -42
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/library.js +65 -42
- package/dist/src/plan/library.js.map +1 -1
- package/dist/src/plan/nested-checks.d.ts +146 -0
- package/dist/src/plan/nested-checks.d.ts.map +1 -0
- package/dist/src/plan/nested-checks.js +468 -0
- package/dist/src/plan/nested-checks.js.map +1 -0
- package/dist/src/plan/nested-patch.d.ts +35 -0
- package/dist/src/plan/nested-patch.d.ts.map +1 -0
- package/dist/src/plan/nested-patch.js +143 -0
- package/dist/src/plan/nested-patch.js.map +1 -0
- package/dist/src/plan/nested-read.d.ts +3250 -0
- package/dist/src/plan/nested-read.d.ts.map +1 -0
- package/dist/src/plan/nested-read.js +163 -0
- package/dist/src/plan/nested-read.js.map +1 -0
- package/dist/src/plan/nested.d.ts +280 -0
- package/dist/src/plan/nested.d.ts.map +1 -0
- package/dist/src/plan/nested.js +6 -0
- package/dist/src/plan/nested.js.map +1 -0
- package/dist/src/plan/ordered-source.d.ts +1030 -1
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/ordered-source.js +48 -6
- package/dist/src/plan/ordered-source.js.map +1 -1
- package/dist/src/plan/over.d.ts +111 -75
- package/dist/src/plan/over.d.ts.map +1 -1
- package/dist/src/plan/over.js +111 -75
- package/dist/src/plan/over.js.map +1 -1
- package/dist/src/plan/pick.d.ts +15 -3
- package/dist/src/plan/pick.d.ts.map +1 -1
- package/dist/src/plan/pick.js +75 -36
- package/dist/src/plan/pick.js.map +1 -1
- package/dist/src/plan/plan.d.ts +2719 -558
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +14 -2
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/reads.d.ts +421 -0
- package/dist/src/plan/reads.d.ts.map +1 -0
- package/dist/src/plan/reads.js +143 -0
- package/dist/src/plan/reads.js.map +1 -0
- package/dist/src/plan/refs.d.ts +111 -75
- package/dist/src/plan/refs.d.ts.map +1 -1
- package/dist/src/plan/refs.js +111 -75
- package/dist/src/plan/refs.js.map +1 -1
- package/dist/src/plan/root.d.ts +10 -5
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +76 -13
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/plan/series.d.ts +5140 -4331
- package/dist/src/plan/series.d.ts.map +1 -1
- package/dist/src/plan/series.js +1026 -264
- package/dist/src/plan/series.js.map +1 -1
- package/dist/src/plan/shade.d.ts +981 -0
- package/dist/src/plan/shade.d.ts.map +1 -0
- package/dist/src/plan/shade.js +60 -0
- package/dist/src/plan/shade.js.map +1 -0
- package/dist/src/plan/types.d.ts +178 -18
- package/dist/src/plan/types.d.ts.map +1 -1
- package/dist/src/plan/types.js +69 -19
- package/dist/src/plan/types.js.map +1 -1
- package/dist/src/query/builder.d.ts +3 -3
- package/dist/src/query/builder.d.ts.map +1 -1
- package/dist/src/query/builder.js +1 -1
- package/dist/src/query/library.d.ts +3 -3
- package/dist/src/query/library.d.ts.map +1 -1
- package/dist/src/query/library.js +1 -1
- package/dist/src/query/queries.d.ts +2 -2
- package/dist/src/query/queries.js +1 -1
- package/dist/src/query/saved.d.ts +8 -4
- package/dist/src/query/saved.d.ts.map +1 -1
- package/dist/src/query/saved.js +8 -4
- package/dist/src/query/saved.js.map +1 -1
- package/dist/src/query/types.d.ts +8 -3
- package/dist/src/query/types.d.ts.map +1 -1
- package/dist/src/query/types.js +8 -3
- package/dist/src/query/types.js.map +1 -1
- package/dist/src/roster/index.d.ts +47 -91
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +6 -6
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/targets.d.ts +8 -4
- package/dist/src/roster/targets.d.ts.map +1 -1
- package/dist/src/roster/targets.js +9 -5
- package/dist/src/roster/targets.js.map +1 -1
- package/dist/src/schedule/cell-checks.js +3 -3
- package/dist/src/schedule/cell-checks.js.map +1 -1
- package/dist/src/schedule/days.d.ts +1 -1
- package/dist/src/schedule/days.js +1 -1
- package/dist/src/schedule/events.d.ts +10 -6
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +252 -228
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/patch.d.ts +1 -1
- package/dist/src/schedule/patch.js +1 -1
- package/dist/src/schedule/periods.d.ts +8 -4
- package/dist/src/schedule/periods.d.ts.map +1 -1
- package/dist/src/schedule/periods.js +1 -1
- package/dist/src/schedule/periods.js.map +1 -1
- package/dist/src/schedule/record-window.d.ts +38 -58
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +15 -16
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +1 -1
- package/dist/src/schedule/session.d.ts +1 -1
- package/dist/src/schedule/session.js +1 -1
- package/dist/src/schedule/types.d.ts +29 -1
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +16 -1
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schematic/index.d.ts +19 -9
- package/dist/src/schematic/index.d.ts.map +1 -1
- package/dist/src/schematic/index.js +19 -9
- package/dist/src/schematic/index.js.map +1 -1
- package/dist/src/schematic/kinds.d.ts +4 -4
- package/dist/src/schematic/kinds.js +9 -9
- package/dist/src/schematic/kinds.js.map +1 -1
- package/dist/src/schematic/payload.d.ts +38 -88
- package/dist/src/schematic/payload.d.ts.map +1 -1
- package/dist/src/schematic/payload.js +4 -4
- package/dist/src/schematic/payload.js.map +1 -1
- package/dist/src/schematic/window.d.ts +8 -7
- package/dist/src/schematic/window.d.ts.map +1 -1
- package/dist/src/schematic/window.js +22 -19
- package/dist/src/schematic/window.js.map +1 -1
- package/dist/src/sheet/bridge.d.ts +19 -0
- package/dist/src/sheet/bridge.d.ts.map +1 -1
- package/dist/src/sheet/bridge.js +28 -21
- package/dist/src/sheet/bridge.js.map +1 -1
- package/dist/src/sheet/index.d.ts +66 -46
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +66 -46
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +13 -8
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js +13 -8
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/record.d.ts +1 -1
- package/dist/src/sheet/record.js +2 -2
- package/dist/src/sheet/record.js.map +1 -1
- package/dist/src/sheet/registers.d.ts +152 -128
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +152 -128
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +4 -1
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +15 -3
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +39 -113
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +7 -5
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/sub-rows.d.ts +106 -76
- package/dist/src/sheet/sub-rows.d.ts.map +1 -1
- package/dist/src/sheet/sub-rows.js +106 -76
- package/dist/src/sheet/sub-rows.js.map +1 -1
- package/dist/src/sheet/types.d.ts +19 -62
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/studio/builder.d.ts +3 -153
- package/dist/src/studio/builder.d.ts.map +1 -1
- package/dist/src/studio/builder.js +1 -1
- package/dist/src/studio/canvas.d.ts +5 -4
- package/dist/src/studio/canvas.d.ts.map +1 -1
- package/dist/src/studio/canvas.js +8 -7
- package/dist/src/studio/canvas.js.map +1 -1
- package/dist/src/studio/component.d.ts +30 -20
- package/dist/src/studio/component.d.ts.map +1 -1
- package/dist/src/studio/component.js +26 -61
- package/dist/src/studio/component.js.map +1 -1
- package/dist/src/studio/index.d.ts +2 -2
- package/dist/src/studio/index.d.ts.map +1 -1
- package/dist/src/studio/index.js +1 -1
- package/dist/src/studio/index.js.map +1 -1
- package/dist/src/studio/inspector.d.ts +10 -39
- package/dist/src/studio/inspector.d.ts.map +1 -1
- package/dist/src/studio/inspector.js +11 -31
- package/dist/src/studio/inspector.js.map +1 -1
- package/dist/src/studio/library.d.ts +3 -169
- package/dist/src/studio/library.d.ts.map +1 -1
- package/dist/src/studio/library.js +1 -1
- package/dist/src/studio/page.d.ts +0 -8
- package/dist/src/studio/page.d.ts.map +1 -1
- package/dist/src/studio/pages.d.ts +17 -591
- package/dist/src/studio/pages.d.ts.map +1 -1
- package/dist/src/studio/pages.js +17 -44
- package/dist/src/studio/pages.js.map +1 -1
- package/dist/src/studio/palette.d.ts +2 -7
- package/dist/src/studio/palette.d.ts.map +1 -1
- package/dist/src/studio/palette.js +4 -5
- package/dist/src/studio/palette.js.map +1 -1
- package/dist/src/studio/publish.d.ts +8 -18
- package/dist/src/studio/publish.d.ts.map +1 -1
- package/dist/src/studio/publish.js +10 -36
- package/dist/src/studio/publish.js.map +1 -1
- package/dist/src/utils/derive.d.ts +12 -12
- package/dist/src/utils/derive.d.ts.map +1 -1
- package/dist/src/utils/derive.js +5 -2
- package/dist/src/utils/derive.js.map +1 -1
- package/dist/src/utils/ordered-source.d.ts.map +1 -1
- package/dist/src/utils/ordered-source.js +14 -5
- package/dist/src/utils/ordered-source.js.map +1 -1
- package/dist/test/allocation/allocation.examples.d.ts +1900 -1598
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -1
- package/dist/test/allocation/allocation.examples.js +179 -89
- package/dist/test/allocation/allocation.examples.js.map +1 -1
- package/dist/test/allocation/optimise.examples.d.ts.map +1 -1
- package/dist/test/allocation/optimise.examples.js +7 -7
- package/dist/test/allocation/optimise.examples.js.map +1 -1
- package/dist/test/bind/data/data.examples.d.ts +1057 -903
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +260 -204
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +457 -426
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +41 -21
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts +162 -170
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +20 -12
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-windows.examples.js +12 -12
- package/dist/test/calendar/calendar-windows.examples.js.map +1 -1
- package/dist/test/calendar/calendar.examples.d.ts +1172 -901
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +211 -124
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/calendar/optimise.examples.js +2 -2
- package/dist/test/calendar/optimise.examples.js.map +1 -1
- package/dist/test/examples-package.d.ts +6 -9
- package/dist/test/examples-package.d.ts.map +1 -1
- package/dist/test/examples-package.js +11 -32
- package/dist/test/examples-package.js.map +1 -1
- package/dist/test/flowchart/flowchart.examples.d.ts +3841 -2820
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +211 -121
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/plan/optimise.examples.js +2 -2
- package/dist/test/plan/optimise.examples.js.map +1 -1
- package/dist/test/plan/plan-events.examples.d.ts +4055 -3263
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +492 -319
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-nested.examples.d.ts +1829 -0
- package/dist/test/plan/plan-nested.examples.d.ts.map +1 -0
- package/dist/test/plan/plan-nested.examples.js +321 -0
- package/dist/test/plan/plan-nested.examples.js.map +1 -0
- package/dist/test/plan/plan-records.examples.d.ts +328 -362
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +81 -57
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +1756 -1398
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +161 -128
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +2238 -5712
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +839 -968
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/query/query.examples.d.ts +5221 -3005
- package/dist/test/query/query.examples.d.ts.map +1 -1
- package/dist/test/query/query.examples.js +169 -118
- package/dist/test/query/query.examples.js.map +1 -1
- package/dist/test/roster/optimise.examples.d.ts.map +1 -1
- package/dist/test/roster/optimise.examples.js +7 -7
- package/dist/test/roster/optimise.examples.js.map +1 -1
- package/dist/test/roster/roster-records.examples.d.ts +364 -392
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +40 -26
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +4605 -4308
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +212 -113
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +2646 -2471
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -1
- package/dist/test/schedule/schedule.examples.js +144 -88
- package/dist/test/schedule/schedule.examples.js.map +1 -1
- package/dist/test/schematic/schematic-records.examples.d.ts +286 -276
- package/dist/test/schematic/schematic-records.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic-records.examples.js +52 -38
- package/dist/test/schematic/schematic-records.examples.js.map +1 -1
- package/dist/test/schematic/schematic.examples.d.ts +1842 -1491
- package/dist/test/schematic/schematic.examples.d.ts.map +1 -1
- package/dist/test/schematic/schematic.examples.js +240 -134
- package/dist/test/schematic/schematic.examples.js.map +1 -1
- package/dist/test/sheet/optimise.examples.d.ts +102 -95
- package/dist/test/sheet/optimise.examples.d.ts.map +1 -1
- package/dist/test/sheet/optimise.examples.js +7 -3
- package/dist/test/sheet/optimise.examples.js.map +1 -1
- package/dist/test/sheet/sheet-records.examples.d.ts +175 -214
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +29 -17
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +3642 -3353
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +389 -282
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/dist/test/studio/component.examples.js +2 -2
- package/dist/test/studio/component.examples.js.map +1 -1
- package/dist/test/studio/page.examples.js +6 -6
- package/dist/test/studio/page.examples.js.map +1 -1
- package/dist/test/studio/studio.examples.d.ts +2329 -873
- package/dist/test/studio/studio.examples.d.ts.map +1 -1
- package/dist/test/studio/studio.examples.js +155 -107
- package/dist/test/studio/studio.examples.js.map +1 -1
- package/package.json +15 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-read.d.ts","sourceRoot":"","sources":["../../../src/plan/nested-read.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4B3B,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* What a Plan over paged rows reads of their nested series index (#1438): the
|
|
7
|
+
* seam between the Plan's build and the reader that reads the index a cell at
|
|
8
|
+
* a time.
|
|
9
|
+
*
|
|
10
|
+
* The build says which index, its tiles, the binding it is read through, and
|
|
11
|
+
* what each series reads of it: each collection's place, the levels its items
|
|
12
|
+
* are filed at, how its rows shade past the cap, and how its parents read. The
|
|
13
|
+
* reader hands back, a window at a time, the cells it read, the drafted rows
|
|
14
|
+
* and the shading; the seam draws the window's rows from them with the same
|
|
15
|
+
* series and the same East as over inline rows (#1436) — each lean row, or a
|
|
16
|
+
* drafted row whole in its place, filled with the items read of it (e3's own
|
|
17
|
+
* fill, which the binding carries), the series run over them, in the index's
|
|
18
|
+
* order — and a series past the cap shades.
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import { ArrayType, DictType, East, FloatType, NullType, OptionType, SetType, StringType, StructType, VariantType, none, some, variant, BlobType, FunctionType, IntegerType, } from "@elaraai/east";
|
|
23
|
+
import { RecordRollupType } from "@elaraai/e3-types";
|
|
24
|
+
import { RecordSliceTileType } from "@elaraai/east-ui/internal";
|
|
25
|
+
import { PlanEventShadeType, shadedKind } from "./shade.js";
|
|
26
|
+
import { PlanBlockType, PlanBlocksType, PlanFoldType } from "./types.js";
|
|
27
|
+
// ============================================================================
|
|
28
|
+
// The seam's types
|
|
29
|
+
// ============================================================================
|
|
30
|
+
/**
|
|
31
|
+
* One series' read of one collection of its rows' nested series index (#1438).
|
|
32
|
+
*
|
|
33
|
+
* @property series - The series' key
|
|
34
|
+
* @property place - The collection's place in the index: its field names from the row down (`["jobs"]`, `["members", "load"]`)
|
|
35
|
+
* @property levels - The levels its items are filed at (#1433): every level from the index's tile for items timed
|
|
36
|
+
* `{ from, to }`; the tile alone for values and items timed `{ at }`, which are instants
|
|
37
|
+
* @property shade - How its rows draw past the cap: `booked`, the share of each bucket its items cover (runs, chips);
|
|
38
|
+
* `count`, how many touch it (tiles, marks, decisions, a value's element); `fold`, its values folded as the series
|
|
39
|
+
* folds them (heat, weight, table, chart)
|
|
40
|
+
* @property parents - How the series' parent rows read: `subtotals`, by the rollup its fold and aggregate make (a
|
|
41
|
+
* table's subtotals, a heat parent's aggregate, a group's strip); `bands`, its subtree's items (a span's rollup);
|
|
42
|
+
* none where its parents derive nothing
|
|
43
|
+
*/
|
|
44
|
+
export const PlanNestedUseType = StructType({
|
|
45
|
+
series: StringType,
|
|
46
|
+
place: ArrayType(StringType),
|
|
47
|
+
levels: ArrayType(RecordSliceTileType),
|
|
48
|
+
shade: VariantType({ booked: NullType, count: NullType, fold: PlanFoldType }),
|
|
49
|
+
parents: OptionType(VariantType({ subtotals: RecordRollupType, bands: NullType })),
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* The rows' shading past the cap (#1438): by the key of the series whose rows
|
|
53
|
+
* it stands in for, then by the row's path — its entry's key and the keys down
|
|
54
|
+
* to its node — as East prints the path, its buckets.
|
|
55
|
+
*/
|
|
56
|
+
export const PlanNestedShadingType = DictType(StringType, DictType(StringType, ArrayType(PlanEventShadeType)));
|
|
57
|
+
/**
|
|
58
|
+
* What a Plan over paged rows reads of their nested series index (#1438): the
|
|
59
|
+
* index, the binding it is read through, its tiles, what each series reads of
|
|
60
|
+
* it, and the function that draws a window of lean rows with what was read.
|
|
61
|
+
*
|
|
62
|
+
* @property index - The nested series index the cells are read through, by name
|
|
63
|
+
* @property source - The binding they are read through, by its id: the record's, whatever a Slice narrows of it — what
|
|
64
|
+
* a reader reads the cells, the drafts' preview (#1437) and the rows by key through
|
|
65
|
+
* @property tile - The index's finest level
|
|
66
|
+
* @property summary - The tile it keeps its totals by; none for none
|
|
67
|
+
* @property uses - What each series reads of it
|
|
68
|
+
* @property rows - A window's blocks: `(offset, limit, the cells read, the drafted rows by id, the shading)` → the
|
|
69
|
+
* window's rows, each lean row — or a drafted row whole in its place — filled with the items the cells hold of it,
|
|
70
|
+
* the series run over them, in the index's order, and each row of a series past the cap shaded; `none` while the
|
|
71
|
+
* window is in flight. The cells are a beast2 Array of the index's `{ ik, value }` entries, each drafted row a
|
|
72
|
+
* beast2 of the record's row.
|
|
73
|
+
*/
|
|
74
|
+
export const PlanNestedType = StructType({
|
|
75
|
+
index: StringType,
|
|
76
|
+
source: StringType,
|
|
77
|
+
tile: RecordSliceTileType,
|
|
78
|
+
summary: OptionType(RecordSliceTileType),
|
|
79
|
+
uses: ArrayType(PlanNestedUseType),
|
|
80
|
+
rows: FunctionType([IntegerType, IntegerType, BlobType, DictType(StringType, BlobType), PlanNestedShadingType], OptionType(PlanBlocksType)),
|
|
81
|
+
});
|
|
82
|
+
// ============================================================================
|
|
83
|
+
// What each series reads
|
|
84
|
+
// ============================================================================
|
|
85
|
+
/** The levels a time axis files at, finest first. */
|
|
86
|
+
const TILES = ["day", "week", "month", "quarter", "year"];
|
|
87
|
+
/** The element fields of a read of items that draw the share of a bucket booked: a span's runs, a card's chips. */
|
|
88
|
+
const BOOKED = new Set(["runs", "chips"]);
|
|
89
|
+
/**
|
|
90
|
+
* How a read's rows shade past the cap: its values folded as its consumer
|
|
91
|
+
* folds them; items as the share booked, where they draw runs or chips, else
|
|
92
|
+
* how many; a value drawn as an element, how many.
|
|
93
|
+
*/
|
|
94
|
+
function shadeOf(read) {
|
|
95
|
+
const fold = read.read?.fold;
|
|
96
|
+
if (read.kind === "values" && fold !== undefined)
|
|
97
|
+
return variant("fold", variant(fold, null));
|
|
98
|
+
return read.kind === "items" && BOOKED.has(read.read?.via ?? "") ? variant("booked", null) : variant("count", null);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Each read by name of a Plan's series, as the seam carries it (#1438): its
|
|
102
|
+
* place, its levels, how it shades and how its parents read.
|
|
103
|
+
*
|
|
104
|
+
* @param reads - What the series read, as the build held them to the index (`checkPlanNested`)
|
|
105
|
+
* @param index - The index
|
|
106
|
+
* @returns Each read of items or values, in the series' order
|
|
107
|
+
*/
|
|
108
|
+
export function planNestedUses(reads, index) {
|
|
109
|
+
const from = TILES.indexOf(index.tile);
|
|
110
|
+
return reads.filter((read) => read.kind === "items" || read.kind === "values").map((read) => {
|
|
111
|
+
const spans = read.read?.read.kind === "items" && !("at" in read.read.read.times);
|
|
112
|
+
return {
|
|
113
|
+
series: read.series,
|
|
114
|
+
place: [...read.place],
|
|
115
|
+
levels: (spans ? TILES.slice(from) : [index.tile]).map((tile) => variant(tile, null)),
|
|
116
|
+
shade: shadeOf(read),
|
|
117
|
+
parents: read.subtotal !== undefined
|
|
118
|
+
? some(variant("subtotals", { fold: variant(read.subtotal.fold, null), aggregate: variant(read.subtotal.aggregate, null) }))
|
|
119
|
+
: read.rolledUp !== undefined ? some(variant("bands", null)) : none,
|
|
120
|
+
};
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// ============================================================================
|
|
124
|
+
// The rows past the cap
|
|
125
|
+
// ============================================================================
|
|
126
|
+
/**
|
|
127
|
+
* A window's blocks with the shading in place (#1438), `(blocks, shading, the
|
|
128
|
+
* keys of the series that draw bars or chips)`: every row of a series the
|
|
129
|
+
* shading names draws its heat in place of its elements — one whose row it
|
|
130
|
+
* holds no shading of yet draws none, at the height it will draw it at — the
|
|
131
|
+
* counts of one series on one scale, the largest it holds. Every other row
|
|
132
|
+
* stands.
|
|
133
|
+
*/
|
|
134
|
+
export const planNestedShaded = East.function([PlanBlocksType, PlanNestedShadingType, SetType(StringType)], PlanBlocksType, ($, blocks, shading, booked) => {
|
|
135
|
+
const kindOf = $.const(shadedKind);
|
|
136
|
+
const noShades = $.const([], ArrayType(PlanEventShadeType));
|
|
137
|
+
const tops = $.let(new Map(), DictType(StringType, FloatType));
|
|
138
|
+
$.for(shading, ($2, byRow, series) => {
|
|
139
|
+
const top = $2.let(0, FloatType);
|
|
140
|
+
$2.for(byRow, ($3, shades) => {
|
|
141
|
+
$3.for(shades, ($4, shade) => {
|
|
142
|
+
$4.match(shade.value, { some: ($5, v) => { $5.if(East.greater(v, top), ($6) => { $6.assign(top, v); }); } });
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
$2(tops.insert(series, top));
|
|
146
|
+
});
|
|
147
|
+
return blocks.map(($2, b) => East.value({
|
|
148
|
+
fixed: b.fixed,
|
|
149
|
+
parent: b.parent,
|
|
150
|
+
charts: b.charts,
|
|
151
|
+
rows: b.rows.map(($3, row) => row.id.match({
|
|
152
|
+
section: (_$4, _at) => row,
|
|
153
|
+
entry: (_$4, at) => shading.tryGet(at.series).match({
|
|
154
|
+
none: (_$5) => row,
|
|
155
|
+
some: ($5, byRow) => {
|
|
156
|
+
const heat = $5.let(kindOf(byRow.get(East.print(at.path), () => noShades), tops.get(at.series), booked.has(at.series)));
|
|
157
|
+
return East.withField(row, "kind", heat);
|
|
158
|
+
},
|
|
159
|
+
}),
|
|
160
|
+
})),
|
|
161
|
+
}, PlanBlockType));
|
|
162
|
+
});
|
|
163
|
+
//# sourceMappingURL=nested-read.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-read.js","sourceRoot":"","sources":["../../../src/plan/nested-read.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A Plan's series held to its rows' nested series index (#1435), in the
|
|
7
|
+
* editor. A source's East type carries how its record's nested series index
|
|
8
|
+
* declares each collection — `Data.bindPaged(record, { indexes })`, and a
|
|
9
|
+
* Slice's source over one — as structure: {@link PlanNestedItemsOf} reads it
|
|
10
|
+
* back in the words a series' brand uses (#1436, `PlanReadsBrand`), and
|
|
11
|
+
* {@link PlanNestedRefusals} holds what each series reads to it: a collection
|
|
12
|
+
* the index does not declare, other times than it files by, items read as
|
|
13
|
+
* values or values as items, a subtotal by a rollup it does not keep, and runs
|
|
14
|
+
* rolled up that it files under no parent. Each refusal is a message type,
|
|
15
|
+
* which `<Plan>` makes a property its `series` lacks, so the editor shows the
|
|
16
|
+
* words. A series list held in a variable or built in East is erased, and is
|
|
17
|
+
* held to the index as the Plan is built.
|
|
18
|
+
*
|
|
19
|
+
* @packageDocumentation
|
|
20
|
+
*/
|
|
21
|
+
import type { NullType, StructType, TypeOf, VariantType } from "@elaraai/east";
|
|
22
|
+
import { PlanReadsBrand } from "./reads.js";
|
|
23
|
+
/** A struct type's fields. */
|
|
24
|
+
type FieldsOf<T> = T extends StructType<infer F> ? F : never;
|
|
25
|
+
/** The one name a marker's struct holds: `{ start: Null }` → `"start"`. */
|
|
26
|
+
type NameOf<T> = keyof FieldsOf<T> & string;
|
|
27
|
+
/**
|
|
28
|
+
* An item's times as a nested series index files them: `{ from: "start"; to:
|
|
29
|
+
* "end" }`, or `{ at: "at" }`.
|
|
30
|
+
*
|
|
31
|
+
* @typeParam I - The items marker's fields
|
|
32
|
+
*/
|
|
33
|
+
type TimesOf<I> = I extends {
|
|
34
|
+
from: infer A;
|
|
35
|
+
to: infer B;
|
|
36
|
+
} ? {
|
|
37
|
+
readonly from: NameOf<A>;
|
|
38
|
+
readonly to: NameOf<B>;
|
|
39
|
+
} : I extends {
|
|
40
|
+
at: infer A;
|
|
41
|
+
} ? {
|
|
42
|
+
readonly at: NameOf<A>;
|
|
43
|
+
} : never;
|
|
44
|
+
/** The rollups a values marker keeps, each by its fold and its aggregate; `never` for none. */
|
|
45
|
+
type RollupsOf<V> = V extends StructType<{
|
|
46
|
+
rollup: infer U;
|
|
47
|
+
}> ? {
|
|
48
|
+
[Fold in NameOf<U>]: {
|
|
49
|
+
readonly fold: Fold;
|
|
50
|
+
readonly aggregate: NameOf<FieldsOf<U>[Fold & keyof FieldsOf<U>]>;
|
|
51
|
+
};
|
|
52
|
+
}[NameOf<U>] : never;
|
|
53
|
+
/**
|
|
54
|
+
* How a nested series index declares one collection, in a series' words: its
|
|
55
|
+
* items and their times, and whether each is filed under every parent too;
|
|
56
|
+
* its values, and the rollups kept of them; its child rows' own collections;
|
|
57
|
+
* or more rows of the row's own type.
|
|
58
|
+
*
|
|
59
|
+
* @typeParam M - The collection's marker, as the binding's type carries it
|
|
60
|
+
*/
|
|
61
|
+
export type PlanNestedCollection<M> = FieldsOf<M> extends {
|
|
62
|
+
items: infer I;
|
|
63
|
+
} ? {
|
|
64
|
+
readonly kind: "items";
|
|
65
|
+
readonly times: TimesOf<FieldsOf<I>>;
|
|
66
|
+
readonly rollup: "rollup" extends keyof FieldsOf<I> ? true : false;
|
|
67
|
+
} : FieldsOf<M> extends {
|
|
68
|
+
values: infer V;
|
|
69
|
+
} ? {
|
|
70
|
+
readonly kind: "values";
|
|
71
|
+
readonly rollups: RollupsOf<V>;
|
|
72
|
+
} : FieldsOf<M> extends {
|
|
73
|
+
rows: infer C;
|
|
74
|
+
} ? {
|
|
75
|
+
readonly kind: "rows";
|
|
76
|
+
readonly collections: PlanNestedCollections<FieldsOf<C>>;
|
|
77
|
+
} : FieldsOf<M> extends {
|
|
78
|
+
recursive: NullType;
|
|
79
|
+
} ? {
|
|
80
|
+
readonly kind: "recursive";
|
|
81
|
+
} : never;
|
|
82
|
+
/**
|
|
83
|
+
* Each collection's declaration, by its field.
|
|
84
|
+
*
|
|
85
|
+
* @typeParam C - Each collection's marker, by its field
|
|
86
|
+
*/
|
|
87
|
+
export type PlanNestedCollections<C> = {
|
|
88
|
+
readonly [F in keyof C & string]: PlanNestedCollection<C[F]>;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* What a source's nested series index declares: its name, and each
|
|
92
|
+
* collection by its field.
|
|
93
|
+
*
|
|
94
|
+
* @typeParam Name - The index's name
|
|
95
|
+
* @typeParam C - Each collection's marker, by its field
|
|
96
|
+
*/
|
|
97
|
+
export interface PlanNestedIndexOf<Name extends string, C> {
|
|
98
|
+
/** The index's name. */
|
|
99
|
+
readonly index: Name;
|
|
100
|
+
/** Each collection's declaration, by its field. */
|
|
101
|
+
readonly collections: PlanNestedCollections<C>;
|
|
102
|
+
}
|
|
103
|
+
/** A binding's nested part, read back from its East type; `never` where it lists no nested series index. */
|
|
104
|
+
type DeclarationOf<N> = N extends VariantType<infer Cases> ? Cases extends {
|
|
105
|
+
some: StructType<infer P>;
|
|
106
|
+
} ? P extends {
|
|
107
|
+
index: infer I;
|
|
108
|
+
collections: infer C;
|
|
109
|
+
} ? [NameOf<I>] extends [never] ? never : PlanNestedIndexOf<NameOf<I>, FieldsOf<C>> : never : never : never;
|
|
110
|
+
/** A source expression's East type's fields; `never` for a source that is no struct. */
|
|
111
|
+
type SourceFields<S> = FieldsOf<TypeOf<S>>;
|
|
112
|
+
/** A Slice handle's `rows` source's declaration; `never` where it has none, or the source lists no nested series index. */
|
|
113
|
+
type SliceRowsOf<H> = SourceFields<H> extends {
|
|
114
|
+
sources: StructType<infer P>;
|
|
115
|
+
} ? P extends {
|
|
116
|
+
rows: StructType<infer Part>;
|
|
117
|
+
} ? (Part extends {
|
|
118
|
+
nested: infer N;
|
|
119
|
+
} ? DeclarationOf<N> : never) : never : never;
|
|
120
|
+
/**
|
|
121
|
+
* The nested declaration a source's nested series index carries, read from
|
|
122
|
+
* the source's East type: its name, and each collection by its field — what
|
|
123
|
+
* it holds, its times, its rollups, its child rows' own. `"inline"` for a
|
|
124
|
+
* source read whole, whose rows hold their collections; `never` for a paged
|
|
125
|
+
* source with no nested series index.
|
|
126
|
+
*
|
|
127
|
+
* @typeParam S - The source's expression type: a Dict, a bind handle, a paged handle, an indexed binding
|
|
128
|
+
* (`Data.bindPaged(record, { indexes })`), or a Plan's `slice` options, whose `rows` source gives the rows
|
|
129
|
+
*/
|
|
130
|
+
export type PlanNestedItemsOf<S> = unknown extends S ? "inline" : S extends {
|
|
131
|
+
readonly slice: infer H;
|
|
132
|
+
} ? SliceRowsOf<H> : [SourceFields<S>] extends [never] ? "inline" : SourceFields<S> extends {
|
|
133
|
+
nested: infer N;
|
|
134
|
+
defaultIndex: unknown;
|
|
135
|
+
} ? DeclarationOf<N> : SourceFields<S> extends {
|
|
136
|
+
page: unknown;
|
|
137
|
+
total: unknown;
|
|
138
|
+
} ? never : "inline";
|
|
139
|
+
/** Whether a Plan's `slice` options give its rows: a Slice with a `rows` source. */
|
|
140
|
+
type GivesRows<S> = S extends {
|
|
141
|
+
readonly slice: infer H;
|
|
142
|
+
} ? SourceFields<H> extends {
|
|
143
|
+
sources: StructType<infer P>;
|
|
144
|
+
} ? ("rows" extends keyof P ? true : false) : false : false;
|
|
145
|
+
/**
|
|
146
|
+
* The nested declaration a Plan's rows carry: its `slice`'s `rows` source's,
|
|
147
|
+
* where it has one, and otherwise its `data`'s ({@link PlanNestedItemsOf}).
|
|
148
|
+
*
|
|
149
|
+
* @typeParam D - The `data` prop's type
|
|
150
|
+
* @typeParam S - The `slice` prop's type
|
|
151
|
+
*/
|
|
152
|
+
export type PlanRowsNestedOf<D, S> = GivesRows<S> extends true ? PlanNestedItemsOf<S> : PlanNestedItemsOf<D>;
|
|
153
|
+
/** Times as code: `{ from: "start", to: "end" }` or `{ at: "at" }`. */
|
|
154
|
+
type TimesCode<T> = T extends {
|
|
155
|
+
readonly from: infer A extends string;
|
|
156
|
+
readonly to: infer B extends string;
|
|
157
|
+
} ? `{ from: "${A}", to: "${B}" }` : T extends {
|
|
158
|
+
readonly at: infer A extends string;
|
|
159
|
+
} ? `{ at: "${A}" }` : never;
|
|
160
|
+
/** Times in words: `from "start" to "end"` or `at "at"`. */
|
|
161
|
+
type TimesWords<T> = T extends {
|
|
162
|
+
readonly from: infer A extends string;
|
|
163
|
+
readonly to: infer B extends string;
|
|
164
|
+
} ? `from "${A}" to "${B}"` : T extends {
|
|
165
|
+
readonly at: infer A extends string;
|
|
166
|
+
} ? `at "${A}"` : never;
|
|
167
|
+
/** A rollup in words: `sum`, where its fold and its aggregate are one, else `{ fold: "last", aggregate: "sum" }`. */
|
|
168
|
+
type RollupWords<R> = R extends {
|
|
169
|
+
readonly fold: infer F extends string;
|
|
170
|
+
readonly aggregate: infer A extends string;
|
|
171
|
+
} ? ([F] extends [A] ? ([A] extends [F] ? F : `{ fold: "${F}", aggregate: "${A}" }`) : `{ fold: "${F}", aggregate: "${A}" }`) : never;
|
|
172
|
+
/** A rollup as code: `"sum"`, where its fold and its aggregate are one, else `{ fold: "sum", aggregate: "mean" }`. */
|
|
173
|
+
type RollupCode<R> = R extends {
|
|
174
|
+
readonly fold: infer F extends string;
|
|
175
|
+
readonly aggregate: infer A extends string;
|
|
176
|
+
} ? ([F] extends [A] ? ([A] extends [F] ? `"${F}"` : `{ fold: "${F}", aggregate: "${A}" }`) : `{ fold: "${F}", aggregate: "${A}" }`) : never;
|
|
177
|
+
/** How a nested series index declares a collection, as code. */
|
|
178
|
+
type DeclarationCode<D> = D extends {
|
|
179
|
+
kind: "items";
|
|
180
|
+
times: infer T;
|
|
181
|
+
rollup: infer R;
|
|
182
|
+
} ? `items(${TimesCode<T>}${R extends true ? ", { rollup: true }" : ""})` : D extends {
|
|
183
|
+
kind: "values";
|
|
184
|
+
} ? "values(…)" : D extends {
|
|
185
|
+
kind: "rows";
|
|
186
|
+
} ? "rows(…)" : D extends {
|
|
187
|
+
kind: "recursive";
|
|
188
|
+
} ? "recursive()" : never;
|
|
189
|
+
/** The last field of a place: `"measures.readings"` → `"readings"`. */
|
|
190
|
+
type LastField<P extends string> = P extends `${string}.${infer Rest}` ? LastField<Rest> : P;
|
|
191
|
+
/** A collection a series reads that the index does not declare. */
|
|
192
|
+
type NotDeclared<Use, Place extends string, Name extends string> = `Plan: a series reads "${Place}", and the rows source's nested series index "${Name}" does not declare it — declare it index.nested.${Use extends {
|
|
193
|
+
readonly items: infer T;
|
|
194
|
+
} ? `items(${TimesCode<T>})` : Use extends {
|
|
195
|
+
readonly values: unknown;
|
|
196
|
+
} ? "values()" : Use extends {
|
|
197
|
+
readonly rows: unknown;
|
|
198
|
+
} ? "rows({ … })" : "recursive()"}`;
|
|
199
|
+
/** Items a series reads: their kind, their times, and whether it rolls them up into each parent. */
|
|
200
|
+
type ItemsRefusal<Use, T, D, Place extends string, Name extends string> = D extends {
|
|
201
|
+
kind: "items";
|
|
202
|
+
times: infer DT;
|
|
203
|
+
rollup: infer DR;
|
|
204
|
+
} ? (TimesRefusal<T, DT, Place, Name> | (Use extends {
|
|
205
|
+
readonly rollup: true;
|
|
206
|
+
} ? (DR extends true ? never : `Plan: a series rolls its children's runs of "${Place}" up, and "${Name}" files them under no parent — declare it index.nested.items(${TimesCode<DT>}, { rollup: true })`) : never)) : `Plan: a series reads "${Place}" as items, and "${Name}" declares it ${DeclarationCode<D>} — ${D extends {
|
|
207
|
+
kind: "values";
|
|
208
|
+
} ? `read it with Plan.values("${LastField<Place>}", draw)` : "read it as it is declared"}`;
|
|
209
|
+
/** Items read by other times than the index files them by. */
|
|
210
|
+
type TimesRefusal<T, DT, Place extends string, Name extends string> = [
|
|
211
|
+
TimesCode<T>
|
|
212
|
+
] extends [TimesCode<DT>] ? ([TimesCode<DT>] extends [TimesCode<T>] ? never : WrongTimes<T, DT, Place, Name>) : WrongTimes<T, DT, Place, Name>;
|
|
213
|
+
type WrongTimes<T, DT, Place extends string, Name extends string> = `Plan: a series reads "${Place}" ${TimesWords<T>}, and "${Name}" files it ${TimesWords<DT>} — name the times it is filed by`;
|
|
214
|
+
/** Values a series reads, and the rollup its parents subtotal them by. */
|
|
215
|
+
type ValuesRefusal<V, D, Place extends string, Name extends string> = D extends {
|
|
216
|
+
kind: "values";
|
|
217
|
+
rollups: infer R;
|
|
218
|
+
} ? V extends {
|
|
219
|
+
readonly rollup: infer U;
|
|
220
|
+
} ? ([R] extends [never] ? `Plan: a series subtotals "${Place}" by ${RollupWords<U>}, and "${Name}" keeps no subtotals of it — declare it index.nested.values({ rollup: ${RollupCode<U>} })` : [U] extends [R] ? never : U extends {
|
|
221
|
+
readonly aggregate: "count";
|
|
222
|
+
} ? ([Extract<R, {
|
|
223
|
+
readonly aggregate: "count";
|
|
224
|
+
}>] extends [never] ? RollupKept<R, U, Place, Name> : never) : RollupKept<R, U, Place, Name>) : never : D extends {
|
|
225
|
+
kind: "items";
|
|
226
|
+
times: infer DT;
|
|
227
|
+
} ? `Plan: a series reads "${Place}" as values, and "${Name}" declares it items(${TimesCode<DT>}) — read it with Plan.items("${LastField<Place>}", ${TimesCode<DT>}, draw)` : `Plan: a series reads "${Place}" as values, and "${Name}" declares it ${DeclarationCode<D>} — read it as it is declared`;
|
|
228
|
+
/** A subtotal by a rollup the index does not keep, a message for each rollup it keeps. */
|
|
229
|
+
type RollupKept<R, U, Place extends string, Name extends string> = R extends unknown ? `Plan: a series subtotals "${Place}" by ${RollupWords<U>}, and "${Name}" keeps it by ${RollupWords<R>} — add the rollup: index.nested.values({ rollup: [${RollupCode<R>}, ${RollupCode<U>}] }), or subtotal it by ${RollupWords<R>}` : never;
|
|
230
|
+
/** One collection a series reads, held to how the index declares it; `never` where it reads it as declared. */
|
|
231
|
+
type CollectionRefusal<Use, D, Place extends string, Name extends string> = [
|
|
232
|
+
D
|
|
233
|
+
] extends [undefined] ? NotDeclared<Use, Place, Name> : Use extends {
|
|
234
|
+
readonly items: infer T;
|
|
235
|
+
} ? ItemsRefusal<Use, T, D, Place, Name> : Use extends {
|
|
236
|
+
readonly values: infer V;
|
|
237
|
+
} ? ValuesRefusal<V, D, Place, Name> : Use extends {
|
|
238
|
+
readonly rows: infer CU;
|
|
239
|
+
} ? (D extends {
|
|
240
|
+
kind: "rows";
|
|
241
|
+
collections: infer CC;
|
|
242
|
+
} ? CollectionsRefusals<CU, CC, Name, `${Place}.`> : `Plan: a series steps down to "${Place}"'s child rows, and "${Name}" declares it ${DeclarationCode<D>} — read it as it is declared`) : Use extends {
|
|
243
|
+
readonly recursive: true;
|
|
244
|
+
} ? (D extends {
|
|
245
|
+
kind: "recursive";
|
|
246
|
+
} ? never : `Plan: a series reads "${Place}" as more rows of its own, and "${Name}" declares it ${DeclarationCode<D>} — read it as it is declared`) : never;
|
|
247
|
+
/** Each collection a series reads, by its field, held to the declarations beside it. */
|
|
248
|
+
type CollectionsRefusals<U, C, Name extends string, Prefix extends string> = {
|
|
249
|
+
[F in keyof U & string]: CollectionRefusal<U[F], F extends keyof C ? C[F] : undefined, `${Prefix}${F}`, Name>;
|
|
250
|
+
}[keyof U & string];
|
|
251
|
+
/** What a series value reads, as its brand says; `unknown` where it reads nothing by name. */
|
|
252
|
+
type ReadsOf<E> = E extends {
|
|
253
|
+
readonly [PlanReadsBrand]?: infer U;
|
|
254
|
+
} ? U : unknown;
|
|
255
|
+
/** One series' refusals: none where it reads nothing by name. */
|
|
256
|
+
type SeriesRefusals<E, D extends PlanNestedIndexOf<string, unknown>> = E extends unknown ? (unknown extends ReadsOf<E> ? never : CollectionsRefusals<ReadsOf<E>, D["collections"], D["index"], "">) : never;
|
|
257
|
+
/**
|
|
258
|
+
* Each refusal of a series list by its rows' nested series index, in its
|
|
259
|
+
* words: a union of messages, `never` where every series reads each
|
|
260
|
+
* collection as the index declares it — and where the rows carry no nested
|
|
261
|
+
* series index, or are read whole, or the list is an East expression, which
|
|
262
|
+
* the Plan holds to the index as it is built.
|
|
263
|
+
*
|
|
264
|
+
* @typeParam L - The `series` prop's type: an array of series values
|
|
265
|
+
* @typeParam D - The rows' nested declaration ({@link PlanRowsNestedOf})
|
|
266
|
+
*/
|
|
267
|
+
export type PlanNestedRefusals<L, D> = D extends PlanNestedIndexOf<string, unknown> ? (L extends readonly (infer E)[] ? SeriesRefusals<E, D> : never) : never;
|
|
268
|
+
/**
|
|
269
|
+
* A series list held to its rows' nested series index: no constraint where
|
|
270
|
+
* {@link PlanNestedRefusals} has none, and otherwise a property for each,
|
|
271
|
+
* named by its words, which the list lacks — so the editor shows them.
|
|
272
|
+
*
|
|
273
|
+
* @typeParam L - The `series` prop's type
|
|
274
|
+
* @typeParam D - The rows' nested declaration
|
|
275
|
+
*/
|
|
276
|
+
export type PlanNestedChecked<L, D> = [PlanNestedRefusals<L, D>] extends [never] ? unknown : {
|
|
277
|
+
readonly [M in PlanNestedRefusals<L, D>]: never;
|
|
278
|
+
};
|
|
279
|
+
export {};
|
|
280
|
+
//# sourceMappingURL=nested.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested.d.ts","sourceRoot":"","sources":["../../../src/plan/nested.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested.js","sourceRoot":"","sources":["../../../src/plan/nested.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
|