ballerina-core 1.0.244 → 1.0.246
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/bin/main.js +1 -1
- package/bin/src/api-response-handler/coroutines/runner.js +13 -20
- package/bin/src/api-response-handler/state.js +11 -13
- package/bin/src/apiResultStatus/state.d.ts +3 -10
- package/bin/src/apiResultStatus/state.js +5 -2
- package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +196 -314
- package/bin/src/async/domains/mirroring/domains/collection/state.js +36 -126
- package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +11 -18
- package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.js +19 -19
- package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.js +1 -1
- package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.js +18 -18
- package/bin/src/async/domains/mirroring/domains/entity/state.js +9 -18
- package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +83 -134
- package/bin/src/async/domains/mirroring/domains/singleton/state.js +8 -52
- package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +7 -0
- package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts.map +1 -1
- package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +4 -7
- package/bin/src/async/domains/promise/state.d.ts +4 -9
- package/bin/src/async/domains/promise/state.js +9 -20
- package/bin/src/async/domains/synchronized/coroutines/synchronize.js +28 -80
- package/bin/src/async/domains/synchronized/state.d.ts +7 -14
- package/bin/src/async/domains/synchronized/state.js +6 -16
- package/bin/src/async/state.d.ts +45 -56
- package/bin/src/async/state.js +97 -115
- package/bin/src/baseEntity/domains/identifiable/state.d.ts +11 -15
- package/bin/src/baseEntity/domains/identifiable/state.js +9 -9
- package/bin/src/collections/domains/array/state.d.ts +7 -7
- package/bin/src/collections/domains/array/state.js +5 -5
- package/bin/src/collections/domains/errors/state.d.ts +10 -10
- package/bin/src/collections/domains/errors/state.js +10 -10
- package/bin/src/collections/domains/immutable/domains/list/state.js +44 -46
- package/bin/src/collections/domains/immutable/domains/map/state.js +23 -41
- package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +65 -84
- package/bin/src/collections/domains/immutable/domains/ordereredSet/state.d.ts +6 -6
- package/bin/src/collections/domains/immutable/domains/ordereredSet/state.js +6 -6
- package/bin/src/collections/domains/maybe/state.d.ts +9 -9
- package/bin/src/collections/domains/maybe/state.js +9 -12
- package/bin/src/collections/domains/product/state.d.ts +19 -25
- package/bin/src/collections/domains/product/state.js +10 -13
- package/bin/src/collections/domains/sum/state.d.ts +77 -101
- package/bin/src/collections/domains/sum/state.js +32 -49
- package/bin/src/collections/domains/valueOrErrors/state.js +56 -81
- package/bin/src/coroutines/builder.js +19 -40
- package/bin/src/coroutines/state.js +306 -381
- package/bin/src/coroutines/template.js +59 -97
- package/bin/src/debounced/coroutines/debounce.js +89 -115
- package/bin/src/debounced/state.js +25 -62
- package/bin/src/diagnostics/domains/message-box/state.d.ts +1 -1
- package/bin/src/diagnostics/domains/message-box/state.js +3 -3
- package/bin/src/foreignMutations/state.d.ts +3 -3
- package/bin/src/foreignMutations/state.js +1 -1
- package/bin/src/forms/domains/attachments/views/attachments-view.js +8 -30
- package/bin/src/forms/domains/collection/domains/reference/state.js +20 -26
- package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
- package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +754 -2007
- package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +44 -123
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.js +166 -339
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +27 -40
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.js +40 -76
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.js +59 -102
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.js +29 -64
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.js +30 -64
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.js +33 -88
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +13 -21
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.js +23 -52
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.js +18 -59
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.js +55 -129
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +27 -43
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.js +23 -63
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +22 -39
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.js +11 -46
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts +6 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js +50 -146
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.js +29 -64
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.js +33 -78
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.js +62 -157
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +569 -977
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.js +94 -255
- package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +90 -322
- package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +2 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/state.js +3 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/base-64-file/template.js +23 -49
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/state.js +3 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/boolean/template.js +24 -52
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +6 -18
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +30 -64
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +6 -9
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +60 -153
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/state.js +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum-multiselect/template.js +50 -127
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +22 -40
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +13 -31
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts +2 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +142 -417
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/state.js +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js +8 -28
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +18 -61
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +90 -329
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/state.js +3 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/number/template.js +23 -54
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +10 -22
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +31 -49
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +10 -29
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/builder.js +2 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/runner.js +26 -47
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +40 -88
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +152 -386
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +10 -19
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +21 -78
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +11 -32
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +77 -222
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +13 -35
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +68 -195
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +13 -36
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +106 -246
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/state.js +3 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/secret/template.js +23 -54
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +27 -40
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/state.js +3 -3
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/string/template.js +26 -58
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +7 -22
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +53 -188
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/builder.js +2 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/infiniteLoader.js +24 -57
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +20 -70
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +27 -61
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +19 -38
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +15 -43
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts +4 -0
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +137 -301
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts +6 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +238 -622
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +8 -20
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +35 -132
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +8 -21
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +32 -103
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +9 -12
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +20 -54
- package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts +8 -0
- package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +537 -676
- package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +18 -58
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +14 -45
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +18 -76
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +24 -82
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +8 -37
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +36 -120
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +63 -145
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +12 -44
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +4 -14
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +25 -81
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +24 -82
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +20 -63
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +74 -247
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +13 -61
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +15 -64
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +45 -144
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +95 -203
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +37 -79
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/builder.js +2 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/runner.js +17 -19
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +11 -58
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +25 -73
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +95 -205
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +37 -78
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/builder.js +2 -2
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/runner.js +17 -19
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +11 -58
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +25 -71
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +85 -163
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +4 -10
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +27 -72
- package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +423 -773
- package/bin/src/forms/domains/dispatched-forms/runner/state.js +38 -62
- package/bin/src/forms/domains/dispatched-forms/runner/template.js +25 -78
- package/bin/src/forms/domains/launcher/coroutines/runner.js +45 -120
- package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +101 -240
- package/bin/src/forms/domains/launcher/domains/create/state.js +17 -62
- package/bin/src/forms/domains/launcher/domains/create/template.js +42 -84
- package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +103 -242
- package/bin/src/forms/domains/launcher/domains/edit/state.js +17 -62
- package/bin/src/forms/domains/launcher/domains/edit/template.js +43 -86
- package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
- package/bin/src/forms/domains/launcher/domains/merger/state.js +26 -35
- package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +42 -88
- package/bin/src/forms/domains/launcher/domains/passthrough/state.js +19 -44
- package/bin/src/forms/domains/launcher/domains/passthrough/template.js +34 -56
- package/bin/src/forms/domains/launcher/state.js +6 -6
- package/bin/src/forms/domains/launcher/template.js +85 -169
- package/bin/src/forms/domains/parser/coroutines/runner.js +25 -87
- package/bin/src/forms/domains/parser/domains/built-ins/state.js +533 -944
- package/bin/src/forms/domains/parser/domains/deltas/state.js +318 -444
- package/bin/src/forms/domains/parser/domains/injectables/state.js +26 -29
- package/bin/src/forms/domains/parser/domains/layout/state.d.ts +1 -1
- package/bin/src/forms/domains/parser/domains/layout/state.d.ts.map +1 -1
- package/bin/src/forms/domains/parser/domains/layout/state.js +183 -265
- package/bin/src/forms/domains/parser/domains/layout/state.js.map +1 -1
- package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +162 -324
- package/bin/src/forms/domains/parser/domains/predicates/state.js +979 -1509
- package/bin/src/forms/domains/parser/domains/renderer/state.js +480 -1137
- package/bin/src/forms/domains/parser/domains/types/state.js +170 -355
- package/bin/src/forms/domains/parser/domains/validator/state.js +280 -417
- package/bin/src/forms/domains/parser/state.js +373 -612
- package/bin/src/forms/domains/parser/template.js +1 -1
- package/bin/src/forms/domains/primitives/domains/base-64-file/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/base-64-file/template.js +19 -38
- package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/boolean/template.js +19 -38
- package/bin/src/forms/domains/primitives/domains/date/state.js +9 -18
- package/bin/src/forms/domains/primitives/domains/date/template.js +25 -51
- package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
- package/bin/src/forms/domains/primitives/domains/enum/template.js +48 -117
- package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
- package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +40 -99
- package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
- package/bin/src/forms/domains/primitives/domains/list/template.js +71 -200
- package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
- package/bin/src/forms/domains/primitives/domains/map/template.js +103 -294
- package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/number/template.js +19 -38
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +16 -33
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +62 -171
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.js +1 -1
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.js +69 -182
- package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/secret/template.js +19 -38
- package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/string/template.js +22 -42
- package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
- package/bin/src/forms/domains/primitives/domains/sum/template.js +50 -141
- package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
- package/bin/src/forms/domains/primitives/domains/tuple/template.js +33 -100
- package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
- package/bin/src/forms/domains/primitives/domains/unit/template.js +9 -22
- package/bin/src/forms/domains/singleton/domains/form-label/state.d.ts +4 -4
- package/bin/src/forms/domains/singleton/domains/form-label/state.js +1 -1
- package/bin/src/forms/domains/singleton/state.js +10 -12
- package/bin/src/forms/domains/singleton/template.js +113 -288
- package/bin/src/fun/domains/curry/state.d.ts +2 -4
- package/bin/src/fun/domains/curry/state.js +1 -1
- package/bin/src/fun/domains/id/state.d.ts +1 -1
- package/bin/src/fun/domains/id/state.js +1 -1
- package/bin/src/fun/domains/predicate/domains/bool-expr.d.ts +41 -57
- package/bin/src/fun/domains/predicate/domains/bool-expr.js +67 -76
- package/bin/src/fun/domains/predicate/state.d.ts +7 -9
- package/bin/src/fun/domains/predicate/state.js +10 -14
- package/bin/src/fun/domains/simpleCallback/state.d.ts +1 -1
- package/bin/src/fun/domains/simpleCallback/state.js +1 -1
- package/bin/src/fun/domains/uncurry/state.d.ts +2 -4
- package/bin/src/fun/domains/uncurry/state.js +1 -1
- package/bin/src/fun/domains/unit/state.d.ts +1 -1
- package/bin/src/fun/domains/unit/state.js +1 -1
- package/bin/src/fun/domains/updater/domains/caseUpdater/state.d.ts +7 -22
- package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +10 -18
- package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +13 -24
- package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +10 -40
- package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +13 -19
- package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +9 -20
- package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +13 -24
- package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +11 -47
- package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +8 -20
- package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +5 -17
- package/bin/src/fun/domains/updater/domains/replaceWith/state.d.ts +1 -1
- package/bin/src/fun/domains/updater/domains/replaceWith/state.js +1 -1
- package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts +4 -13
- package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +4 -6
- package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +22 -60
- package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +31 -42
- package/bin/src/fun/domains/updater/state.d.ts +4 -4
- package/bin/src/fun/domains/updater/state.js +10 -12
- package/bin/src/fun/state.d.ts +3 -3
- package/bin/src/fun/state.js +7 -9
- package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
- package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +20 -47
- package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
- package/bin/src/infinite-data-stream/state.d.ts +51 -84
- package/bin/src/infinite-data-stream/state.js +61 -125
- package/bin/src/infinite-data-stream/template.js +2 -3
- package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
- package/bin/src/math/domains/DOMRect/state.js +8 -10
- package/bin/src/math/domains/number/state.d.ts +5 -5
- package/bin/src/math/domains/number/state.js +5 -5
- package/bin/src/math/domains/rect/state.d.ts +8 -8
- package/bin/src/math/domains/rect/state.js +15 -16
- package/bin/src/math/domains/rgba/state.d.ts +17 -17
- package/bin/src/math/domains/rgba/state.js +81 -77
- package/bin/src/math/domains/size2/state.d.ts +8 -8
- package/bin/src/math/domains/size2/state.js +6 -6
- package/bin/src/math/domains/vector2/state.d.ts +10 -10
- package/bin/src/math/domains/vector2/state.js +8 -8
- package/bin/src/queue/state.d.ts +3 -3
- package/bin/src/queue/state.d.ts.map +1 -1
- package/bin/src/queue/state.js +2 -2
- package/bin/src/queue/state.js.map +1 -1
- package/bin/src/state/domains/repository/state.d.ts +9 -15
- package/bin/src/state/domains/repository/state.js +1 -1
- package/bin/src/template/state.js +115 -163
- package/bin/src/validation/state.js +45 -38
- package/bin/src/value/domains/mutable-value/state.js +2 -3
- package/bin/src/value/state.d.ts +9 -9
- package/bin/src/value/state.js +8 -11
- package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
- package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +20 -55
- package/bin/src/value-infinite-data-stream/coroutines/runner.js +4 -6
- package/bin/src/value-infinite-data-stream/state.js +77 -199
- package/bin/src/value-infinite-data-stream/template.js +2 -4
- package/bin/src/visibility/state.d.ts +2 -5
- package/bin/src/visibility/state.js +1 -1
- package/package.json +1 -1
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +32 -15
- package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.tsx +16 -3
- package/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.ts +1 -0
- package/src/forms/domains/parser/domains/layout/state.ts +11 -4
- package/src/queue/state.ts +8 -4
|
@@ -1,2052 +1,799 @@
|
|
|
1
1
|
import { Map, List, OrderedMap } from "immutable";
|
|
2
|
-
import {
|
|
3
|
-
CollectionReference,
|
|
4
|
-
EnumReference,
|
|
5
|
-
} from "../../collection/domains/reference/state";
|
|
2
|
+
import { CollectionReference, EnumReference, } from "../../collection/domains/reference/state";
|
|
6
3
|
import { ValueOrErrors } from "../../../../collections/domains/valueOrErrors/state";
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
DispatchCommonFormState,
|
|
17
|
-
UnionAbstractRendererState,
|
|
18
|
-
OneAbstractRendererState,
|
|
19
|
-
} from "../../../../../main";
|
|
20
|
-
import { DispatchParsedType } from "../deserializer/domains/specification/domains/types/state";
|
|
21
|
-
import { UnitAbstractRendererState } from "../runner/domains/abstract-renderers/unit/state";
|
|
22
|
-
import { StringAbstractRendererState } from "../runner/domains/abstract-renderers/string/state";
|
|
23
|
-
import { NumberAbstractRendererState } from "../runner/domains/abstract-renderers/number/state";
|
|
24
|
-
import { BoolAbstractRendererState } from "../runner/domains/abstract-renderers/boolean/state";
|
|
25
|
-
import { DateAbstractRendererState } from "../runner/domains/abstract-renderers/date/state";
|
|
26
|
-
import { Base64FileAbstractRendererState } from "../runner/domains/abstract-renderers/base-64-file/state";
|
|
27
|
-
import { SecretAbstractRendererState } from "../runner/domains/abstract-renderers/secret/state";
|
|
4
|
+
import { PredicateValue, replaceWith, Sum, unit, RecordAbstractRendererState, TableAbstractRendererState, MapRepo, ValueTable, DispatchCommonFormState, UnionAbstractRendererState, OneAbstractRendererState, } from "../../../../../main";
|
|
5
|
+
import { DispatchParsedType, } from "../deserializer/domains/specification/domains/types/state";
|
|
6
|
+
import { UnitAbstractRendererState, } from "../runner/domains/abstract-renderers/unit/state";
|
|
7
|
+
import { StringAbstractRendererState, } from "../runner/domains/abstract-renderers/string/state";
|
|
8
|
+
import { NumberAbstractRendererState, } from "../runner/domains/abstract-renderers/number/state";
|
|
9
|
+
import { BoolAbstractRendererState, } from "../runner/domains/abstract-renderers/boolean/state";
|
|
10
|
+
import { DateAbstractRendererState, } from "../runner/domains/abstract-renderers/date/state";
|
|
11
|
+
import { Base64FileAbstractRendererState, } from "../runner/domains/abstract-renderers/base-64-file/state";
|
|
12
|
+
import { SecretAbstractRendererState, } from "../runner/domains/abstract-renderers/secret/state";
|
|
28
13
|
import { ReadOnlyAbstractRendererState } from "../runner/domains/abstract-renderers/readOnly/state";
|
|
29
|
-
import { MapAbstractRendererState } from "../runner/domains/abstract-renderers/map/state";
|
|
30
|
-
import { TupleAbstractRendererState } from "../runner/domains/abstract-renderers/tuple/state";
|
|
31
|
-
import { SumAbstractRendererState } from "../runner/domains/abstract-renderers/sum/state";
|
|
32
|
-
import { EnumAbstractRendererState } from "../runner/domains/abstract-renderers/enum/state";
|
|
33
|
-
import { ListAbstractRendererState } from "../runner/domains/abstract-renderers/list/state";
|
|
34
|
-
import { SearchableInfiniteStreamAbstractRendererState } from "../runner/domains/abstract-renderers/searchable-infinite-stream/state";
|
|
14
|
+
import { MapAbstractRendererState, } from "../runner/domains/abstract-renderers/map/state";
|
|
15
|
+
import { TupleAbstractRendererState, } from "../runner/domains/abstract-renderers/tuple/state";
|
|
16
|
+
import { SumAbstractRendererState, } from "../runner/domains/abstract-renderers/sum/state";
|
|
17
|
+
import { EnumAbstractRendererState, } from "../runner/domains/abstract-renderers/enum/state";
|
|
18
|
+
import { ListAbstractRendererState, } from "../runner/domains/abstract-renderers/list/state";
|
|
19
|
+
import { SearchableInfiniteStreamAbstractRendererState, } from "../runner/domains/abstract-renderers/searchable-infinite-stream/state";
|
|
35
20
|
import { LookupRenderer } from "../deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state";
|
|
36
|
-
const sortObjectKeys = (obj) =>
|
|
37
|
-
Object.keys(obj)
|
|
21
|
+
const sortObjectKeys = (obj) => Object.keys(obj)
|
|
38
22
|
.sort()
|
|
39
23
|
.reduce((sortedObj, key) => {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
24
|
+
sortedObj[key] = obj[key];
|
|
25
|
+
return sortedObj;
|
|
26
|
+
}, {});
|
|
43
27
|
const simpleMapKeyToIdentifer = (key) => {
|
|
44
|
-
|
|
45
|
-
|
|
28
|
+
if (typeof key == "object")
|
|
29
|
+
return JSON.stringify(sortObjectKeys(key));
|
|
30
|
+
return JSON.stringify(key);
|
|
46
31
|
};
|
|
47
32
|
export const DispatchGenericTypes = [
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
33
|
+
"SingleSelection",
|
|
34
|
+
"MultiSelection",
|
|
35
|
+
"List",
|
|
36
|
+
"Map",
|
|
37
|
+
"Union",
|
|
38
|
+
"Tuple",
|
|
39
|
+
"Option",
|
|
40
|
+
"Sum",
|
|
41
|
+
"KeyOf",
|
|
42
|
+
"Table",
|
|
43
|
+
"One",
|
|
44
|
+
"ReadOnly",
|
|
60
45
|
];
|
|
61
46
|
export const concreteRendererToKind = (concreteRenderers) => (name) => {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
47
|
+
const viewTypes = Object.keys(concreteRenderers);
|
|
48
|
+
for (const viewType of viewTypes) {
|
|
49
|
+
if (name in concreteRenderers[viewType]) {
|
|
50
|
+
return ValueOrErrors.Default.return(viewType);
|
|
51
|
+
}
|
|
66
52
|
}
|
|
67
|
-
|
|
68
|
-
return ValueOrErrors.Default.throwOne(
|
|
69
|
-
`cannot find view ${name} in concrete renderers`,
|
|
70
|
-
);
|
|
53
|
+
return ValueOrErrors.Default.throwOne(`cannot find view ${name} in concrete renderers`);
|
|
71
54
|
};
|
|
72
55
|
export const tryGetConcreteRenderer = (concreteRenderers) => (kind, name) => {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return ValueOrErrors.Default.
|
|
80
|
-
}
|
|
81
|
-
return ValueOrErrors.Default.throwOne(
|
|
82
|
-
`cannot find concrete renderer "${name}" in kind "${kind}"`,
|
|
83
|
-
);
|
|
56
|
+
if (!concreteRenderers[kind]) {
|
|
57
|
+
return ValueOrErrors.Default.throwOne(`cannot find concrete renderer kind "${kind}" in concrete renderers`);
|
|
58
|
+
}
|
|
59
|
+
if (concreteRenderers[kind][name]) {
|
|
60
|
+
return ValueOrErrors.Default.return(concreteRenderers[kind][name]());
|
|
61
|
+
}
|
|
62
|
+
return ValueOrErrors.Default.throwOne(`cannot find concrete renderer "${name}" in kind "${kind}"`);
|
|
84
63
|
};
|
|
85
|
-
export const getDefaultRecordRenderer = (
|
|
86
|
-
|
|
87
|
-
defaultRecordRenderer,
|
|
88
|
-
defaultNestedRecordRenderer,
|
|
89
|
-
) => (isNested ? defaultNestedRecordRenderer() : defaultRecordRenderer());
|
|
90
|
-
export const dispatchDefaultState =
|
|
91
|
-
(
|
|
92
|
-
infiniteStreamSources,
|
|
93
|
-
injectedPrimitives,
|
|
94
|
-
types,
|
|
95
|
-
forms,
|
|
96
|
-
converters,
|
|
97
|
-
lookupSources,
|
|
98
|
-
tableApiSources,
|
|
99
|
-
specApis,
|
|
100
|
-
) =>
|
|
101
|
-
(t, renderer) => {
|
|
64
|
+
export const getDefaultRecordRenderer = (isNested, defaultRecordRenderer, defaultNestedRecordRenderer) => (isNested ? defaultNestedRecordRenderer() : defaultRecordRenderer());
|
|
65
|
+
export const dispatchDefaultState = (infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis) => (t, renderer) => {
|
|
102
66
|
const result = (() => {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
)
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
? ValueOrErrors.Default.return(
|
|
166
|
-
NumberAbstractRendererState.Default(),
|
|
167
|
-
)
|
|
168
|
-
: t.name == "string" ||
|
|
169
|
-
t.name == "entityIdString" ||
|
|
170
|
-
t.name == "calculatedDisplayValue"
|
|
171
|
-
? ValueOrErrors.Default.return(
|
|
172
|
-
StringAbstractRendererState.Default(),
|
|
173
|
-
)
|
|
174
|
-
: t.name == "base64File"
|
|
175
|
-
? ValueOrErrors.Default.return(
|
|
176
|
-
Base64FileAbstractRendererState.Default(),
|
|
177
|
-
)
|
|
178
|
-
: t.name == "secret"
|
|
179
|
-
? ValueOrErrors.Default.return(
|
|
180
|
-
SecretAbstractRendererState.Default(),
|
|
181
|
-
)
|
|
182
|
-
: t.name == "Date"
|
|
183
|
-
? ValueOrErrors.Default.return(
|
|
184
|
-
DateAbstractRendererState.Default(),
|
|
185
|
-
)
|
|
186
|
-
: (injectedPrimitives === null ||
|
|
187
|
-
injectedPrimitives === void 0
|
|
188
|
-
? void 0
|
|
189
|
-
: injectedPrimitives.get(t.name)) != undefined
|
|
190
|
-
? ValueOrErrors.Default.return(
|
|
191
|
-
Object.assign(
|
|
192
|
-
{
|
|
193
|
-
commonFormState:
|
|
194
|
-
DispatchCommonFormState.Default(),
|
|
195
|
-
},
|
|
196
|
-
injectedPrimitives === null ||
|
|
197
|
-
injectedPrimitives === void 0
|
|
198
|
-
? void 0
|
|
199
|
-
: injectedPrimitives.get(t.name).defaultState,
|
|
200
|
-
),
|
|
201
|
-
)
|
|
202
|
-
: ValueOrErrors.Default.throwOne(
|
|
203
|
-
`could not resolve defaultState for primitive renderer kind "${t.name}"`,
|
|
204
|
-
);
|
|
205
|
-
if (t.kind == "singleSelection")
|
|
206
|
-
return renderer.kind == "enumRenderer"
|
|
207
|
-
? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
|
|
208
|
-
: renderer.kind == "streamRenderer"
|
|
209
|
-
? infiniteStreamSources(renderer.stream).Then((streamSource) =>
|
|
210
|
-
ValueOrErrors.Default.return(
|
|
211
|
-
SearchableInfiniteStreamAbstractRendererState.Default(
|
|
212
|
-
streamSource,
|
|
213
|
-
),
|
|
214
|
-
),
|
|
215
|
-
)
|
|
216
|
-
: ValueOrErrors.Default.throwOne(
|
|
217
|
-
`received non singleSelection renderer kind "${renderer.kind}" when resolving defaultState for singleSelection`,
|
|
218
|
-
);
|
|
219
|
-
if (t.kind == "multiSelection")
|
|
220
|
-
return renderer.kind == "enumRenderer"
|
|
221
|
-
? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
|
|
222
|
-
: renderer.kind == "streamRenderer"
|
|
223
|
-
? infiniteStreamSources(renderer.stream).Then((streamSource) =>
|
|
224
|
-
ValueOrErrors.Default.return(
|
|
225
|
-
SearchableInfiniteStreamAbstractRendererState.Default(
|
|
226
|
-
streamSource,
|
|
227
|
-
),
|
|
228
|
-
),
|
|
229
|
-
)
|
|
230
|
-
: ValueOrErrors.Default.throwOne(
|
|
231
|
-
`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultState for multiSelection`,
|
|
232
|
-
);
|
|
233
|
-
if (t.kind == "list")
|
|
234
|
-
return renderer.kind == "listRenderer"
|
|
235
|
-
? ValueOrErrors.Default.return(
|
|
236
|
-
ListAbstractRendererState.Default.zero(),
|
|
237
|
-
)
|
|
238
|
-
: ValueOrErrors.Default.throwOne(
|
|
239
|
-
`received non list renderer kind "${renderer.kind}" when resolving defaultState for list`,
|
|
240
|
-
);
|
|
241
|
-
if (t.kind == "map")
|
|
242
|
-
return renderer.kind == "mapRenderer"
|
|
243
|
-
? ValueOrErrors.Default.return(
|
|
244
|
-
MapAbstractRendererState.Default.zero(),
|
|
245
|
-
)
|
|
246
|
-
: ValueOrErrors.Default.throwOne(
|
|
247
|
-
`received non map renderer kind "${renderer.kind}" when resolving defaultState for map`,
|
|
248
|
-
);
|
|
249
|
-
if (t.kind == "tuple")
|
|
250
|
-
return renderer.kind == "tupleRenderer"
|
|
251
|
-
? ValueOrErrors.Operations.All(
|
|
252
|
-
List(
|
|
253
|
-
t.args.map((_, index) =>
|
|
254
|
-
dispatchDefaultState(
|
|
255
|
-
infiniteStreamSources,
|
|
256
|
-
injectedPrimitives,
|
|
257
|
-
types,
|
|
258
|
-
forms,
|
|
259
|
-
converters,
|
|
260
|
-
lookupSources,
|
|
261
|
-
tableApiSources,
|
|
262
|
-
specApis,
|
|
263
|
-
)(_, renderer.itemRenderers[index].renderer).Then(
|
|
264
|
-
(itemState) =>
|
|
265
|
-
ValueOrErrors.Default.return([index, itemState]),
|
|
266
|
-
),
|
|
267
|
-
),
|
|
268
|
-
),
|
|
269
|
-
).Then((itemStates) =>
|
|
270
|
-
ValueOrErrors.Default.return(
|
|
271
|
-
TupleAbstractRendererState.Default(Map(itemStates)),
|
|
272
|
-
),
|
|
273
|
-
)
|
|
274
|
-
: ValueOrErrors.Default.throwOne(
|
|
275
|
-
`received non tuple renderer kind "${renderer.kind}" when resolving defaultState for tuple`,
|
|
276
|
-
);
|
|
277
|
-
if (t.kind == "sum")
|
|
278
|
-
return renderer.kind == "sumRenderer"
|
|
279
|
-
? dispatchDefaultState(
|
|
280
|
-
infiniteStreamSources,
|
|
281
|
-
injectedPrimitives,
|
|
282
|
-
types,
|
|
283
|
-
forms,
|
|
284
|
-
converters,
|
|
285
|
-
lookupSources,
|
|
286
|
-
tableApiSources,
|
|
287
|
-
specApis,
|
|
288
|
-
)(t.args[0], renderer.leftRenderer.renderer).Then((left) =>
|
|
289
|
-
renderer.rightRenderer == undefined
|
|
290
|
-
? ValueOrErrors.Default.throwOne(
|
|
291
|
-
`rightRenderer is undefined when resolving defaultState sum view ${renderer.concreteRenderer}`,
|
|
292
|
-
)
|
|
293
|
-
: dispatchDefaultState(
|
|
294
|
-
infiniteStreamSources,
|
|
295
|
-
injectedPrimitives,
|
|
296
|
-
types,
|
|
297
|
-
forms,
|
|
298
|
-
converters,
|
|
299
|
-
lookupSources,
|
|
300
|
-
tableApiSources,
|
|
301
|
-
specApis,
|
|
302
|
-
)(t.args[1], renderer.rightRenderer.renderer).Then((right) =>
|
|
303
|
-
ValueOrErrors.Default.return(
|
|
304
|
-
SumAbstractRendererState.Default({
|
|
67
|
+
var _a, _b, _c, _d;
|
|
68
|
+
if (renderer == undefined) {
|
|
69
|
+
return ValueOrErrors.Default.return(undefined);
|
|
70
|
+
}
|
|
71
|
+
if (renderer.kind == "lookupType-lookupRenderer") {
|
|
72
|
+
return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(resolvedType, resolvedRenderer)));
|
|
73
|
+
}
|
|
74
|
+
if (renderer.kind == "lookupType-inlinedRenderer") {
|
|
75
|
+
return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(resolvedType, renderer.inlinedRenderer));
|
|
76
|
+
}
|
|
77
|
+
if (renderer.kind == "inlinedType-lookupRenderer") {
|
|
78
|
+
return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(renderer.type, resolvedRenderer));
|
|
79
|
+
}
|
|
80
|
+
if (t.kind == "primitive")
|
|
81
|
+
return t.name == "unit"
|
|
82
|
+
? ValueOrErrors.Default.return(UnitAbstractRendererState.Default())
|
|
83
|
+
: t.name == "boolean"
|
|
84
|
+
? ValueOrErrors.Default.return(BoolAbstractRendererState.Default())
|
|
85
|
+
: t.name == "number"
|
|
86
|
+
? ValueOrErrors.Default.return(NumberAbstractRendererState.Default())
|
|
87
|
+
: t.name == "string" ||
|
|
88
|
+
t.name == "entityIdString" ||
|
|
89
|
+
t.name == "calculatedDisplayValue"
|
|
90
|
+
? ValueOrErrors.Default.return(StringAbstractRendererState.Default())
|
|
91
|
+
: t.name == "base64File"
|
|
92
|
+
? ValueOrErrors.Default.return(Base64FileAbstractRendererState.Default())
|
|
93
|
+
: t.name == "secret"
|
|
94
|
+
? ValueOrErrors.Default.return(SecretAbstractRendererState.Default())
|
|
95
|
+
: t.name == "Date"
|
|
96
|
+
? ValueOrErrors.Default.return(DateAbstractRendererState.Default())
|
|
97
|
+
: (injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name)) != undefined
|
|
98
|
+
? ValueOrErrors.Default.return(Object.assign({ commonFormState: DispatchCommonFormState.Default() }, injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name).defaultState))
|
|
99
|
+
: ValueOrErrors.Default.throwOne(`could not resolve defaultState for primitive renderer kind "${t.name}"`);
|
|
100
|
+
if (t.kind == "singleSelection")
|
|
101
|
+
return renderer.kind == "enumRenderer"
|
|
102
|
+
? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
|
|
103
|
+
: renderer.kind == "streamRenderer"
|
|
104
|
+
? infiniteStreamSources(renderer.stream).Then((streamSource) => ValueOrErrors.Default.return(SearchableInfiniteStreamAbstractRendererState.Default(streamSource)))
|
|
105
|
+
: ValueOrErrors.Default.throwOne(`received non singleSelection renderer kind "${renderer.kind}" when resolving defaultState for singleSelection`);
|
|
106
|
+
if (t.kind == "multiSelection")
|
|
107
|
+
return renderer.kind == "enumRenderer"
|
|
108
|
+
? ValueOrErrors.Default.return(EnumAbstractRendererState().Default())
|
|
109
|
+
: renderer.kind == "streamRenderer"
|
|
110
|
+
? infiniteStreamSources(renderer.stream).Then((streamSource) => ValueOrErrors.Default.return(SearchableInfiniteStreamAbstractRendererState.Default(streamSource)))
|
|
111
|
+
: ValueOrErrors.Default.throwOne(`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultState for multiSelection`);
|
|
112
|
+
if (t.kind == "list")
|
|
113
|
+
return renderer.kind == "listRenderer"
|
|
114
|
+
? ValueOrErrors.Default.return(ListAbstractRendererState.Default.zero())
|
|
115
|
+
: ValueOrErrors.Default.throwOne(`received non list renderer kind "${renderer.kind}" when resolving defaultState for list`);
|
|
116
|
+
if (t.kind == "map")
|
|
117
|
+
return renderer.kind == "mapRenderer"
|
|
118
|
+
? ValueOrErrors.Default.return(MapAbstractRendererState.Default.zero())
|
|
119
|
+
: ValueOrErrors.Default.throwOne(`received non map renderer kind "${renderer.kind}" when resolving defaultState for map`);
|
|
120
|
+
if (t.kind == "tuple")
|
|
121
|
+
return renderer.kind == "tupleRenderer"
|
|
122
|
+
? ValueOrErrors.Operations.All(List(t.args.map((_, index) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(_, renderer.itemRenderers[index].renderer).Then((itemState) => ValueOrErrors.Default.return([index, itemState]))))).Then((itemStates) => ValueOrErrors.Default.return(TupleAbstractRendererState.Default(Map(itemStates))))
|
|
123
|
+
: ValueOrErrors.Default.throwOne(`received non tuple renderer kind "${renderer.kind}" when resolving defaultState for tuple`);
|
|
124
|
+
if (t.kind == "sum")
|
|
125
|
+
return renderer.kind == "sumRenderer"
|
|
126
|
+
? dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.args[0], renderer.leftRenderer.renderer).Then((left) => renderer.rightRenderer == undefined
|
|
127
|
+
? ValueOrErrors.Default.throwOne(`rightRenderer is undefined when resolving defaultState sum view ${renderer.concreteRenderer}`)
|
|
128
|
+
: dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.args[1], renderer.rightRenderer.renderer).Then((right) => ValueOrErrors.Default.return(SumAbstractRendererState.Default({
|
|
305
129
|
left,
|
|
306
130
|
right,
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
})
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
? ValueOrErrors.
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
:
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
oneSource.getManyUnlinked == undefined
|
|
360
|
-
? ValueOrErrors.Default.throwOne(
|
|
361
|
-
`getManyUnlinked not provided for ${renderer.api[0]}-${renderer.api[1]}`,
|
|
362
|
-
)
|
|
363
|
-
: MapRepo.Operations.tryFindWithError(
|
|
364
|
-
t.arg.name,
|
|
365
|
-
types,
|
|
366
|
-
() =>
|
|
367
|
-
`cannot find lookup type ${JSON.stringify(t.arg.name)} in ${JSON.stringify(t)}`,
|
|
368
|
-
).Then((lookupType) =>
|
|
369
|
-
ValueOrErrors.Default.return(
|
|
370
|
-
OneAbstractRendererState.Default(
|
|
371
|
-
oneSource.getManyUnlinked(
|
|
372
|
-
// safe because we check for undefined above but type system doesn't know that
|
|
373
|
-
dispatchFromAPIRawValue(
|
|
374
|
-
lookupType,
|
|
375
|
-
types,
|
|
376
|
-
converters,
|
|
377
|
-
injectedPrimitives,
|
|
378
|
-
),
|
|
379
|
-
),
|
|
380
|
-
),
|
|
381
|
-
),
|
|
382
|
-
),
|
|
383
|
-
),
|
|
384
|
-
)
|
|
385
|
-
: ValueOrErrors.Default.return(
|
|
386
|
-
OneAbstractRendererState.Default(undefined),
|
|
387
|
-
);
|
|
388
|
-
if (t.kind == "readOnly")
|
|
389
|
-
return renderer.kind != "readOnlyRenderer"
|
|
390
|
-
? ValueOrErrors.Default.throwOne(
|
|
391
|
-
`received non readOnly renderer kind "${renderer.kind}" when resolving defaultState for readOnly`,
|
|
392
|
-
)
|
|
393
|
-
: dispatchDefaultState(
|
|
394
|
-
infiniteStreamSources,
|
|
395
|
-
injectedPrimitives,
|
|
396
|
-
types,
|
|
397
|
-
forms,
|
|
398
|
-
converters,
|
|
399
|
-
lookupSources,
|
|
400
|
-
tableApiSources,
|
|
401
|
-
specApis,
|
|
402
|
-
)(t.arg, renderer.childRenderer.renderer).Then((childState) =>
|
|
403
|
-
ValueOrErrors.Default.return(
|
|
404
|
-
ReadOnlyAbstractRendererState.Default.childFormState(
|
|
405
|
-
childState,
|
|
406
|
-
),
|
|
407
|
-
),
|
|
408
|
-
);
|
|
409
|
-
if (t.kind == "record")
|
|
410
|
-
return renderer.kind == "recordRenderer"
|
|
411
|
-
? ValueOrErrors.Operations.All(
|
|
412
|
-
List(
|
|
413
|
-
renderer.fields
|
|
414
|
-
.entrySeq()
|
|
415
|
-
.map(([fieldName, fieldRenderer]) =>
|
|
416
|
-
MapRepo.Operations.tryFindWithError(
|
|
417
|
-
fieldName,
|
|
418
|
-
t.fields,
|
|
419
|
-
() =>
|
|
420
|
-
`field ${fieldName} not found in renderer ${JSON.stringify(renderer.fields)} fields`,
|
|
421
|
-
).Then((fieldType) =>
|
|
422
|
-
dispatchDefaultState(
|
|
423
|
-
infiniteStreamSources,
|
|
424
|
-
injectedPrimitives,
|
|
425
|
-
types,
|
|
426
|
-
forms,
|
|
427
|
-
converters,
|
|
428
|
-
lookupSources,
|
|
429
|
-
tableApiSources,
|
|
430
|
-
specApis,
|
|
431
|
-
)(fieldType, fieldRenderer.renderer).Then((value) =>
|
|
432
|
-
ValueOrErrors.Default.return([fieldName, value]),
|
|
433
|
-
),
|
|
434
|
-
),
|
|
435
|
-
),
|
|
436
|
-
),
|
|
437
|
-
).Then((res) =>
|
|
438
|
-
ValueOrErrors.Default.return(
|
|
439
|
-
RecordAbstractRendererState.Default.fieldState(Map(res)),
|
|
440
|
-
),
|
|
441
|
-
)
|
|
442
|
-
: ValueOrErrors.Default.throwOne(
|
|
443
|
-
`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
|
|
444
|
-
);
|
|
445
|
-
if (t.kind == "union") {
|
|
446
|
-
return renderer.kind == "unionRenderer"
|
|
447
|
-
? ValueOrErrors.Operations.All(
|
|
448
|
-
List(
|
|
449
|
-
renderer.cases
|
|
450
|
-
.entrySeq()
|
|
451
|
-
.map(([caseName, caseRenderer]) =>
|
|
452
|
-
MapRepo.Operations.tryFindWithError(
|
|
453
|
-
caseName,
|
|
454
|
-
t.args,
|
|
455
|
-
() =>
|
|
456
|
-
`case ${caseName} not found in type ${JSON.stringify(t)}`,
|
|
457
|
-
).Then((caseType) =>
|
|
458
|
-
dispatchDefaultState(
|
|
459
|
-
infiniteStreamSources,
|
|
460
|
-
injectedPrimitives,
|
|
461
|
-
types,
|
|
462
|
-
forms,
|
|
463
|
-
converters,
|
|
464
|
-
lookupSources,
|
|
465
|
-
tableApiSources,
|
|
466
|
-
specApis,
|
|
467
|
-
)(caseType, caseRenderer).Then((caseState) =>
|
|
468
|
-
ValueOrErrors.Default.return([caseName, caseState]),
|
|
469
|
-
),
|
|
470
|
-
),
|
|
471
|
-
),
|
|
472
|
-
),
|
|
473
|
-
).Then((caseStates) =>
|
|
474
|
-
ValueOrErrors.Default.return(
|
|
475
|
-
UnionAbstractRendererState.Default(Map(caseStates)),
|
|
476
|
-
),
|
|
477
|
-
)
|
|
478
|
-
: ValueOrErrors.Default.throwOne(
|
|
479
|
-
`received non union renderer kind "${renderer.kind}" when resolving defaultState for union`,
|
|
480
|
-
);
|
|
481
|
-
}
|
|
482
|
-
if (t.kind == "table") {
|
|
483
|
-
return renderer.kind == "tableRenderer"
|
|
484
|
-
? ValueOrErrors.Default.return(TableAbstractRendererState.Default())
|
|
485
|
-
: ValueOrErrors.Default.throwOne(
|
|
486
|
-
`received non table renderer kind "${renderer.kind}" when resolving defaultState for table`,
|
|
487
|
-
);
|
|
488
|
-
}
|
|
489
|
-
return ValueOrErrors.Default.throwOne(
|
|
490
|
-
`type of kind "${JSON.stringify(t)}" not supported by defaultState`,
|
|
491
|
-
);
|
|
131
|
+
}))))
|
|
132
|
+
: renderer.kind == "sumUnitDateRenderer"
|
|
133
|
+
? ValueOrErrors.Default.return(SumAbstractRendererState.Default({
|
|
134
|
+
left: UnitAbstractRendererState.Default(),
|
|
135
|
+
right: DateAbstractRendererState.Default(),
|
|
136
|
+
}))
|
|
137
|
+
: ValueOrErrors.Default.throwOne(`renderer kind "${renderer.kind}" not supported for sum`);
|
|
138
|
+
if (t.kind == "one")
|
|
139
|
+
return renderer.kind != "oneRenderer"
|
|
140
|
+
? ValueOrErrors.Default.throwOne(`received non one renderer kind "${renderer.kind}" when resolving defaultState for one`)
|
|
141
|
+
: specApis.lookups != undefined &&
|
|
142
|
+
specApis.lookups.get(renderer.api[0]) != undefined &&
|
|
143
|
+
((_a = specApis.lookups.get(renderer.api[0])) === null || _a === void 0 ? void 0 : _a.one) != undefined &&
|
|
144
|
+
((_b = specApis.lookups.get(renderer.api[0])) === null || _b === void 0 ? void 0 : _b.one.get(renderer.api[1])) !=
|
|
145
|
+
undefined &&
|
|
146
|
+
((_d = (_c = specApis.lookups.get(renderer.api[0])) === null || _c === void 0 ? void 0 : _c.one.get(renderer.api[1])) === null || _d === void 0 ? void 0 : _d.methods.getManyUnlinked)
|
|
147
|
+
? lookupSources == undefined
|
|
148
|
+
? ValueOrErrors.Default.throwOne(`lookup sources referenced but no lookup sources are provided`)
|
|
149
|
+
: lookupSources(renderer.api[0]) == undefined
|
|
150
|
+
? ValueOrErrors.Default.throwOne(`cannot find lookup source for ${renderer.api[0]}`)
|
|
151
|
+
: lookupSources(renderer.api[0]).Then((lookupSource) => lookupSource.one == undefined
|
|
152
|
+
? ValueOrErrors.Default.throwOne(`one source not provided for ${renderer.api[0]}`)
|
|
153
|
+
: lookupSource.one(renderer.api[1]) // safe because we check for undefined above but type system doesn't know that
|
|
154
|
+
.Then((oneSource) => oneSource.getManyUnlinked == undefined
|
|
155
|
+
? ValueOrErrors.Default.throwOne(`getManyUnlinked not provided for ${renderer.api[0]}-${renderer.api[1]}`)
|
|
156
|
+
: MapRepo.Operations.tryFindWithError(t.arg.name, types, () => `cannot find lookup type ${JSON.stringify(t.arg.name)} in ${JSON.stringify(t)}`).Then((lookupType) => ValueOrErrors.Default.return(OneAbstractRendererState.Default(oneSource.getManyUnlinked(
|
|
157
|
+
// safe because we check for undefined above but type system doesn't know that
|
|
158
|
+
dispatchFromAPIRawValue(lookupType, types, converters, injectedPrimitives)))))))
|
|
159
|
+
: ValueOrErrors.Default.return(OneAbstractRendererState.Default(undefined));
|
|
160
|
+
if (t.kind == "readOnly")
|
|
161
|
+
return renderer.kind != "readOnlyRenderer"
|
|
162
|
+
? ValueOrErrors.Default.throwOne(`received non readOnly renderer kind "${renderer.kind}" when resolving defaultState for readOnly`)
|
|
163
|
+
: dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(t.arg, renderer.childRenderer.renderer).Then((childState) => ValueOrErrors.Default.return(ReadOnlyAbstractRendererState.Default.childFormState(childState)));
|
|
164
|
+
if (t.kind == "record")
|
|
165
|
+
return renderer.kind == "recordRenderer"
|
|
166
|
+
? ValueOrErrors.Operations.All(List(renderer.fields
|
|
167
|
+
.entrySeq()
|
|
168
|
+
.map(([fieldName, fieldRenderer]) => MapRepo.Operations.tryFindWithError(fieldName, t.fields, () => `field ${fieldName} not found in renderer ${JSON.stringify(renderer.fields)} fields`).Then((fieldType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(fieldType, fieldRenderer.renderer).Then((value) => ValueOrErrors.Default.return([fieldName, value])))))).Then((res) => ValueOrErrors.Default.return(RecordAbstractRendererState.Default.fieldState(Map(res))))
|
|
169
|
+
: ValueOrErrors.Default.throwOne(`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`);
|
|
170
|
+
if (t.kind == "union") {
|
|
171
|
+
return renderer.kind == "unionRenderer"
|
|
172
|
+
? ValueOrErrors.Operations.All(List(renderer.cases
|
|
173
|
+
.entrySeq()
|
|
174
|
+
.map(([caseName, caseRenderer]) => MapRepo.Operations.tryFindWithError(caseName, t.args, () => `case ${caseName} not found in type ${JSON.stringify(t)}`).Then((caseType) => dispatchDefaultState(infiniteStreamSources, injectedPrimitives, types, forms, converters, lookupSources, tableApiSources, specApis)(caseType, caseRenderer).Then((caseState) => ValueOrErrors.Default.return([caseName, caseState])))))).Then((caseStates) => ValueOrErrors.Default.return(UnionAbstractRendererState.Default(Map(caseStates))))
|
|
175
|
+
: ValueOrErrors.Default.throwOne(`received non union renderer kind "${renderer.kind}" when resolving defaultState for union`);
|
|
176
|
+
}
|
|
177
|
+
if (t.kind == "table") {
|
|
178
|
+
return renderer.kind == "tableRenderer"
|
|
179
|
+
? ValueOrErrors.Default.return(TableAbstractRendererState.Default())
|
|
180
|
+
: ValueOrErrors.Default.throwOne(`received non table renderer kind "${renderer.kind}" when resolving defaultState for table`);
|
|
181
|
+
}
|
|
182
|
+
return ValueOrErrors.Default.throwOne(`type of kind "${JSON.stringify(t)}" not supported by defaultState`);
|
|
492
183
|
})();
|
|
493
|
-
return result.MapErrors((errors) =>
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
`${error}\n...When resolving defaultState for ${t.kind} and renderer kind ${renderer.kind}`,
|
|
497
|
-
),
|
|
498
|
-
);
|
|
499
|
-
};
|
|
500
|
-
export const dispatchDefaultValue =
|
|
501
|
-
(injectedPrimitives, types, forms) => (t, renderer) => {
|
|
184
|
+
return result.MapErrors((errors) => errors.map((error) => `${error}\n...When resolving defaultState for ${t.kind} and renderer kind ${renderer.kind}`));
|
|
185
|
+
};
|
|
186
|
+
export const dispatchDefaultValue = (injectedPrimitives, types, forms) => (t, renderer) => {
|
|
502
187
|
const result = (() => {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
)
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
:
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
);
|
|
586
|
-
if (t.kind == "multiSelection")
|
|
587
|
-
return renderer.kind == "enumRenderer" ||
|
|
588
|
-
renderer.kind == "streamRenderer"
|
|
589
|
-
? ValueOrErrors.Default.return(
|
|
590
|
-
PredicateValue.Default.record(OrderedMap()),
|
|
591
|
-
)
|
|
592
|
-
: ValueOrErrors.Default.throwOne(
|
|
593
|
-
`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultValue for multiSelection`,
|
|
594
|
-
);
|
|
595
|
-
if (t.kind == "list")
|
|
596
|
-
return renderer.kind == "listRenderer"
|
|
597
|
-
? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
|
|
598
|
-
: ValueOrErrors.Default.throwOne(
|
|
599
|
-
`received non list renderer kind "${renderer.kind}" when resolving defaultValue for list`,
|
|
600
|
-
);
|
|
601
|
-
if (t.kind == "map")
|
|
602
|
-
return renderer.kind == "mapRenderer"
|
|
603
|
-
? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
|
|
604
|
-
: ValueOrErrors.Default.throwOne(
|
|
605
|
-
`received non map renderer kind "${renderer.kind}" when resolving defaultValue for map`,
|
|
606
|
-
);
|
|
607
|
-
if (t.kind == "tuple")
|
|
608
|
-
return renderer.kind == "tupleRenderer"
|
|
609
|
-
? ValueOrErrors.Operations.All(
|
|
610
|
-
List(
|
|
611
|
-
t.args.map((_, index) =>
|
|
612
|
-
dispatchDefaultValue(
|
|
613
|
-
injectedPrimitives,
|
|
614
|
-
types,
|
|
615
|
-
forms,
|
|
616
|
-
)(_, renderer.itemRenderers[index].renderer),
|
|
617
|
-
),
|
|
618
|
-
),
|
|
619
|
-
).Then((values) =>
|
|
620
|
-
ValueOrErrors.Default.return(
|
|
621
|
-
PredicateValue.Default.tuple(List(values)),
|
|
622
|
-
),
|
|
623
|
-
)
|
|
624
|
-
: ValueOrErrors.Default.throwOne(
|
|
625
|
-
`received non tuple renderer kind "${renderer.kind}" when resolving defaultValue for tuple`,
|
|
626
|
-
);
|
|
627
|
-
if (t.kind == "sum")
|
|
628
|
-
return renderer.kind == "sumRenderer"
|
|
629
|
-
? dispatchDefaultValue(
|
|
630
|
-
injectedPrimitives,
|
|
631
|
-
types,
|
|
632
|
-
forms,
|
|
633
|
-
)(t.args[0], renderer.leftRenderer.renderer).Then((left) =>
|
|
634
|
-
ValueOrErrors.Default.return(
|
|
635
|
-
PredicateValue.Default.sum(Sum.Default.left(left)),
|
|
636
|
-
),
|
|
637
|
-
)
|
|
638
|
-
: renderer.kind == "sumUnitDateRenderer"
|
|
639
|
-
? ValueOrErrors.Default.return(
|
|
640
|
-
PredicateValue.Default.sum(
|
|
641
|
-
Sum.Default.left(PredicateValue.Default.unit()),
|
|
642
|
-
),
|
|
643
|
-
)
|
|
644
|
-
: ValueOrErrors.Default.throwOne(
|
|
645
|
-
`received non sum renderer kind "${renderer.kind}" when resolving defaultValue for sum`,
|
|
646
|
-
);
|
|
647
|
-
if (t.kind == "one") {
|
|
648
|
-
return renderer.kind == "oneRenderer"
|
|
649
|
-
? ValueOrErrors.Default.return(
|
|
650
|
-
PredicateValue.Default.option(
|
|
651
|
-
false,
|
|
652
|
-
PredicateValue.Default.unit(),
|
|
653
|
-
),
|
|
654
|
-
)
|
|
655
|
-
: ValueOrErrors.Default.throwOne(
|
|
656
|
-
`received non one renderer kind "${renderer.kind}" when resolving defaultValue for one`,
|
|
657
|
-
);
|
|
658
|
-
}
|
|
659
|
-
if (t.kind == "readOnly") {
|
|
660
|
-
return renderer.kind == "readOnlyRenderer"
|
|
661
|
-
? dispatchDefaultValue(
|
|
662
|
-
injectedPrimitives,
|
|
663
|
-
types,
|
|
664
|
-
forms,
|
|
665
|
-
)(t.arg, renderer.childRenderer.renderer).Then((childValue) =>
|
|
666
|
-
ValueOrErrors.Default.return(
|
|
667
|
-
PredicateValue.Default.readonly(childValue),
|
|
668
|
-
),
|
|
669
|
-
)
|
|
670
|
-
: ValueOrErrors.Default.throwOne(
|
|
671
|
-
`received non readOnly renderer kind "${renderer.kind}" when resolving defaultValue for readOnly`,
|
|
672
|
-
);
|
|
673
|
-
}
|
|
674
|
-
if (t.kind == "record")
|
|
675
|
-
return renderer.kind == "recordRenderer"
|
|
676
|
-
? ValueOrErrors.Operations.All(
|
|
677
|
-
List(
|
|
678
|
-
renderer.fields
|
|
679
|
-
.entrySeq()
|
|
680
|
-
.map(([fieldName, fieldRenderer]) =>
|
|
681
|
-
MapRepo.Operations.tryFindWithError(
|
|
682
|
-
fieldName,
|
|
683
|
-
t.fields,
|
|
684
|
-
() =>
|
|
685
|
-
`field ${fieldName} not found in type ${JSON.stringify(t)} fields`,
|
|
686
|
-
).Then((fieldType) =>
|
|
687
|
-
dispatchDefaultValue(
|
|
688
|
-
injectedPrimitives,
|
|
689
|
-
types,
|
|
690
|
-
forms,
|
|
691
|
-
)(fieldType, fieldRenderer.renderer).Then((value) =>
|
|
692
|
-
ValueOrErrors.Default.return([fieldName, value]),
|
|
693
|
-
),
|
|
694
|
-
),
|
|
695
|
-
),
|
|
696
|
-
),
|
|
697
|
-
).Then((res) =>
|
|
698
|
-
ValueOrErrors.Default.return(
|
|
699
|
-
PredicateValue.Default.record(OrderedMap(res)),
|
|
700
|
-
),
|
|
701
|
-
)
|
|
702
|
-
: ValueOrErrors.Default.throwOne(
|
|
703
|
-
`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`,
|
|
704
|
-
);
|
|
705
|
-
if (t.kind == "union") {
|
|
706
|
-
return renderer.kind != "unionRenderer"
|
|
707
|
-
? ValueOrErrors.Default.throwOne(
|
|
708
|
-
`received non union renderer kind "${renderer.kind}" when resolving defaultValue for union`,
|
|
709
|
-
)
|
|
710
|
-
: MapRepo.Operations.tryFirstWithError(
|
|
711
|
-
t.args,
|
|
712
|
-
() => `union type ${JSON.stringify(t, null, 2)} has no cases`,
|
|
713
|
-
).Then((firstCaseType) =>
|
|
714
|
-
MapRepo.Operations.tryFirstWithError(
|
|
715
|
-
renderer.cases,
|
|
716
|
-
() => `union renderer has no cases`,
|
|
717
|
-
).Then((firstCaseRenderer) =>
|
|
718
|
-
dispatchDefaultValue(
|
|
719
|
-
injectedPrimitives,
|
|
720
|
-
types,
|
|
721
|
-
forms,
|
|
722
|
-
)(firstCaseType, firstCaseRenderer),
|
|
723
|
-
),
|
|
724
|
-
);
|
|
725
|
-
}
|
|
726
|
-
if (t.kind == "table") {
|
|
727
|
-
return renderer.kind == "tableRenderer"
|
|
728
|
-
? ValueOrErrors.Default.return(
|
|
729
|
-
PredicateValue.Default.table(0, 0, Map(), false),
|
|
730
|
-
)
|
|
731
|
-
: ValueOrErrors.Default.throwOne(
|
|
732
|
-
`received non table renderer kind "${renderer.kind}" when resolving defaultValue for table`,
|
|
733
|
-
);
|
|
734
|
-
}
|
|
735
|
-
return ValueOrErrors.Default.throwOne(
|
|
736
|
-
`type ${t} not supported by defaultValue`,
|
|
737
|
-
);
|
|
188
|
+
if (renderer == undefined) {
|
|
189
|
+
return ValueOrErrors.Default.return(PredicateValue.Default.unit());
|
|
190
|
+
}
|
|
191
|
+
if (renderer.kind == "lookupType-lookupRenderer")
|
|
192
|
+
return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(resolvedType, resolvedRenderer)));
|
|
193
|
+
if (renderer.kind == "lookupType-inlinedRenderer")
|
|
194
|
+
return DispatchParsedType.Operations.ResolveLookupType(renderer.type.name, types).Then((resolvedType) => dispatchDefaultValue(injectedPrimitives, types, forms)(resolvedType, renderer.inlinedRenderer));
|
|
195
|
+
if (renderer.kind == "inlinedType-lookupRenderer")
|
|
196
|
+
return LookupRenderer.Operations.ResolveRenderer(renderer, forms).Then((resolvedRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(renderer.type, resolvedRenderer));
|
|
197
|
+
if (t.kind == "primitive")
|
|
198
|
+
return t.name == "unit"
|
|
199
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.unit())
|
|
200
|
+
: t.name == "boolean"
|
|
201
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.boolean())
|
|
202
|
+
: t.name == "number"
|
|
203
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.number())
|
|
204
|
+
: t.name == "string"
|
|
205
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.string())
|
|
206
|
+
: t.name == "base64File"
|
|
207
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.string())
|
|
208
|
+
: t.name == "secret"
|
|
209
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.string())
|
|
210
|
+
: t.name == "Date"
|
|
211
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.date())
|
|
212
|
+
: (injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name)) != undefined
|
|
213
|
+
? ValueOrErrors.Default.return(injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.get(t.name).defaultValue)
|
|
214
|
+
: ValueOrErrors.Default.throwOne(`could not resolve defaultValue for primitive renderer type "${t.name}"`);
|
|
215
|
+
if (t.kind == "singleSelection")
|
|
216
|
+
return renderer.kind == "enumRenderer" ||
|
|
217
|
+
renderer.kind == "streamRenderer"
|
|
218
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.option(false, PredicateValue.Default.unit()))
|
|
219
|
+
: ValueOrErrors.Default.throwOne(`received non singleSelection renderer kind "${renderer.kind}" when resolving defaultValue for singleSelection`);
|
|
220
|
+
if (t.kind == "multiSelection")
|
|
221
|
+
return renderer.kind == "enumRenderer" ||
|
|
222
|
+
renderer.kind == "streamRenderer"
|
|
223
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap()))
|
|
224
|
+
: ValueOrErrors.Default.throwOne(`received non multiSelection renderer kind "${renderer.kind}" when resolving defaultValue for multiSelection`);
|
|
225
|
+
if (t.kind == "list")
|
|
226
|
+
return renderer.kind == "listRenderer"
|
|
227
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
|
|
228
|
+
: ValueOrErrors.Default.throwOne(`received non list renderer kind "${renderer.kind}" when resolving defaultValue for list`);
|
|
229
|
+
if (t.kind == "map")
|
|
230
|
+
return renderer.kind == "mapRenderer"
|
|
231
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.tuple(List()))
|
|
232
|
+
: ValueOrErrors.Default.throwOne(`received non map renderer kind "${renderer.kind}" when resolving defaultValue for map`);
|
|
233
|
+
if (t.kind == "tuple")
|
|
234
|
+
return renderer.kind == "tupleRenderer"
|
|
235
|
+
? ValueOrErrors.Operations.All(List(t.args.map((_, index) => dispatchDefaultValue(injectedPrimitives, types, forms)(_, renderer.itemRenderers[index].renderer)))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))))
|
|
236
|
+
: ValueOrErrors.Default.throwOne(`received non tuple renderer kind "${renderer.kind}" when resolving defaultValue for tuple`);
|
|
237
|
+
if (t.kind == "sum")
|
|
238
|
+
return renderer.kind == "sumRenderer"
|
|
239
|
+
? dispatchDefaultValue(injectedPrimitives, types, forms)(t.args[0], renderer.leftRenderer.renderer).Then((left) => ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Default.left(left))))
|
|
240
|
+
: renderer.kind == "sumUnitDateRenderer"
|
|
241
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Default.left(PredicateValue.Default.unit())))
|
|
242
|
+
: ValueOrErrors.Default.throwOne(`received non sum renderer kind "${renderer.kind}" when resolving defaultValue for sum`);
|
|
243
|
+
if (t.kind == "one") {
|
|
244
|
+
return renderer.kind == "oneRenderer"
|
|
245
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.option(false, PredicateValue.Default.unit()))
|
|
246
|
+
: ValueOrErrors.Default.throwOne(`received non one renderer kind "${renderer.kind}" when resolving defaultValue for one`);
|
|
247
|
+
}
|
|
248
|
+
if (t.kind == "readOnly") {
|
|
249
|
+
return renderer.kind == "readOnlyRenderer"
|
|
250
|
+
? dispatchDefaultValue(injectedPrimitives, types, forms)(t.arg, renderer.childRenderer.renderer).Then((childValue) => ValueOrErrors.Default.return(PredicateValue.Default.readonly(childValue)))
|
|
251
|
+
: ValueOrErrors.Default.throwOne(`received non readOnly renderer kind "${renderer.kind}" when resolving defaultValue for readOnly`);
|
|
252
|
+
}
|
|
253
|
+
if (t.kind == "record")
|
|
254
|
+
return renderer.kind == "recordRenderer"
|
|
255
|
+
? ValueOrErrors.Operations.All(List(renderer.fields
|
|
256
|
+
.entrySeq()
|
|
257
|
+
.map(([fieldName, fieldRenderer]) => MapRepo.Operations.tryFindWithError(fieldName, t.fields, () => `field ${fieldName} not found in type ${JSON.stringify(t)} fields`).Then((fieldType) => dispatchDefaultValue(injectedPrimitives, types, forms)(fieldType, fieldRenderer.renderer).Then((value) => ValueOrErrors.Default.return([fieldName, value])))))).Then((res) => ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap(res))))
|
|
258
|
+
: ValueOrErrors.Default.throwOne(`received non record renderer kind "${renderer.kind}" when resolving defaultValue for record`);
|
|
259
|
+
if (t.kind == "union") {
|
|
260
|
+
return renderer.kind != "unionRenderer"
|
|
261
|
+
? ValueOrErrors.Default.throwOne(`received non union renderer kind "${renderer.kind}" when resolving defaultValue for union`)
|
|
262
|
+
: MapRepo.Operations.tryFirstWithError(t.args, () => `union type ${JSON.stringify(t, null, 2)} has no cases`).Then((firstCaseType) => MapRepo.Operations.tryFirstWithError(renderer.cases, () => `union renderer has no cases`).Then((firstCaseRenderer) => dispatchDefaultValue(injectedPrimitives, types, forms)(firstCaseType, firstCaseRenderer)));
|
|
263
|
+
}
|
|
264
|
+
if (t.kind == "table") {
|
|
265
|
+
return renderer.kind == "tableRenderer"
|
|
266
|
+
? ValueOrErrors.Default.return(PredicateValue.Default.table(0, 0, Map(), false))
|
|
267
|
+
: ValueOrErrors.Default.throwOne(`received non table renderer kind "${renderer.kind}" when resolving defaultValue for table`);
|
|
268
|
+
}
|
|
269
|
+
return ValueOrErrors.Default.throwOne(`type ${t} not supported by defaultValue`);
|
|
738
270
|
})();
|
|
739
|
-
return result.MapErrors((errors) =>
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
`${error}\n...When resolving defaultValue for type "${JSON.stringify(t, null, 2)}" and renderer kind "${renderer.kind}"`,
|
|
743
|
-
),
|
|
744
|
-
);
|
|
745
|
-
};
|
|
746
|
-
export const dispatchFromAPIRawValue =
|
|
747
|
-
(t, types, converters, injectedPrimitives) => (raw) => {
|
|
271
|
+
return result.MapErrors((errors) => errors.map((error) => `${error}\n...When resolving defaultValue for type "${JSON.stringify(t, null, 2)}" and renderer kind "${renderer.kind}"`));
|
|
272
|
+
};
|
|
273
|
+
export const dispatchFromAPIRawValue = (t, types, converters, injectedPrimitives) => (raw) => {
|
|
748
274
|
const result = (() => {
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
)
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
)
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
converters,
|
|
813
|
-
injectedPrimitives,
|
|
814
|
-
)(_),
|
|
815
|
-
),
|
|
816
|
-
).Then((values) =>
|
|
817
|
-
ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)),
|
|
818
|
-
);
|
|
819
|
-
}
|
|
820
|
-
if (t.kind == "map" && t.args.length == 2) {
|
|
821
|
-
const result = converters["Map"].fromAPIRawValue(raw);
|
|
822
|
-
return ValueOrErrors.Operations.All(
|
|
823
|
-
List(
|
|
824
|
-
result.map((_) =>
|
|
825
|
-
dispatchFromAPIRawValue(
|
|
826
|
-
t.args[0],
|
|
827
|
-
types,
|
|
828
|
-
converters,
|
|
829
|
-
injectedPrimitives,
|
|
830
|
-
)(_[0]).Then((key) =>
|
|
831
|
-
dispatchFromAPIRawValue(
|
|
832
|
-
t.args[1],
|
|
833
|
-
types,
|
|
834
|
-
converters,
|
|
835
|
-
injectedPrimitives,
|
|
836
|
-
)(_[1]).Then((value) =>
|
|
837
|
-
ValueOrErrors.Default.return(
|
|
838
|
-
PredicateValue.Default.tuple(List([key, value])),
|
|
839
|
-
),
|
|
840
|
-
),
|
|
841
|
-
),
|
|
842
|
-
),
|
|
843
|
-
),
|
|
844
|
-
).Then((values) =>
|
|
845
|
-
ValueOrErrors.Default.return(
|
|
846
|
-
PredicateValue.Default.tuple(List(values)),
|
|
847
|
-
),
|
|
848
|
-
);
|
|
849
|
-
}
|
|
850
|
-
if (t.kind == "tuple") {
|
|
851
|
-
const result = converters["Tuple"].fromAPIRawValue(raw);
|
|
852
|
-
return ValueOrErrors.Operations.All(
|
|
853
|
-
List(
|
|
854
|
-
result.map((_, index) =>
|
|
855
|
-
dispatchFromAPIRawValue(
|
|
856
|
-
t.args[index],
|
|
857
|
-
types,
|
|
858
|
-
converters,
|
|
859
|
-
injectedPrimitives,
|
|
860
|
-
)(_),
|
|
861
|
-
),
|
|
862
|
-
),
|
|
863
|
-
).Then((values) =>
|
|
864
|
-
ValueOrErrors.Default.return(
|
|
865
|
-
PredicateValue.Default.tuple(List(values)),
|
|
866
|
-
),
|
|
867
|
-
);
|
|
868
|
-
}
|
|
869
|
-
if (t.kind == "sum" && t.args.length === 2) {
|
|
870
|
-
const result = converters["Sum"].fromAPIRawValue(raw);
|
|
871
|
-
return dispatchFromAPIRawValue(
|
|
872
|
-
result.kind == "l" ? t.args[0] : t.args[1],
|
|
873
|
-
types,
|
|
874
|
-
converters,
|
|
875
|
-
injectedPrimitives,
|
|
876
|
-
)(result.value).Then((value) =>
|
|
877
|
-
ValueOrErrors.Default.return(
|
|
878
|
-
PredicateValue.Default.sum(
|
|
879
|
-
Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result),
|
|
880
|
-
),
|
|
881
|
-
),
|
|
882
|
-
);
|
|
883
|
-
}
|
|
884
|
-
if (t.kind == "sumN") {
|
|
885
|
-
const result = converters["SumN"].fromAPIRawValue(raw);
|
|
886
|
-
return dispatchFromAPIRawValue(
|
|
887
|
-
t.args[result.caseIndex],
|
|
888
|
-
types,
|
|
889
|
-
converters,
|
|
890
|
-
injectedPrimitives,
|
|
891
|
-
)(result.value).Then((value) =>
|
|
892
|
-
ValueOrErrors.Default.return(
|
|
893
|
-
PredicateValue.Default.sumN(result.caseIndex, result.arity, value),
|
|
894
|
-
),
|
|
895
|
-
);
|
|
896
|
-
}
|
|
897
|
-
if (t.kind == "lookup")
|
|
898
|
-
return MapRepo.Operations.tryFindWithError(
|
|
899
|
-
t.name, // TODO -- double check this is correct instead of typeName, and maybe remove typeName
|
|
900
|
-
types,
|
|
901
|
-
() => `type ${t.name} not found in types`,
|
|
902
|
-
).Then((type) =>
|
|
903
|
-
dispatchFromAPIRawValue(
|
|
904
|
-
type,
|
|
905
|
-
types,
|
|
906
|
-
converters,
|
|
907
|
-
injectedPrimitives,
|
|
908
|
-
)(raw),
|
|
909
|
-
);
|
|
910
|
-
// TODO -- this can be more functional
|
|
911
|
-
if (t.kind == "table") {
|
|
912
|
-
// move to the converter
|
|
913
|
-
if (typeof raw != "object") {
|
|
914
|
-
return ValueOrErrors.Default.throwOne(
|
|
915
|
-
`object expected but got ${JSON.stringify(raw)}`,
|
|
916
|
-
);
|
|
917
|
-
}
|
|
918
|
-
const converterResult = converters["Table"].fromAPIRawValue(raw);
|
|
919
|
-
const argType = t.arg;
|
|
920
|
-
return DispatchParsedType.Operations.ResolveLookupType(
|
|
921
|
-
argType.name,
|
|
922
|
-
types,
|
|
923
|
-
).Then((resolvedType) =>
|
|
924
|
-
ValueOrErrors.Operations.All(
|
|
925
|
-
List(
|
|
926
|
-
converterResult.data
|
|
275
|
+
if (t.kind == "primitive") {
|
|
276
|
+
// unit is a special kind of primitive
|
|
277
|
+
if (t.name == "unit") {
|
|
278
|
+
return ValueOrErrors.Default.return(PredicateValue.Default.unit());
|
|
279
|
+
}
|
|
280
|
+
if (!PredicateValue.Operations.IsPrimitive(raw) &&
|
|
281
|
+
!(injectedPrimitives === null || injectedPrimitives === void 0 ? void 0 : injectedPrimitives.keySeq().contains(t.name))) {
|
|
282
|
+
return ValueOrErrors.Default.throwOne(`primitive expected but got ${JSON.stringify(raw)}`);
|
|
283
|
+
}
|
|
284
|
+
return ValueOrErrors.Default.return(converters[t.name].fromAPIRawValue(raw));
|
|
285
|
+
}
|
|
286
|
+
if (t.kind == "union") {
|
|
287
|
+
const result = converters["union"].fromAPIRawValue(raw);
|
|
288
|
+
const caseType = t.args.get(result.caseName);
|
|
289
|
+
if (caseType == undefined)
|
|
290
|
+
return ValueOrErrors.Default.throwOne(`union case ${result.caseName} not found in type ${JSON.stringify(t)}`);
|
|
291
|
+
return dispatchFromAPIRawValue(caseType, types, converters, injectedPrimitives)(result.fields).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.unionCase(result.caseName, value)));
|
|
292
|
+
}
|
|
293
|
+
if (t.kind == "singleSelection") {
|
|
294
|
+
const result = converters["SingleSelection"].fromAPIRawValue(raw);
|
|
295
|
+
const isSome = result.kind == "l";
|
|
296
|
+
const value = isSome
|
|
297
|
+
? PredicateValue.Default.record(OrderedMap(result.value))
|
|
298
|
+
: PredicateValue.Default.unit();
|
|
299
|
+
return ValueOrErrors.Default.return(PredicateValue.Default.option(isSome, value));
|
|
300
|
+
}
|
|
301
|
+
if (t.kind == "multiSelection") {
|
|
302
|
+
const result = converters["MultiSelection"].fromAPIRawValue(raw);
|
|
303
|
+
const values = result.map((_) => PredicateValue.Default.record(OrderedMap(_)));
|
|
304
|
+
return ValueOrErrors.Default.return(PredicateValue.Default.record(OrderedMap(values)));
|
|
305
|
+
}
|
|
306
|
+
if (t.kind == "list") {
|
|
307
|
+
const result = converters["List"].fromAPIRawValue(raw);
|
|
308
|
+
return ValueOrErrors.Operations.All(result.map((_) => dispatchFromAPIRawValue(t.args[0], types, converters, injectedPrimitives)(_))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(values)));
|
|
309
|
+
}
|
|
310
|
+
if (t.kind == "map" && t.args.length == 2) {
|
|
311
|
+
const result = converters["Map"].fromAPIRawValue(raw);
|
|
312
|
+
return ValueOrErrors.Operations.All(List(result.map((_) => dispatchFromAPIRawValue(t.args[0], types, converters, injectedPrimitives)(_[0]).Then((key) => dispatchFromAPIRawValue(t.args[1], types, converters, injectedPrimitives)(_[1]).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List([key, value])))))))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
|
|
313
|
+
}
|
|
314
|
+
if (t.kind == "tuple") {
|
|
315
|
+
const result = converters["Tuple"].fromAPIRawValue(raw);
|
|
316
|
+
return ValueOrErrors.Operations.All(List(result.map((_, index) => dispatchFromAPIRawValue(t.args[index], types, converters, injectedPrimitives)(_)))).Then((values) => ValueOrErrors.Default.return(PredicateValue.Default.tuple(List(values))));
|
|
317
|
+
}
|
|
318
|
+
if (t.kind == "sum" && t.args.length === 2) {
|
|
319
|
+
const result = converters["Sum"].fromAPIRawValue(raw);
|
|
320
|
+
return dispatchFromAPIRawValue(result.kind == "l" ? t.args[0] : t.args[1], types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.sum(Sum.Updaters.map2(replaceWith(value), replaceWith(value))(result))));
|
|
321
|
+
}
|
|
322
|
+
if (t.kind == "sumN") {
|
|
323
|
+
const result = converters["SumN"].fromAPIRawValue(raw);
|
|
324
|
+
return dispatchFromAPIRawValue(t.args[result.caseIndex], types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.sumN(result.caseIndex, result.arity, value)));
|
|
325
|
+
}
|
|
326
|
+
if (t.kind == "lookup")
|
|
327
|
+
return MapRepo.Operations.tryFindWithError(t.name, // TODO -- double check this is correct instead of typeName, and maybe remove typeName
|
|
328
|
+
types, () => `type ${t.name} not found in types`).Then((type) => dispatchFromAPIRawValue(type, types, converters, injectedPrimitives)(raw));
|
|
329
|
+
// TODO -- this can be more functional
|
|
330
|
+
if (t.kind == "table") {
|
|
331
|
+
// move to the converter
|
|
332
|
+
if (typeof raw != "object") {
|
|
333
|
+
return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
|
|
334
|
+
}
|
|
335
|
+
const converterResult = converters["Table"].fromAPIRawValue(raw);
|
|
336
|
+
const argType = t.arg;
|
|
337
|
+
return DispatchParsedType.Operations.ResolveLookupType(argType.name, types).Then((resolvedType) => ValueOrErrors.Operations.All(List(converterResult.data
|
|
927
338
|
.toArray()
|
|
928
|
-
.map(([key, record]) =>
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
)
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
}
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
t.
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
converters,
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
}
|
|
1007
|
-
});
|
|
1008
|
-
if (errors.size > 0) {
|
|
1009
|
-
return ValueOrErrors.Default.throw(errors);
|
|
1010
|
-
}
|
|
1011
|
-
return ValueOrErrors.Default.return(
|
|
1012
|
-
PredicateValue.Default.record(result),
|
|
1013
|
-
);
|
|
1014
|
-
}
|
|
1015
|
-
// Filters
|
|
1016
|
-
if (t.kind == "contains") {
|
|
1017
|
-
const result = converters["Contains"].fromAPIRawValue(raw);
|
|
1018
|
-
return dispatchFromAPIRawValue(
|
|
1019
|
-
t.contains,
|
|
1020
|
-
types,
|
|
1021
|
-
converters,
|
|
1022
|
-
injectedPrimitives,
|
|
1023
|
-
)(result.contains).Then((value) =>
|
|
1024
|
-
ValueOrErrors.Default.return(
|
|
1025
|
-
PredicateValue.Default.filterContains(value),
|
|
1026
|
-
),
|
|
1027
|
-
);
|
|
1028
|
-
}
|
|
1029
|
-
if (t.kind == "=") {
|
|
1030
|
-
const result = converters["="].fromAPIRawValue(raw);
|
|
1031
|
-
return dispatchFromAPIRawValue(
|
|
1032
|
-
t.equalsTo,
|
|
1033
|
-
types,
|
|
1034
|
-
converters,
|
|
1035
|
-
injectedPrimitives,
|
|
1036
|
-
)(result.equalsTo).Then((value) =>
|
|
1037
|
-
ValueOrErrors.Default.return(
|
|
1038
|
-
PredicateValue.Default.filterEqualsTo(value),
|
|
1039
|
-
),
|
|
1040
|
-
);
|
|
1041
|
-
}
|
|
1042
|
-
if (t.kind == "!=") {
|
|
1043
|
-
const result = converters["!="].fromAPIRawValue(raw);
|
|
1044
|
-
return dispatchFromAPIRawValue(
|
|
1045
|
-
t.notEqualsTo,
|
|
1046
|
-
types,
|
|
1047
|
-
converters,
|
|
1048
|
-
injectedPrimitives,
|
|
1049
|
-
)(result.notEqualsTo).Then((value) =>
|
|
1050
|
-
ValueOrErrors.Default.return(
|
|
1051
|
-
PredicateValue.Default.filterNotEqualsTo(value),
|
|
1052
|
-
),
|
|
1053
|
-
);
|
|
1054
|
-
}
|
|
1055
|
-
if (t.kind == ">=") {
|
|
1056
|
-
const result = converters[">="].fromAPIRawValue(raw);
|
|
1057
|
-
return dispatchFromAPIRawValue(
|
|
1058
|
-
t.greaterThanOrEqualsTo,
|
|
1059
|
-
types,
|
|
1060
|
-
converters,
|
|
1061
|
-
injectedPrimitives,
|
|
1062
|
-
)(result.greaterThanOrEqualsTo).Then((value) =>
|
|
1063
|
-
ValueOrErrors.Default.return(
|
|
1064
|
-
PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
|
|
1065
|
-
),
|
|
1066
|
-
);
|
|
1067
|
-
}
|
|
1068
|
-
if (t.kind == ">") {
|
|
1069
|
-
const result = converters[">"].fromAPIRawValue(raw);
|
|
1070
|
-
return dispatchFromAPIRawValue(
|
|
1071
|
-
t.greaterThan,
|
|
1072
|
-
types,
|
|
1073
|
-
converters,
|
|
1074
|
-
injectedPrimitives,
|
|
1075
|
-
)(result.greaterThan).Then((value) =>
|
|
1076
|
-
ValueOrErrors.Default.return(
|
|
1077
|
-
PredicateValue.Default.filterGreaterThan(value),
|
|
1078
|
-
),
|
|
1079
|
-
);
|
|
1080
|
-
}
|
|
1081
|
-
if (t.kind == "!=null")
|
|
1082
|
-
return ValueOrErrors.Operations.Return(
|
|
1083
|
-
converters["!=null"].fromAPIRawValue(raw),
|
|
1084
|
-
);
|
|
1085
|
-
if (t.kind == "=null")
|
|
1086
|
-
return ValueOrErrors.Operations.Return(
|
|
1087
|
-
converters["=null"].fromAPIRawValue(raw),
|
|
1088
|
-
);
|
|
1089
|
-
if (t.kind == "<=") {
|
|
1090
|
-
const result = converters["<="].fromAPIRawValue(raw);
|
|
1091
|
-
return dispatchFromAPIRawValue(
|
|
1092
|
-
t.smallerThanOrEqualsTo,
|
|
1093
|
-
types,
|
|
1094
|
-
converters,
|
|
1095
|
-
injectedPrimitives,
|
|
1096
|
-
)(result.smallerThanOrEqualsTo).Then((value) =>
|
|
1097
|
-
ValueOrErrors.Default.return(
|
|
1098
|
-
PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
|
|
1099
|
-
),
|
|
1100
|
-
);
|
|
1101
|
-
}
|
|
1102
|
-
if (t.kind == "<") {
|
|
1103
|
-
const result = converters["<"].fromAPIRawValue(raw);
|
|
1104
|
-
return dispatchFromAPIRawValue(
|
|
1105
|
-
t.smallerThan,
|
|
1106
|
-
types,
|
|
1107
|
-
converters,
|
|
1108
|
-
injectedPrimitives,
|
|
1109
|
-
)(result.smallerThan).Then((value) =>
|
|
1110
|
-
ValueOrErrors.Default.return(
|
|
1111
|
-
PredicateValue.Default.filterSmallerThan(value),
|
|
1112
|
-
),
|
|
1113
|
-
);
|
|
1114
|
-
}
|
|
1115
|
-
if (t.kind == "startsWith") {
|
|
1116
|
-
const result = converters.StartsWith.fromAPIRawValue(raw);
|
|
1117
|
-
return dispatchFromAPIRawValue(
|
|
1118
|
-
t.startsWith,
|
|
1119
|
-
types,
|
|
1120
|
-
converters,
|
|
1121
|
-
injectedPrimitives,
|
|
1122
|
-
)(result.startsWith).Then((value) =>
|
|
1123
|
-
ValueOrErrors.Default.return(
|
|
1124
|
-
PredicateValue.Default.filterStartsWith(value),
|
|
1125
|
-
),
|
|
1126
|
-
);
|
|
1127
|
-
}
|
|
1128
|
-
return ValueOrErrors.Default.throwOne(
|
|
1129
|
-
`unsupported type ${JSON.stringify(t)} for raw: `,
|
|
1130
|
-
);
|
|
339
|
+
.map(([key, record]) => dispatchFromAPIRawValue(resolvedType, types, converters, injectedPrimitives)(record).Then((value) => PredicateValue.Operations.IsRecord(value)
|
|
340
|
+
? ValueOrErrors.Default.return([key, value])
|
|
341
|
+
: ValueOrErrors.Default.throwOne(`record expected but got ${PredicateValue.Operations.GetKind(value)}`))))).Then((values) => ValueOrErrors.Default.return(ValueTable.Default.fromParsed(converterResult.from, converterResult.to, converterResult.hasMoreValues, OrderedMap(values)))));
|
|
342
|
+
}
|
|
343
|
+
if (t.kind == "one") {
|
|
344
|
+
const result = converters["One"].fromAPIRawValue(raw);
|
|
345
|
+
if (!result.isSome) {
|
|
346
|
+
return ValueOrErrors.Default.return(result);
|
|
347
|
+
}
|
|
348
|
+
return dispatchFromAPIRawValue(t.arg, types, converters, injectedPrimitives)(result.value).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.option(true, value)));
|
|
349
|
+
}
|
|
350
|
+
if (t.kind == "readOnly") {
|
|
351
|
+
const readOnlyResult = converters["ReadOnly"].fromAPIRawValue(raw);
|
|
352
|
+
return dispatchFromAPIRawValue(t.arg, types, converters, injectedPrimitives)(readOnlyResult.ReadOnly).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.readonly(value)));
|
|
353
|
+
}
|
|
354
|
+
// TODO -- this can be more functional
|
|
355
|
+
if (t.kind == "record") {
|
|
356
|
+
if (typeof raw != "object") {
|
|
357
|
+
return ValueOrErrors.Default.throwOne(`object expected but got ${JSON.stringify(raw)}`);
|
|
358
|
+
}
|
|
359
|
+
let result = OrderedMap();
|
|
360
|
+
let errors = List();
|
|
361
|
+
t.fields.forEach((fieldType, fieldName) => {
|
|
362
|
+
const fieldValue = raw[fieldName];
|
|
363
|
+
if (fieldValue !== null && fieldValue === undefined) {
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
const parsedValue = dispatchFromAPIRawValue(fieldType, types, converters, injectedPrimitives)(fieldValue);
|
|
367
|
+
if (parsedValue.kind == "errors") {
|
|
368
|
+
errors = errors.concat(parsedValue.errors);
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
result = result.set(fieldName, parsedValue.value);
|
|
372
|
+
}
|
|
373
|
+
});
|
|
374
|
+
if (errors.size > 0) {
|
|
375
|
+
return ValueOrErrors.Default.throw(errors);
|
|
376
|
+
}
|
|
377
|
+
return ValueOrErrors.Default.return(PredicateValue.Default.record(result));
|
|
378
|
+
}
|
|
379
|
+
// Filters
|
|
380
|
+
if (t.kind == "contains") {
|
|
381
|
+
const result = converters["Contains"].fromAPIRawValue(raw);
|
|
382
|
+
return dispatchFromAPIRawValue(t.contains, types, converters, injectedPrimitives)(result.contains).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterContains(value)));
|
|
383
|
+
}
|
|
384
|
+
if (t.kind == "=") {
|
|
385
|
+
const result = converters["="].fromAPIRawValue(raw);
|
|
386
|
+
return dispatchFromAPIRawValue(t.equalsTo, types, converters, injectedPrimitives)(result.equalsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterEqualsTo(value)));
|
|
387
|
+
}
|
|
388
|
+
if (t.kind == "!=") {
|
|
389
|
+
const result = converters["!="].fromAPIRawValue(raw);
|
|
390
|
+
return dispatchFromAPIRawValue(t.notEqualsTo, types, converters, injectedPrimitives)(result.notEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterNotEqualsTo(value)));
|
|
391
|
+
}
|
|
392
|
+
if (t.kind == ">=") {
|
|
393
|
+
const result = converters[">="].fromAPIRawValue(raw);
|
|
394
|
+
return dispatchFromAPIRawValue(t.greaterThanOrEqualsTo, types, converters, injectedPrimitives)(result.greaterThanOrEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterGreaterThanOrEqualsTo(value)));
|
|
395
|
+
}
|
|
396
|
+
if (t.kind == ">") {
|
|
397
|
+
const result = converters[">"].fromAPIRawValue(raw);
|
|
398
|
+
return dispatchFromAPIRawValue(t.greaterThan, types, converters, injectedPrimitives)(result.greaterThan).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterGreaterThan(value)));
|
|
399
|
+
}
|
|
400
|
+
if (t.kind == "!=null")
|
|
401
|
+
return ValueOrErrors.Operations.Return(converters["!=null"].fromAPIRawValue(raw));
|
|
402
|
+
if (t.kind == "=null")
|
|
403
|
+
return ValueOrErrors.Operations.Return(converters["=null"].fromAPIRawValue(raw));
|
|
404
|
+
if (t.kind == "<=") {
|
|
405
|
+
const result = converters["<="].fromAPIRawValue(raw);
|
|
406
|
+
return dispatchFromAPIRawValue(t.smallerThanOrEqualsTo, types, converters, injectedPrimitives)(result.smallerThanOrEqualsTo).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterSmallerThanOrEqualsTo(value)));
|
|
407
|
+
}
|
|
408
|
+
if (t.kind == "<") {
|
|
409
|
+
const result = converters["<"].fromAPIRawValue(raw);
|
|
410
|
+
return dispatchFromAPIRawValue(t.smallerThan, types, converters, injectedPrimitives)(result.smallerThan).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterSmallerThan(value)));
|
|
411
|
+
}
|
|
412
|
+
if (t.kind == "startsWith") {
|
|
413
|
+
const result = converters.StartsWith.fromAPIRawValue(raw);
|
|
414
|
+
return dispatchFromAPIRawValue(t.startsWith, types, converters, injectedPrimitives)(result.startsWith).Then((value) => ValueOrErrors.Default.return(PredicateValue.Default.filterStartsWith(value)));
|
|
415
|
+
}
|
|
416
|
+
return ValueOrErrors.Default.throwOne(`unsupported type ${JSON.stringify(t)} for raw: `);
|
|
1131
417
|
})();
|
|
1132
|
-
return result.MapErrors((errors) =>
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
`${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} from API raw value`,
|
|
1136
|
-
),
|
|
1137
|
-
);
|
|
1138
|
-
};
|
|
1139
|
-
export const dispatchToAPIRawValue =
|
|
1140
|
-
(t, types, converters, injectedPrimitives) => (raw, formState) => {
|
|
418
|
+
return result.MapErrors((errors) => errors.map((error) => `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} from API raw value`));
|
|
419
|
+
};
|
|
420
|
+
export const dispatchToAPIRawValue = (t, types, converters, injectedPrimitives) => (raw, formState) => {
|
|
1141
421
|
const result = (() => {
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1173
|
-
? void 0
|
|
1174
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1175
|
-
? _b
|
|
1176
|
-
: false,
|
|
1177
|
-
]),
|
|
1178
|
-
);
|
|
1179
|
-
}
|
|
1180
|
-
if (t.kind == "union") {
|
|
1181
|
-
if (!PredicateValue.Operations.IsUnionCase(raw)) {
|
|
1182
|
-
return ValueOrErrors.Default.throwOne(
|
|
1183
|
-
`Union case expected but got ${JSON.stringify(raw)}\n...when converting union to API raw value`,
|
|
1184
|
-
);
|
|
1185
|
-
}
|
|
1186
|
-
const caseName = raw.caseName;
|
|
1187
|
-
if (
|
|
1188
|
-
caseName == undefined ||
|
|
1189
|
-
!PredicateValue.Operations.IsString(caseName)
|
|
1190
|
-
) {
|
|
1191
|
-
return ValueOrErrors.Default.throwOne(
|
|
1192
|
-
`caseName expected but got ${JSON.stringify(raw)}`,
|
|
1193
|
-
);
|
|
1194
|
-
}
|
|
1195
|
-
const caseType = t.args.get(caseName);
|
|
1196
|
-
if (caseType == undefined) {
|
|
1197
|
-
return ValueOrErrors.Default.throwOne(
|
|
1198
|
-
`union case ${caseName} not found in type ${JSON.stringify(t)}`,
|
|
1199
|
-
);
|
|
1200
|
-
}
|
|
1201
|
-
return dispatchToAPIRawValue(
|
|
1202
|
-
caseType,
|
|
1203
|
-
types,
|
|
1204
|
-
converters,
|
|
1205
|
-
injectedPrimitives,
|
|
1206
|
-
)(raw.fields, formState).Then((value) => {
|
|
1207
|
-
var _a, _b;
|
|
1208
|
-
return ValueOrErrors.Default.return(
|
|
1209
|
-
converters["union"].toAPIRawValue([
|
|
1210
|
-
{ caseName, fields: value },
|
|
1211
|
-
(_b =
|
|
1212
|
-
(_a =
|
|
1213
|
-
formState === null || formState === void 0
|
|
1214
|
-
? void 0
|
|
1215
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1216
|
-
? void 0
|
|
1217
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1218
|
-
? _b
|
|
1219
|
-
: false,
|
|
1220
|
-
]),
|
|
1221
|
-
);
|
|
1222
|
-
});
|
|
1223
|
-
}
|
|
1224
|
-
if (t.kind == "singleSelection") {
|
|
1225
|
-
if (!PredicateValue.Operations.IsOption(raw)) {
|
|
1226
|
-
return ValueOrErrors.Default.throwOne(
|
|
1227
|
-
`Option expected but got ${JSON.stringify(raw)}`,
|
|
1228
|
-
);
|
|
1229
|
-
}
|
|
1230
|
-
if (raw.isSome) {
|
|
1231
|
-
if (!PredicateValue.Operations.IsRecord(raw.value)) {
|
|
1232
|
-
return ValueOrErrors.Default.throwOne(
|
|
1233
|
-
`Record expected but got ${JSON.stringify(raw.value)}`,
|
|
1234
|
-
);
|
|
1235
|
-
}
|
|
1236
|
-
const rawValue = raw.value.fields.toJS();
|
|
1237
|
-
if (
|
|
1238
|
-
!CollectionReference.Operations.IsCollectionReference(rawValue) &&
|
|
1239
|
-
!EnumReference.Operations.IsEnumReference(rawValue)
|
|
1240
|
-
) {
|
|
1241
|
-
return ValueOrErrors.Default.throwOne(
|
|
1242
|
-
`CollectionReference or EnumReference expected but got ${rawValue}`,
|
|
1243
|
-
);
|
|
1244
|
-
}
|
|
1245
|
-
return ValueOrErrors.Operations.Return(
|
|
1246
|
-
converters["SingleSelection"].toAPIRawValue([
|
|
1247
|
-
Sum.Default.left(rawValue),
|
|
1248
|
-
(_d =
|
|
1249
|
-
(_c =
|
|
1250
|
-
formState === null || formState === void 0
|
|
1251
|
-
? void 0
|
|
1252
|
-
: formState.commonFormState) === null || _c === void 0
|
|
1253
|
-
? void 0
|
|
1254
|
-
: _c.modifiedByUser) !== null && _d !== void 0
|
|
1255
|
-
? _d
|
|
1256
|
-
: false,
|
|
1257
|
-
]),
|
|
1258
|
-
);
|
|
1259
|
-
} else {
|
|
1260
|
-
return ValueOrErrors.Operations.Return(
|
|
1261
|
-
converters["SingleSelection"].toAPIRawValue([
|
|
1262
|
-
Sum.Default.right("no selection"),
|
|
1263
|
-
(_f =
|
|
1264
|
-
(_e =
|
|
1265
|
-
formState === null || formState === void 0
|
|
1266
|
-
? void 0
|
|
1267
|
-
: formState.commonFormState) === null || _e === void 0
|
|
1268
|
-
? void 0
|
|
1269
|
-
: _e.modifiedByUser) !== null && _f !== void 0
|
|
1270
|
-
? _f
|
|
1271
|
-
: false,
|
|
1272
|
-
]),
|
|
1273
|
-
);
|
|
1274
|
-
}
|
|
1275
|
-
}
|
|
1276
|
-
if (t.kind == "multiSelection") {
|
|
1277
|
-
if (!PredicateValue.Operations.IsRecord(raw)) {
|
|
1278
|
-
return ValueOrErrors.Default.throwOne(
|
|
1279
|
-
`Record expected but got multi selection of ${JSON.stringify(raw)}`,
|
|
1280
|
-
);
|
|
422
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
423
|
+
if (t.kind == "primitive") {
|
|
424
|
+
if (t.name == "unit") {
|
|
425
|
+
return ValueOrErrors.Default.return(unit);
|
|
426
|
+
}
|
|
427
|
+
return ValueOrErrors.Operations.Return(converters[t.name].toAPIRawValue([
|
|
428
|
+
raw,
|
|
429
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
430
|
+
]));
|
|
431
|
+
}
|
|
432
|
+
if (t.kind == "union") {
|
|
433
|
+
if (!PredicateValue.Operations.IsUnionCase(raw)) {
|
|
434
|
+
return ValueOrErrors.Default.throwOne(`Union case expected but got ${JSON.stringify(raw)}\n...when converting union to API raw value`);
|
|
435
|
+
}
|
|
436
|
+
const caseName = raw.caseName;
|
|
437
|
+
if (caseName == undefined ||
|
|
438
|
+
!PredicateValue.Operations.IsString(caseName)) {
|
|
439
|
+
return ValueOrErrors.Default.throwOne(`caseName expected but got ${JSON.stringify(raw)}`);
|
|
440
|
+
}
|
|
441
|
+
const caseType = t.args.get(caseName);
|
|
442
|
+
if (caseType == undefined) {
|
|
443
|
+
return ValueOrErrors.Default.throwOne(`union case ${caseName} not found in type ${JSON.stringify(t)}`);
|
|
444
|
+
}
|
|
445
|
+
return dispatchToAPIRawValue(caseType, types, converters, injectedPrimitives)(raw.fields, formState).Then((value) => {
|
|
446
|
+
var _a, _b;
|
|
447
|
+
return ValueOrErrors.Default.return(converters["union"].toAPIRawValue([
|
|
448
|
+
{ caseName, fields: value },
|
|
449
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
450
|
+
]));
|
|
451
|
+
});
|
|
1281
452
|
}
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
.
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
453
|
+
if (t.kind == "singleSelection") {
|
|
454
|
+
if (!PredicateValue.Operations.IsOption(raw)) {
|
|
455
|
+
return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}`);
|
|
456
|
+
}
|
|
457
|
+
if (raw.isSome) {
|
|
458
|
+
if (!PredicateValue.Operations.IsRecord(raw.value)) {
|
|
459
|
+
return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw.value)}`);
|
|
460
|
+
}
|
|
461
|
+
const rawValue = raw.value.fields.toJS();
|
|
462
|
+
if (!CollectionReference.Operations.IsCollectionReference(rawValue) &&
|
|
463
|
+
!EnumReference.Operations.IsEnumReference(rawValue)) {
|
|
464
|
+
return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${rawValue}`);
|
|
465
|
+
}
|
|
466
|
+
return ValueOrErrors.Operations.Return(converters["SingleSelection"].toAPIRawValue([
|
|
467
|
+
Sum.Default.left(rawValue),
|
|
468
|
+
(_d = (_c = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _c === void 0 ? void 0 : _c.modifiedByUser) !== null && _d !== void 0 ? _d : false,
|
|
469
|
+
]));
|
|
470
|
+
}
|
|
471
|
+
else {
|
|
472
|
+
return ValueOrErrors.Operations.Return(converters["SingleSelection"].toAPIRawValue([
|
|
473
|
+
Sum.Default.right("no selection"),
|
|
474
|
+
(_f = (_e = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _e === void 0 ? void 0 : _e.modifiedByUser) !== null && _f !== void 0 ? _f : false,
|
|
475
|
+
]));
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
if (t.kind == "multiSelection") {
|
|
479
|
+
if (!PredicateValue.Operations.IsRecord(raw)) {
|
|
480
|
+
return ValueOrErrors.Default.throwOne(`Record expected but got multi selection of ${JSON.stringify(raw)}`);
|
|
481
|
+
}
|
|
482
|
+
const filteredRawValues = raw.fields.filter((value) => {
|
|
483
|
+
if (!PredicateValue.Operations.IsRecord(value)) {
|
|
484
|
+
console.warn("Received a non-record value in a multi selection, ignoring: ", JSON.stringify(value));
|
|
485
|
+
return false;
|
|
486
|
+
}
|
|
487
|
+
const fieldsObject = value.fields.toJS();
|
|
488
|
+
if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
|
|
489
|
+
!EnumReference.Operations.IsEnumReference(fieldsObject)) {
|
|
490
|
+
console.warn("Received a non-collection or enum reference value in a multi selection, ignoring: ", JSON.stringify(value));
|
|
491
|
+
return false;
|
|
492
|
+
}
|
|
493
|
+
return true;
|
|
494
|
+
});
|
|
495
|
+
const rawValue = filteredRawValues.map((value) => {
|
|
496
|
+
// should never happen due to the filter above but is a type check
|
|
497
|
+
if (!PredicateValue.Operations.IsRecord(value)) {
|
|
498
|
+
return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(value)}`);
|
|
499
|
+
}
|
|
500
|
+
const fieldsObject = value.fields.toJS();
|
|
501
|
+
if (!CollectionReference.Operations.IsCollectionReference(fieldsObject) &&
|
|
502
|
+
!EnumReference.Operations.IsEnumReference(fieldsObject)) {
|
|
503
|
+
return ValueOrErrors.Default.throwOne(`CollectionReference or EnumReference expected but got ${JSON.stringify(fieldsObject)}`);
|
|
504
|
+
}
|
|
505
|
+
return ValueOrErrors.Default.return(fieldsObject);
|
|
506
|
+
});
|
|
507
|
+
return ValueOrErrors.Operations.All(rawValue.valueSeq().toList()).Then((values) => {
|
|
508
|
+
var _a, _b;
|
|
509
|
+
return ValueOrErrors.Default.return(converters["MultiSelection"].toAPIRawValue([
|
|
510
|
+
OrderedMap(values
|
|
511
|
+
.map((v) => {
|
|
512
|
+
if (CollectionReference.Operations.IsCollectionReference(v)) {
|
|
513
|
+
return [v.Id, v];
|
|
514
|
+
}
|
|
515
|
+
return [v.Value, v];
|
|
1339
516
|
})
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
(_a =
|
|
1344
|
-
formState === null || formState === void 0
|
|
1345
|
-
? void 0
|
|
1346
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1347
|
-
? void 0
|
|
1348
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1349
|
-
? _b
|
|
1350
|
-
: false,
|
|
1351
|
-
]),
|
|
1352
|
-
);
|
|
1353
|
-
},
|
|
1354
|
-
);
|
|
1355
|
-
}
|
|
1356
|
-
if (t.kind == "list") {
|
|
1357
|
-
if (!PredicateValue.Operations.IsTuple(raw)) {
|
|
1358
|
-
return ValueOrErrors.Default.throwOne(
|
|
1359
|
-
`Tuple expected but got list of ${JSON.stringify(raw)}`,
|
|
1360
|
-
);
|
|
1361
|
-
}
|
|
1362
|
-
return ValueOrErrors.Operations.All(
|
|
1363
|
-
List(
|
|
1364
|
-
raw.values.map((value, index) => {
|
|
1365
|
-
var _a;
|
|
1366
|
-
return dispatchToAPIRawValue(
|
|
1367
|
-
t.args[0],
|
|
1368
|
-
types,
|
|
1369
|
-
converters,
|
|
1370
|
-
injectedPrimitives,
|
|
1371
|
-
)(
|
|
1372
|
-
value,
|
|
1373
|
-
(_a =
|
|
1374
|
-
formState === null || formState === void 0
|
|
1375
|
-
? void 0
|
|
1376
|
-
: formState.elementFormStates) === null || _a === void 0
|
|
1377
|
-
? void 0
|
|
1378
|
-
: _a.get(index),
|
|
1379
|
-
);
|
|
1380
|
-
}),
|
|
1381
|
-
),
|
|
1382
|
-
).Then((values) => {
|
|
1383
|
-
var _a, _b;
|
|
1384
|
-
return ValueOrErrors.Default.return(
|
|
1385
|
-
converters["List"].toAPIRawValue([
|
|
1386
|
-
values,
|
|
1387
|
-
(_b =
|
|
1388
|
-
(_a =
|
|
1389
|
-
formState === null || formState === void 0
|
|
1390
|
-
? void 0
|
|
1391
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1392
|
-
? void 0
|
|
1393
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1394
|
-
? _b
|
|
1395
|
-
: false,
|
|
1396
|
-
]),
|
|
1397
|
-
);
|
|
1398
|
-
});
|
|
1399
|
-
}
|
|
1400
|
-
if (t.kind == "map" && t.args.length == 2) {
|
|
1401
|
-
const keyValues = raw.values.map((keyValue, index) => {
|
|
1402
|
-
var _a, _b;
|
|
1403
|
-
return dispatchToAPIRawValue(
|
|
1404
|
-
t.args[0],
|
|
1405
|
-
types,
|
|
1406
|
-
converters,
|
|
1407
|
-
injectedPrimitives,
|
|
1408
|
-
)(
|
|
1409
|
-
keyValue.values.get(0),
|
|
1410
|
-
(_b =
|
|
1411
|
-
(_a =
|
|
1412
|
-
formState === null || formState === void 0
|
|
1413
|
-
? void 0
|
|
1414
|
-
: formState.elementFormStates) === null || _a === void 0
|
|
1415
|
-
? void 0
|
|
1416
|
-
: _a.get(index)) === null || _b === void 0
|
|
1417
|
-
? void 0
|
|
1418
|
-
: _b.KeyFormState,
|
|
1419
|
-
)
|
|
1420
|
-
.Then((possiblyUndefinedKey) => {
|
|
1421
|
-
if (
|
|
1422
|
-
possiblyUndefinedKey == undefined ||
|
|
1423
|
-
possiblyUndefinedKey == null ||
|
|
1424
|
-
possiblyUndefinedKey == "" ||
|
|
1425
|
-
(typeof possiblyUndefinedKey == "object" &&
|
|
1426
|
-
(Object.keys(possiblyUndefinedKey).length == 0 ||
|
|
1427
|
-
("IsSome" in possiblyUndefinedKey &&
|
|
1428
|
-
!possiblyUndefinedKey.IsSome)))
|
|
1429
|
-
) {
|
|
1430
|
-
return ValueOrErrors.Default.throwOne(
|
|
1431
|
-
`A mapped key is undefined for type ${JSON.stringify(t.args[0])}`,
|
|
1432
|
-
);
|
|
1433
|
-
} else {
|
|
1434
|
-
return ValueOrErrors.Default.return(possiblyUndefinedKey);
|
|
1435
|
-
}
|
|
1436
|
-
})
|
|
1437
|
-
.Then((key) => {
|
|
1438
|
-
var _a, _b;
|
|
1439
|
-
return dispatchToAPIRawValue(
|
|
1440
|
-
t.args[1],
|
|
1441
|
-
types,
|
|
1442
|
-
converters,
|
|
1443
|
-
injectedPrimitives,
|
|
1444
|
-
)(
|
|
1445
|
-
keyValue.values.get(1),
|
|
1446
|
-
(_b =
|
|
1447
|
-
(_a =
|
|
1448
|
-
formState === null || formState === void 0
|
|
1449
|
-
? void 0
|
|
1450
|
-
: formState.elementFormStates) === null || _a === void 0
|
|
1451
|
-
? void 0
|
|
1452
|
-
: _a.get(index)) === null || _b === void 0
|
|
1453
|
-
? void 0
|
|
1454
|
-
: _b.ValueFormState,
|
|
1455
|
-
).Then((value) => ValueOrErrors.Default.return([key, value]));
|
|
517
|
+
.toArray()),
|
|
518
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
519
|
+
]));
|
|
1456
520
|
});
|
|
1457
|
-
});
|
|
1458
|
-
return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
|
|
1459
|
-
var _a, _b;
|
|
1460
|
-
if (
|
|
1461
|
-
values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
|
|
1462
|
-
values.size
|
|
1463
|
-
) {
|
|
1464
|
-
return ValueOrErrors.Default.throwOne(
|
|
1465
|
-
"Keys in the map are not unique",
|
|
1466
|
-
);
|
|
1467
|
-
}
|
|
1468
|
-
return ValueOrErrors.Operations.Return(
|
|
1469
|
-
converters["Map"].toAPIRawValue([
|
|
1470
|
-
values,
|
|
1471
|
-
(_b =
|
|
1472
|
-
(_a =
|
|
1473
|
-
formState === null || formState === void 0
|
|
1474
|
-
? void 0
|
|
1475
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1476
|
-
? void 0
|
|
1477
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1478
|
-
? _b
|
|
1479
|
-
: false,
|
|
1480
|
-
]),
|
|
1481
|
-
);
|
|
1482
|
-
});
|
|
1483
|
-
}
|
|
1484
|
-
if (t.kind == "sum" && t.args.length === 2) {
|
|
1485
|
-
if (!PredicateValue.Operations.IsSum(raw)) {
|
|
1486
|
-
return ValueOrErrors.Default.throwOne(
|
|
1487
|
-
`Sum expected but got ${JSON.stringify(raw)}`,
|
|
1488
|
-
);
|
|
1489
|
-
}
|
|
1490
|
-
return dispatchToAPIRawValue(
|
|
1491
|
-
raw.value.kind == "l" ? t.args[0] : t.args[1],
|
|
1492
|
-
types,
|
|
1493
|
-
converters,
|
|
1494
|
-
injectedPrimitives,
|
|
1495
|
-
)(
|
|
1496
|
-
raw.value.value,
|
|
1497
|
-
raw.value.kind == "l"
|
|
1498
|
-
? (_g =
|
|
1499
|
-
formState === null || formState === void 0
|
|
1500
|
-
? void 0
|
|
1501
|
-
: formState.commonFormState) === null || _g === void 0
|
|
1502
|
-
? void 0
|
|
1503
|
-
: _g.left
|
|
1504
|
-
: (_h =
|
|
1505
|
-
formState === null || formState === void 0
|
|
1506
|
-
? void 0
|
|
1507
|
-
: formState.commonFormState) === null || _h === void 0
|
|
1508
|
-
? void 0
|
|
1509
|
-
: _h.right,
|
|
1510
|
-
).Then((value) => {
|
|
1511
|
-
var _a, _b;
|
|
1512
|
-
return ValueOrErrors.Default.return(
|
|
1513
|
-
converters["Sum"].toAPIRawValue([
|
|
1514
|
-
raw.value.kind == "l"
|
|
1515
|
-
? Sum.Default.left(value)
|
|
1516
|
-
: Sum.Default.right(value),
|
|
1517
|
-
(_b =
|
|
1518
|
-
(_a =
|
|
1519
|
-
formState === null || formState === void 0
|
|
1520
|
-
? void 0
|
|
1521
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1522
|
-
? void 0
|
|
1523
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1524
|
-
? _b
|
|
1525
|
-
: false,
|
|
1526
|
-
]),
|
|
1527
|
-
);
|
|
1528
|
-
});
|
|
1529
|
-
}
|
|
1530
|
-
if (t.kind == "sumN") {
|
|
1531
|
-
if (!PredicateValue.Operations.IsSumN(raw)) {
|
|
1532
|
-
return ValueOrErrors.Default.throwOne(
|
|
1533
|
-
`SumN expected but got ${JSON.stringify(raw)}`,
|
|
1534
|
-
);
|
|
1535
|
-
}
|
|
1536
|
-
return dispatchToAPIRawValue(
|
|
1537
|
-
t.args[raw.caseIndex],
|
|
1538
|
-
types,
|
|
1539
|
-
converters,
|
|
1540
|
-
injectedPrimitives,
|
|
1541
|
-
)(
|
|
1542
|
-
raw.value,
|
|
1543
|
-
(_j =
|
|
1544
|
-
formState === null || formState === void 0
|
|
1545
|
-
? void 0
|
|
1546
|
-
: formState.commonFormState) === null || _j === void 0
|
|
1547
|
-
? void 0
|
|
1548
|
-
: _j.modifiedByUser,
|
|
1549
|
-
).Then((value) => {
|
|
1550
|
-
var _a, _b;
|
|
1551
|
-
return ValueOrErrors.Default.return(
|
|
1552
|
-
converters["SumN"].toAPIRawValue([
|
|
1553
|
-
PredicateValue.Default.sumN(raw.caseIndex, raw.arity, value),
|
|
1554
|
-
(_b =
|
|
1555
|
-
(_a =
|
|
1556
|
-
formState === null || formState === void 0
|
|
1557
|
-
? void 0
|
|
1558
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1559
|
-
? void 0
|
|
1560
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1561
|
-
? _b
|
|
1562
|
-
: false,
|
|
1563
|
-
]),
|
|
1564
|
-
);
|
|
1565
|
-
});
|
|
1566
|
-
}
|
|
1567
|
-
if (t.kind == "tuple") {
|
|
1568
|
-
if (!PredicateValue.Operations.IsTuple(raw)) {
|
|
1569
|
-
return ValueOrErrors.Default.throwOne(
|
|
1570
|
-
`Tuple expected but got ${JSON.stringify(raw)}`,
|
|
1571
|
-
);
|
|
1572
521
|
}
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
types,
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
: formState.itemFormStates) === null || _a === void 0
|
|
1588
|
-
? void 0
|
|
1589
|
-
: _a.get(index),
|
|
1590
|
-
);
|
|
1591
|
-
}),
|
|
1592
|
-
),
|
|
1593
|
-
).Then((values) => {
|
|
1594
|
-
var _a, _b;
|
|
1595
|
-
return ValueOrErrors.Default.return(
|
|
1596
|
-
converters["Tuple"].toAPIRawValue([
|
|
1597
|
-
values,
|
|
1598
|
-
(_b =
|
|
1599
|
-
(_a =
|
|
1600
|
-
formState === null || formState === void 0
|
|
1601
|
-
? void 0
|
|
1602
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1603
|
-
? void 0
|
|
1604
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1605
|
-
? _b
|
|
1606
|
-
: false,
|
|
1607
|
-
]),
|
|
1608
|
-
);
|
|
1609
|
-
});
|
|
1610
|
-
}
|
|
1611
|
-
if (t.kind == "lookup")
|
|
1612
|
-
return dispatchToAPIRawValue(
|
|
1613
|
-
types.get(t.name),
|
|
1614
|
-
types,
|
|
1615
|
-
converters,
|
|
1616
|
-
injectedPrimitives,
|
|
1617
|
-
)(raw, formState);
|
|
1618
|
-
if (t.kind == "record") {
|
|
1619
|
-
if (!PredicateValue.Operations.IsRecord(raw)) {
|
|
1620
|
-
return ValueOrErrors.Default.throwOne(
|
|
1621
|
-
`Record expected but got ${JSON.stringify(raw)}`,
|
|
1622
|
-
);
|
|
522
|
+
if (t.kind == "list") {
|
|
523
|
+
if (!PredicateValue.Operations.IsTuple(raw)) {
|
|
524
|
+
return ValueOrErrors.Default.throwOne(`Tuple expected but got list of ${JSON.stringify(raw)}`);
|
|
525
|
+
}
|
|
526
|
+
return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
|
|
527
|
+
var _a;
|
|
528
|
+
return dispatchToAPIRawValue(t.args[0], types, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
|
|
529
|
+
}))).Then((values) => {
|
|
530
|
+
var _a, _b;
|
|
531
|
+
return ValueOrErrors.Default.return(converters["List"].toAPIRawValue([
|
|
532
|
+
values,
|
|
533
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
534
|
+
]));
|
|
535
|
+
});
|
|
1623
536
|
}
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
)
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
);
|
|
1659
|
-
}
|
|
1660
|
-
if (t.kind == "one") {
|
|
1661
|
-
if (!PredicateValue.Operations.IsOption(raw)) {
|
|
1662
|
-
return ValueOrErrors.Default.throwOne(
|
|
1663
|
-
`Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`,
|
|
1664
|
-
);
|
|
537
|
+
if (t.kind == "map" && t.args.length == 2) {
|
|
538
|
+
const keyValues = raw.values.map((keyValue, index) => {
|
|
539
|
+
var _a, _b;
|
|
540
|
+
return dispatchToAPIRawValue(t.args[0], types, converters, injectedPrimitives)(keyValue.values.get(0), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index)) === null || _b === void 0 ? void 0 : _b.KeyFormState)
|
|
541
|
+
.Then((possiblyUndefinedKey) => {
|
|
542
|
+
if (possiblyUndefinedKey == undefined ||
|
|
543
|
+
possiblyUndefinedKey == null ||
|
|
544
|
+
possiblyUndefinedKey == "" ||
|
|
545
|
+
(typeof possiblyUndefinedKey == "object" &&
|
|
546
|
+
(Object.keys(possiblyUndefinedKey).length == 0 ||
|
|
547
|
+
("IsSome" in possiblyUndefinedKey &&
|
|
548
|
+
!possiblyUndefinedKey.IsSome)))) {
|
|
549
|
+
return ValueOrErrors.Default.throwOne(`A mapped key is undefined for type ${JSON.stringify(t.args[0])}`);
|
|
550
|
+
}
|
|
551
|
+
else {
|
|
552
|
+
return ValueOrErrors.Default.return(possiblyUndefinedKey);
|
|
553
|
+
}
|
|
554
|
+
})
|
|
555
|
+
.Then((key) => {
|
|
556
|
+
var _a, _b;
|
|
557
|
+
return dispatchToAPIRawValue(t.args[1], types, converters, injectedPrimitives)(keyValue.values.get(1), (_b = (_a = formState === null || formState === void 0 ? void 0 : formState.elementFormStates) === null || _a === void 0 ? void 0 : _a.get(index)) === null || _b === void 0 ? void 0 : _b.ValueFormState).Then((value) => ValueOrErrors.Default.return([key, value]));
|
|
558
|
+
});
|
|
559
|
+
});
|
|
560
|
+
return ValueOrErrors.Operations.All(List(keyValues)).Then((values) => {
|
|
561
|
+
var _a, _b;
|
|
562
|
+
if (values.map((kv) => JSON.stringify(kv[0])).toSet().size !=
|
|
563
|
+
values.size) {
|
|
564
|
+
return ValueOrErrors.Default.throwOne("Keys in the map are not unique");
|
|
565
|
+
}
|
|
566
|
+
return ValueOrErrors.Operations.Return(converters["Map"].toAPIRawValue([
|
|
567
|
+
values,
|
|
568
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
569
|
+
]));
|
|
570
|
+
});
|
|
1665
571
|
}
|
|
1666
|
-
if (
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
(
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
572
|
+
if (t.kind == "sum" && t.args.length === 2) {
|
|
573
|
+
if (!PredicateValue.Operations.IsSum(raw)) {
|
|
574
|
+
return ValueOrErrors.Default.throwOne(`Sum expected but got ${JSON.stringify(raw)}`);
|
|
575
|
+
}
|
|
576
|
+
return dispatchToAPIRawValue(raw.value.kind == "l" ? t.args[0] : t.args[1], types, converters, injectedPrimitives)(raw.value.value, raw.value.kind == "l"
|
|
577
|
+
? (_g = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _g === void 0 ? void 0 : _g.left
|
|
578
|
+
: (_h = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _h === void 0 ? void 0 : _h.right).Then((value) => {
|
|
579
|
+
var _a, _b;
|
|
580
|
+
return ValueOrErrors.Default.return(converters["Sum"].toAPIRawValue([
|
|
581
|
+
raw.value.kind == "l"
|
|
582
|
+
? Sum.Default.left(value)
|
|
583
|
+
: Sum.Default.right(value),
|
|
584
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
585
|
+
]));
|
|
586
|
+
});
|
|
1681
587
|
}
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
: formState.commonFormState) === null || _m === void 0
|
|
1694
|
-
? void 0
|
|
1695
|
-
: _m.modifiedByUser) !== null && _o !== void 0
|
|
1696
|
-
? _o
|
|
1697
|
-
: false,
|
|
1698
|
-
).Then((value) => {
|
|
1699
|
-
var _a, _b;
|
|
1700
|
-
return ValueOrErrors.Default.return(
|
|
1701
|
-
converters["One"].toAPIRawValue([
|
|
1702
|
-
PredicateValue.Default.option(true, value),
|
|
1703
|
-
(_b =
|
|
1704
|
-
(_a =
|
|
1705
|
-
formState === null || formState === void 0
|
|
1706
|
-
? void 0
|
|
1707
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1708
|
-
? void 0
|
|
1709
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1710
|
-
? _b
|
|
1711
|
-
: false,
|
|
1712
|
-
]),
|
|
1713
|
-
);
|
|
1714
|
-
});
|
|
1715
|
-
}
|
|
1716
|
-
if (t.kind == "readOnly") {
|
|
1717
|
-
if (!PredicateValue.Operations.IsReadOnly(raw)) {
|
|
1718
|
-
return ValueOrErrors.Default.throwOne(
|
|
1719
|
-
`ReadOnly expected but got ${JSON.stringify(raw)}`,
|
|
1720
|
-
);
|
|
588
|
+
if (t.kind == "sumN") {
|
|
589
|
+
if (!PredicateValue.Operations.IsSumN(raw)) {
|
|
590
|
+
return ValueOrErrors.Default.throwOne(`SumN expected but got ${JSON.stringify(raw)}`);
|
|
591
|
+
}
|
|
592
|
+
return dispatchToAPIRawValue(t.args[raw.caseIndex], types, converters, injectedPrimitives)(raw.value, (_j = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _j === void 0 ? void 0 : _j.modifiedByUser).Then((value) => {
|
|
593
|
+
var _a, _b;
|
|
594
|
+
return ValueOrErrors.Default.return(converters["SumN"].toAPIRawValue([
|
|
595
|
+
PredicateValue.Default.sumN(raw.caseIndex, raw.arity, value),
|
|
596
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
597
|
+
]));
|
|
598
|
+
});
|
|
1721
599
|
}
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1737
|
-
? void 0
|
|
1738
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1739
|
-
? _b
|
|
1740
|
-
: false,
|
|
1741
|
-
]),
|
|
1742
|
-
);
|
|
1743
|
-
});
|
|
1744
|
-
}
|
|
1745
|
-
if (t.kind == "table") {
|
|
1746
|
-
if (!PredicateValue.Operations.IsTable(raw)) {
|
|
1747
|
-
return ValueOrErrors.Default.throwOne(
|
|
1748
|
-
`Table expected but got ${JSON.stringify(raw)}`,
|
|
1749
|
-
);
|
|
600
|
+
if (t.kind == "tuple") {
|
|
601
|
+
if (!PredicateValue.Operations.IsTuple(raw)) {
|
|
602
|
+
return ValueOrErrors.Default.throwOne(`Tuple expected but got ${JSON.stringify(raw)}`);
|
|
603
|
+
}
|
|
604
|
+
return ValueOrErrors.Operations.All(List(raw.values.map((value, index) => {
|
|
605
|
+
var _a;
|
|
606
|
+
return dispatchToAPIRawValue(t.args[index], types, converters, injectedPrimitives)(value, (_a = formState === null || formState === void 0 ? void 0 : formState.itemFormStates) === null || _a === void 0 ? void 0 : _a.get(index));
|
|
607
|
+
}))).Then((values) => {
|
|
608
|
+
var _a, _b;
|
|
609
|
+
return ValueOrErrors.Default.return(converters["Tuple"].toAPIRawValue([
|
|
610
|
+
values,
|
|
611
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
612
|
+
]));
|
|
613
|
+
});
|
|
1750
614
|
}
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
(
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
615
|
+
if (t.kind == "lookup")
|
|
616
|
+
return dispatchToAPIRawValue(types.get(t.name), types, converters, injectedPrimitives)(raw, formState);
|
|
617
|
+
if (t.kind == "record") {
|
|
618
|
+
if (!PredicateValue.Operations.IsRecord(raw)) {
|
|
619
|
+
return ValueOrErrors.Default.throwOne(`Record expected but got ${JSON.stringify(raw)}`);
|
|
620
|
+
}
|
|
621
|
+
const res = [];
|
|
622
|
+
t.fields.forEach((fieldType, fieldName) => {
|
|
623
|
+
var _a;
|
|
624
|
+
const rawField = raw.fields.get(fieldName);
|
|
625
|
+
if (rawField == undefined) {
|
|
626
|
+
return;
|
|
627
|
+
}
|
|
628
|
+
res.push([
|
|
629
|
+
fieldName,
|
|
630
|
+
dispatchToAPIRawValue(fieldType, types, converters, injectedPrimitives)(raw.fields.get(fieldName), (_a = formState === null || formState === void 0 ? void 0 : formState.fieldStates) === null || _a === void 0 ? void 0 : _a.get(fieldName)),
|
|
631
|
+
]);
|
|
632
|
+
});
|
|
633
|
+
const errors = ValueOrErrors.Operations.All(List(res.map(([_, value]) => value)));
|
|
634
|
+
if (errors.kind == "errors")
|
|
635
|
+
return errors;
|
|
636
|
+
return ValueOrErrors.Operations.Return(res.reduce((acc, [fieldName, value]) => {
|
|
637
|
+
acc[fieldName] = value.value;
|
|
638
|
+
return acc;
|
|
639
|
+
}, {}));
|
|
640
|
+
}
|
|
641
|
+
if (t.kind == "one") {
|
|
642
|
+
if (!PredicateValue.Operations.IsOption(raw)) {
|
|
643
|
+
return ValueOrErrors.Default.throwOne(`Option expected but got ${JSON.stringify(raw)}\n...when converting one to API raw value`);
|
|
644
|
+
}
|
|
645
|
+
if (!raw.isSome) {
|
|
646
|
+
return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
|
|
647
|
+
raw,
|
|
648
|
+
(_l = (_k = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _k === void 0 ? void 0 : _k.modifiedByUser) !== null && _l !== void 0 ? _l : false,
|
|
649
|
+
]));
|
|
650
|
+
}
|
|
651
|
+
return dispatchToAPIRawValue(t.arg, types, converters, injectedPrimitives)(raw.value, (_o = (_m = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _m === void 0 ? void 0 : _m.modifiedByUser) !== null && _o !== void 0 ? _o : false).Then((value) => {
|
|
652
|
+
var _a, _b;
|
|
653
|
+
return ValueOrErrors.Default.return(converters["One"].toAPIRawValue([
|
|
654
|
+
PredicateValue.Default.option(true, value),
|
|
655
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
656
|
+
]));
|
|
657
|
+
});
|
|
1772
658
|
}
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
(_a =
|
|
1785
|
-
formState === null || formState === void 0
|
|
1786
|
-
? void 0
|
|
1787
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1788
|
-
? void 0
|
|
1789
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1790
|
-
? _b
|
|
1791
|
-
: false,
|
|
1792
|
-
]),
|
|
1793
|
-
);
|
|
1794
|
-
});
|
|
1795
|
-
}
|
|
1796
|
-
if (t.kind == "=") {
|
|
1797
|
-
if (!PredicateValue.Operations.IsFilterEqualsTo(raw)) {
|
|
1798
|
-
return ValueOrErrors.Default.throwOne(
|
|
1799
|
-
`FilterEqualsTo expected but got ${JSON.stringify(raw)}`,
|
|
1800
|
-
);
|
|
659
|
+
if (t.kind == "readOnly") {
|
|
660
|
+
if (!PredicateValue.Operations.IsReadOnly(raw)) {
|
|
661
|
+
return ValueOrErrors.Default.throwOne(`ReadOnly expected but got ${JSON.stringify(raw)}`);
|
|
662
|
+
}
|
|
663
|
+
return dispatchToAPIRawValue(t.arg, types, converters, injectedPrimitives)(raw.ReadOnly, formState).Then((childValue) => {
|
|
664
|
+
var _a, _b;
|
|
665
|
+
return ValueOrErrors.Default.return(converters["ReadOnly"].toAPIRawValue([
|
|
666
|
+
{ ReadOnly: childValue },
|
|
667
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
668
|
+
]));
|
|
669
|
+
});
|
|
1801
670
|
}
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
});
|
|
1824
|
-
}
|
|
1825
|
-
if (t.kind == "!=") {
|
|
1826
|
-
if (!PredicateValue.Operations.IsFilterNotEqualsTo(raw)) {
|
|
1827
|
-
return ValueOrErrors.Default.throwOne(
|
|
1828
|
-
`FilterNotEqualsTo expected but got ${JSON.stringify(raw)}`,
|
|
1829
|
-
);
|
|
671
|
+
if (t.kind == "table") {
|
|
672
|
+
if (!PredicateValue.Operations.IsTable(raw)) {
|
|
673
|
+
return ValueOrErrors.Default.throwOne(`Table expected but got ${JSON.stringify(raw)}`);
|
|
674
|
+
}
|
|
675
|
+
return ValueOrErrors.Default.return(converters["Table"].toAPIRawValue([
|
|
676
|
+
raw,
|
|
677
|
+
(_q = (_p = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _p === void 0 ? void 0 : _p.modifiedByUser) !== null && _q !== void 0 ? _q : false,
|
|
678
|
+
]));
|
|
679
|
+
}
|
|
680
|
+
// Filters
|
|
681
|
+
if (t.kind == "contains") {
|
|
682
|
+
if (!PredicateValue.Operations.IsFilterContains(raw)) {
|
|
683
|
+
return ValueOrErrors.Default.throwOne(`FilterContains expected but got ${JSON.stringify(raw)}`);
|
|
684
|
+
}
|
|
685
|
+
return dispatchToAPIRawValue(t.contains, types, converters, injectedPrimitives)(raw.contains, formState).Then((value) => {
|
|
686
|
+
var _a, _b;
|
|
687
|
+
return ValueOrErrors.Default.return(converters["Contains"].toAPIRawValue([
|
|
688
|
+
PredicateValue.Default.filterContains(value),
|
|
689
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
690
|
+
]));
|
|
691
|
+
});
|
|
1830
692
|
}
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
(_a =
|
|
1843
|
-
formState === null || formState === void 0
|
|
1844
|
-
? void 0
|
|
1845
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1846
|
-
? void 0
|
|
1847
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1848
|
-
? _b
|
|
1849
|
-
: false,
|
|
1850
|
-
]),
|
|
1851
|
-
);
|
|
1852
|
-
});
|
|
1853
|
-
}
|
|
1854
|
-
if (t.kind == ">=") {
|
|
1855
|
-
if (!PredicateValue.Operations.IsFilterGreaterThanOrEqualsTo(raw)) {
|
|
1856
|
-
return ValueOrErrors.Default.throwOne(
|
|
1857
|
-
`FilterGreaterThanOrEqualsTo expected but got ${JSON.stringify(raw)}`,
|
|
1858
|
-
);
|
|
693
|
+
if (t.kind == "=") {
|
|
694
|
+
if (!PredicateValue.Operations.IsFilterEqualsTo(raw)) {
|
|
695
|
+
return ValueOrErrors.Default.throwOne(`FilterEqualsTo expected but got ${JSON.stringify(raw)}`);
|
|
696
|
+
}
|
|
697
|
+
return dispatchToAPIRawValue(t.equalsTo, types, converters, injectedPrimitives)(raw.equalsTo, formState).Then((value) => {
|
|
698
|
+
var _a, _b;
|
|
699
|
+
return ValueOrErrors.Default.return(converters["="].toAPIRawValue([
|
|
700
|
+
PredicateValue.Default.filterEqualsTo(value),
|
|
701
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
702
|
+
]));
|
|
703
|
+
});
|
|
1859
704
|
}
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
(_a =
|
|
1872
|
-
formState === null || formState === void 0
|
|
1873
|
-
? void 0
|
|
1874
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1875
|
-
? void 0
|
|
1876
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1877
|
-
? _b
|
|
1878
|
-
: false,
|
|
1879
|
-
]),
|
|
1880
|
-
);
|
|
1881
|
-
});
|
|
1882
|
-
}
|
|
1883
|
-
if (t.kind == ">") {
|
|
1884
|
-
if (!PredicateValue.Operations.IsFilterGreaterThan(raw)) {
|
|
1885
|
-
return ValueOrErrors.Default.throwOne(
|
|
1886
|
-
`FilterGreaterThan expected but got ${JSON.stringify(raw)}`,
|
|
1887
|
-
);
|
|
705
|
+
if (t.kind == "!=") {
|
|
706
|
+
if (!PredicateValue.Operations.IsFilterNotEqualsTo(raw)) {
|
|
707
|
+
return ValueOrErrors.Default.throwOne(`FilterNotEqualsTo expected but got ${JSON.stringify(raw)}`);
|
|
708
|
+
}
|
|
709
|
+
return dispatchToAPIRawValue(t.notEqualsTo, types, converters, injectedPrimitives)(raw.notEqualsTo, formState).Then((value) => {
|
|
710
|
+
var _a, _b;
|
|
711
|
+
return ValueOrErrors.Default.return(converters["!="].toAPIRawValue([
|
|
712
|
+
PredicateValue.Default.filterNotEqualsTo(value),
|
|
713
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
714
|
+
]));
|
|
715
|
+
});
|
|
1888
716
|
}
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
(_a =
|
|
1901
|
-
formState === null || formState === void 0
|
|
1902
|
-
? void 0
|
|
1903
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1904
|
-
? void 0
|
|
1905
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1906
|
-
? _b
|
|
1907
|
-
: false,
|
|
1908
|
-
]),
|
|
1909
|
-
);
|
|
1910
|
-
});
|
|
1911
|
-
}
|
|
1912
|
-
if (t.kind == "!=null") {
|
|
1913
|
-
if (!PredicateValue.Operations.IsFilterIsNotNull(raw)) {
|
|
1914
|
-
return ValueOrErrors.Default.throwOne(
|
|
1915
|
-
`FilterIsNotNull expected but got ${JSON.stringify(raw)}`,
|
|
1916
|
-
);
|
|
717
|
+
if (t.kind == ">=") {
|
|
718
|
+
if (!PredicateValue.Operations.IsFilterGreaterThanOrEqualsTo(raw)) {
|
|
719
|
+
return ValueOrErrors.Default.throwOne(`FilterGreaterThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
|
|
720
|
+
}
|
|
721
|
+
return dispatchToAPIRawValue(t.greaterThanOrEqualsTo, types, converters, injectedPrimitives)(raw.greaterThanOrEqualsTo, formState).Then((value) => {
|
|
722
|
+
var _a, _b;
|
|
723
|
+
return ValueOrErrors.Default.return(converters[">="].toAPIRawValue([
|
|
724
|
+
PredicateValue.Default.filterGreaterThanOrEqualsTo(value),
|
|
725
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
726
|
+
]));
|
|
727
|
+
});
|
|
1917
728
|
}
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
: false,
|
|
1930
|
-
]),
|
|
1931
|
-
);
|
|
1932
|
-
}
|
|
1933
|
-
if (t.kind == "=null") {
|
|
1934
|
-
if (!PredicateValue.Operations.IsFilterIsNull(raw)) {
|
|
1935
|
-
return ValueOrErrors.Default.throwOne(
|
|
1936
|
-
`FilterIsNull expected but got ${JSON.stringify(raw)}`,
|
|
1937
|
-
);
|
|
729
|
+
if (t.kind == ">") {
|
|
730
|
+
if (!PredicateValue.Operations.IsFilterGreaterThan(raw)) {
|
|
731
|
+
return ValueOrErrors.Default.throwOne(`FilterGreaterThan expected but got ${JSON.stringify(raw)}`);
|
|
732
|
+
}
|
|
733
|
+
return dispatchToAPIRawValue(t.greaterThan, types, converters, injectedPrimitives)(raw.greaterThan, formState).Then((value) => {
|
|
734
|
+
var _a, _b;
|
|
735
|
+
return ValueOrErrors.Default.return(converters[">"].toAPIRawValue([
|
|
736
|
+
PredicateValue.Default.filterGreaterThan(value),
|
|
737
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
738
|
+
]));
|
|
739
|
+
});
|
|
1938
740
|
}
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
741
|
+
if (t.kind == "!=null") {
|
|
742
|
+
if (!PredicateValue.Operations.IsFilterIsNotNull(raw)) {
|
|
743
|
+
return ValueOrErrors.Default.throwOne(`FilterIsNotNull expected but got ${JSON.stringify(raw)}`);
|
|
744
|
+
}
|
|
745
|
+
return ValueOrErrors.Default.return(converters["!=null"].toAPIRawValue([
|
|
746
|
+
raw,
|
|
747
|
+
(_s = (_r = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _r === void 0 ? void 0 : _r.modifiedByUser) !== null && _s !== void 0 ? _s : false,
|
|
748
|
+
]));
|
|
749
|
+
}
|
|
750
|
+
if (t.kind == "=null") {
|
|
751
|
+
if (!PredicateValue.Operations.IsFilterIsNull(raw)) {
|
|
752
|
+
return ValueOrErrors.Default.throwOne(`FilterIsNull expected but got ${JSON.stringify(raw)}`);
|
|
753
|
+
}
|
|
754
|
+
return ValueOrErrors.Default.return(converters["=null"].toAPIRawValue([
|
|
755
|
+
raw,
|
|
756
|
+
(_u = (_t = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _t === void 0 ? void 0 : _t.modifiedByUser) !== null && _u !== void 0 ? _u : false,
|
|
757
|
+
]));
|
|
758
|
+
}
|
|
759
|
+
if (t.kind == "<=") {
|
|
760
|
+
if (!PredicateValue.Operations.IsFilterSmallerThanOrEqualsTo(raw)) {
|
|
761
|
+
return ValueOrErrors.Default.throwOne(`FilterSmallerThanOrEqualsTo expected but got ${JSON.stringify(raw)}`);
|
|
762
|
+
}
|
|
763
|
+
return dispatchToAPIRawValue(t.smallerThanOrEqualsTo, types, converters, injectedPrimitives)(raw.smallerThanOrEqualsTo, formState).Then((value) => {
|
|
764
|
+
var _a, _b;
|
|
765
|
+
return ValueOrErrors.Default.return(converters["<="].toAPIRawValue([
|
|
766
|
+
PredicateValue.Default.filterSmallerThanOrEqualsTo(value),
|
|
767
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
768
|
+
]));
|
|
769
|
+
});
|
|
1959
770
|
}
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
(_a =
|
|
1972
|
-
formState === null || formState === void 0
|
|
1973
|
-
? void 0
|
|
1974
|
-
: formState.commonFormState) === null || _a === void 0
|
|
1975
|
-
? void 0
|
|
1976
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
1977
|
-
? _b
|
|
1978
|
-
: false,
|
|
1979
|
-
]),
|
|
1980
|
-
);
|
|
1981
|
-
});
|
|
1982
|
-
}
|
|
1983
|
-
if (t.kind == "<") {
|
|
1984
|
-
if (!PredicateValue.Operations.IsFilterSmallerThan(raw)) {
|
|
1985
|
-
return ValueOrErrors.Default.throwOne(
|
|
1986
|
-
`FilterSmallerThan expected but got ${JSON.stringify(raw)}`,
|
|
1987
|
-
);
|
|
771
|
+
if (t.kind == "<") {
|
|
772
|
+
if (!PredicateValue.Operations.IsFilterSmallerThan(raw)) {
|
|
773
|
+
return ValueOrErrors.Default.throwOne(`FilterSmallerThan expected but got ${JSON.stringify(raw)}`);
|
|
774
|
+
}
|
|
775
|
+
return dispatchToAPIRawValue(t.smallerThan, types, converters, injectedPrimitives)(raw.smallerThan, formState).Then((value) => {
|
|
776
|
+
var _a, _b;
|
|
777
|
+
return ValueOrErrors.Default.return(converters["<"].toAPIRawValue([
|
|
778
|
+
PredicateValue.Default.filterSmallerThan(value),
|
|
779
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
780
|
+
]));
|
|
781
|
+
});
|
|
1988
782
|
}
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
(_a =
|
|
2001
|
-
formState === null || formState === void 0
|
|
2002
|
-
? void 0
|
|
2003
|
-
: formState.commonFormState) === null || _a === void 0
|
|
2004
|
-
? void 0
|
|
2005
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
2006
|
-
? _b
|
|
2007
|
-
: false,
|
|
2008
|
-
]),
|
|
2009
|
-
);
|
|
2010
|
-
});
|
|
2011
|
-
}
|
|
2012
|
-
if (t.kind == "startsWith") {
|
|
2013
|
-
if (!PredicateValue.Operations.IsFilterStartsWith(raw)) {
|
|
2014
|
-
return ValueOrErrors.Default.throwOne(
|
|
2015
|
-
`FilterStartsWith expected but got ${JSON.stringify(raw)}`,
|
|
2016
|
-
);
|
|
783
|
+
if (t.kind == "startsWith") {
|
|
784
|
+
if (!PredicateValue.Operations.IsFilterStartsWith(raw)) {
|
|
785
|
+
return ValueOrErrors.Default.throwOne(`FilterStartsWith expected but got ${JSON.stringify(raw)}`);
|
|
786
|
+
}
|
|
787
|
+
return dispatchToAPIRawValue(t.startsWith, types, converters, injectedPrimitives)(raw.startsWith, formState).Then((value) => {
|
|
788
|
+
var _a, _b;
|
|
789
|
+
return ValueOrErrors.Default.return(converters["StartsWith"].toAPIRawValue([
|
|
790
|
+
PredicateValue.Default.filterStartsWith(value),
|
|
791
|
+
(_b = (_a = formState === null || formState === void 0 ? void 0 : formState.commonFormState) === null || _a === void 0 ? void 0 : _a.modifiedByUser) !== null && _b !== void 0 ? _b : false,
|
|
792
|
+
]));
|
|
793
|
+
});
|
|
2017
794
|
}
|
|
2018
|
-
return
|
|
2019
|
-
t.startsWith,
|
|
2020
|
-
types,
|
|
2021
|
-
converters,
|
|
2022
|
-
injectedPrimitives,
|
|
2023
|
-
)(raw.startsWith, formState).Then((value) => {
|
|
2024
|
-
var _a, _b;
|
|
2025
|
-
return ValueOrErrors.Default.return(
|
|
2026
|
-
converters["StartsWith"].toAPIRawValue([
|
|
2027
|
-
PredicateValue.Default.filterStartsWith(value),
|
|
2028
|
-
(_b =
|
|
2029
|
-
(_a =
|
|
2030
|
-
formState === null || formState === void 0
|
|
2031
|
-
? void 0
|
|
2032
|
-
: formState.commonFormState) === null || _a === void 0
|
|
2033
|
-
? void 0
|
|
2034
|
-
: _a.modifiedByUser) !== null && _b !== void 0
|
|
2035
|
-
? _b
|
|
2036
|
-
: false,
|
|
2037
|
-
]),
|
|
2038
|
-
);
|
|
2039
|
-
});
|
|
2040
|
-
}
|
|
2041
|
-
return ValueOrErrors.Default.throwOne(
|
|
2042
|
-
`Unsupported type ${JSON.stringify(t)}`,
|
|
2043
|
-
);
|
|
795
|
+
return ValueOrErrors.Default.throwOne(`Unsupported type ${JSON.stringify(t)}`);
|
|
2044
796
|
})();
|
|
2045
|
-
return result.MapErrors((errors) =>
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
`${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} to API raw value`,
|
|
2049
|
-
),
|
|
2050
|
-
);
|
|
2051
|
-
};
|
|
2052
|
-
//# sourceMappingURL=state.js.map
|
|
797
|
+
return result.MapErrors((errors) => errors.map((error) => `${error}\n...When converting type ${JSON.stringify(t, null, 2)} and value ${JSON.stringify(raw, null, 2)} to API raw value`));
|
|
798
|
+
};
|
|
799
|
+
//# sourceMappingURL=state.js.map
|