ballerina-core 1.0.256 → 1.0.258
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/src/api-response-handler/coroutines/runner.js +20 -13
- package/bin/src/api-response-handler/state.js +13 -11
- package/bin/src/apiResultStatus/state.d.ts +10 -3
- package/bin/src/apiResultStatus/state.js +2 -5
- package/bin/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.js +314 -196
- package/bin/src/async/domains/mirroring/domains/collection/state.js +126 -36
- package/bin/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.js +18 -11
- 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 +18 -9
- package/bin/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.js +134 -83
- package/bin/src/async/domains/mirroring/domains/singleton/state.js +52 -8
- package/bin/src/async/domains/mirroring/domains/synchronization-result/state.d.ts +15 -9
- package/bin/src/async/domains/mirroring/domains/synchronization-result/state.js +1 -1
- package/bin/src/async/domains/mirroring/domains/synchronized-entities/state.js +7 -4
- package/bin/src/async/domains/promise/state.d.ts +9 -4
- package/bin/src/async/domains/promise/state.js +20 -9
- package/bin/src/async/domains/synchronized/coroutines/synchronize.js +80 -28
- package/bin/src/async/domains/synchronized/state.d.ts +14 -7
- package/bin/src/async/domains/synchronized/state.js +16 -6
- package/bin/src/async/state.d.ts +56 -45
- package/bin/src/async/state.js +115 -97
- package/bin/src/baseEntity/domains/identifiable/state.d.ts +15 -11
- 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 +46 -44
- package/bin/src/collections/domains/immutable/domains/map/state.js +41 -23
- package/bin/src/collections/domains/immutable/domains/orderedMap/state.js +84 -65
- 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 +12 -9
- package/bin/src/collections/domains/product/state.d.ts +25 -19
- package/bin/src/collections/domains/product/state.js +13 -10
- package/bin/src/collections/domains/sum/state.d.ts +101 -77
- package/bin/src/collections/domains/sum/state.js +49 -32
- package/bin/src/collections/domains/valueOrErrors/state.js +81 -56
- package/bin/src/coroutines/builder.js +40 -19
- package/bin/src/coroutines/state.js +381 -306
- package/bin/src/coroutines/template.js +97 -59
- package/bin/src/debounced/coroutines/debounce.js +115 -89
- package/bin/src/debounced/state.js +62 -25
- 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 +30 -8
- package/bin/src/forms/domains/collection/domains/reference/state.js +26 -20
- package/bin/src/forms/domains/collection/domains/selection/state.js +1 -1
- package/bin/src/forms/domains/dispatched-forms/built-ins/state.js +2007 -754
- package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js +123 -44
- package/bin/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/enum/state.js +40 -27
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/primitive/state.js +21 -13
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/stream/state.js +43 -27
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sumUnitDate/state.js +39 -22
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts +167 -0
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.d.ts.map +1 -0
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js +367 -0
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.js.map +1 -0
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts +7 -29
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js +1098 -572
- package/bin/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts +1 -0
- package/bin/src/forms/domains/dispatched-forms/deserializer/state.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/state.js +322 -90
- package/bin/src/forms/domains/dispatched-forms/deserializer/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/deserializer/template.js +3 -2
- package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.d.ts +27 -4
- package/bin/src/forms/domains/dispatched-forms/runner/coroutines/runner.js +136 -82
- 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 +49 -23
- 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 +52 -24
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/state.js +18 -6
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/date/template.js +64 -30
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/state.js +9 -6
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/enum/template.js +153 -60
- 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 +127 -50
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/injectables/state.js +40 -22
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/state.js +31 -13
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/list/template.js +452 -152
- 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 +29 -8
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/state.js +61 -18
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/map/template.js +329 -90
- 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 +54 -23
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_debouncer.js +22 -10
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeOne.js +49 -31
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/coroutines/_initializeStream.js +29 -10
- 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 +47 -26
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/state.js +88 -40
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/one/template.js +386 -152
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/state.js +19 -10
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/readOnly/template.js +99 -33
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/state.js +32 -11
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/record/template.js +227 -82
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/state.js +35 -13
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream/template.js +195 -68
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/state.js +36 -13
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/searchable-infinite-stream-multiselect/template.js +246 -106
- 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 +54 -23
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/state.js +40 -27
- 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 +58 -26
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/state.js +22 -7
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/sum/template.js +188 -53
- 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 +57 -24
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseFiltersAndSorting.js +70 -20
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.d.ts.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js +88 -48
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/initialiseTable.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/loadWithRetries.js +40 -20
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/coroutines/runner.js +43 -15
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js +301 -137
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.js.map +1 -1
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/template.js +692 -240
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/state.js +20 -8
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/tuple/template.js +132 -35
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/state.js +21 -8
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/union/template.js +105 -33
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/state.js +12 -9
- package/bin/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/unit/template.js +54 -20
- package/bin/src/forms/domains/dispatched-forms/runner/domains/deltas/state.js +716 -560
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/list/state.js +58 -18
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/lookup/state.js +45 -14
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/map/state.js +76 -18
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/multiSelection/state.js +82 -24
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/nestedDispatcher/state.js +37 -8
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/one/state.js +120 -36
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/primitive/state.js +145 -63
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/readOnly/state.js +44 -12
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/recordField/state.js +14 -4
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/record/state.js +81 -25
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/singleSelectionDispatcher/state.js +82 -24
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/sum/state.js +63 -20
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/table/state.js +248 -74
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/tupleDispatcher/state.js +61 -13
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/domains/unionDispatcher/state.js +92 -33
- package/bin/src/forms/domains/dispatched-forms/runner/domains/dispatcher/state.js +144 -45
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_init.js +203 -95
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/coroutines/_sync.js +79 -37
- 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 +19 -17
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/state.js +58 -11
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/create/template.js +73 -25
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_init.js +205 -95
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/coroutines/_sync.js +78 -37
- 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 +19 -17
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/state.js +58 -11
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/edit/template.js +71 -25
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/coroutines/runner.js +163 -85
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/state.js +10 -4
- package/bin/src/forms/domains/dispatched-forms/runner/domains/kind/passthrough/template.js +72 -27
- package/bin/src/forms/domains/dispatched-forms/runner/domains/traversal/state.js +796 -436
- package/bin/src/forms/domains/dispatched-forms/runner/state.js +62 -38
- package/bin/src/forms/domains/dispatched-forms/runner/template.js +78 -25
- package/bin/src/forms/domains/launcher/coroutines/runner.js +120 -45
- package/bin/src/forms/domains/launcher/domains/create/coroutines/runner.js +240 -101
- package/bin/src/forms/domains/launcher/domains/create/state.js +62 -17
- package/bin/src/forms/domains/launcher/domains/create/template.js +84 -42
- package/bin/src/forms/domains/launcher/domains/edit/coroutines/runner.js +242 -103
- package/bin/src/forms/domains/launcher/domains/edit/state.js +62 -17
- package/bin/src/forms/domains/launcher/domains/edit/template.js +86 -43
- package/bin/src/forms/domains/launcher/domains/merger/state.d.ts +4 -4
- package/bin/src/forms/domains/launcher/domains/merger/state.js +35 -26
- package/bin/src/forms/domains/launcher/domains/passthrough/coroutines/runner.js +88 -42
- package/bin/src/forms/domains/launcher/domains/passthrough/state.js +44 -19
- package/bin/src/forms/domains/launcher/domains/passthrough/template.js +56 -34
- package/bin/src/forms/domains/launcher/state.js +6 -6
- package/bin/src/forms/domains/launcher/template.js +169 -85
- package/bin/src/forms/domains/parser/coroutines/runner.js +87 -25
- package/bin/src/forms/domains/parser/domains/built-ins/state.js +944 -533
- package/bin/src/forms/domains/parser/domains/deltas/state.js +444 -318
- package/bin/src/forms/domains/parser/domains/injectables/state.js +29 -26
- package/bin/src/forms/domains/parser/domains/layout/state.js +271 -183
- package/bin/src/forms/domains/parser/domains/predicates/domains/extractor/state.js +324 -162
- package/bin/src/forms/domains/parser/domains/predicates/state.js +1514 -984
- package/bin/src/forms/domains/parser/domains/renderer/state.js +1137 -480
- package/bin/src/forms/domains/parser/domains/types/state.js +355 -170
- package/bin/src/forms/domains/parser/domains/validator/state.js +417 -280
- package/bin/src/forms/domains/parser/state.js +612 -373
- 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 +38 -19
- package/bin/src/forms/domains/primitives/domains/boolean/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/boolean/template.js +38 -19
- package/bin/src/forms/domains/primitives/domains/date/state.js +18 -9
- package/bin/src/forms/domains/primitives/domains/date/template.js +51 -25
- package/bin/src/forms/domains/primitives/domains/enum/state.js +6 -6
- package/bin/src/forms/domains/primitives/domains/enum/template.js +117 -48
- package/bin/src/forms/domains/primitives/domains/enum-multiselect/state.js +1 -1
- package/bin/src/forms/domains/primitives/domains/enum-multiselect/template.js +99 -40
- package/bin/src/forms/domains/primitives/domains/list/state.js +14 -14
- package/bin/src/forms/domains/primitives/domains/list/template.js +200 -71
- package/bin/src/forms/domains/primitives/domains/map/state.js +14 -14
- package/bin/src/forms/domains/primitives/domains/map/template.js +294 -103
- package/bin/src/forms/domains/primitives/domains/number/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/number/template.js +38 -19
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/state.js +33 -16
- package/bin/src/forms/domains/primitives/domains/searchable-infinite-stream/template.js +171 -62
- 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 +182 -69
- package/bin/src/forms/domains/primitives/domains/secret/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/secret/template.js +38 -19
- package/bin/src/forms/domains/primitives/domains/string/state.js +5 -5
- package/bin/src/forms/domains/primitives/domains/string/template.js +42 -22
- package/bin/src/forms/domains/primitives/domains/sum/state.js +10 -10
- package/bin/src/forms/domains/primitives/domains/sum/template.js +141 -50
- package/bin/src/forms/domains/primitives/domains/tuple/state.js +9 -9
- package/bin/src/forms/domains/primitives/domains/tuple/template.js +100 -33
- package/bin/src/forms/domains/primitives/domains/unit/state.js +8 -8
- package/bin/src/forms/domains/primitives/domains/unit/template.js +22 -9
- 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 +12 -10
- package/bin/src/forms/domains/singleton/template.js +288 -113
- package/bin/src/fun/domains/curry/state.d.ts +4 -2
- 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 +57 -41
- package/bin/src/fun/domains/predicate/domains/bool-expr.js +76 -67
- package/bin/src/fun/domains/predicate/state.d.ts +9 -7
- package/bin/src/fun/domains/predicate/state.js +14 -10
- 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 +4 -2
- 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 +22 -7
- package/bin/src/fun/domains/updater/domains/caseUpdater/state.js +18 -10
- package/bin/src/fun/domains/updater/domains/mapUpdater/state.d.ts +24 -13
- package/bin/src/fun/domains/updater/domains/mapUpdater/state.js +40 -10
- package/bin/src/fun/domains/updater/domains/maybeUpdater/state.d.ts +19 -13
- package/bin/src/fun/domains/updater/domains/maybeUpdater/state.js +20 -9
- package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.d.ts +24 -13
- package/bin/src/fun/domains/updater/domains/orderedMapUpdater/state.js +47 -11
- package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.d.ts +20 -8
- package/bin/src/fun/domains/updater/domains/orderedSetUpdater/state.js +17 -5
- 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 +13 -4
- package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js +6 -4
- package/bin/src/fun/domains/updater/domains/simpleUpdater/state.d.ts +60 -22
- package/bin/src/fun/domains/updater/domains/simpleUpdater/state.js +42 -31
- package/bin/src/fun/domains/updater/state.d.ts +4 -4
- package/bin/src/fun/domains/updater/state.js +12 -10
- package/bin/src/fun/state.d.ts +3 -3
- package/bin/src/fun/state.js +9 -7
- package/bin/src/infinite-data-stream/coroutines/builder.js +1 -1
- package/bin/src/infinite-data-stream/coroutines/infiniteLoader.js +47 -20
- package/bin/src/infinite-data-stream/coroutines/runner.js +7 -7
- package/bin/src/infinite-data-stream/state.d.ts +84 -51
- package/bin/src/infinite-data-stream/state.js +125 -61
- package/bin/src/infinite-data-stream/template.js +3 -2
- package/bin/src/math/domains/DOMRect/state.d.ts +4 -4
- package/bin/src/math/domains/DOMRect/state.js +10 -8
- 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 +16 -15
- package/bin/src/math/domains/rgba/state.d.ts +17 -17
- package/bin/src/math/domains/rgba/state.js +77 -81
- 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.js +23 -16
- package/bin/src/state/domains/repository/state.d.ts +15 -9
- package/bin/src/state/domains/repository/state.js +1 -1
- package/bin/src/template/state.js +163 -115
- package/bin/src/validation/state.js +38 -45
- package/bin/src/value/domains/mutable-value/state.js +3 -2
- package/bin/src/value/state.d.ts +9 -9
- package/bin/src/value/state.js +11 -8
- package/bin/src/value-infinite-data-stream/coroutines/builder.js +1 -1
- package/bin/src/value-infinite-data-stream/coroutines/infiniteLoader.js +55 -20
- package/bin/src/value-infinite-data-stream/coroutines/runner.js +6 -4
- package/bin/src/value-infinite-data-stream/state.js +199 -77
- package/bin/src/value-infinite-data-stream/template.js +4 -2
- package/bin/src/visibility/state.d.ts +5 -2
- package/bin/src/visibility/state.js +1 -1
- package/main.ts +1 -0
- package/package.json +1 -1
- package/src/forms/domains/dispatched-forms/deserializer/coroutines/runner.ts +2 -2
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/apis/state.ts +117 -111
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/list/state.ts +14 -5
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/lookup/state.ts +75 -18
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/map/state.ts +16 -6
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/nestedRenderer/state.ts +27 -9
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/one/state.ts +28 -8
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/readOnly/state.ts +13 -4
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/domains/recordFieldRenderer/state.ts +18 -7
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/record/state.ts +40 -14
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/sum/state.ts +15 -5
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/domains/tableCellRenderer/state.ts +20 -6
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/table/state.ts +101 -50
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/tuple/state.ts +22 -23
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/domains/union/state.ts +37 -19
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/forms/domains/renderer/state.ts +64 -6
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/serializable/state.ts +585 -0
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/domains/types/state.ts +592 -340
- package/src/forms/domains/dispatched-forms/deserializer/domains/specification/state.ts +364 -226
- package/src/forms/domains/dispatched-forms/deserializer/state.ts +1 -2
- package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/lookup-type/template.tsx +1 -1
- package/src/forms/domains/dispatched-forms/runner/domains/abstract-renderers/table/state.ts +2 -2
|
@@ -1,9 +1,21 @@
|
|
|
1
1
|
import { Fun } from "../../../../state";
|
|
2
2
|
import { Updater } from "../../state";
|
|
3
3
|
export const orderedSetUpdater = () => (field, displayName) => ({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
[displayName]: {
|
|
5
|
+
add: Fun((value) =>
|
|
6
|
+
Updater((entity) =>
|
|
7
|
+
Object.assign(Object.assign({}, entity), {
|
|
8
|
+
[field]: entity[field].add(value),
|
|
9
|
+
}),
|
|
10
|
+
),
|
|
11
|
+
),
|
|
12
|
+
remove: Fun((value) =>
|
|
13
|
+
Updater((entity) =>
|
|
14
|
+
Object.assign(Object.assign({}, entity), {
|
|
15
|
+
[field]: entity[field].remove(value),
|
|
16
|
+
}),
|
|
17
|
+
),
|
|
18
|
+
),
|
|
19
|
+
},
|
|
8
20
|
});
|
|
9
|
-
//# sourceMappingURL=state.js.map
|
|
21
|
+
//# sourceMappingURL=state.js.map
|
package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.d.ts
CHANGED
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
import { Fun } from "../../../../../../state";
|
|
2
2
|
import { BasicUpdater, Updater } from "../../../../state";
|
|
3
3
|
export type BaseWidening<c, p extends c> = Fun<BasicUpdater<c>, Updater<p>>;
|
|
4
|
-
export type BaseSimpleUpdater<
|
|
5
|
-
|
|
4
|
+
export type BaseSimpleUpdater<
|
|
5
|
+
BaseEntity,
|
|
6
|
+
Entity extends BaseEntity,
|
|
7
|
+
Name extends string,
|
|
8
|
+
> = Required<{
|
|
9
|
+
[_ in Name]: BaseWidening<BaseEntity, Entity>;
|
|
6
10
|
}>;
|
|
7
|
-
export declare const baseSimpleUpdater: <
|
|
8
|
-
|
|
11
|
+
export declare const baseSimpleUpdater: <
|
|
12
|
+
BaseEntity,
|
|
13
|
+
Entity extends BaseEntity,
|
|
14
|
+
>() => <Name extends string>(
|
|
15
|
+
name: Name,
|
|
16
|
+
) => BaseSimpleUpdater<BaseEntity, Entity, Name>;
|
|
17
|
+
//# sourceMappingURL=state.d.ts.map
|
package/bin/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Fun } from "../../../../../../state";
|
|
2
2
|
import { Updater } from "../../../../state";
|
|
3
3
|
export const baseSimpleUpdater = () => (name) => ({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
[name]: Fun((baseUpdater) => {
|
|
5
|
+
return Updater((current) =>
|
|
6
|
+
Object.assign(Object.assign({}, current), baseUpdater(current)),
|
|
7
|
+
);
|
|
8
|
+
}),
|
|
7
9
|
});
|
|
8
|
-
//# sourceMappingURL=state.js.map
|
|
10
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -1,34 +1,72 @@
|
|
|
1
1
|
import { Fun } from "../../../../state";
|
|
2
2
|
import { Unit } from "../../../unit/state";
|
|
3
3
|
import { BasicUpdater, Updater } from "../../state";
|
|
4
|
-
export type Widening<p, c extends keyof p> = Fun<
|
|
4
|
+
export type Widening<p, c extends keyof p> = Fun<
|
|
5
|
+
BasicUpdater<p[c]>,
|
|
6
|
+
Updater<p>
|
|
7
|
+
>;
|
|
5
8
|
export type SimpleUpdater<Entity, Field extends keyof Entity> = Required<{
|
|
6
|
-
|
|
9
|
+
[f in Field]: Widening<Entity, Field>;
|
|
7
10
|
}>;
|
|
8
|
-
export declare const simpleUpdater: <Entity>() => <Field extends keyof Entity>(
|
|
11
|
+
export declare const simpleUpdater: <Entity>() => <Field extends keyof Entity>(
|
|
12
|
+
field: Field,
|
|
13
|
+
) => SimpleUpdater<Entity, Field>;
|
|
9
14
|
export type WidenedChildren<p, children> = {
|
|
10
|
-
|
|
15
|
+
[k in Exclude<
|
|
16
|
+
keyof children,
|
|
17
|
+
"Core" | "Template" | "Coroutine"
|
|
18
|
+
>]: children[k] extends WideningWithChildren<
|
|
19
|
+
infer child,
|
|
20
|
+
infer nephew,
|
|
21
|
+
infer nephews
|
|
22
|
+
>
|
|
23
|
+
? Fun<BasicUpdater<child[nephew]>, Updater<p>> & {
|
|
11
24
|
children: WidenedChildren<p, nephews>;
|
|
12
|
-
|
|
25
|
+
}
|
|
26
|
+
: children[k] extends Widening<infer child, infer nephew>
|
|
27
|
+
? Fun<BasicUpdater<child[nephew]>, Updater<p>>
|
|
28
|
+
: "cannot invoke custom updaters through automated nesting";
|
|
13
29
|
} & (children extends {
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
|
|
30
|
+
Core: Unit;
|
|
31
|
+
}
|
|
32
|
+
? {
|
|
33
|
+
Core: WidenedChildren<p, children["Core"]>;
|
|
34
|
+
}
|
|
35
|
+
: Unit) &
|
|
36
|
+
(children extends {
|
|
18
37
|
Template: Unit;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
38
|
+
}
|
|
39
|
+
? {
|
|
40
|
+
Template: WidenedChildren<p, children["Template"]>;
|
|
41
|
+
}
|
|
42
|
+
: Unit) &
|
|
43
|
+
(children extends {
|
|
22
44
|
Coroutine: Unit;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
45
|
+
}
|
|
46
|
+
? {
|
|
47
|
+
Coroutine: WidenedChildren<p, children["Coroutine"]>;
|
|
48
|
+
}
|
|
49
|
+
: Unit);
|
|
50
|
+
export type WideningWithChildren<p, c extends keyof p, children> = Fun<
|
|
51
|
+
BasicUpdater<p[c]>,
|
|
52
|
+
Updater<p>
|
|
53
|
+
> & {
|
|
54
|
+
children: WidenedChildren<p, children>;
|
|
28
55
|
};
|
|
29
|
-
export type SimpleUpdaterWithChildren<
|
|
30
|
-
|
|
56
|
+
export type SimpleUpdaterWithChildren<
|
|
57
|
+
Entity,
|
|
58
|
+
Field extends keyof Entity,
|
|
59
|
+
children,
|
|
60
|
+
> = {
|
|
61
|
+
[f in Field]: WideningWithChildren<Entity, Field, children>;
|
|
31
62
|
};
|
|
32
|
-
export declare const simpleUpdaterWithChildren: <Entity>() => <children>(
|
|
33
|
-
|
|
34
|
-
|
|
63
|
+
export declare const simpleUpdaterWithChildren: <Entity>() => <children>(
|
|
64
|
+
children: children,
|
|
65
|
+
) => <Field extends keyof Entity>(
|
|
66
|
+
field: Field,
|
|
67
|
+
) => SimpleUpdaterWithChildren<Entity, Field, children>;
|
|
68
|
+
export declare const widenChildren: <p, child, children>(
|
|
69
|
+
childToParent: Fun<BasicUpdater<child>, Updater<p>>,
|
|
70
|
+
children: children,
|
|
71
|
+
) => WidenedChildren<p, children>;
|
|
72
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1,40 +1,51 @@
|
|
|
1
1
|
import { Fun } from "../../../../state";
|
|
2
2
|
import { Updater } from "../../state";
|
|
3
3
|
export const simpleUpdater = () => (field) => ({
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
[field]: Fun((fieldUpdater) => {
|
|
5
|
+
return Updater((currentEntity) =>
|
|
6
|
+
Object.assign(Object.assign({}, currentEntity), {
|
|
7
|
+
[field]: fieldUpdater(currentEntity[field]),
|
|
8
|
+
}),
|
|
9
|
+
);
|
|
10
|
+
}),
|
|
7
11
|
});
|
|
8
12
|
export const simpleUpdaterWithChildren = () => (children) => (field) => ({
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
[field]: Object.assign(
|
|
14
|
+
Fun((fieldUpdater) => {
|
|
15
|
+
const basicUpdater = (currentEntity) =>
|
|
16
|
+
Object.assign(Object.assign({}, currentEntity), {
|
|
17
|
+
[field]: fieldUpdater(currentEntity[field]),
|
|
18
|
+
});
|
|
19
|
+
return Updater(basicUpdater);
|
|
14
20
|
}),
|
|
21
|
+
{
|
|
22
|
+
children: widenChildren(simpleUpdater()(field)[field], children),
|
|
23
|
+
},
|
|
24
|
+
),
|
|
15
25
|
});
|
|
16
26
|
export const widenChildren = (childToParent, children) => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
27
|
+
if (children == undefined) return {};
|
|
28
|
+
const result = {};
|
|
29
|
+
Object.keys(children).forEach((key) => {
|
|
30
|
+
if (key == "Core" || key == "Template" || key == "Coroutine") return;
|
|
31
|
+
// Fun<BasicUpdater<child[key]>, Updater<child>>
|
|
32
|
+
const fieldOfChildUpdater = children[key];
|
|
33
|
+
result[key] = Fun((_) => childToParent(fieldOfChildUpdater(_)));
|
|
34
|
+
if (Object.keys(fieldOfChildUpdater).includes("children")) {
|
|
35
|
+
result[key]["children"] = widenChildren(
|
|
36
|
+
childToParent,
|
|
37
|
+
fieldOfChildUpdater["children"],
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
const updateBlock = (block) => {
|
|
42
|
+
if (children[block] != undefined) {
|
|
43
|
+
result[block] = widenChildren(childToParent, children[block]);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
updateBlock("Core");
|
|
47
|
+
updateBlock("Template");
|
|
48
|
+
updateBlock("Coroutines");
|
|
49
|
+
return result;
|
|
39
50
|
};
|
|
40
|
-
//# sourceMappingURL=state.js.map
|
|
51
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BasicFun, Fun } from "../../state";
|
|
2
2
|
export type BasicUpdater<e> = BasicFun<e, e>;
|
|
3
3
|
export type Updater<e> = BasicUpdater<e> & {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
fun: Fun<e, e>;
|
|
5
|
+
then(other: BasicUpdater<e>): Updater<e>;
|
|
6
|
+
thenMany(others: Array<BasicUpdater<e>>): Updater<e>;
|
|
7
7
|
};
|
|
8
8
|
export declare const Updater: <e>(u: BasicUpdater<e>) => Updater<e>;
|
|
9
|
-
//# sourceMappingURL=state.d.ts.map
|
|
9
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { Fun } from "../../state";
|
|
2
2
|
export const Updater = (u) => {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
return Object.assign(u, {
|
|
4
|
+
fun: Fun(u),
|
|
5
|
+
then: function (other) {
|
|
6
|
+
return Updater((_) => other(this(_)));
|
|
7
|
+
},
|
|
8
|
+
thenMany: function (others) {
|
|
9
|
+
return Updater(
|
|
10
|
+
others.map((_) => Updater(_)).reduce((f, g) => f.then(g), this),
|
|
11
|
+
);
|
|
12
|
+
},
|
|
13
|
+
});
|
|
12
14
|
};
|
|
13
15
|
/*export const Updater = Object.assign(<e>(_: BasicUpdater<e>): Updater<e> => {
|
|
14
16
|
const u = _ as Updater<e>;
|
|
@@ -73,4 +75,4 @@ const personAndAddressUpdater:Updater<Person> =
|
|
|
73
75
|
Person.Updaters.Core.address.children.Core.city.Core.name(_ => `${_} the Great`)
|
|
74
76
|
)
|
|
75
77
|
*/
|
|
76
|
-
//# sourceMappingURL=state.js.map
|
|
78
|
+
//# sourceMappingURL=state.js.map
|
package/bin/src/fun/state.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export type BasicFun<a, b> = (_: a) => b;
|
|
2
2
|
export type Fun<a, b> = BasicFun<a, b> & {
|
|
3
|
-
|
|
3
|
+
then<c>(other: BasicFun<b, c>): Fun<a, c>;
|
|
4
4
|
};
|
|
5
5
|
export declare const Fun: <a, b>(_: BasicFun<a, b>) => Fun<a, b>;
|
|
6
6
|
export type BasicFun2<a, b, c> = (_: a, __: b) => c;
|
|
7
7
|
export type Fun2<a, b, c> = BasicFun2<a, b, c> & {
|
|
8
|
-
|
|
8
|
+
then<d>(other: BasicFun<c, d>): Fun2<a, b, d>;
|
|
9
9
|
};
|
|
10
10
|
export declare const Fun2: <a, b, c>(_: BasicFun2<a, b, c>) => Fun2<a, b, c>;
|
|
11
|
-
//# sourceMappingURL=state.d.ts.map
|
|
11
|
+
//# sourceMappingURL=state.d.ts.map
|
package/bin/src/fun/state.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
export const Fun = (_) =>
|
|
1
|
+
export const Fun = (_) =>
|
|
2
|
+
Object.assign(_, {
|
|
2
3
|
then: function (other) {
|
|
3
|
-
|
|
4
|
+
return Fun((_) => other(this(_)));
|
|
4
5
|
},
|
|
5
|
-
});
|
|
6
|
-
export const Fun2 = (_) =>
|
|
6
|
+
});
|
|
7
|
+
export const Fun2 = (_) =>
|
|
8
|
+
Object.assign(_, {
|
|
7
9
|
then: function (other) {
|
|
8
|
-
|
|
10
|
+
return Fun2((a, b) => other(this(a, b)));
|
|
9
11
|
},
|
|
10
|
-
});
|
|
12
|
+
});
|
|
11
13
|
/*
|
|
12
14
|
// samples
|
|
13
15
|
const incr: Fun<number,number> = Fun(_ => _ + 1)
|
|
@@ -18,4 +20,4 @@ const halv: Fun<number,number> = Fun(_ => _ / 2)
|
|
|
18
20
|
const f = incr.then(doub).then(decr)
|
|
19
21
|
console.log(f(5)) // prints 11
|
|
20
22
|
*/
|
|
21
|
-
//# sourceMappingURL=state.js.map
|
|
23
|
+
//# sourceMappingURL=state.js.map
|
|
@@ -1,27 +1,54 @@
|
|
|
1
1
|
import { AsyncState } from "../../async/state";
|
|
2
2
|
import { replaceWith } from "../../fun/domains/updater/domains/replaceWith/state";
|
|
3
|
-
import { InfiniteStreamState, StreamPosition
|
|
3
|
+
import { InfiniteStreamState, StreamPosition } from "../state";
|
|
4
4
|
import { StreamCo } from "./builder";
|
|
5
5
|
export const InfiniteStreamLoader = (maxRetries = 3) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const Co = StreamCo();
|
|
7
|
+
const updaters = InfiniteStreamState().Updaters;
|
|
8
|
+
const attemptLoad = (retryCount = 0) =>
|
|
9
|
+
Co.GetState().then((current) => {
|
|
10
|
+
if (current.loadingMore.kind === "loaded") {
|
|
11
|
+
return Co.Return(true);
|
|
12
|
+
}
|
|
13
|
+
return Co.Await(
|
|
14
|
+
() => current.getChunk([current.position]),
|
|
15
|
+
() => "error",
|
|
16
|
+
).then((apiResult) =>
|
|
17
|
+
apiResult.kind === "l"
|
|
18
|
+
? Co.SetState(
|
|
19
|
+
updaters.Core.loadingMore(
|
|
20
|
+
replaceWith(AsyncState.Default.loaded({})),
|
|
21
|
+
).then(
|
|
22
|
+
updaters.Coroutine.addLoadedChunk(
|
|
23
|
+
current.position.chunkIndex,
|
|
24
|
+
apiResult.value,
|
|
25
|
+
).then(
|
|
26
|
+
updaters.Core.position(
|
|
27
|
+
StreamPosition.Updaters.Core.shouldLoad(replaceWith(false)),
|
|
28
|
+
),
|
|
29
|
+
),
|
|
30
|
+
),
|
|
31
|
+
)
|
|
32
|
+
: retryCount < maxRetries
|
|
33
|
+
? Co.Wait(500).then(() => attemptLoad(retryCount + 1))
|
|
34
|
+
: Co.Return(false),
|
|
35
|
+
);
|
|
17
36
|
});
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
37
|
+
return Co.Seq([
|
|
38
|
+
Co.SetState(
|
|
39
|
+
updaters.Core.loadingMore(replaceWith(AsyncState.Default.loading())),
|
|
40
|
+
),
|
|
41
|
+
attemptLoad(),
|
|
42
|
+
Co.GetState().then((current) =>
|
|
43
|
+
current.loadingMore.kind !== "loaded"
|
|
44
|
+
? Co.SetState(
|
|
45
|
+
updaters.Core.loadingMore(
|
|
46
|
+
replaceWith(AsyncState.Default.error("max retries reached")),
|
|
47
|
+
),
|
|
48
|
+
)
|
|
49
|
+
: Co.Wait(0),
|
|
50
|
+
),
|
|
51
|
+
]);
|
|
25
52
|
};
|
|
26
53
|
export const Loader = InfiniteStreamLoader;
|
|
27
|
-
//# sourceMappingURL=infiniteLoader.js.map
|
|
54
|
+
//# sourceMappingURL=infiniteLoader.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { InfiniteStreamState
|
|
1
|
+
import { InfiniteStreamState } from "../state";
|
|
2
2
|
import { StreamCo } from "./builder";
|
|
3
3
|
import { Loader } from "./infiniteLoader";
|
|
4
4
|
export const StreamDataLoader = () => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
const operations = InfiniteStreamState().Operations;
|
|
6
|
+
const LoaderTemplate = StreamCo().Template(Loader(), {
|
|
7
|
+
runFilter: (props) => operations.shouldCoroutineRun(props.context),
|
|
8
|
+
});
|
|
9
|
+
return LoaderTemplate.mapContext((_) => _);
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=runner.js.map
|
|
11
|
+
//# sourceMappingURL=runner.js.map
|
|
@@ -5,73 +5,106 @@ import { Unit } from "../fun/domains/unit/state";
|
|
|
5
5
|
import { BasicFun } from "../fun/state";
|
|
6
6
|
export type StreamingStatus = "reload" | "loadMore" | false;
|
|
7
7
|
type Identifiable = {
|
|
8
|
-
|
|
8
|
+
Id: string;
|
|
9
9
|
};
|
|
10
10
|
export type StreamPosition = {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
chunkSize: number;
|
|
12
|
+
chunkIndex: number;
|
|
13
|
+
shouldLoad: StreamingStatus;
|
|
14
|
+
lastModifiedTime: number;
|
|
15
15
|
};
|
|
16
16
|
export declare const StreamPosition: {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
17
|
+
Default: (
|
|
18
|
+
initialChunkSize: number,
|
|
19
|
+
shouldLoad?: StreamingStatus,
|
|
20
|
+
) => StreamPosition;
|
|
21
|
+
Updaters: {
|
|
22
|
+
Template: {
|
|
23
|
+
loadInitial: () => Updater<StreamPosition>;
|
|
24
|
+
changeChunkSize: (chunkSize: number) => Updater<StreamPosition>;
|
|
25
|
+
reload: () => Updater<StreamPosition>;
|
|
26
|
+
loadMore: () => Updater<StreamPosition>;
|
|
27
|
+
};
|
|
28
|
+
Core: {
|
|
29
|
+
chunkSize: import("../../main").Widening<StreamPosition, "chunkSize">;
|
|
30
|
+
chunkIndex: import("../../main").Widening<StreamPosition, "chunkIndex">;
|
|
31
|
+
shouldLoad: import("../../main").Widening<StreamPosition, "shouldLoad">;
|
|
32
|
+
lastModifiedTime: import("../../main").Widening<
|
|
33
|
+
StreamPosition,
|
|
34
|
+
"lastModifiedTime"
|
|
35
|
+
>;
|
|
32
36
|
};
|
|
37
|
+
Coroutine: {};
|
|
38
|
+
};
|
|
33
39
|
};
|
|
34
40
|
export type Chunk<Element extends Identifiable> = {
|
|
35
|
-
|
|
36
|
-
|
|
41
|
+
hasMoreValues: boolean;
|
|
42
|
+
data: OrderedMap<Element["Id"], Element>;
|
|
37
43
|
};
|
|
38
44
|
export declare const Chunk: <Element extends Identifiable>() => {
|
|
39
|
-
|
|
45
|
+
Default: (
|
|
46
|
+
hasMoreValues: boolean,
|
|
47
|
+
data: OrderedMap<Element["Id"], Element>,
|
|
48
|
+
) => Chunk<Element>;
|
|
40
49
|
};
|
|
41
50
|
export type InfiniteStreamState<Element extends Identifiable> = {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
51
|
+
loadingMore: AsyncState<Unit>;
|
|
52
|
+
loadedElements: OrderedMap<StreamPosition["chunkIndex"], Chunk<Element>>;
|
|
53
|
+
position: StreamPosition;
|
|
54
|
+
getChunk: BasicFun<[StreamPosition], Promise<Chunk<Element>>>;
|
|
46
55
|
};
|
|
47
56
|
export declare const InfiniteStreamState: <Element extends Identifiable>() => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
57
|
+
Default: (
|
|
58
|
+
initialChunkSize: number,
|
|
59
|
+
getChunk: InfiniteStreamState<Element>["getChunk"],
|
|
60
|
+
shouldLoad?: StreamingStatus,
|
|
61
|
+
) => InfiniteStreamState<Element>;
|
|
62
|
+
Operations: {
|
|
63
|
+
shouldCoroutineRun: (current: InfiniteStreamState<Element>) => boolean;
|
|
64
|
+
loadNextPage: (current: InfiniteStreamState<Element>) => boolean;
|
|
65
|
+
};
|
|
66
|
+
Updaters: {
|
|
67
|
+
Coroutine: {
|
|
68
|
+
addLoadedChunk: (
|
|
69
|
+
chunkIndex: number,
|
|
70
|
+
newChunk: Chunk<Element>,
|
|
71
|
+
) => Updater<InfiniteStreamState<Element>>;
|
|
72
|
+
};
|
|
73
|
+
Core: {
|
|
74
|
+
whenNotAlreadyLoading: (
|
|
75
|
+
_: BasicUpdater<InfiniteStreamState<Element>>,
|
|
76
|
+
) => Updater<InfiniteStreamState<Element>>;
|
|
77
|
+
position: (
|
|
78
|
+
positionUpdater: Updater<InfiniteStreamState<Element>["position"]>,
|
|
79
|
+
) => Updater<InfiniteStreamState<Element>>;
|
|
80
|
+
clearLoadedElements: () => Updater<InfiniteStreamState<Element>>;
|
|
81
|
+
loadedElements: import("../../main").Widening<
|
|
82
|
+
InfiniteStreamState<Element>,
|
|
83
|
+
"loadedElements"
|
|
84
|
+
>;
|
|
85
|
+
loadingMore: import("../../main").Widening<
|
|
86
|
+
InfiniteStreamState<Element>,
|
|
87
|
+
"loadingMore"
|
|
88
|
+
>;
|
|
89
|
+
getChunk: import("../../main").Widening<
|
|
90
|
+
InfiniteStreamState<Element>,
|
|
91
|
+
"getChunk"
|
|
92
|
+
>;
|
|
52
93
|
};
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
position: (positionUpdater: Updater<InfiniteStreamState<Element>["position"]>) => Updater<InfiniteStreamState<Element>>;
|
|
60
|
-
clearLoadedElements: () => Updater<InfiniteStreamState<Element>>;
|
|
61
|
-
loadedElements: import("../../main").Widening<InfiniteStreamState<Element>, "loadedElements">;
|
|
62
|
-
loadingMore: import("../../main").Widening<InfiniteStreamState<Element>, "loadingMore">;
|
|
63
|
-
getChunk: import("../../main").Widening<InfiniteStreamState<Element>, "getChunk">;
|
|
64
|
-
};
|
|
65
|
-
Template: {
|
|
66
|
-
loadInitial: () => Updater<InfiniteStreamState<Element>>;
|
|
67
|
-
reload: (getChunk: InfiniteStreamState<Element>["getChunk"]) => Updater<InfiniteStreamState<Element>>;
|
|
68
|
-
loadMore: () => Updater<InfiniteStreamState<Element>>;
|
|
69
|
-
};
|
|
94
|
+
Template: {
|
|
95
|
+
loadInitial: () => Updater<InfiniteStreamState<Element>>;
|
|
96
|
+
reload: (
|
|
97
|
+
getChunk: InfiniteStreamState<Element>["getChunk"],
|
|
98
|
+
) => Updater<InfiniteStreamState<Element>>;
|
|
99
|
+
loadMore: () => Updater<InfiniteStreamState<Element>>;
|
|
70
100
|
};
|
|
101
|
+
};
|
|
71
102
|
};
|
|
72
103
|
export type InfiniteStreamReadonlyState = Unit;
|
|
73
|
-
export type InfiniteStreamWritableState<
|
|
104
|
+
export type InfiniteStreamWritableState<
|
|
105
|
+
Element extends {
|
|
74
106
|
Id: string;
|
|
75
|
-
}
|
|
107
|
+
},
|
|
108
|
+
> = InfiniteStreamState<Element>;
|
|
76
109
|
export {};
|
|
77
|
-
//# sourceMappingURL=state.d.ts.map
|
|
110
|
+
//# sourceMappingURL=state.d.ts.map
|