ballerina-core 1.0.80 → 1.0.81

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.
Files changed (138) hide show
  1. package/main.ts +124 -124
  2. package/package.json +10 -3
  3. package/readme.md +60 -62
  4. package/src/api-response-handler/coroutines/runner.ts +5 -9
  5. package/src/apiResultStatus/state.ts +7 -6
  6. package/src/async/domains/mirroring/domains/collection/coroutines/synchronizers.ts +765 -257
  7. package/src/async/domains/mirroring/domains/collection/state.ts +90 -71
  8. package/src/async/domains/mirroring/domains/entity/domains/loaded-collection/state.ts +25 -20
  9. package/src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state.ts +24 -17
  10. package/src/async/domains/mirroring/domains/entity/domains/loaded-entities/state.ts +14 -5
  11. package/src/async/domains/mirroring/domains/entity/domains/loaded-entity/state.ts +26 -19
  12. package/src/async/domains/mirroring/domains/entity/state.ts +18 -7
  13. package/src/async/domains/mirroring/domains/singleton/coroutines/synchronizers.ts +376 -129
  14. package/src/async/domains/mirroring/domains/singleton/state.ts +31 -27
  15. package/src/async/domains/mirroring/domains/synchronization-result/state.ts +0 -1
  16. package/src/async/domains/mirroring/domains/synchronized-entities/state.ts +8 -5
  17. package/src/async/domains/promise/state.ts +18 -7
  18. package/src/async/domains/synchronized/coroutines/synchronize.ts +100 -48
  19. package/src/async/domains/synchronized/state.ts +26 -15
  20. package/src/async/state.ts +52 -35
  21. package/src/baseEntity/domains/identifiable/state.ts +17 -20
  22. package/src/collections/domains/array/state.ts +6 -5
  23. package/src/collections/domains/errors/state.ts +7 -6
  24. package/src/collections/domains/immutable/domains/list/state.ts +13 -17
  25. package/src/collections/domains/immutable/domains/map/state.ts +25 -11
  26. package/src/collections/domains/immutable/domains/orderedMap/state.ts +54 -38
  27. package/src/collections/domains/immutable/domains/ordereredSet/state.ts +5 -12
  28. package/src/collections/domains/immutable/domains/set/state.ts +7 -11
  29. package/src/collections/domains/maybe/state.ts +1 -1
  30. package/src/collections/domains/product/state.ts +14 -16
  31. package/src/collections/domains/sum/state.ts +13 -11
  32. package/src/collections/domains/valueOrErrors/state.ts +39 -31
  33. package/src/coroutines/builder.tsx +97 -56
  34. package/src/coroutines/state.ts +222 -173
  35. package/src/coroutines/template.tsx +17 -13
  36. package/src/debounced/coroutines/debounce.ts +35 -42
  37. package/src/debounced/state.ts +73 -56
  38. package/src/diagnostics/domains/message-box/state.ts +4 -4
  39. package/src/foreignMutations/state.ts +4 -1
  40. package/src/forms/domains/attachments/views/attachments-view.tsx +24 -18
  41. package/src/forms/domains/collection/domains/reference/state.ts +20 -12
  42. package/src/forms/domains/collection/domains/selection/state.ts +7 -3
  43. package/src/forms/domains/collection/domains/unionCase/state.ts +10 -7
  44. package/src/forms/domains/launcher/coroutines/runner.ts +124 -82
  45. package/src/forms/domains/launcher/domains/create/coroutines/runner.ts +253 -117
  46. package/src/forms/domains/launcher/domains/create/state.ts +168 -96
  47. package/src/forms/domains/launcher/domains/create/template.tsx +105 -72
  48. package/src/forms/domains/launcher/domains/edit/coroutines/runner.ts +271 -133
  49. package/src/forms/domains/launcher/domains/edit/state.ts +163 -99
  50. package/src/forms/domains/launcher/domains/edit/template.tsx +92 -66
  51. package/src/forms/domains/launcher/domains/merger/state.ts +29 -20
  52. package/src/forms/domains/launcher/domains/passthrough/coroutines/runner.ts +151 -59
  53. package/src/forms/domains/launcher/domains/passthrough/state.ts +71 -51
  54. package/src/forms/domains/launcher/domains/passthrough/template.tsx +86 -66
  55. package/src/forms/domains/launcher/state.ts +9 -1
  56. package/src/forms/domains/launcher/template.tsx +118 -83
  57. package/src/forms/domains/parser/coroutines/runner.ts +65 -37
  58. package/src/forms/domains/parser/domains/built-ins/state.ts +492 -232
  59. package/src/forms/domains/parser/domains/injectables/state.ts +53 -31
  60. package/src/forms/domains/parser/domains/merger/state.ts +10 -7
  61. package/src/forms/domains/parser/domains/predicates/state.ts +782 -335
  62. package/src/forms/domains/parser/domains/renderer/state.ts +659 -188
  63. package/src/forms/domains/parser/domains/types/state.ts +281 -92
  64. package/src/forms/domains/parser/domains/validator/state.ts +345 -205
  65. package/src/forms/domains/parser/state.tsx +656 -377
  66. package/src/forms/domains/parser/template.tsx +3 -2
  67. package/src/forms/domains/primitives/domains/base-64-file/state.ts +14 -6
  68. package/src/forms/domains/primitives/domains/base-64-file/template.tsx +43 -16
  69. package/src/forms/domains/primitives/domains/boolean/state.ts +28 -13
  70. package/src/forms/domains/primitives/domains/boolean/template.tsx +83 -29
  71. package/src/forms/domains/primitives/domains/date/state.ts +29 -12
  72. package/src/forms/domains/primitives/domains/date/template.tsx +51 -20
  73. package/src/forms/domains/primitives/domains/enum/state.ts +41 -17
  74. package/src/forms/domains/primitives/domains/enum/template.tsx +134 -48
  75. package/src/forms/domains/primitives/domains/enum-multiselect/state.ts +22 -11
  76. package/src/forms/domains/primitives/domains/enum-multiselect/template.tsx +122 -40
  77. package/src/forms/domains/primitives/domains/list/state.ts +44 -28
  78. package/src/forms/domains/primitives/domains/list/template.tsx +174 -75
  79. package/src/forms/domains/primitives/domains/map/state.ts +63 -28
  80. package/src/forms/domains/primitives/domains/map/template.tsx +221 -73
  81. package/src/forms/domains/primitives/domains/number/state.ts +14 -3
  82. package/src/forms/domains/primitives/domains/number/template.tsx +43 -16
  83. package/src/forms/domains/primitives/domains/searchable-infinite-stream/state.ts +65 -38
  84. package/src/forms/domains/primitives/domains/searchable-infinite-stream/template.tsx +152 -66
  85. package/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state.ts +24 -19
  86. package/src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template.tsx +178 -91
  87. package/src/forms/domains/primitives/domains/secret/state.ts +14 -6
  88. package/src/forms/domains/primitives/domains/secret/template.tsx +39 -15
  89. package/src/forms/domains/primitives/domains/string/state.ts +15 -6
  90. package/src/forms/domains/primitives/domains/string/template.tsx +51 -16
  91. package/src/forms/domains/singleton/domains/descriptors/entity/state.ts +30 -4
  92. package/src/forms/domains/singleton/domains/descriptors/field/domains/base/state.ts +5 -3
  93. package/src/forms/domains/singleton/domains/descriptors/field/domains/boolean/state.ts +5 -2
  94. package/src/forms/domains/singleton/domains/descriptors/field/domains/custom/state.ts +61 -15
  95. package/src/forms/domains/singleton/domains/descriptors/field/domains/date/state.ts +5 -2
  96. package/src/forms/domains/singleton/domains/descriptors/field/domains/enum/state.ts +13 -2
  97. package/src/forms/domains/singleton/domains/descriptors/field/domains/infinite-enum/state.ts +13 -2
  98. package/src/forms/domains/singleton/domains/descriptors/field/domains/number/state.ts +5 -3
  99. package/src/forms/domains/singleton/domains/descriptors/field/domains/string/state.ts +5 -3
  100. package/src/forms/domains/singleton/domains/descriptors/field/state.ts +33 -7
  101. package/src/forms/domains/singleton/domains/form-label/state.ts +1 -2
  102. package/src/forms/domains/singleton/state.ts +225 -57
  103. package/src/forms/domains/singleton/template.tsx +322 -127
  104. package/src/fun/domains/curry/state.ts +0 -1
  105. package/src/fun/domains/id/state.ts +0 -1
  106. package/src/fun/domains/predicate/domains/bool-expr.ts +147 -93
  107. package/src/fun/domains/predicate/state.ts +22 -24
  108. package/src/fun/domains/simpleCallback/state.ts +1 -1
  109. package/src/fun/domains/uncurry/state.ts +0 -1
  110. package/src/fun/domains/unit/state.ts +2 -3
  111. package/src/fun/domains/updater/domains/caseUpdater/state.ts +49 -27
  112. package/src/fun/domains/updater/domains/mapUpdater/state.ts +94 -29
  113. package/src/fun/domains/updater/domains/maybeUpdater/state.ts +47 -24
  114. package/src/fun/domains/updater/domains/orderedMapUpdater/state.ts +73 -20
  115. package/src/fun/domains/updater/domains/orderedSetUpdater/state.ts +43 -17
  116. package/src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state.ts +18 -11
  117. package/src/fun/domains/updater/domains/simpleUpdater/state.ts +107 -49
  118. package/src/fun/domains/updater/state.ts +11 -6
  119. package/src/fun/state.ts +22 -17
  120. package/src/infinite-data-stream/coroutines/builder.ts +4 -1
  121. package/src/infinite-data-stream/coroutines/infiniteLoader.ts +14 -17
  122. package/src/infinite-data-stream/coroutines/runner.ts +20 -9
  123. package/src/infinite-data-stream/state.ts +29 -28
  124. package/src/infinite-data-stream/template.tsx +7 -9
  125. package/src/math/domains/DOMRect/state.ts +5 -5
  126. package/src/math/domains/number/state.ts +4 -6
  127. package/src/math/domains/rect/state.ts +5 -6
  128. package/src/math/domains/rgba/state.ts +30 -27
  129. package/src/math/domains/size2/state.ts +8 -11
  130. package/src/math/domains/vector2/state.ts +9 -15
  131. package/src/queue/state.ts +25 -15
  132. package/src/state/domains/repository/state.ts +11 -3
  133. package/src/template/state.tsx +280 -152
  134. package/src/validation/state.ts +60 -52
  135. package/src/value/domains/mutable-value/state.ts +6 -6
  136. package/src/value/state.ts +9 -8
  137. package/src/visibility/state.ts +4 -3
  138. package/tsconfig.json +1 -1
package/main.ts CHANGED
@@ -1,125 +1,125 @@
1
- export * from "./src/api-response-handler/state"
2
- export * from "./src/api-response-handler/coroutines/runner"
3
- export * from "./src/apiResultStatus/state"
4
- export * from "./src/async/state"
5
- export * from "./src/async/domains/promise/state"
6
- export * from "./src/async/domains/synchronized/state"
7
- export * from "./src/async/domains/synchronized/coroutines/synchronize"
8
- export * from "./src/async/domains/mirroring/domains/synchronization-result/state"
9
- export * from "./src/async/domains/mirroring/domains/entity/state"
10
- export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-entity/state"
11
- export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state"
12
- export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-collection/state"
13
- export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-entities/state"
14
- export * from "./src/async/domains/mirroring/domains/singleton/state"
15
- export * from "./src/async/domains/mirroring/domains/singleton/coroutines/synchronizers"
16
- export * from "./src/async/domains/mirroring/domains/collection/state"
17
- export * from "./src/async/domains/mirroring/domains/collection/coroutines/synchronizers"
18
- export * from "./src/async/domains/mirroring/domains/synchronized-entities/state"
19
- export * from "./src/baseEntity/domains/identifiable/state"
20
- export * from "./src/collections/domains/immutable/domains/map/state"
21
- export * from "./src/collections/domains/immutable/domains/list/state"
22
- export * from "./src/collections/domains/immutable/domains/orderedMap/state"
23
- export * from "./src/collections/domains/immutable/domains/ordereredSet/state"
24
- export * from "./src/collections/domains/array/state"
25
- export * from "./src/coroutines/state"
26
- export * from "./src/coroutines/template"
27
- export * from "./src/coroutines/builder"
28
- export * from "./src/debounced/state"
29
- export * from "./src/debounced/coroutines/debounce"
30
- export * from "./src/diagnostics/domains/message-box/state"
31
- export * from "./src/foreignMutations/state"
32
- export * from "./src/fun/state"
33
- export * from "./src/fun/domains/curry/state"
34
- export * from "./src/fun/domains/id/state"
35
- export * from "./src/fun/domains/simpleCallback/state"
36
- export * from "./src/fun/domains/uncurry/state"
37
- export * from "./src/fun/domains/unit/state"
38
- export * from "./src/fun/domains/predicate/state"
39
- export * from "./src/fun/domains/predicate/domains/bool-expr"
40
- export * from "./src/fun/domains/updater/state"
41
- export * from "./src/fun/domains/updater/domains/simpleUpdater/state"
42
- export * from "./src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state"
43
- export * from "./src/fun/domains/updater/domains/maybeUpdater/state"
44
- export * from "./src/fun/domains/updater/domains/mapUpdater/state"
45
- export * from "./src/fun/domains/updater/domains/orderedMapUpdater/state"
46
- export * from "./src/fun/domains/updater/domains/orderedSetUpdater/state"
47
- export * from "./src/fun/domains/updater/domains/caseUpdater/state"
48
- export * from "./src/fun/domains/updater/domains/replaceWith/state"
49
- export * from "./src/infinite-data-stream/state"
50
- export * from "./src/infinite-data-stream/template"
51
- export * from "./src/infinite-data-stream/coroutines/runner"
52
- export * from "./src/infinite-data-stream/coroutines/infiniteLoader"
53
- export * from "./src/infinite-data-stream/coroutines/builder"
54
- export * from "./src/math/domains/DOMRect/state"
55
- export * from "./src/math/domains/number/state"
56
- export * from "./src/math/domains/rgba/state"
57
- export * from "./src/math/domains/size2/state"
58
- export * from "./src/math/domains/vector2/state"
59
- export * from "./src/math/domains/rect/state"
60
- export * from "./src/state/domains/repository/state"
61
- export * from "./src/template/state"
62
- export * from "./src/validation/state"
63
- export * from "./src/visibility/state"
64
- export * from "./src/value/state"
65
- export * from "./src/collections/domains/maybe/state"
66
- export * from "./src/value/domains/mutable-value/state"
67
- export * from "./src/collections/domains/sum/state"
68
- export * from "./src/collections/domains/product/state"
69
- export * from "./src/collections/domains/valueOrErrors/state"
70
- export * from "./src/collections/domains/errors/state"
71
- export * from "./src/queue/state"
72
- export * from "./src/forms/domains/attachments/views/attachments-view"
73
- export * from "./src/forms/domains/singleton/state"
74
- export * from "./src/forms/domains/singleton/template"
75
- export * from "./src/forms/domains/singleton/domains/form-label/state"
76
- export * from "./src/forms/domains/collection/domains/reference/state"
77
- export * from "./src/forms/domains/collection/domains/selection/state"
78
- export * from "./src/forms/domains/primitives/domains/string/state"
79
- export * from "./src/forms/domains/primitives/domains/string/template"
80
- export * from "./src/forms/domains/primitives/domains/boolean/state"
81
- export * from "./src/forms/domains/primitives/domains/boolean/template"
82
- export * from "./src/forms/domains/primitives/domains/number/state"
83
- export * from "./src/forms/domains/primitives/domains/number/template"
84
- export * from "./src/forms/domains/primitives/domains/date/state"
85
- export * from "./src/forms/domains/primitives/domains/date/template"
86
- export * from "./src/forms/domains/primitives/domains/enum/state"
87
- export * from "./src/forms/domains/primitives/domains/enum/template"
88
- export * from "./src/forms/domains/primitives/domains/enum-multiselect/state"
89
- export * from "./src/forms/domains/primitives/domains/enum-multiselect/template"
90
- export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream/state"
91
- export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream/template"
92
- export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state"
93
- export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template"
94
- export * from "./src/forms/domains/primitives/domains/list/state"
95
- export * from "./src/forms/domains/primitives/domains/list/template"
96
- export * from "./src/forms/domains/primitives/domains/base-64-file/state"
97
- export * from "./src/forms/domains/primitives/domains/base-64-file/template"
98
- export * from "./src/forms/domains/primitives/domains/secret/state"
99
- export * from "./src/forms/domains/primitives/domains/secret/template"
100
- export * from "./src/forms/domains/primitives/domains/map/state"
101
- export * from "./src/forms/domains/primitives/domains/map/template"
102
- export * from "./src/forms/domains/parser/state"
103
- export * from "./src/forms/domains/parser/template"
104
- export * from "./src/forms/domains/parser/coroutines/runner"
105
- export * from "./src/forms/domains/parser/domains/validator/state"
106
- export * from "./src/forms/domains/parser/domains/built-ins/state"
107
- export * from "./src/forms/domains/parser/domains/types/state"
108
- export * from "./src/forms/domains/launcher/domains/edit/state"
109
- export * from "./src/forms/domains/launcher/domains/edit/template"
110
- export * from "./src/forms/domains/launcher/domains/edit/coroutines/runner"
111
- export * from "./src/forms/domains/launcher/domains/create/state"
112
- export * from "./src/forms/domains/launcher/domains/create/template"
113
- export * from "./src/forms/domains/launcher/domains/create/coroutines/runner"
114
- export * from "./src/forms/domains/launcher/domains/merger/state"
115
- export * from "./src/forms/domains/launcher/coroutines/runner"
116
- export * from "./src/forms/domains/launcher/state"
117
- export * from "./src/forms/domains/launcher/template"
118
- export * from "./src/forms/domains/parser/domains/injectables/state"
119
- export * from "./src/forms/domains/collection/domains/unionCase/state"
120
- export * from "./src/forms/domains/parser/domains/predicates/state"
121
- export * from "./src/forms/domains/launcher/domains/passthrough/state"
122
- export * from "./src/forms/domains/launcher/domains/passthrough/template"
1
+ export * from "./src/api-response-handler/state";
2
+ export * from "./src/api-response-handler/coroutines/runner";
3
+ export * from "./src/apiResultStatus/state";
4
+ export * from "./src/async/state";
5
+ export * from "./src/async/domains/promise/state";
6
+ export * from "./src/async/domains/synchronized/state";
7
+ export * from "./src/async/domains/synchronized/coroutines/synchronize";
8
+ export * from "./src/async/domains/mirroring/domains/synchronization-result/state";
9
+ export * from "./src/async/domains/mirroring/domains/entity/state";
10
+ export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-entity/state";
11
+ export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-collection-entity/state";
12
+ export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-collection/state";
13
+ export * from "./src/async/domains/mirroring/domains/entity/domains/loaded-entities/state";
14
+ export * from "./src/async/domains/mirroring/domains/singleton/state";
15
+ export * from "./src/async/domains/mirroring/domains/singleton/coroutines/synchronizers";
16
+ export * from "./src/async/domains/mirroring/domains/collection/state";
17
+ export * from "./src/async/domains/mirroring/domains/collection/coroutines/synchronizers";
18
+ export * from "./src/async/domains/mirroring/domains/synchronized-entities/state";
19
+ export * from "./src/baseEntity/domains/identifiable/state";
20
+ export * from "./src/collections/domains/immutable/domains/map/state";
21
+ export * from "./src/collections/domains/immutable/domains/list/state";
22
+ export * from "./src/collections/domains/immutable/domains/orderedMap/state";
23
+ export * from "./src/collections/domains/immutable/domains/ordereredSet/state";
24
+ export * from "./src/collections/domains/array/state";
25
+ export * from "./src/coroutines/state";
26
+ export * from "./src/coroutines/template";
27
+ export * from "./src/coroutines/builder";
28
+ export * from "./src/debounced/state";
29
+ export * from "./src/debounced/coroutines/debounce";
30
+ export * from "./src/diagnostics/domains/message-box/state";
31
+ export * from "./src/foreignMutations/state";
32
+ export * from "./src/fun/state";
33
+ export * from "./src/fun/domains/curry/state";
34
+ export * from "./src/fun/domains/id/state";
35
+ export * from "./src/fun/domains/simpleCallback/state";
36
+ export * from "./src/fun/domains/uncurry/state";
37
+ export * from "./src/fun/domains/unit/state";
38
+ export * from "./src/fun/domains/predicate/state";
39
+ export * from "./src/fun/domains/predicate/domains/bool-expr";
40
+ export * from "./src/fun/domains/updater/state";
41
+ export * from "./src/fun/domains/updater/domains/simpleUpdater/state";
42
+ export * from "./src/fun/domains/updater/domains/simpleUpdater/domains/baseSimpleUpdater/state";
43
+ export * from "./src/fun/domains/updater/domains/maybeUpdater/state";
44
+ export * from "./src/fun/domains/updater/domains/mapUpdater/state";
45
+ export * from "./src/fun/domains/updater/domains/orderedMapUpdater/state";
46
+ export * from "./src/fun/domains/updater/domains/orderedSetUpdater/state";
47
+ export * from "./src/fun/domains/updater/domains/caseUpdater/state";
48
+ export * from "./src/fun/domains/updater/domains/replaceWith/state";
49
+ export * from "./src/infinite-data-stream/state";
50
+ export * from "./src/infinite-data-stream/template";
51
+ export * from "./src/infinite-data-stream/coroutines/runner";
52
+ export * from "./src/infinite-data-stream/coroutines/infiniteLoader";
53
+ export * from "./src/infinite-data-stream/coroutines/builder";
54
+ export * from "./src/math/domains/DOMRect/state";
55
+ export * from "./src/math/domains/number/state";
56
+ export * from "./src/math/domains/rgba/state";
57
+ export * from "./src/math/domains/size2/state";
58
+ export * from "./src/math/domains/vector2/state";
59
+ export * from "./src/math/domains/rect/state";
60
+ export * from "./src/state/domains/repository/state";
61
+ export * from "./src/template/state";
62
+ export * from "./src/validation/state";
63
+ export * from "./src/visibility/state";
64
+ export * from "./src/value/state";
65
+ export * from "./src/collections/domains/maybe/state";
66
+ export * from "./src/value/domains/mutable-value/state";
67
+ export * from "./src/collections/domains/sum/state";
68
+ export * from "./src/collections/domains/product/state";
69
+ export * from "./src/collections/domains/valueOrErrors/state";
70
+ export * from "./src/collections/domains/errors/state";
71
+ export * from "./src/queue/state";
72
+ export * from "./src/forms/domains/attachments/views/attachments-view";
73
+ export * from "./src/forms/domains/singleton/state";
74
+ export * from "./src/forms/domains/singleton/template";
75
+ export * from "./src/forms/domains/singleton/domains/form-label/state";
76
+ export * from "./src/forms/domains/collection/domains/reference/state";
77
+ export * from "./src/forms/domains/collection/domains/selection/state";
78
+ export * from "./src/forms/domains/primitives/domains/string/state";
79
+ export * from "./src/forms/domains/primitives/domains/string/template";
80
+ export * from "./src/forms/domains/primitives/domains/boolean/state";
81
+ export * from "./src/forms/domains/primitives/domains/boolean/template";
82
+ export * from "./src/forms/domains/primitives/domains/number/state";
83
+ export * from "./src/forms/domains/primitives/domains/number/template";
84
+ export * from "./src/forms/domains/primitives/domains/date/state";
85
+ export * from "./src/forms/domains/primitives/domains/date/template";
86
+ export * from "./src/forms/domains/primitives/domains/enum/state";
87
+ export * from "./src/forms/domains/primitives/domains/enum/template";
88
+ export * from "./src/forms/domains/primitives/domains/enum-multiselect/state";
89
+ export * from "./src/forms/domains/primitives/domains/enum-multiselect/template";
90
+ export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream/state";
91
+ export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream/template";
92
+ export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/state";
93
+ export * from "./src/forms/domains/primitives/domains/searchable-infinite-stream-multiselect/template";
94
+ export * from "./src/forms/domains/primitives/domains/list/state";
95
+ export * from "./src/forms/domains/primitives/domains/list/template";
96
+ export * from "./src/forms/domains/primitives/domains/base-64-file/state";
97
+ export * from "./src/forms/domains/primitives/domains/base-64-file/template";
98
+ export * from "./src/forms/domains/primitives/domains/secret/state";
99
+ export * from "./src/forms/domains/primitives/domains/secret/template";
100
+ export * from "./src/forms/domains/primitives/domains/map/state";
101
+ export * from "./src/forms/domains/primitives/domains/map/template";
102
+ export * from "./src/forms/domains/parser/state";
103
+ export * from "./src/forms/domains/parser/template";
104
+ export * from "./src/forms/domains/parser/coroutines/runner";
105
+ export * from "./src/forms/domains/parser/domains/validator/state";
106
+ export * from "./src/forms/domains/parser/domains/built-ins/state";
107
+ export * from "./src/forms/domains/parser/domains/types/state";
108
+ export * from "./src/forms/domains/launcher/domains/edit/state";
109
+ export * from "./src/forms/domains/launcher/domains/edit/template";
110
+ export * from "./src/forms/domains/launcher/domains/edit/coroutines/runner";
111
+ export * from "./src/forms/domains/launcher/domains/create/state";
112
+ export * from "./src/forms/domains/launcher/domains/create/template";
113
+ export * from "./src/forms/domains/launcher/domains/create/coroutines/runner";
114
+ export * from "./src/forms/domains/launcher/domains/merger/state";
115
+ export * from "./src/forms/domains/launcher/coroutines/runner";
116
+ export * from "./src/forms/domains/launcher/state";
117
+ export * from "./src/forms/domains/launcher/template";
118
+ export * from "./src/forms/domains/parser/domains/injectables/state";
119
+ export * from "./src/forms/domains/collection/domains/unionCase/state";
120
+ export * from "./src/forms/domains/parser/domains/predicates/state";
121
+ export * from "./src/forms/domains/launcher/domains/passthrough/state";
122
+ export * from "./src/forms/domains/launcher/domains/passthrough/template";
123
123
 
124
124
  // import { simpleUpdater, simpleUpdaterWithChildren } from "./src/fun/domains/updater/domains/simpleUpdater/state"
125
125
  // import { Updater } from "./src/fun/domains/updater/state"
@@ -164,11 +164,11 @@ export * from "./src/forms/domains/launcher/domains/passthrough/template"
164
164
  // }
165
165
  // }
166
166
 
167
- // const personUpdater:Updater<Person> =
167
+ // const personUpdater:Updater<Person> =
168
168
  // Person.Updaters.Core.address.children.Core.city.children.Core.name(_ =>"The Great " + _)
169
169
  // .then(Person.Updaters.Core.address(Address.Updaters.Core.street(_ => _ + " str.")))
170
170
  // .then(Person.Updaters.Core.address.children.Core.number(_ => _ + 1))
171
171
  // console.log(personUpdater(Person.Default()))
172
172
 
173
173
  // const addressUpdater:Updater<Address> = Address.Updaters.Core.city.children.name(_ =>"The Great " + _)
174
- // console.log(addressUpdater(Address.Default()))
174
+ // console.log(addressUpdater(Address.Default()))
package/package.json CHANGED
@@ -2,9 +2,12 @@
2
2
  "name": "ballerina-core",
3
3
  "author": "Dr. Giuseppe Maggiore",
4
4
  "private": false,
5
- "version": "1.0.80",
5
+ "version": "1.0.81",
6
6
  "main": "main.ts",
7
- "dependencies": {
7
+ "scripts": {
8
+ "prettier": "prettier --write ."
9
+ },
10
+ "peerDependencies": {
8
11
  "immutable": "^5.0.0-beta.5",
9
12
  "react": "^18.2.0",
10
13
  "react-dom": "^18.2.0",
@@ -15,6 +18,10 @@
15
18
  "@types/react": "^18.2.48",
16
19
  "@types/react-dom": "^18.2.18",
17
20
  "@types/uuid": "^9.0.8",
18
- "typescript": "^5.4.5"
21
+ "immutable": "^5.0.0-beta.5",
22
+ "react": "^18.2.0",
23
+ "react-dom": "^18.2.0",
24
+ "typescript": "^5.4.5",
25
+ "uuid": "^9.0.1"
19
26
  }
20
27
  }
package/readme.md CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  Welcome to _ballerina_, the effortlessly elegant functional programming framework for frontend web development, with a particular but non-exclusive preference for React.
4
4
 
5
-
6
5
  ## Quick start
6
+
7
7
  Everything in Ballerina 🩰 is based on the separation of code into units called _domains_.
8
8
 
9
9
  Create a Typescript/React project however you want (I like to use rspack but you can use whatever you prefer).
@@ -22,49 +22,44 @@ touch coroutines/runner.ts
22
22
  Let's define the state of our domain in `state.ts`:
23
23
 
24
24
  ```ts
25
- import { simpleUpdater } from "ballerina-core"
25
+ import { simpleUpdater } from "ballerina-core";
26
26
 
27
- export type HelloWorldContext = { greeting:string }
28
- export type HelloWorldState = { counter:number, toggle:boolean }
27
+ export type HelloWorldContext = { greeting: string };
28
+ export type HelloWorldState = { counter: number; toggle: boolean };
29
29
  export const HelloWorldState = {
30
- Default:() : HelloWorldState => ({
31
- counter:0,
32
- toggle:false
30
+ Default: (): HelloWorldState => ({
31
+ counter: 0,
32
+ toggle: false,
33
33
  }),
34
- Updaters:{
34
+ Updaters: {
35
35
  ...simpleUpdater<HelloWorldState>()("counter"),
36
- ...simpleUpdater<HelloWorldState>()("toggle")
37
- }
38
- }
36
+ ...simpleUpdater<HelloWorldState>()("toggle"),
37
+ },
38
+ };
39
39
  ```
40
40
 
41
41
  Let's define a simple automation in `coroutine/runner.ts`:
42
42
 
43
43
  ```ts
44
- import { CoTypedFactory, replaceWith, Unit } from "ballerina-core"
45
- import { HelloWorldContext, HelloWorldState } from "../state"
46
- import { Range } from "immutable"
47
-
48
- const Co = CoTypedFactory<HelloWorldContext, HelloWorldState>()
49
- export const helloWorldRunner =
50
- Co.Template<Unit>(
51
- Co.Repeat(
52
- Co.Seq([
53
- Co.SetState(
54
- HelloWorldState.Updaters.counter(replaceWith(0))
55
- ),
56
- Co.Wait(250),
57
- Co.For(Range(0, 3))(
58
- i => Co.Seq([
59
- Co.SetState(
60
- HelloWorldState.Updaters.counter(_ => _ + 1)
61
- ),
62
- Co.Wait(250)
63
- ])
64
- )
65
- ])
66
- )
67
- )
44
+ import { CoTypedFactory, replaceWith, Unit } from "ballerina-core";
45
+ import { HelloWorldContext, HelloWorldState } from "../state";
46
+ import { Range } from "immutable";
47
+
48
+ const Co = CoTypedFactory<HelloWorldContext, HelloWorldState>();
49
+ export const helloWorldRunner = Co.Template<Unit>(
50
+ Co.Repeat(
51
+ Co.Seq([
52
+ Co.SetState(HelloWorldState.Updaters.counter(replaceWith(0))),
53
+ Co.Wait(250),
54
+ Co.For(Range(0, 3))((i) =>
55
+ Co.Seq([
56
+ Co.SetState(HelloWorldState.Updaters.counter((_) => _ + 1)),
57
+ Co.Wait(250),
58
+ ]),
59
+ ),
60
+ ]),
61
+ ),
62
+ );
68
63
  ```
69
64
 
70
65
  Let's put something ugly on the screen in `template.tsx`:
@@ -74,19 +69,21 @@ import { Template, Unit } from "ballerina-core";
74
69
  import { HelloWorldContext, HelloWorldState } from "./state";
75
70
  import { helloWorldRunner } from "./coroutines/runner";
76
71
 
77
- export const HelloWorldTemplate =
78
- Template.Default<HelloWorldContext & HelloWorldState, HelloWorldState, Unit>(props =>
79
- <>
80
- <p>{props.context.greeting}</p>
81
- <p>Counter: {props.context.counter}</p>
82
- <button
83
- onClick={() => props.setState(HelloWorldState.Updaters.toggle(_ => !_))}>
84
- Toggle {props.context.toggle ? "off" : "on"}
85
- </button>
86
- </>
87
- ).any([
88
- helloWorldRunner
89
- ])
72
+ export const HelloWorldTemplate = Template.Default<
73
+ HelloWorldContext & HelloWorldState,
74
+ HelloWorldState,
75
+ Unit
76
+ >((props) => (
77
+ <>
78
+ <p>{props.context.greeting}</p>
79
+ <p>Counter: {props.context.counter}</p>
80
+ <button
81
+ onClick={() => props.setState(HelloWorldState.Updaters.toggle((_) => !_))}
82
+ >
83
+ Toggle {props.context.toggle ? "off" : "on"}
84
+ </button>
85
+ </>
86
+ )).any([helloWorldRunner]);
90
87
  ```
91
88
 
92
89
  Finally, let's render this as a top-level stateful domain from the React entry point (which file depends on the template you used):
@@ -99,24 +96,25 @@ import { HelloWorldTemplate } from "./domains/helloWorld/template";
99
96
  import { unit } from "ballerina-core";
100
97
 
101
98
  export const App = (props: {}) => {
102
- const [helloWorld, setHelloWorld] = useState(HelloWorldState.Default())
103
- return <>
104
- <HelloWorldTemplate
105
- context={{
106
- greeting:"Hello!",
107
- ...helloWorld
108
- }}
109
- setState={setHelloWorld}
110
- foreignMutations={unit}
111
- view={unit}
112
- />
113
- </>
114
- }
99
+ const [helloWorld, setHelloWorld] = useState(HelloWorldState.Default());
100
+ return (
101
+ <>
102
+ <HelloWorldTemplate
103
+ context={{
104
+ greeting: "Hello!",
105
+ ...helloWorld,
106
+ }}
107
+ setState={setHelloWorld}
108
+ foreignMutations={unit}
109
+ view={unit}
110
+ />
111
+ </>
112
+ );
113
+ };
115
114
  ```
116
115
 
117
116
  Head over to the page and you will see an animated `counter` value that changes on its own as well as a button you can interact with.
118
117
 
119
118
  We have barely scratched the surface of all you can do with Ballerina 🩰 though.
120
119
 
121
-
122
120
  If you want to know more, head over to [the official git repo](https://github.com/giuseppemag/ballerina) and check out the samples and the official documentation.
@@ -2,13 +2,9 @@ import { ApiResponseChecker, ApiResponseHandler } from "../state";
2
2
  import { CoTypedFactory } from "../../coroutines/builder";
3
3
  import { AsyncState } from "../../../main";
4
4
 
5
- export const HandleApiResponse = <
6
- State,
7
- Context,
8
- ApiErrors
9
- >(
5
+ export const HandleApiResponse = <State, Context, ApiErrors>(
10
6
  asyncAccessor: (_: State & Context) => AsyncState<ApiErrors>,
11
- handlers: ApiResponseHandler<State & Context, ApiErrors>
7
+ handlers: ApiResponseHandler<State & Context, ApiErrors>,
12
8
  ) => {
13
9
  const CheckerCo = CoTypedFactory<Context, State>();
14
10
 
@@ -20,9 +16,9 @@ export const HandleApiResponse = <
20
16
  : CheckerCo.Do(() => {
21
17
  return AsyncState.Operations.status(asyncState) === "error"
22
18
  ? handlers.handleError?.(
23
- asyncState.kind === "error" ? asyncState.error : undefined
19
+ asyncState.kind === "error" ? asyncState.error : undefined,
24
20
  )
25
21
  : handlers.handleSuccess?.(_);
26
- })
27
- });
22
+ });
23
+ });
28
24
  };
@@ -1,7 +1,8 @@
1
+ export const errorPermanenceStatus = [
2
+ "permanent failure",
3
+ "transient failure",
4
+ ] as const;
5
+ export type ErrorPermanenceStatus = (typeof errorPermanenceStatus)[number];
1
6
 
2
- export const errorPermanenceStatus = ["permanent failure", "transient failure"] as const
3
- export type ErrorPermanenceStatus = (typeof errorPermanenceStatus)[number]
4
-
5
-
6
- export const apiResultStatuses = ["success", ...errorPermanenceStatus] as const
7
- export type ApiResultStatus = (typeof apiResultStatuses)[number]
7
+ export const apiResultStatuses = ["success", ...errorPermanenceStatus] as const;
8
+ export type ApiResultStatus = (typeof apiResultStatuses)[number];