@elaraai/e3-ui 1.0.93 → 1.0.95
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/allocation/adapters.d.ts +159 -0
- package/dist/src/allocation/adapters.d.ts.map +1 -0
- package/dist/src/allocation/adapters.js +241 -0
- package/dist/src/allocation/adapters.js.map +1 -0
- package/dist/src/allocation/functions.d.ts +664 -0
- package/dist/src/allocation/functions.d.ts.map +1 -0
- package/dist/src/allocation/functions.js +782 -0
- package/dist/src/allocation/functions.js.map +1 -0
- package/dist/src/allocation/index.d.ts +2985 -0
- package/dist/src/allocation/index.d.ts.map +1 -0
- package/dist/src/allocation/index.js +499 -0
- package/dist/src/allocation/index.js.map +1 -0
- package/dist/src/allocation/types.d.ts +832 -0
- package/dist/src/allocation/types.d.ts.map +1 -0
- package/dist/src/allocation/types.js +360 -0
- package/dist/src/allocation/types.js.map +1 -0
- package/dist/src/bind/func.d.ts +14 -0
- package/dist/src/bind/func.d.ts.map +1 -1
- package/dist/src/bind/func.js +22 -1
- package/dist/src/bind/func.js.map +1 -1
- package/dist/src/calendar/index.d.ts +510 -1639
- package/dist/src/calendar/index.d.ts.map +1 -1
- package/dist/src/calendar/index.js +56 -29
- package/dist/src/calendar/index.js.map +1 -1
- package/dist/src/flowchart/canvas.d.ts +9 -21
- package/dist/src/flowchart/canvas.d.ts.map +1 -1
- package/dist/src/flowchart/canvas.js +10 -22
- package/dist/src/flowchart/canvas.js.map +1 -1
- package/dist/src/flowchart/flowchart.d.ts +19 -13
- package/dist/src/flowchart/flowchart.d.ts.map +1 -1
- package/dist/src/flowchart/flowchart.js.map +1 -1
- package/dist/src/flowchart/index.d.ts +44 -21
- package/dist/src/flowchart/index.d.ts.map +1 -1
- package/dist/src/flowchart/index.js +43 -20
- package/dist/src/flowchart/index.js.map +1 -1
- package/dist/src/flowchart/library.d.ts +166 -81
- package/dist/src/flowchart/library.d.ts.map +1 -1
- package/dist/src/flowchart/library.js +232 -105
- package/dist/src/flowchart/library.js.map +1 -1
- package/dist/src/flowchart/over.d.ts +9 -16
- package/dist/src/flowchart/over.d.ts.map +1 -1
- package/dist/src/flowchart/over.js +9 -16
- package/dist/src/flowchart/over.js.map +1 -1
- package/dist/src/flowchart/payload.d.ts +710 -508
- package/dist/src/flowchart/payload.d.ts.map +1 -1
- package/dist/src/flowchart/payload.js +128 -74
- package/dist/src/flowchart/payload.js.map +1 -1
- package/dist/src/flowchart/window.d.ts +132 -347
- package/dist/src/flowchart/window.d.ts.map +1 -1
- package/dist/src/flowchart/window.js +48 -55
- package/dist/src/flowchart/window.js.map +1 -1
- package/dist/src/index.d.ts +11 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +14 -6
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal.d.ts +18 -7
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/internal.js +28 -9
- package/dist/src/internal.js.map +1 -1
- package/dist/src/plan/event-rows.d.ts +26 -10
- package/dist/src/plan/event-rows.d.ts.map +1 -1
- package/dist/src/plan/event-rows.js +39 -13
- package/dist/src/plan/event-rows.js.map +1 -1
- package/dist/src/plan/ir.d.ts +244 -815
- package/dist/src/plan/ir.d.ts.map +1 -1
- package/dist/src/plan/ir.js +8 -6
- package/dist/src/plan/ir.js.map +1 -1
- package/dist/src/plan/library.d.ts +3 -0
- package/dist/src/plan/library.d.ts.map +1 -1
- package/dist/src/plan/library.js +1 -1
- package/dist/src/plan/library.js.map +1 -1
- package/dist/src/plan/ordered-source.d.ts +1 -0
- package/dist/src/plan/ordered-source.d.ts.map +1 -1
- package/dist/src/plan/plan.d.ts +559 -1667
- package/dist/src/plan/plan.d.ts.map +1 -1
- package/dist/src/plan/plan.js +123 -45
- package/dist/src/plan/plan.js.map +1 -1
- package/dist/src/plan/root.d.ts +16 -20
- package/dist/src/plan/root.d.ts.map +1 -1
- package/dist/src/plan/root.js +23 -33
- package/dist/src/plan/root.js.map +1 -1
- package/dist/src/roster/coverage.d.ts +17 -231
- package/dist/src/roster/coverage.d.ts.map +1 -1
- package/dist/src/roster/coverage.js +94 -90
- package/dist/src/roster/coverage.js.map +1 -1
- package/dist/src/roster/fit.d.ts +59 -0
- package/dist/src/roster/fit.d.ts.map +1 -0
- package/dist/src/roster/fit.js +155 -0
- package/dist/src/roster/fit.js.map +1 -0
- package/dist/src/roster/index.d.ts +2862 -3662
- package/dist/src/roster/index.d.ts.map +1 -1
- package/dist/src/roster/index.js +383 -81
- package/dist/src/roster/index.js.map +1 -1
- package/dist/src/roster/library.d.ts +37 -92
- package/dist/src/roster/library.d.ts.map +1 -1
- package/dist/src/roster/library.js +25 -64
- package/dist/src/roster/library.js.map +1 -1
- package/dist/src/roster/lists.d.ts +195 -0
- package/dist/src/roster/lists.d.ts.map +1 -0
- package/dist/src/roster/lists.js +233 -0
- package/dist/src/roster/lists.js.map +1 -0
- package/dist/src/roster/rules.d.ts +17 -260
- package/dist/src/roster/rules.d.ts.map +1 -1
- package/dist/src/roster/rules.js +135 -132
- package/dist/src/roster/rules.js.map +1 -1
- package/dist/src/roster/targets.d.ts +115 -0
- package/dist/src/roster/targets.d.ts.map +1 -0
- package/dist/src/roster/targets.js +213 -0
- package/dist/src/roster/targets.js.map +1 -0
- package/dist/src/roster/times.d.ts +251 -0
- package/dist/src/roster/times.d.ts.map +1 -0
- package/dist/src/roster/times.js +174 -0
- package/dist/src/roster/times.js.map +1 -0
- package/dist/src/roster/types.d.ts +828 -183
- package/dist/src/roster/types.d.ts.map +1 -1
- package/dist/src/roster/types.js +224 -97
- package/dist/src/roster/types.js.map +1 -1
- package/dist/src/schedule/accessor.d.ts +28 -0
- package/dist/src/schedule/accessor.d.ts.map +1 -0
- package/dist/src/schedule/accessor.js +39 -0
- package/dist/src/schedule/accessor.js.map +1 -0
- package/dist/src/schedule/events.d.ts +170 -42
- package/dist/src/schedule/events.d.ts.map +1 -1
- package/dist/src/schedule/events.js +431 -171
- package/dist/src/schedule/events.js.map +1 -1
- package/dist/src/schedule/index.d.ts +41 -4
- package/dist/src/schedule/index.d.ts.map +1 -1
- package/dist/src/schedule/index.js +35 -3
- package/dist/src/schedule/index.js.map +1 -1
- package/dist/src/schedule/library.d.ts +13 -3
- package/dist/src/schedule/library.d.ts.map +1 -1
- package/dist/src/schedule/library.js +11 -4
- package/dist/src/schedule/library.js.map +1 -1
- package/dist/src/schedule/periods.d.ts +115 -0
- package/dist/src/schedule/periods.d.ts.map +1 -0
- package/dist/src/schedule/periods.js +215 -0
- package/dist/src/schedule/periods.js.map +1 -0
- package/dist/src/schedule/record-window.d.ts +25 -3
- package/dist/src/schedule/record-window.d.ts.map +1 -1
- package/dist/src/schedule/record-window.js +31 -18
- package/dist/src/schedule/record-window.js.map +1 -1
- package/dist/src/schedule/resources.d.ts +82 -4
- package/dist/src/schedule/resources.d.ts.map +1 -1
- package/dist/src/schedule/resources.js +44 -14
- package/dist/src/schedule/resources.js.map +1 -1
- package/dist/src/schedule/session.d.ts +69 -0
- package/dist/src/schedule/session.d.ts.map +1 -0
- package/dist/src/schedule/session.js +121 -0
- package/dist/src/schedule/session.js.map +1 -0
- package/dist/src/schedule/templates.d.ts +14 -2
- package/dist/src/schedule/templates.d.ts.map +1 -1
- package/dist/src/schedule/templates.js +5 -3
- package/dist/src/schedule/templates.js.map +1 -1
- package/dist/src/schedule/types.d.ts +1671 -37
- package/dist/src/schedule/types.d.ts.map +1 -1
- package/dist/src/schedule/types.js +196 -5
- package/dist/src/schedule/types.js.map +1 -1
- package/dist/src/schedule/window.d.ts +14 -0
- package/dist/src/schedule/window.d.ts.map +1 -1
- package/dist/src/schedule/window.js +14 -4
- package/dist/src/schedule/window.js.map +1 -1
- package/dist/src/schedule/words.d.ts +22 -0
- package/dist/src/schedule/words.d.ts.map +1 -0
- package/dist/src/schedule/words.js +25 -0
- package/dist/src/schedule/words.js.map +1 -0
- package/dist/src/sheet/index.d.ts +61 -27
- package/dist/src/sheet/index.d.ts.map +1 -1
- package/dist/src/sheet/index.js +59 -25
- package/dist/src/sheet/index.js.map +1 -1
- package/dist/src/sheet/library.d.ts +21 -3
- package/dist/src/sheet/library.d.ts.map +1 -1
- package/dist/src/sheet/library.js +23 -6
- package/dist/src/sheet/library.js.map +1 -1
- package/dist/src/sheet/registers.d.ts +100 -85
- package/dist/src/sheet/registers.d.ts.map +1 -1
- package/dist/src/sheet/registers.js +100 -85
- package/dist/src/sheet/registers.js.map +1 -1
- package/dist/src/sheet/root.d.ts +8 -12
- package/dist/src/sheet/root.d.ts.map +1 -1
- package/dist/src/sheet/root.js +6 -40
- package/dist/src/sheet/root.js.map +1 -1
- package/dist/src/sheet/sheet.d.ts +598 -2349
- package/dist/src/sheet/sheet.d.ts.map +1 -1
- package/dist/src/sheet/sheet.js +124 -37
- package/dist/src/sheet/sheet.js.map +1 -1
- package/dist/src/sheet/sub-rows.d.ts +74 -28
- package/dist/src/sheet/sub-rows.d.ts.map +1 -1
- package/dist/src/sheet/sub-rows.js +74 -28
- package/dist/src/sheet/sub-rows.js.map +1 -1
- package/dist/src/sheet/templates.d.ts +98 -34
- package/dist/src/sheet/templates.d.ts.map +1 -1
- package/dist/src/sheet/templates.js +102 -58
- package/dist/src/sheet/templates.js.map +1 -1
- package/dist/src/sheet/types.d.ts +289 -1359
- package/dist/src/sheet/types.d.ts.map +1 -1
- package/dist/src/sheet/types.js +20 -26
- package/dist/src/sheet/types.js.map +1 -1
- package/dist/src/sheet/views.d.ts +10 -11
- package/dist/src/sheet/views.d.ts.map +1 -1
- package/dist/src/sheet/views.js +15 -20
- package/dist/src/sheet/views.js.map +1 -1
- package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
- package/dist/src/utils/key-visibility.d.ts.map +1 -0
- package/dist/src/utils/key-visibility.js +36 -0
- package/dist/src/utils/key-visibility.js.map +1 -0
- package/dist/src/utils/ordered-source.d.ts +1 -0
- package/dist/src/utils/ordered-source.d.ts.map +1 -1
- package/dist/src/utils/ordered-source.js +8 -3
- package/dist/src/utils/ordered-source.js.map +1 -1
- package/dist/src/utils/record-sources.d.ts +107 -0
- package/dist/src/utils/record-sources.d.ts.map +1 -0
- package/dist/src/utils/record-sources.js +132 -0
- package/dist/src/utils/record-sources.js.map +1 -0
- package/dist/test/allocation/allocation.examples.d.ts +2902 -0
- package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
- package/dist/test/allocation/allocation.examples.js +643 -0
- package/dist/test/allocation/allocation.examples.js.map +1 -0
- package/dist/test/allocation/fit.examples.d.ts +546 -0
- package/dist/test/allocation/fit.examples.d.ts.map +1 -0
- package/dist/test/allocation/fit.examples.js +171 -0
- package/dist/test/allocation/fit.examples.js.map +1 -0
- package/dist/test/allocation/kiln-yard.d.ts +181 -0
- package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
- package/dist/test/allocation/kiln-yard.js +228 -0
- package/dist/test/allocation/kiln-yard.js.map +1 -0
- package/dist/test/bind/data/data.examples.d.ts +651 -1
- package/dist/test/bind/data/data.examples.d.ts.map +1 -1
- package/dist/test/bind/data/data.examples.js +140 -2
- package/dist/test/bind/data/data.examples.js.map +1 -1
- package/dist/test/bind/func/func.examples.d.ts +10 -1
- package/dist/test/bind/func/func.examples.d.ts.map +1 -1
- package/dist/test/bind/func/func.examples.js +8 -1
- package/dist/test/bind/func/func.examples.js.map +1 -1
- package/dist/test/bind/record/record.examples.d.ts +633 -1
- package/dist/test/bind/record/record.examples.d.ts.map +1 -1
- package/dist/test/bind/record/record.examples.js +26 -2
- package/dist/test/bind/record/record.examples.js.map +1 -1
- package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar-records.examples.js +18 -14
- package/dist/test/calendar/calendar-records.examples.js.map +1 -1
- package/dist/test/calendar/calendar.examples.d.ts +521 -16
- package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
- package/dist/test/calendar/calendar.examples.js +182 -135
- package/dist/test/calendar/calendar.examples.js.map +1 -1
- package/dist/test/examples-package.d.ts +75 -0
- package/dist/test/examples-package.d.ts.map +1 -0
- package/dist/test/examples-package.js +263 -0
- package/dist/test/examples-package.js.map +1 -0
- package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
- package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
- package/dist/test/flowchart/flowchart.examples.js +102 -75
- package/dist/test/flowchart/flowchart.examples.js.map +1 -1
- package/dist/test/plan/plan-events.examples.d.ts +1439 -209
- package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-events.examples.js +199 -59
- package/dist/test/plan/plan-events.examples.js.map +1 -1
- package/dist/test/plan/plan-records.examples.d.ts +420 -0
- package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-records.examples.js +70 -19
- package/dist/test/plan/plan-records.examples.js.map +1 -1
- package/dist/test/plan/plan-windows.examples.d.ts +636 -55
- package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
- package/dist/test/plan/plan-windows.examples.js +69 -33
- package/dist/test/plan/plan-windows.examples.js.map +1 -1
- package/dist/test/plan/plan.examples.d.ts +153 -31
- package/dist/test/plan/plan.examples.d.ts.map +1 -1
- package/dist/test/plan/plan.examples.js +178 -101
- package/dist/test/plan/plan.examples.js.map +1 -1
- package/dist/test/roster/domain.examples.d.ts +467 -250
- package/dist/test/roster/domain.examples.d.ts.map +1 -1
- package/dist/test/roster/domain.examples.js +92 -29
- package/dist/test/roster/domain.examples.js.map +1 -1
- package/dist/test/roster/roster-records.examples.d.ts +430 -586
- package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
- package/dist/test/roster/roster-records.examples.js +102 -43
- package/dist/test/roster/roster-records.examples.js.map +1 -1
- package/dist/test/roster/roster.examples.d.ts +2319 -606
- package/dist/test/roster/roster.examples.d.ts.map +1 -1
- package/dist/test/roster/roster.examples.js +456 -148
- package/dist/test/roster/roster.examples.js.map +1 -1
- package/dist/test/roster/warehouse.d.ts +172 -63
- package/dist/test/roster/warehouse.d.ts.map +1 -1
- package/dist/test/roster/warehouse.js +172 -39
- package/dist/test/roster/warehouse.js.map +1 -1
- package/dist/test/schedule/schedule.examples.d.ts +3499 -0
- package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
- package/dist/test/schedule/schedule.examples.js +192 -0
- package/dist/test/schedule/schedule.examples.js.map +1 -0
- package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet-records.examples.js +22 -18
- package/dist/test/sheet/sheet-records.examples.js.map +1 -1
- package/dist/test/sheet/sheet.examples.d.ts +715 -26
- package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
- package/dist/test/sheet/sheet.examples.js +204 -130
- package/dist/test/sheet/sheet.examples.js.map +1 -1
- package/package.json +17 -10
- package/dist/src/roster/people.d.ts +0 -50
- package/dist/src/roster/people.d.ts.map +0 -1
- package/dist/src/roster/people.js +0 -32
- package/dist/src/roster/people.js.map +0 -1
- package/dist/src/roster/visibility.d.ts.map +0 -1
- package/dist/src/roster/visibility.js +0 -25
- package/dist/src/roster/visibility.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/allocation/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,360 @@
|
|
|
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
|
+
* The Allocation's East types (#1371, `Builder Interfaces Spec.md` §6.3). A
|
|
7
|
+
* day is the board's reading of the app's own rows — each bin the app's row,
|
|
8
|
+
* with the roles the board reads from it — carried in the fit's and the
|
|
9
|
+
* check's requests and in the renderer, and stored nowhere: the bins and the
|
|
10
|
+
* days are the app's records. Beside them, the arrivals and resources an app
|
|
11
|
+
* gives the board, and the fit's question and answer.
|
|
12
|
+
*
|
|
13
|
+
* The types over a day take the app's bin row type, `R`: each is a
|
|
14
|
+
* constructor, and the same `R` gives the same East type (`isTypeEqual`), so a
|
|
15
|
+
* row type declared once matches the board's bin kind and the fit's request.
|
|
16
|
+
*
|
|
17
|
+
* @packageDocumentation
|
|
18
|
+
*/
|
|
19
|
+
import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from "@elaraai/east";
|
|
20
|
+
import { StatusTokenType, TimeStepType } from "@elaraai/east-ui";
|
|
21
|
+
import { ScheduleFitType, SchedulePeriodStatusType, ScheduleRefusalType } from "../schedule/types.js";
|
|
22
|
+
// ============================================================================
|
|
23
|
+
// The day, as the board reads it
|
|
24
|
+
// ============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* A lane: it takes one bin each `every` (an hour by default), at its offset
|
|
27
|
+
* past it.
|
|
28
|
+
*
|
|
29
|
+
* @property key - Its key, what a bin's lane names: its row's key in the lanes' resource kind
|
|
30
|
+
* @property label - Its name (`B-1`)
|
|
31
|
+
* @property offset - How far past each slot's start its bins are booked (`minutes 15`)
|
|
32
|
+
*/
|
|
33
|
+
export const AllocationLaneType = StructType({ key: StringType, label: StringType, offset: TimeStepType });
|
|
34
|
+
/**
|
|
35
|
+
* A day's status: Schedule's period status, read from the app's days record
|
|
36
|
+
* (`Schedule.periods`).
|
|
37
|
+
*
|
|
38
|
+
* @property draft - An editable day
|
|
39
|
+
* @property published - A read-only day, and when it was published when the app's published case holds the time
|
|
40
|
+
* @property other - Another case of the app's status, by its name: read-only
|
|
41
|
+
*/
|
|
42
|
+
export const AllocationStatusType = SchedulePeriodStatusType;
|
|
43
|
+
/**
|
|
44
|
+
* One bin, as the board reads it from the app's row (`R`): its roles — one
|
|
45
|
+
* booking in a lane slot, and the quantity it puts on each resource — beside
|
|
46
|
+
* the row itself, every field of it.
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* Composed from the bin kind's roles (its `rows` and `read`) and the row. A
|
|
50
|
+
* bin keeps what it was booked with — its kind and its hold come from its
|
|
51
|
+
* arrival when it is booked, as its row's other fields do, and stay with it
|
|
52
|
+
* when it moves — so a bin can differ from its arrival, as a delivery measured
|
|
53
|
+
* on arrival does. A reservation books no arrival, and holds no quantity, no
|
|
54
|
+
* kind and no hold.
|
|
55
|
+
*
|
|
56
|
+
* @typeParam R - The app's bin row type
|
|
57
|
+
* @param row - The app's bin row type
|
|
58
|
+
* @returns `StructType({ lane, at, arrival, quantity, kind, hold, parts, row })`
|
|
59
|
+
*
|
|
60
|
+
* @property lane - Its lane's key
|
|
61
|
+
* @property at - Its time; a batch's bins follow one minute apart
|
|
62
|
+
* @property arrival - The arrival it books, by key; `none` for a reservation
|
|
63
|
+
* @property quantity - Its quantity; 0 for a reservation
|
|
64
|
+
* @property kind - What it goes with on a resource (its arrival's kind when booked); `none` for a kind with no `kind` role
|
|
65
|
+
* @property hold - How long a resource holds it from the plan day (its arrival's hold when booked)
|
|
66
|
+
* @property parts - The quantity on each resource, by key; empty while it is not linked
|
|
67
|
+
* @property row - The app's row, every field of it
|
|
68
|
+
*/
|
|
69
|
+
export function AllocationBinTypeFor(row) {
|
|
70
|
+
return StructType({
|
|
71
|
+
lane: StringType, at: DateTimeType, arrival: OptionType(StringType), quantity: FloatType, kind: OptionType(StringType),
|
|
72
|
+
hold: TimeStepType, parts: DictType(StringType, FloatType), row,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* One day of the app's bins, as the board reads them: its period's status and
|
|
77
|
+
* its bins, the drafts in place.
|
|
78
|
+
*
|
|
79
|
+
* @typeParam R - The app's bin row type
|
|
80
|
+
* @param row - The app's bin row type
|
|
81
|
+
* @returns `StructType({ status, bins })`
|
|
82
|
+
*
|
|
83
|
+
* @property status - The day's status, from the app's days record; a draft with no `periods`, or no row for the day
|
|
84
|
+
* @property bins - The bins whose `at` falls in the day, by their keys
|
|
85
|
+
*/
|
|
86
|
+
export function AllocationDayTypeFor(row) {
|
|
87
|
+
return StructType({ status: AllocationStatusType, bins: DictType(StringType, AllocationBinTypeFor(row)) });
|
|
88
|
+
}
|
|
89
|
+
// ============================================================================
|
|
90
|
+
// Arrivals and resources
|
|
91
|
+
// ============================================================================
|
|
92
|
+
/**
|
|
93
|
+
* A span of time, `[from, to)`.
|
|
94
|
+
*
|
|
95
|
+
* @property from - Its start
|
|
96
|
+
* @property to - Its end
|
|
97
|
+
*/
|
|
98
|
+
export const AllocationIntervalType = StructType({ from: DateTimeType, to: DateTimeType });
|
|
99
|
+
/**
|
|
100
|
+
* Other work on a resource: a job covering the plan day's start makes it busy
|
|
101
|
+
* until the job ends; one starting later is its next job.
|
|
102
|
+
*
|
|
103
|
+
* @property label - Its name (`C-3142`)
|
|
104
|
+
* @property start - When it starts
|
|
105
|
+
* @property end - When it ends, and the resource is released
|
|
106
|
+
*/
|
|
107
|
+
export const AllocationJobType = StructType({ label: StringType, start: DateTimeType, end: DateTimeType });
|
|
108
|
+
/**
|
|
109
|
+
* One line of an arrival's details, shown read-only in a bin's inspector.
|
|
110
|
+
*
|
|
111
|
+
* @property label - Its label (`Settings`)
|
|
112
|
+
* @property value - Its text
|
|
113
|
+
*/
|
|
114
|
+
export const AllocationDetailType = StructType({ label: StringType, value: StringType });
|
|
115
|
+
/**
|
|
116
|
+
* What the board books from: an arrival, resolved from the app's rows
|
|
117
|
+
* (`Allocation.arrivals`).
|
|
118
|
+
*
|
|
119
|
+
* @property key - Its key in the app's rows, what a bin's `arrival` names
|
|
120
|
+
* @property label - Its code on cards, chips and lists (`LD-2231`)
|
|
121
|
+
* @property meta - Its second line (`BRK · R2 · spec MC12`)
|
|
122
|
+
* @property quantity - Its quantity, booked whole unless split
|
|
123
|
+
* @property hold - How long a resource holds a bin of it
|
|
124
|
+
* @property kind - What it goes with: a resource holding the same kind ranks higher in `Allocation.fit`
|
|
125
|
+
* @property due - When it is due; overdue before the plan day
|
|
126
|
+
* @property window - Its ready window
|
|
127
|
+
* @property details - Read-only lines in a bin's inspector
|
|
128
|
+
*/
|
|
129
|
+
export const AllocationArrivalType = StructType({
|
|
130
|
+
key: StringType, label: StringType, meta: OptionType(StringType), quantity: FloatType, hold: TimeStepType, kind: OptionType(StringType),
|
|
131
|
+
due: OptionType(DateTimeType), window: OptionType(AllocationIntervalType), details: ArrayType(AllocationDetailType),
|
|
132
|
+
});
|
|
133
|
+
/**
|
|
134
|
+
* A resource bins are allocated to, resolved from the app's rows through its
|
|
135
|
+
* resource kind's accessors (`Schedule.resources`).
|
|
136
|
+
*
|
|
137
|
+
* @property key - Its key in the app's rows, what a bin's `parts` name
|
|
138
|
+
* @property label - Its name (`K-203`)
|
|
139
|
+
* @property group - Its group (`Hall B`)
|
|
140
|
+
* @property meta - Its free line (`Hall B · 40 m³`)
|
|
141
|
+
* @property note - A line about its next job, after the inspector's next fill
|
|
142
|
+
* @property min - Its minimum, in the quantity's unit
|
|
143
|
+
* @property max - Its maximum
|
|
144
|
+
* @property hold - How long a reservation on it is checked for, and how long it is held when it holds only reservations
|
|
145
|
+
* @property jobs - Other work on it
|
|
146
|
+
*/
|
|
147
|
+
export const AllocationResourceType = StructType({
|
|
148
|
+
key: StringType, label: StringType, group: OptionType(StringType), meta: OptionType(StringType), note: OptionType(StringType),
|
|
149
|
+
min: FloatType, max: FloatType, hold: TimeStepType, jobs: ArrayType(AllocationJobType),
|
|
150
|
+
});
|
|
151
|
+
/**
|
|
152
|
+
* The built-in rules an app may turn off.
|
|
153
|
+
*
|
|
154
|
+
* @property under - Whether `Allocation.fit` and `Allocation.check` warn under a resource's minimum
|
|
155
|
+
*/
|
|
156
|
+
export const AllocationRulesType = StructType({ under: BooleanType });
|
|
157
|
+
/**
|
|
158
|
+
* Everything a fit and the checks read besides the day: the board's
|
|
159
|
+
* configuration, every arrival and every resource — whatever the narrowing
|
|
160
|
+
* hides.
|
|
161
|
+
*
|
|
162
|
+
* @property lanes - The lanes, in order
|
|
163
|
+
* @property every - The slot spacing
|
|
164
|
+
* @property arrivals - Every arrival, by key
|
|
165
|
+
* @property resources - Every resource, by key
|
|
166
|
+
* @property rules - The built-in rules
|
|
167
|
+
* @property unit - The quantity's unit (`m³`), or empty
|
|
168
|
+
*/
|
|
169
|
+
export const AllocationContextType = StructType({
|
|
170
|
+
lanes: ArrayType(AllocationLaneType), every: TimeStepType, arrivals: DictType(StringType, AllocationArrivalType),
|
|
171
|
+
resources: DictType(StringType, AllocationResourceType), rules: AllocationRulesType, unit: StringType,
|
|
172
|
+
});
|
|
173
|
+
// ============================================================================
|
|
174
|
+
// Loads, candidates and fits
|
|
175
|
+
// ============================================================================
|
|
176
|
+
/**
|
|
177
|
+
* A resource's state on the plan day.
|
|
178
|
+
*
|
|
179
|
+
* @property free - It holds nothing and is not busy
|
|
180
|
+
* @property loading - It holds bins today
|
|
181
|
+
* @property busy - A job covers the day's start
|
|
182
|
+
*/
|
|
183
|
+
export const AllocationLoadStateType = VariantType({ free: NullType, loading: NullType, busy: NullType });
|
|
184
|
+
/**
|
|
185
|
+
* A resource's load on the plan day.
|
|
186
|
+
*
|
|
187
|
+
* @property resource - The resource's key
|
|
188
|
+
* @property fill - What its bins put on it
|
|
189
|
+
* @property bins - How many bins are on it, reservations included
|
|
190
|
+
* @property hold - From the plan day for its longest bin's hold (its own hold when it holds only reservations); `none` with no bins
|
|
191
|
+
* @property state - Free, loading or busy
|
|
192
|
+
*/
|
|
193
|
+
export const AllocationLoadType = StructType({
|
|
194
|
+
resource: StringType, fill: FloatType, bins: IntegerType, hold: OptionType(AllocationIntervalType), state: AllocationLoadStateType,
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* A resource's line on the plan day, as its row and its bins' cards show it
|
|
198
|
+
* (A16, A19).
|
|
199
|
+
*
|
|
200
|
+
* @property text - Its line: the load it holds (`11 m³ · max 9 · 2 over`, `reserved · takes 26–48`, with `· 1 d into next job`), `busy until Fri 14`, or what it is and takes when free (`Hall B · 40 m³ · takes 20–40 m³`)
|
|
201
|
+
* @property tone - `danger` over its maximum, `warning` overlapping its next job or under its minimum, else `neutral`
|
|
202
|
+
* @property over - Whether it holds more than its maximum
|
|
203
|
+
* @property under - Whether it holds something, but less than its minimum
|
|
204
|
+
* @property overlap - Whether its hold runs into its next job
|
|
205
|
+
* @property next - Its next job: where an overlap starts
|
|
206
|
+
*/
|
|
207
|
+
export const AllocationResourceLineType = StructType({
|
|
208
|
+
text: StringType, tone: StatusTokenType, over: BooleanType, under: BooleanType, overlap: BooleanType, next: OptionType(AllocationJobType),
|
|
209
|
+
});
|
|
210
|
+
/**
|
|
211
|
+
* One quantity on one resource, against the drafted day: what a fit is asked
|
|
212
|
+
* about, one candidate at a time.
|
|
213
|
+
*
|
|
214
|
+
* @property day - The plan day
|
|
215
|
+
* @property bin - The bin it is for; `none` for an arrival not yet booked and for a new reservation
|
|
216
|
+
* @property reserve - Whether it reserves a slot (a reservation, or a bin booking no arrival): checked with no quantity, and refused when the resource is full
|
|
217
|
+
* @property quantity - What the resource would hold of it
|
|
218
|
+
* @property arrival - Its arrival, if it has one
|
|
219
|
+
* @property kind - Its kind
|
|
220
|
+
* @property resource - The resource
|
|
221
|
+
* @property load - The resource's load as the day stands
|
|
222
|
+
* @property after - What the resource would hold with it: the other bins' parts, and its quantity
|
|
223
|
+
* @property hold - From the plan day for the longer of its hold and the resource's other bins' holds
|
|
224
|
+
* @property spare - The days between the hold's end and the resource's next job; `none` with no next job
|
|
225
|
+
* @property kindMates - Whether a bin of its kind is already on the resource
|
|
226
|
+
* @property otherMates - Whether the resource holds other bins, none of its kind
|
|
227
|
+
* @property rules - The built-in rules
|
|
228
|
+
* @property unit - The quantity's unit
|
|
229
|
+
*/
|
|
230
|
+
export const AllocationCandidateType = StructType({
|
|
231
|
+
day: DateTimeType, bin: OptionType(StringType), reserve: BooleanType, quantity: FloatType, arrival: OptionType(AllocationArrivalType),
|
|
232
|
+
kind: OptionType(StringType), resource: AllocationResourceType, load: AllocationLoadType, after: FloatType, hold: AllocationIntervalType,
|
|
233
|
+
spare: OptionType(FloatType), kindMates: BooleanType, otherMates: BooleanType, rules: AllocationRulesType, unit: StringType,
|
|
234
|
+
});
|
|
235
|
+
/** Why something does not fit — Schedule's, shared with the Roster. */
|
|
236
|
+
export const AllocationRefusalType = ScheduleRefusalType;
|
|
237
|
+
/** One verdict of a fit — Schedule's, shared with the Roster. */
|
|
238
|
+
export const AllocationFitType = ScheduleFitType;
|
|
239
|
+
/**
|
|
240
|
+
* The question a fit answers.
|
|
241
|
+
*
|
|
242
|
+
* @property place - Where can this subject — a bin, or an arrival — go with this quantity: a verdict per resource
|
|
243
|
+
* @property take - What can this resource take: a verdict per bin, one per arrival the day has not booked, and one for reserving an empty slot on it
|
|
244
|
+
*/
|
|
245
|
+
export const AllocationFitAskType = VariantType({
|
|
246
|
+
place: StructType({ subject: VariantType({ bin: StringType, arrival: StringType }), quantity: FloatType }),
|
|
247
|
+
take: StructType({ resource: StringType }),
|
|
248
|
+
});
|
|
249
|
+
/**
|
|
250
|
+
* One question to the app's fit, about the drafted day.
|
|
251
|
+
*
|
|
252
|
+
* @typeParam R - The app's bin row type
|
|
253
|
+
* @param row - The app's bin row type
|
|
254
|
+
* @returns `StructType({ day, plan, ask, context })`
|
|
255
|
+
*
|
|
256
|
+
* @property day - The plan day
|
|
257
|
+
* @property plan - The day as drafted: each bin its roles and its own row
|
|
258
|
+
* @property ask - The question
|
|
259
|
+
* @property context - Every arrival and resource, and the board's configuration
|
|
260
|
+
*/
|
|
261
|
+
export function AllocationFitRequestTypeFor(row) {
|
|
262
|
+
return StructType({ day: DateTimeType, plan: AllocationDayTypeFor(row), ask: AllocationFitAskType, context: AllocationContextType });
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* A fit's answer. It echoes its question, so the board matches each answer to
|
|
266
|
+
* the question it asked.
|
|
267
|
+
*
|
|
268
|
+
* @property ask - The question answered
|
|
269
|
+
* @property resources - A place's verdicts, by resource
|
|
270
|
+
* @property bins - A take's verdicts, by bin
|
|
271
|
+
* @property arrivals - A take's verdicts for booking each arrival the day has not booked onto the resource, by arrival (the Table's arrival Chooser, a reservation's Book list)
|
|
272
|
+
* @property reserve - A take's verdict for reserving an empty slot
|
|
273
|
+
* @property basis - How the fits are ranked, in words (`ranked by load, kind and spare days`)
|
|
274
|
+
*/
|
|
275
|
+
export const AllocationFitResultType = StructType({
|
|
276
|
+
ask: AllocationFitAskType, resources: DictType(StringType, AllocationFitType), bins: DictType(StringType, AllocationFitType),
|
|
277
|
+
arrivals: DictType(StringType, AllocationFitType), reserve: OptionType(AllocationFitType), basis: StringType,
|
|
278
|
+
});
|
|
279
|
+
// ============================================================================
|
|
280
|
+
// Issues and slots
|
|
281
|
+
// ============================================================================
|
|
282
|
+
/**
|
|
283
|
+
* An issue's fix.
|
|
284
|
+
*
|
|
285
|
+
* @property choose - Choose a resource for the bin
|
|
286
|
+
* @property move - Open this bin's resource choices (`Move LD-2205…`)
|
|
287
|
+
* @property find - Find a fit for the bin's unallocated quantity
|
|
288
|
+
*/
|
|
289
|
+
export const AllocationFixType = VariantType({ choose: NullType, move: StringType, find: NullType });
|
|
290
|
+
/**
|
|
291
|
+
* What an issue is about.
|
|
292
|
+
*
|
|
293
|
+
* @property unlinked - A bin with no resource
|
|
294
|
+
* @property unallocated - A bin whose parts leave some of it unallocated
|
|
295
|
+
* @property over - A resource over its maximum
|
|
296
|
+
* @property under - A resource under its minimum
|
|
297
|
+
* @property overlap - A resource whose hold runs into its next job
|
|
298
|
+
* @property custom - One of the app's, by its group's name (`Spec mismatch`)
|
|
299
|
+
*/
|
|
300
|
+
export const AllocationIssueKindType = VariantType({
|
|
301
|
+
unlinked: NullType, unallocated: NullType, over: NullType, under: NullType, overlap: NullType, custom: StringType,
|
|
302
|
+
});
|
|
303
|
+
/**
|
|
304
|
+
* One warning about the drafted day. Issues never block Save or Publish.
|
|
305
|
+
*
|
|
306
|
+
* @property kind - What it is about
|
|
307
|
+
* @property tone - Its tone; warning and danger issues are counted, neutral and info ones listed only
|
|
308
|
+
* @property title - Its title (`K-207`)
|
|
309
|
+
* @property detail - Its detail (`44 m³ · max 40 · 4 over · over max`)
|
|
310
|
+
* @property bin - The bin it is about, if any
|
|
311
|
+
* @property resource - The resource it is about, if any
|
|
312
|
+
* @property flag - A bin card's short mark (`≠ spec`)
|
|
313
|
+
* @property fix - Its fix
|
|
314
|
+
*/
|
|
315
|
+
export const AllocationIssueType = StructType({
|
|
316
|
+
kind: AllocationIssueKindType, tone: StatusTokenType, title: StringType, detail: StringType,
|
|
317
|
+
bin: OptionType(StringType), resource: OptionType(StringType), flag: OptionType(StringType), fix: OptionType(AllocationFixType),
|
|
318
|
+
});
|
|
319
|
+
/**
|
|
320
|
+
* What the app's `check` is given: the drafted day and every load.
|
|
321
|
+
*
|
|
322
|
+
* @typeParam R - The app's bin row type
|
|
323
|
+
* @param row - The app's bin row type
|
|
324
|
+
* @returns `StructType({ day, plan, context, loads })`
|
|
325
|
+
*
|
|
326
|
+
* @property day - The plan day
|
|
327
|
+
* @property plan - The day as drafted: each bin its roles and its own row, which the app's check reads
|
|
328
|
+
* @property context - Every arrival and resource
|
|
329
|
+
* @property loads - Every resource's load, by key
|
|
330
|
+
*/
|
|
331
|
+
export function AllocationCheckContextTypeFor(row) {
|
|
332
|
+
return StructType({
|
|
333
|
+
day: DateTimeType, plan: AllocationDayTypeFor(row), context: AllocationContextType, loads: DictType(StringType, AllocationLoadType),
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* A slot's state.
|
|
338
|
+
*
|
|
339
|
+
* @property free - No bin is in it
|
|
340
|
+
* @property booked - A bin booking an arrival is in it
|
|
341
|
+
* @property reserved - Only reservations are in it
|
|
342
|
+
*/
|
|
343
|
+
export const AllocationSlotStatusType = VariantType({ free: NullType, booked: NullType, reserved: NullType });
|
|
344
|
+
/**
|
|
345
|
+
* One lane slot of the plan day: a Table's row, or one per bin of its batch.
|
|
346
|
+
*
|
|
347
|
+
* @property lane - Its lane's key
|
|
348
|
+
* @property at - Its time: the slot's start and its lane's offset
|
|
349
|
+
* @property status - Free, booked or reserved
|
|
350
|
+
* @property bins - Its bins, by time
|
|
351
|
+
*/
|
|
352
|
+
export const AllocationSlotType = StructType({ lane: StringType, at: DateTimeType, status: AllocationSlotStatusType, bins: ArrayType(StringType) });
|
|
353
|
+
/**
|
|
354
|
+
* The board's layout.
|
|
355
|
+
*
|
|
356
|
+
* @property timeline - Lanes, links and resources
|
|
357
|
+
* @property table - One row per slot
|
|
358
|
+
*/
|
|
359
|
+
export const AllocationLayoutType = VariantType({ timeline: NullType, table: NullType });
|
|
360
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/allocation/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/bind/func.d.ts
CHANGED
|
@@ -187,6 +187,20 @@ export declare const FuncBindHandleType: <I extends EastType[], O extends EastTy
|
|
|
187
187
|
* @typeParam O - Return East type.
|
|
188
188
|
*/
|
|
189
189
|
export type BoundFunc<I extends EastType[], O extends EastType> = ExprType<ReturnType<typeof FuncBindHandleType<I, O>>>;
|
|
190
|
+
/**
|
|
191
|
+
* What a {@link Func.bind} handle of a one-argument function asks and
|
|
192
|
+
* answers, read from the handle's type: its `call`'s one input and its
|
|
193
|
+
* `read`'s result. A tag that takes a bound function checks the handle it is
|
|
194
|
+
* given with this, then holds each type to its own with `isTypeEqual`.
|
|
195
|
+
*
|
|
196
|
+
* @param handle - What an app passed where a `Func.bind` handle goes
|
|
197
|
+
* @returns The function's argument type and result type, or `undefined` for a value that is no `Func.bind` handle of a one-argument function
|
|
198
|
+
* @internal
|
|
199
|
+
*/
|
|
200
|
+
export declare function boundFuncSignature(handle: unknown): {
|
|
201
|
+
asks: EastType;
|
|
202
|
+
answers: EastType;
|
|
203
|
+
} | undefined;
|
|
190
204
|
/**
|
|
191
205
|
* The underlying `Func.bind` platform-function definition. End-users
|
|
192
206
|
* should call {@link Func.bind} (the typed factory in this module);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"func.d.ts","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"func.d.ts","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,EAGH,SAAS,EACT,WAAW,EACX,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,QAAQ,EAChB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAM/C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,cAAc;;;;;;EAMzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC;AAEnD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,aAAa,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;EAE1B,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC;AAMrD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,EACvE,QAAQ,CAAC,GAAG,CAAC,CAAC,EACd,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASX,CAAC;AAEH;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,EAAE,CAAC,SAAS,QAAQ,IAC1D,QAAQ,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,GAAG,SAAS,CAQrG;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB,+FAM9B,CAAC;AAqBF;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB;IAC3B,2EAA2E;;IAE3E,wEAAwE;;IAExE,6CAA6C;;;;;;;;IAE7C,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;;IAEnD,wCAAwC;;IAExC,uCAAuC;;CAEjC,CAAC;AAMX;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,iBAAS,YAAY,CAAC,MAAM,SAAS,QAAQ,EAAE,EAAE,MAAM,SAAS,QAAQ,EACpE,EAAE,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAChC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3B;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI;;CAEP,CAAC"}
|
package/dist/src/bind/func.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*
|
|
15
15
|
* @packageDocumentation
|
|
16
16
|
*/
|
|
17
|
-
import { East, ArrayType, BooleanType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from '@elaraai/east';
|
|
17
|
+
import { East, Expr, ArrayType, BooleanType, FunctionType, IntegerType, NullType, OptionType, StringType, StructType, VariantType, } from '@elaraai/east';
|
|
18
18
|
// ============================================================================
|
|
19
19
|
// Status + error types
|
|
20
20
|
// ============================================================================
|
|
@@ -125,6 +125,27 @@ export const FuncBindHandleType = (inputs, output) => StructType({
|
|
|
125
125
|
cancel: FunctionType([], NullType),
|
|
126
126
|
binding: FuncBindingType,
|
|
127
127
|
});
|
|
128
|
+
/**
|
|
129
|
+
* What a {@link Func.bind} handle of a one-argument function asks and
|
|
130
|
+
* answers, read from the handle's type: its `call`'s one input and its
|
|
131
|
+
* `read`'s result. A tag that takes a bound function checks the handle it is
|
|
132
|
+
* given with this, then holds each type to its own with `isTypeEqual`.
|
|
133
|
+
*
|
|
134
|
+
* @param handle - What an app passed where a `Func.bind` handle goes
|
|
135
|
+
* @returns The function's argument type and result type, or `undefined` for a value that is no `Func.bind` handle of a one-argument function
|
|
136
|
+
* @internal
|
|
137
|
+
*/
|
|
138
|
+
export function boundFuncSignature(handle) {
|
|
139
|
+
if (!(handle instanceof Expr))
|
|
140
|
+
return undefined;
|
|
141
|
+
const type = Expr.type(handle);
|
|
142
|
+
if (type.type !== "Struct" || type.fields["binding"] === undefined)
|
|
143
|
+
return undefined;
|
|
144
|
+
const call = type.fields["call"], read = type.fields["read"];
|
|
145
|
+
const asks = call?.type === "Function" && call.inputs.length === 1 ? call.inputs[0] : undefined;
|
|
146
|
+
const answers = read?.type === "Function" && read.output.type === "Variant" ? read.output.cases["some"] : undefined;
|
|
147
|
+
return asks === undefined || answers === undefined ? undefined : { asks, answers };
|
|
148
|
+
}
|
|
128
149
|
// ============================================================================
|
|
129
150
|
// Platform function — single generic over the instantiated handle type.
|
|
130
151
|
// ============================================================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"func.js","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"func.js","sourceRoot":"","sources":["../../../src/bind/func.ts"],"names":[],"mappings":"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"}
|