firefly-compiler 0.5.35 → 0.5.36

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 (225) hide show
  1. package/.hintrc +4 -4
  2. package/.vscode/settings.json +4 -4
  3. package/bin/Release.ff +157 -154
  4. package/bin/firefly.mjs +1 -1
  5. package/compiler/Builder.ff +275 -277
  6. package/compiler/Compiler.ff +234 -233
  7. package/compiler/Dependencies.ff +186 -187
  8. package/compiler/DependencyLock.ff +17 -17
  9. package/compiler/Deriver.ff +23 -31
  10. package/compiler/Dictionaries.ff +1 -1
  11. package/compiler/Inference.ff +43 -20
  12. package/compiler/JsEmitter.ff +1437 -1282
  13. package/compiler/LspHook.ff +202 -202
  14. package/compiler/Main.ff +25 -24
  15. package/compiler/ModuleCache.ff +178 -178
  16. package/compiler/Parser.ff +36 -109
  17. package/compiler/Resolver.ff +5 -8
  18. package/compiler/Substitution.ff +1 -1
  19. package/compiler/Syntax.ff +1 -16
  20. package/compiler/Token.ff +9 -0
  21. package/compiler/Tokenizer.ff +4 -0
  22. package/compiler/Workspace.ff +88 -88
  23. package/core/.firefly/include/package.json +5 -5
  24. package/core/.firefly/package.ff +2 -2
  25. package/core/Any.ff +26 -30
  26. package/core/Array.ff +298 -265
  27. package/core/Atomic.ff +63 -64
  28. package/core/Box.ff +7 -7
  29. package/core/BrowserSystem.ff +40 -40
  30. package/core/Buffer.ff +185 -152
  31. package/core/BuildSystem.ff +156 -148
  32. package/core/Channel.ff +95 -92
  33. package/core/Char.ff +3 -2
  34. package/core/Core.ff +16 -23
  35. package/core/Crypto.ff +94 -96
  36. package/core/Equal.ff +41 -36
  37. package/core/Error.ff +15 -10
  38. package/core/FileHandle.ff +45 -37
  39. package/core/Float.ff +176 -200
  40. package/core/HttpClient.ff +142 -148
  41. package/core/Instant.ff +6 -8
  42. package/core/Int.ff +40 -24
  43. package/core/IntMap.ff +61 -39
  44. package/core/Js.ff +305 -0
  45. package/core/JsSystem.ff +135 -114
  46. package/core/JsValue.ff +303 -159
  47. package/core/Json.ff +423 -443
  48. package/core/List.ff +482 -486
  49. package/core/Lock.ff +108 -144
  50. package/core/Log.ff +25 -14
  51. package/core/NodeSystem.ff +198 -191
  52. package/core/Ordering.ff +160 -161
  53. package/core/Path.ff +377 -409
  54. package/core/Queue.ff +90 -0
  55. package/core/Random.ff +140 -134
  56. package/core/RbMap.ff +216 -216
  57. package/core/Serializable.ff +16 -13
  58. package/core/Show.ff +44 -43
  59. package/core/SourceLocation.ff +68 -68
  60. package/core/Stream.ff +1 -1
  61. package/core/String.ff +224 -202
  62. package/core/StringMap.ff +58 -36
  63. package/core/Task.ff +165 -149
  64. package/experimental/benchmarks/ListGrab.ff +23 -23
  65. package/experimental/benchmarks/ListGrab.java +55 -55
  66. package/experimental/benchmarks/Pyrotek45.ff +30 -30
  67. package/experimental/benchmarks/Pyrotek45.java +64 -64
  68. package/experimental/bidirectional/Bidi.ff +88 -88
  69. package/experimental/lines/Main.ff +40 -0
  70. package/experimental/random/Index.ff +53 -53
  71. package/experimental/random/Process.ff +120 -120
  72. package/experimental/random/RunLength.ff +65 -65
  73. package/experimental/random/Scrape.ff +51 -51
  74. package/experimental/random/Symbols.ff +73 -73
  75. package/experimental/random/Tensor.ff +52 -52
  76. package/experimental/random/Units.ff +36 -36
  77. package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
  78. package/experimental/s3/S3TestPut.ff +16 -16
  79. package/experimental/tests/TestJson.ff +26 -26
  80. package/firefly.sh +0 -0
  81. package/fireflysite/.firefly/package.ff +4 -4
  82. package/fireflysite/CommunityOverview.ff +20 -20
  83. package/fireflysite/CountingButtonDemo.ff +58 -58
  84. package/fireflysite/DocumentParser.ff +325 -331
  85. package/fireflysite/ExamplesOverview.ff +40 -40
  86. package/fireflysite/FrontPage.ff +344 -344
  87. package/fireflysite/GettingStarted.ff +45 -45
  88. package/fireflysite/Guide.ff +456 -456
  89. package/fireflysite/Main.ff +163 -152
  90. package/fireflysite/MatchingPasswordsDemo.ff +82 -82
  91. package/fireflysite/PackagesOverview.ff +49 -49
  92. package/fireflysite/PostgresqlDemo.ff +34 -34
  93. package/fireflysite/ReferenceAll.ff +18 -18
  94. package/fireflysite/ReferenceIntroduction.ff +11 -11
  95. package/fireflysite/Styles.ff +567 -567
  96. package/fireflysite/Test.ff +121 -62
  97. package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
  98. package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
  99. package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
  100. package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
  101. package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
  102. package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
  103. package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
  104. package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
  105. package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
  106. package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
  107. package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
  108. package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
  109. package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
  110. package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
  111. package/lsp/.firefly/package.ff +1 -1
  112. package/lsp/CompletionHandler.ff +827 -827
  113. package/lsp/Handler.ff +714 -714
  114. package/lsp/HoverHandler.ff +79 -79
  115. package/lsp/LanguageServer.ff +272 -272
  116. package/lsp/SignatureHelpHandler.ff +55 -55
  117. package/lsp/SymbolHandler.ff +181 -181
  118. package/lsp/TestReferences.ff +17 -17
  119. package/lsp/TestReferencesCase.ff +7 -7
  120. package/lsp/stderr.txt +1 -1
  121. package/lsp/stdout.txt +34 -34
  122. package/lux/.firefly/package.ff +1 -1
  123. package/lux/Css.ff +648 -648
  124. package/lux/CssTest.ff +48 -48
  125. package/lux/Lux.ff +608 -617
  126. package/lux/LuxEvent.ff +79 -116
  127. package/lux/Main.ff +123 -123
  128. package/lux/Main2.ff +143 -143
  129. package/lux/TestDry.ff +28 -28
  130. package/output/js/ff/compiler/Builder.mjs +72 -71
  131. package/output/js/ff/compiler/Compiler.mjs +19 -13
  132. package/output/js/ff/compiler/Dependencies.mjs +8 -7
  133. package/output/js/ff/compiler/DependencyLock.mjs +6 -4
  134. package/output/js/ff/compiler/Deriver.mjs +26 -24
  135. package/output/js/ff/compiler/Dictionaries.mjs +14 -18
  136. package/output/js/ff/compiler/Environment.mjs +6 -4
  137. package/output/js/ff/compiler/Inference.mjs +238 -164
  138. package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
  139. package/output/js/ff/compiler/JsImporter.mjs +20 -18
  140. package/output/js/ff/compiler/LspHook.mjs +12 -10
  141. package/output/js/ff/compiler/Main.mjs +61 -41
  142. package/output/js/ff/compiler/ModuleCache.mjs +10 -8
  143. package/output/js/ff/compiler/Parser.mjs +153 -669
  144. package/output/js/ff/compiler/Patterns.mjs +12 -10
  145. package/output/js/ff/compiler/Resolver.mjs +52 -78
  146. package/output/js/ff/compiler/Substitution.mjs +12 -16
  147. package/output/js/ff/compiler/Syntax.mjs +50 -341
  148. package/output/js/ff/compiler/Token.mjs +126 -4
  149. package/output/js/ff/compiler/Tokenizer.mjs +62 -52
  150. package/output/js/ff/compiler/Unification.mjs +74 -90
  151. package/output/js/ff/compiler/Wildcards.mjs +4 -2
  152. package/output/js/ff/compiler/Workspace.mjs +26 -20
  153. package/output/js/ff/core/Any.mjs +20 -20
  154. package/output/js/ff/core/Array.mjs +268 -175
  155. package/output/js/ff/core/AssetSystem.mjs +8 -6
  156. package/output/js/ff/core/Atomic.mjs +84 -52
  157. package/output/js/ff/core/Bool.mjs +6 -4
  158. package/output/js/ff/core/BrowserSystem.mjs +38 -29
  159. package/output/js/ff/core/Buffer.mjs +285 -133
  160. package/output/js/ff/core/BuildSystem.mjs +36 -56
  161. package/output/js/ff/core/Channel.mjs +250 -97
  162. package/output/js/ff/core/Char.mjs +5 -3
  163. package/output/js/ff/core/Core.mjs +28 -34
  164. package/output/js/ff/core/Crypto.mjs +30 -52
  165. package/output/js/ff/core/Duration.mjs +4 -2
  166. package/output/js/ff/core/Equal.mjs +14 -12
  167. package/output/js/ff/core/Error.mjs +17 -11
  168. package/output/js/ff/core/FileHandle.mjs +76 -38
  169. package/output/js/ff/core/Float.mjs +92 -160
  170. package/output/js/ff/core/HttpClient.mjs +208 -76
  171. package/output/js/ff/core/Instant.mjs +8 -10
  172. package/output/js/ff/core/Int.mjs +36 -26
  173. package/output/js/ff/core/IntMap.mjs +79 -33
  174. package/output/js/ff/core/Js.mjs +751 -0
  175. package/output/js/ff/core/JsSystem.mjs +54 -60
  176. package/output/js/ff/core/JsValue.mjs +294 -143
  177. package/output/js/ff/core/Json.mjs +443 -253
  178. package/output/js/ff/core/List.mjs +262 -214
  179. package/output/js/ff/core/Lock.mjs +156 -125
  180. package/output/js/ff/core/Log.mjs +20 -10
  181. package/output/js/ff/core/Map.mjs +10 -8
  182. package/output/js/ff/core/NodeSystem.mjs +189 -123
  183. package/output/js/ff/core/Nothing.mjs +4 -2
  184. package/output/js/ff/core/Option.mjs +40 -38
  185. package/output/js/ff/core/Ordering.mjs +26 -20
  186. package/output/js/ff/core/Pair.mjs +4 -2
  187. package/output/js/ff/core/Path.mjs +517 -315
  188. package/output/js/ff/core/Queue.mjs +306 -0
  189. package/output/js/ff/core/Random.mjs +141 -77
  190. package/output/js/ff/core/RbMap.mjs +36 -34
  191. package/output/js/ff/core/Serializable.mjs +44 -28
  192. package/output/js/ff/core/Set.mjs +6 -4
  193. package/output/js/ff/core/Show.mjs +8 -6
  194. package/output/js/ff/core/SourceLocation.mjs +4 -2
  195. package/output/js/ff/core/Stream.mjs +30 -50
  196. package/output/js/ff/core/String.mjs +263 -172
  197. package/output/js/ff/core/StringMap.mjs +77 -31
  198. package/output/js/ff/core/Task.mjs +91 -76
  199. package/output/js/ff/core/Try.mjs +20 -18
  200. package/output/js/ff/core/Unit.mjs +4 -2
  201. package/package.json +1 -1
  202. package/postgresql/Pg.ff +53 -59
  203. package/rpc/.firefly/package.ff +1 -1
  204. package/rpc/Rpc.ff +70 -70
  205. package/s3/.firefly/package.ff +1 -1
  206. package/s3/S3.ff +92 -94
  207. package/vscode/LICENSE.txt +21 -21
  208. package/vscode/Prepublish.ff +15 -15
  209. package/vscode/README.md +16 -16
  210. package/vscode/client/package-lock.json +544 -544
  211. package/vscode/client/package.json +22 -22
  212. package/vscode/client/src/extension.ts +104 -104
  213. package/vscode/icons/firefly-icon.svg +10 -10
  214. package/vscode/language-configuration.json +61 -61
  215. package/vscode/package-lock.json +3623 -3623
  216. package/vscode/package.json +1 -1
  217. package/vscode/snippets.json +241 -241
  218. package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
  219. package/webserver/.firefly/include/package.json +5 -5
  220. package/webserver/.firefly/package.ff +2 -2
  221. package/webserver/WebServer.ff +647 -685
  222. package/websocket/.firefly/package.ff +1 -1
  223. package/websocket/WebSocket.ff +100 -131
  224. package/core/UnsafeJs.ff +0 -42
  225. package/output/js/ff/core/UnsafeJs.mjs +0 -191
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
42
42
 
43
43
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
44
44
 
45
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
46
+
45
47
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
46
48
 
47
49
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
68
70
 
69
71
  import * as ff_core_Path from "../../ff/core/Path.mjs"
70
72
 
73
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
74
+
71
75
  import * as ff_core_Random from "../../ff/core/Random.mjs"
72
76
 
73
77
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -90,33 +94,32 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
90
94
 
91
95
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
92
96
 
93
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
94
-
95
97
  // type IntMap
96
98
 
97
99
 
98
100
 
99
101
 
100
102
  export function new_() {
101
- return new Map()
103
+ return (new Map())
102
104
  }
103
105
 
104
106
  export async function new_$($task) {
105
- throw new Error('Function new is missing on this target in async context.');
107
+ return (new Map())
106
108
  }
107
109
 
108
110
  export function IntMap_get(self_, key_) {
109
- return self_.has(key_) ? ff_core_Option.Some(self_.get(key_)) : ff_core_Option.None()
111
+ const result_ = self_.get(key_);
112
+ if(((!ff_core_JsValue.JsValue_isUndefined(result_)) || self_.has(key_))) {
113
+ return ff_core_Option.Some(result_)
114
+ } else return ff_core_Option.None()
110
115
  }
111
116
 
112
117
  export function IntMap_grab(self_, key_) {
113
-
114
- const result = self_.get(key_)
115
- if(key_ === void 0 && !self_.has(key_)) {
116
- ff_core_Try.internalThrowGrabException_()
117
- }
118
- return result
119
-
118
+ const result_ = self_.get(key_);
119
+ if((ff_core_JsValue.JsValue_isUndefined(result_) && (!ff_core_IntMap.IntMap_has(self_, key_)))) {
120
+ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException)})
121
+ };
122
+ return result_
120
123
  }
121
124
 
122
125
  export function IntMap_set(self_, key_, value_) {
@@ -139,12 +142,30 @@ export function IntMap_size(self_) {
139
142
  return self_.size
140
143
  }
141
144
 
145
+ export function IntMap_isEmpty(self_) {
146
+ return (ff_core_IntMap.IntMap_size(self_) === 0)
147
+ }
148
+
142
149
  export function IntMap_each(self_, body_) {
143
- return self_.forEach((v, k) => body_(k, v))
150
+ if(false) {
151
+ const iterator_ = self_.entries();
152
+ let result_ = iterator_.next();
153
+ while((!result_.done)) {
154
+ const value_ = result_.value;
155
+ body_(value_[0], value_[1]);
156
+ result_ = iterator_.next()
157
+ }
158
+ } else {
159
+ self_.forEach(((v_, k_) => {
160
+ return body_(k_, v_)
161
+ }))
162
+ }
144
163
  }
145
164
 
146
165
  export function IntMap_eachWhile(self_, body_) {
147
- for(const [k, v] of self_) if(!body_(k, v)) break
166
+ ff_core_JsValue.JsValue_eachWhile(self_, ((value_) => {
167
+ return body_(value_[0], value_[1])
168
+ }))
148
169
  }
149
170
 
150
171
  export function IntMap_toArray(self_) {
@@ -160,7 +181,7 @@ return ff_core_Array.Array_drain(ff_core_IntMap.IntMap_toArray(self_))
160
181
  }
161
182
 
162
183
  export function IntMap_toStream(self_) {
163
- return ff_core_Array.Array_toStream(ff_core_IntMap.IntMap_toArray(self_), 0, 9007199254740991)
184
+ return ff_core_List.List_toStream(ff_core_IntMap.IntMap_toList(self_), false)
164
185
  }
165
186
 
166
187
  export function IntMap_toMap(self_) {
@@ -172,7 +193,7 @@ const array_ = ff_core_Array.new_();
172
193
  ff_core_IntMap.IntMap_each(self_, ((k_, v_) => {
173
194
  array_.array.push(k_)
174
195
  }));
175
- return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
196
+ return ff_core_Array.Array_drain(array_)
176
197
  }
177
198
 
178
199
  export function IntMap_values(self_) {
@@ -180,11 +201,11 @@ const array_ = ff_core_Array.new_();
180
201
  ff_core_IntMap.IntMap_each(self_, ((k_, v_) => {
181
202
  array_.array.push(v_)
182
203
  }));
183
- return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
204
+ return ff_core_Array.Array_drain(array_)
184
205
  }
185
206
 
186
207
  export function IntMap_copy(self_) {
187
- return new Map(self_)
208
+ return (new Map(self_))
188
209
  }
189
210
 
190
211
  export function IntMap_getOrSet(self_, key_, body_) {
@@ -195,39 +216,64 @@ return ff_core_IntMap.IntMap_grab(self_, key_)
195
216
  }
196
217
 
197
218
  export async function IntMap_get$(self_, key_, $task) {
198
- throw new Error('Function IntMap_get is missing on this target in async context.');
219
+ const result_ = self_.get(key_);
220
+ if(((!ff_core_JsValue.JsValue_isUndefined(result_)) || self_.has(key_))) {
221
+ return ff_core_Option.Some(result_)
222
+ } else return ff_core_Option.None()
199
223
  }
200
224
 
201
225
  export async function IntMap_grab$(self_, key_, $task) {
202
- throw new Error('Function IntMap_grab is missing on this target in async context.');
226
+ const result_ = self_.get(key_);
227
+ if((ff_core_JsValue.JsValue_isUndefined(result_) && (!ff_core_IntMap.IntMap_has(self_, key_)))) {
228
+ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Core.GrabException(), ff_core_Core.ff_core_Any_HasAnyTag$ff_core_Core_GrabException)})
229
+ };
230
+ return result_
203
231
  }
204
232
 
205
233
  export async function IntMap_set$(self_, key_, value_, $task) {
206
- throw new Error('Function IntMap_set is missing on this target in async context.');
234
+ self_.set(key_, value_)
207
235
  }
208
236
 
209
237
  export async function IntMap_has$(self_, key_, $task) {
210
- throw new Error('Function IntMap_has is missing on this target in async context.');
238
+ return self_.has(key_)
211
239
  }
212
240
 
213
241
  export async function IntMap_remove$(self_, key_, $task) {
214
- throw new Error('Function IntMap_remove is missing on this target in async context.');
242
+ return self_.delete(key_)
215
243
  }
216
244
 
217
245
  export async function IntMap_clear$(self_, $task) {
218
- throw new Error('Function IntMap_clear is missing on this target in async context.');
246
+ self_.clear()
219
247
  }
220
248
 
221
249
  export async function IntMap_size$(self_, $task) {
222
- throw new Error('Function IntMap_size is missing on this target in async context.');
250
+ return self_.size
251
+ }
252
+
253
+ export async function IntMap_isEmpty$(self_, $task) {
254
+ return (ff_core_IntMap.IntMap_size(self_) === 0)
223
255
  }
224
256
 
225
257
  export async function IntMap_each$(self_, body_, $task) {
226
- for(const [k, v] of self_) await body_(k, v)
258
+ if(true) {
259
+ const iterator_ = self_.entries();
260
+ let result_ = iterator_.next();
261
+ while((!result_.done)) {
262
+ const value_ = result_.value;
263
+ (await body_(value_[0], value_[1], $task));
264
+ result_ = iterator_.next()
265
+ }
266
+ } else {
267
+ self_.forEach((async (a_1, a_2) => await (async (v_, k_, $task) => {
268
+ return (await body_(k_, v_, $task))
269
+ })(a_1, a_2, $task)))
270
+ }
227
271
  }
228
272
 
229
273
  export async function IntMap_eachWhile$(self_, body_, $task) {
230
- for(const [k, v] of self_) if(!await body_(k, v)) break
274
+ (await ff_core_JsValue.JsValue_eachWhile$(self_, (async (value_, $task) => {
275
+ return (await body_(value_[0], value_[1], $task))
276
+ }), $task))
231
277
  }
232
278
 
233
279
  export async function IntMap_toArray$(self_, $task) {
@@ -243,7 +289,7 @@ return ff_core_Array.Array_drain(ff_core_IntMap.IntMap_toArray(self_))
243
289
  }
244
290
 
245
291
  export async function IntMap_toStream$(self_, $task) {
246
- return (await ff_core_Array.Array_toStream$(ff_core_IntMap.IntMap_toArray(self_), 0, 9007199254740991, $task))
292
+ return (await ff_core_List.List_toStream$(ff_core_IntMap.IntMap_toList(self_), false, $task))
247
293
  }
248
294
 
249
295
  export async function IntMap_toMap$(self_, $task) {
@@ -255,7 +301,7 @@ const array_ = ff_core_Array.new_();
255
301
  ff_core_IntMap.IntMap_each(self_, ((k_, v_) => {
256
302
  array_.array.push(k_)
257
303
  }));
258
- return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
304
+ return ff_core_Array.Array_drain(array_)
259
305
  }
260
306
 
261
307
  export async function IntMap_values$(self_, $task) {
@@ -263,11 +309,11 @@ const array_ = ff_core_Array.new_();
263
309
  ff_core_IntMap.IntMap_each(self_, ((k_, v_) => {
264
310
  array_.array.push(v_)
265
311
  }));
266
- return ff_core_Array.Array_toList(array_, 0, 9007199254740991)
312
+ return ff_core_Array.Array_drain(array_)
267
313
  }
268
314
 
269
315
  export async function IntMap_copy$(self_, $task) {
270
- throw new Error('Function IntMap_copy is missing on this target in async context.');
316
+ return (new Map(self_))
271
317
  }
272
318
 
273
319
  export async function IntMap_getOrSet$(self_, key_, body_, $task) {
@@ -284,7 +330,7 @@ if(_1.None) {
284
330
  ff_core_IntMap.IntMap_set(self_, key_, ff_core_List.List_toArray([value_]))
285
331
  return
286
332
  }
287
- if(_1.Some) {
333
+ {
288
334
  const array_ = _1.value_;
289
335
  array_.array.push(value_)
290
336
  return
@@ -299,7 +345,7 @@ if(_1.None) {
299
345
  ff_core_IntMap.IntMap_set(self_, key_, ff_core_List.List_toArray([value_]))
300
346
  return
301
347
  }
302
- if(_1.Some) {
348
+ {
303
349
  const array_ = _1.value_;
304
350
  array_.array.push(value_)
305
351
  return