firefly-compiler 0.5.35 → 0.5.37

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
@@ -46,6 +46,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
46
46
 
47
47
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
48
48
 
49
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
50
+
49
51
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
50
52
 
51
53
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -72,6 +74,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
72
74
 
73
75
  import * as ff_core_Path from "../../ff/core/Path.mjs"
74
76
 
77
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
78
+
75
79
  import * as ff_core_Random from "../../ff/core/Random.mjs"
76
80
 
77
81
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -94,8 +98,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
94
98
 
95
99
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
96
100
 
97
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
98
-
99
101
  // type JsImporter
100
102
  export function JsImporter(imports_) {
101
103
  return {imports_};
@@ -126,7 +128,7 @@ const n_ = ("import$" + ff_core_Map.Map_size(self_.imports_, ff_core_Ordering.ff
126
128
  self_.imports_ = ff_core_Map.Map_add(self_.imports_, url_, n_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
127
129
  return n_
128
130
  }
129
- if(_1.Some) {
131
+ {
130
132
  const n_ = _1.value_;
131
133
  return n_
132
134
  }
@@ -138,26 +140,26 @@ export function JsImporter_process(self_, at_, code_) {
138
140
  const space_ = ff_core_String.String_takeWhile(code_, ((c_) => {
139
141
  return (((((c_ === 32) || (c_ === 9)) || (c_ === 13)) || (c_ === 10)) || (c_ === 59))
140
142
  }));
141
- const rest_ = ff_core_String.String_dropFirst(code_, ff_core_String.String_size(space_));
143
+ const rest_ = ff_core_String.String_dropFirst(code_, space_.length);
142
144
  if((!ff_core_String.String_startsWith(rest_, "import * as ", 0))) {
143
145
  return code_
144
146
  } else {
145
- const rest2_ = ff_core_String.String_dropFirst(rest_, ff_core_String.String_size("import * as "));
147
+ const rest2_ = ff_core_String.String_dropFirst(rest_, "import * as ".length);
146
148
  const name_ = ff_core_String.String_takeWhile(rest2_, ((_w1) => {
147
149
  return ff_core_Char.Char_isAsciiLetterOrDigit(_w1)
148
150
  }));
149
- if((ff_core_String.String_size(name_) === 0)) {
151
+ if((name_.length === 0)) {
150
152
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected alias after \"import * as \""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
151
153
  };
152
- const rest3_ = ff_core_String.String_dropFirst(rest2_, ff_core_String.String_size(name_));
154
+ const rest3_ = ff_core_String.String_dropFirst(rest2_, name_.length);
153
155
  if((!ff_core_String.String_startsWith(rest3_, " from '", 0))) {
154
156
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected \" from '\" after \"import * as ...\""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
155
157
  };
156
- const rest4_ = ff_core_String.String_dropFirst(rest3_, ff_core_String.String_size(" from '"));
158
+ const rest4_ = ff_core_String.String_dropFirst(rest3_, " from '".length);
157
159
  const url_ = ff_core_String.String_takeWhile(rest4_, ((_w1) => {
158
160
  return (_w1 !== 39)
159
161
  }));
160
- if((ff_core_String.String_size(url_) === 0)) {
162
+ if((url_.length === 0)) {
161
163
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected module name after \" from '\""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
162
164
  };
163
165
  if(ff_core_String.String_any(url_, ((_w1) => {
@@ -165,7 +167,7 @@ return (_w1 === 10)
165
167
  }))) {
166
168
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unclosed module name string"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
167
169
  };
168
- const rest5_ = ff_core_String.String_dropFirst(rest4_, (ff_core_String.String_size(url_) + 1));
170
+ const rest5_ = ff_core_String.String_dropFirst(rest4_, (url_.length + 1));
169
171
  const importName_ = ff_compiler_JsImporter.JsImporter_add(self_, url_);
170
172
  return (((((space_ + "const ") + name_) + " = ") + importName_) + ff_compiler_JsImporter.JsImporter_process(self_, at_, rest5_))
171
173
  }
@@ -193,7 +195,7 @@ const n_ = ("import$" + ff_core_Map.Map_size(self_.imports_, ff_core_Ordering.ff
193
195
  self_.imports_ = ff_core_Map.Map_add(self_.imports_, url_, n_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
194
196
  return n_
195
197
  }
196
- if(_1.Some) {
198
+ {
197
199
  const n_ = _1.value_;
198
200
  return n_
199
201
  }
@@ -205,26 +207,26 @@ export async function JsImporter_process$(self_, at_, code_, $task) {
205
207
  const space_ = ff_core_String.String_takeWhile(code_, ((c_) => {
206
208
  return (((((c_ === 32) || (c_ === 9)) || (c_ === 13)) || (c_ === 10)) || (c_ === 59))
207
209
  }));
208
- const rest_ = ff_core_String.String_dropFirst(code_, ff_core_String.String_size(space_));
210
+ const rest_ = ff_core_String.String_dropFirst(code_, space_.length);
209
211
  if((!ff_core_String.String_startsWith(rest_, "import * as ", 0))) {
210
212
  return code_
211
213
  } else {
212
- const rest2_ = ff_core_String.String_dropFirst(rest_, ff_core_String.String_size("import * as "));
214
+ const rest2_ = ff_core_String.String_dropFirst(rest_, "import * as ".length);
213
215
  const name_ = ff_core_String.String_takeWhile(rest2_, ((_w1) => {
214
216
  return ff_core_Char.Char_isAsciiLetterOrDigit(_w1)
215
217
  }));
216
- if((ff_core_String.String_size(name_) === 0)) {
218
+ if((name_.length === 0)) {
217
219
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected alias after \"import * as \""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
218
220
  };
219
- const rest3_ = ff_core_String.String_dropFirst(rest2_, ff_core_String.String_size(name_));
221
+ const rest3_ = ff_core_String.String_dropFirst(rest2_, name_.length);
220
222
  if((!ff_core_String.String_startsWith(rest3_, " from '", 0))) {
221
223
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected \" from '\" after \"import * as ...\""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
222
224
  };
223
- const rest4_ = ff_core_String.String_dropFirst(rest3_, ff_core_String.String_size(" from '"));
225
+ const rest4_ = ff_core_String.String_dropFirst(rest3_, " from '".length);
224
226
  const url_ = ff_core_String.String_takeWhile(rest4_, ((_w1) => {
225
227
  return (_w1 !== 39)
226
228
  }));
227
- if((ff_core_String.String_size(url_) === 0)) {
229
+ if((url_.length === 0)) {
228
230
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Expected module name after \" from '\""), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
229
231
  };
230
232
  if(ff_core_String.String_any(url_, ((_w1) => {
@@ -232,7 +234,7 @@ return (_w1 === 10)
232
234
  }))) {
233
235
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, "Unclosed module name string"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
234
236
  };
235
- const rest5_ = ff_core_String.String_dropFirst(rest4_, (ff_core_String.String_size(url_) + 1));
237
+ const rest5_ = ff_core_String.String_dropFirst(rest4_, (url_.length + 1));
236
238
  const importName_ = ff_compiler_JsImporter.JsImporter_add(self_, url_);
237
239
  return (((((space_ + "const ") + name_) + " = ") + importName_) + ff_compiler_JsImporter.JsImporter_process(self_, at_, rest5_))
238
240
  }
@@ -50,6 +50,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
50
50
 
51
51
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
52
52
 
53
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
54
+
53
55
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
54
56
 
55
57
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -76,6 +78,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
76
78
 
77
79
  import * as ff_core_Path from "../../ff/core/Path.mjs"
78
80
 
81
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
82
+
79
83
  import * as ff_core_Random from "../../ff/core/Random.mjs"
80
84
 
81
85
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -98,8 +102,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
98
102
 
99
103
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
100
104
 
101
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
102
-
103
105
  // type LspHook
104
106
  export function LspHook(at_, definedAt_, insertIdentifier_, trackSymbols_, arrayOfResults_) {
105
107
  return {at_, definedAt_, insertIdentifier_, trackSymbols_, arrayOfResults_};
@@ -335,7 +337,7 @@ const symbol_ = hook_a.symbol_;
335
337
  const explicitType_ = hook_a.explicitType_;
336
338
  return "ResolveTypeHook(...)"
337
339
  }
338
- if(hook_a.ResolveVariantFieldHook) {
340
+ {
339
341
  const symbol_ = hook_a.symbol_;
340
342
  const type_ = hook_a.type_;
341
343
  const commonField_ = hook_a.commonField_;
@@ -471,7 +473,7 @@ const symbol_ = hook_a.symbol_;
471
473
  const explicitType_ = hook_a.explicitType_;
472
474
  return "ResolveTypeHook(...)"
473
475
  }
474
- if(hook_a.ResolveVariantFieldHook) {
476
+ {
475
477
  const symbol_ = hook_a.symbol_;
476
478
  const type_ = hook_a.type_;
477
479
  const commonField_ = hook_a.commonField_;
@@ -589,7 +591,7 @@ if(value_a.SType) {
589
591
  const z_ = value_a;
590
592
  return "SType"
591
593
  }
592
- if(value_a.SParameter) {
594
+ {
593
595
  const z_ = value_a;
594
596
  return "SParameter"
595
597
  }
@@ -628,7 +630,7 @@ if(value_a.SType) {
628
630
  const z_ = value_a;
629
631
  return "SType"
630
632
  }
631
- if(value_a.SParameter) {
633
+ {
632
634
  const z_ = value_a;
633
635
  return "SParameter"
634
636
  }
@@ -812,7 +814,7 @@ return 6
812
814
  if(z_a.SType) {
813
815
  return 7
814
816
  }
815
- if(z_a.SParameter) {
817
+ {
816
818
  return 8
817
819
  }
818
820
  }
@@ -874,7 +876,7 @@ return 6
874
876
  if(z_a.SType) {
875
877
  return 7
876
878
  }
877
- if(z_a.SParameter) {
879
+ {
878
880
  return 8
879
881
  }
880
882
  }
@@ -1014,7 +1016,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 7
1014
1016
  serialization_.offset_ += 1
1015
1017
  return
1016
1018
  }
1017
- if(value_a.SParameter) {
1019
+ {
1018
1020
  const v_ = value_a;
1019
1021
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1020
1022
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -1138,7 +1140,7 @@ ff_core_Buffer.Buffer_setUint8(serialization_.buffer_, serialization_.offset_, 7
1138
1140
  serialization_.offset_ += 1
1139
1141
  return
1140
1142
  }
1141
- if(value_a.SParameter) {
1143
+ {
1142
1144
  const v_ = value_a;
1143
1145
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 30), 0);
1144
1146
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -70,6 +70,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
70
70
 
71
71
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
72
72
 
73
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
74
+
73
75
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
74
76
 
75
77
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -96,6 +98,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
96
98
 
97
99
  import * as ff_core_Path from "../../ff/core/Path.mjs"
98
100
 
101
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
102
+
99
103
  import * as ff_core_Random from "../../ff/core/Random.mjs"
100
104
 
101
105
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -118,8 +122,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
118
122
 
119
123
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
120
124
 
121
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
122
-
123
125
  // type MainCommand
124
126
  const BootstrapCommand$ = {BootstrapCommand: true};
125
127
  export function BootstrapCommand() {
@@ -173,7 +175,7 @@ return "node"
173
175
  if(_1.EmitBrowser) {
174
176
  return "browser"
175
177
  }
176
- if(_1.EmitExecutable) {
178
+ {
177
179
  return "executable"
178
180
  }
179
181
  }))(emitTarget_);
@@ -224,7 +226,7 @@ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Sy
224
226
  }
225
227
  return
226
228
  }
227
- if(command_a.BootstrapCommand) {
229
+ {
228
230
  const workingDirectory_ = ff_core_NodeSystem.NodeSystem_path(system_, ".");
229
231
  const fakeLocation_ = ff_compiler_Syntax.Location("<core>", 0, 0);
230
232
  ff_compiler_Builder.build_(system_, ff_compiler_JsEmitter.EmitNode(), ff_compiler_Syntax.PackagePair("ff", "compiler"), "Main", ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_Path.Path_slash(workingDirectory_, "compiler")), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_core_Path.Path_slash(workingDirectory_, "core"))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), ff_core_Path.Path_slash(ff_core_Path.Path_slash(workingDirectory_, "output"), "temporary"), ff_core_Path.Path_slash(ff_core_Path.Path_slash(workingDirectory_, "output"), "js"), true, ff_compiler_ModuleCache.new_(0))
@@ -347,7 +349,7 @@ return ff_compiler_Main.CheckCommand(fileName_)
347
349
  if(_1.length >= 2) {
348
350
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to check." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
349
351
  }
350
- if(_1.length === 0) {
352
+ {
351
353
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) or directory as the argument to check." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
352
354
  }
353
355
  }
@@ -362,7 +364,7 @@ return ff_compiler_Main.BootstrapCommand()
362
364
  if(arguments_a.length === 0) {
363
365
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must specify a command or a main file to run." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
364
366
  }
365
- if(arguments_a.length >= 1) {
367
+ {
366
368
  const s_ = arguments_a[0];
367
369
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(((("Unknown command '" + s_) + "'") + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
368
370
  }
@@ -386,7 +388,19 @@ ff_core_BuildSystem.internalCallEsBuild_(browserCode_, mainJsFile_, file_, true,
386
388
  }
387
389
 
388
390
  export function importAndRun_(fireflyPath_, target_, packagePair_, mainFile_, arguments_) {
389
- throw new Error('Function importAndRun is missing on this target in sync context.');
391
+ const process_ = import("process");
392
+ const cwd_ = process_.cwd();
393
+ const workingDirectory_ = ((cwd_.indexOf(":") === 1)
394
+ ? ("file:///" + cwd_)
395
+ : cwd_);
396
+ const packagePath_ = ((packagePair_.group_ + "/") + packagePair_.name_);
397
+ const main_ = import((((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + mainFile_) + ".mjs"));
398
+ if(((typeof main_["$run$"]) !== "undefined")) {
399
+ main_["$run$"](fireflyPath_.absolutePath_, arguments_);
400
+ return true
401
+ } else {
402
+ return false
403
+ }
390
404
  }
391
405
 
392
406
  export function prepareFireflyDirectory_(path_) {
@@ -399,7 +413,14 @@ ff_core_Path.Path_createDirectory(ff_core_Path.Path_slash(ff_core_Path.Path_slas
399
413
  }
400
414
 
401
415
  export function detectFireflyPath_(system_) {
402
- throw new Error('Function detectFireflyPath is missing on this target in sync context.');
416
+ const url_ = import$0;
417
+ const suffix_ = "/output/js/ff/compiler/Main.mjs";
418
+ const moduleUrl_ = import.meta.url;
419
+ if((!import.meta.url.endsWith(suffix_))) {
420
+ throw (new Error(((("Expected module path to end with: " + suffix_) + ", but got: ") + moduleUrl_)))
421
+ } else {
422
+ return ff_core_Path.Path(url_.fileURLToPath((new URL(moduleUrl_.slice(0, (-suffix_.length))))))
423
+ }
403
424
  }
404
425
 
405
426
  export async function main_$(system_, $task) {
@@ -421,7 +442,7 @@ return "node"
421
442
  if(_1.EmitBrowser) {
422
443
  return "browser"
423
444
  }
424
- if(_1.EmitExecutable) {
445
+ {
425
446
  return "executable"
426
447
  }
427
448
  }))(emitTarget_);
@@ -472,7 +493,7 @@ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Sy
472
493
  }
473
494
  return
474
495
  }
475
- if(command_a.BootstrapCommand) {
496
+ {
476
497
  const workingDirectory_ = (await ff_core_NodeSystem.NodeSystem_path$(system_, ".", $task));
477
498
  const fakeLocation_ = ff_compiler_Syntax.Location("<core>", 0, 0);
478
499
  (await ff_compiler_Builder.build_$(system_, ff_compiler_JsEmitter.EmitNode(), ff_compiler_Syntax.PackagePair("ff", "compiler"), "Main", ff_compiler_Dependencies.ResolvedDependencies(ff_compiler_Syntax.PackagePair("ff", "compiler"), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.PackageInfo(ff_compiler_Syntax.DPackage(fakeLocation_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.Version(fakeLocation_, 0, 0, 0), ff_compiler_Syntax.TargetNames(true, false)), [], [ff_compiler_Syntax.DInclude(fakeLocation_, "node_modules")]))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toMap([ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "compiler"), (await ff_core_Path.Path_slash$(workingDirectory_, "compiler", $task))), ff_core_Pair.Pair(ff_compiler_Syntax.PackagePair("ff", "core"), (await ff_core_Path.Path_slash$(workingDirectory_, "core", $task)))], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair), ff_core_List.List_toSet([], ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)), ff_core_Option.None(), (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(workingDirectory_, "output", $task)), "temporary", $task)), (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(workingDirectory_, "output", $task)), "js", $task)), true, ff_compiler_ModuleCache.new_(0), $task))
@@ -595,7 +616,7 @@ return ff_compiler_Main.CheckCommand(fileName_)
595
616
  if(_1.length >= 2) {
596
617
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must only specify a single argument to check." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
597
618
  }
598
- if(_1.length === 0) {
619
+ {
599
620
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must specify a Firefly file (.ff) or directory as the argument to check." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
600
621
  }
601
622
  }
@@ -610,7 +631,7 @@ return ff_compiler_Main.BootstrapCommand()
610
631
  if(arguments_a.length === 0) {
611
632
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(("You must specify a command or a main file to run." + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
612
633
  }
613
- if(arguments_a.length >= 1) {
634
+ {
614
635
  const s_ = arguments_a[0];
615
636
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Main.CommandLineError(((("Unknown command '" + s_) + "'") + ff_compiler_Main.usageString_)), ff_compiler_Main.ff_core_Any_HasAnyTag$ff_compiler_Main_CommandLineError)})
616
637
  }
@@ -634,19 +655,19 @@ return (await ff_core_Path.Path_readStream$((await ff_core_NodeSystem.NodeSystem
634
655
  }
635
656
 
636
657
  export async function importAndRun_$(fireflyPath_, target_, packagePair_, mainFile_, arguments_, $task) {
637
-
638
- const process = await import('process');
639
- const cwd = process.cwd();
640
- const workingDirectory = cwd.indexOf(':') == 1 ? 'file:///' + cwd : cwd;
641
- const packagePath = packagePair_.group_ + "/" + packagePair_.name_
642
- const main = await import(workingDirectory + "/.firefly/output/" + target_ + "/" + packagePath + "/" + mainFile_ + ".mjs");
643
- if(typeof main.$run$ !== 'undefined') {
644
- await main.$run$(fireflyPath_, arguments_);
645
- return true;
646
- } else {
647
- return false;
648
- }
649
-
658
+ const process_ = (await import("process"));
659
+ const cwd_ = process_.cwd();
660
+ const workingDirectory_ = ((cwd_.indexOf(":") === 1)
661
+ ? ("file:///" + cwd_)
662
+ : cwd_);
663
+ const packagePath_ = ((packagePair_.group_ + "/") + packagePair_.name_);
664
+ const main_ = (await import((((((((workingDirectory_ + "/.firefly/output/") + target_) + "/") + packagePath_) + "/") + mainFile_) + ".mjs")));
665
+ if(((typeof main_["$run$"]) !== "undefined")) {
666
+ main_["$run$"](fireflyPath_.absolutePath_, arguments_);
667
+ return true
668
+ } else {
669
+ return false
670
+ }
650
671
  }
651
672
 
652
673
  export async function prepareFireflyDirectory_$(path_, $task) {
@@ -659,15 +680,14 @@ if((!(await ff_core_Path.Path_exists$((await ff_core_Path.Path_slash$(path_, ".f
659
680
  }
660
681
 
661
682
  export async function detectFireflyPath_$(system_, $task) {
662
-
663
- const url = import$0
664
- const suffix = '/output/js/ff/compiler/Main.mjs'
665
- const moduleUrl = import.meta.url
666
- if(!import.meta.url.endsWith(suffix)) {
667
- throw 'Expected module path to end with: ' + suffix + ", but got: " + moduleUrl;
668
- }
669
- return url.fileURLToPath(new URL(moduleUrl.slice(0, -suffix.length)))
670
-
683
+ const url_ = import$0;
684
+ const suffix_ = "/output/js/ff/compiler/Main.mjs";
685
+ const moduleUrl_ = import.meta.url;
686
+ if((!import.meta.url.endsWith(suffix_))) {
687
+ throw (new Error(((("Expected module path to end with: " + suffix_) + ", but got: ") + moduleUrl_)))
688
+ } else {
689
+ return ff_core_Path.Path(url_.fileURLToPath((new URL(moduleUrl_.slice(0, (-suffix_.length))))))
690
+ }
671
691
  }
672
692
 
673
693
 
@@ -709,7 +729,7 @@ if(value_a.BuildCommand) {
709
729
  const z_ = value_a;
710
730
  return ((("BuildCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ")")
711
731
  }
712
- if(value_a.CheckCommand) {
732
+ {
713
733
  const z_ = value_a;
714
734
  return ((("CheckCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.filePath_)) + ")")
715
735
  }
@@ -732,7 +752,7 @@ if(value_a.BuildCommand) {
732
752
  const z_ = value_a;
733
753
  return ((("BuildCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.mainPath_)) + ")")
734
754
  }
735
- if(value_a.CheckCommand) {
755
+ {
736
756
  const z_ = value_a;
737
757
  return ((("CheckCommand" + "(") + ff_core_Show.ff_core_Show_Show$ff_core_String_String.show_(z_.filePath_)) + ")")
738
758
  }
@@ -913,7 +933,7 @@ return 2
913
933
  if(z_a.BuildCommand) {
914
934
  return 3
915
935
  }
916
- if(z_a.CheckCommand) {
936
+ {
917
937
  return 4
918
938
  }
919
939
  }
@@ -990,7 +1010,7 @@ return 2
990
1010
  if(z_a.BuildCommand) {
991
1011
  return 3
992
1012
  }
993
- if(z_a.CheckCommand) {
1013
+ {
994
1014
  return 4
995
1015
  }
996
1016
  }
@@ -1074,7 +1094,7 @@ serialization_.offset_ += 1;
1074
1094
  ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
1075
1095
  return
1076
1096
  }
1077
- if(value_a.CheckCommand) {
1097
+ {
1078
1098
  const v_ = value_a;
1079
1099
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1080
1100
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -1153,7 +1173,7 @@ serialization_.offset_ += 1;
1153
1173
  ff_core_Serializable.ff_core_Serializable_Serializable$ff_core_String_String.serializeUsing_(serialization_, v_.mainPath_)
1154
1174
  return
1155
1175
  }
1156
- if(value_a.CheckCommand) {
1176
+ {
1157
1177
  const v_ = value_a;
1158
1178
  serialization_.checksum_ = ff_core_Int.Int_bitOr(((31 * serialization_.checksum_) + 29), 0);
1159
1179
  ff_core_Serializable.Serialization_autoResize(serialization_, 1);
@@ -1254,7 +1274,7 @@ throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_core_Serial
1254
1274
 
1255
1275
  export async function $run$(fireflyPath_, arguments_) {
1256
1276
  Error.stackTraceLimit = 50
1257
- const $task = {controller: new AbortController(), subtasks: new Set(), promise: new Promise(() => {}), started: performance.now() * 0.001}
1277
+ const $task = {controller_: new AbortController(), subtasks_: new Set(), promise_: new Promise(() => {}), started_: performance.now() * 0.001}
1258
1278
  let interval = setInterval(() => {}, 24 * 60 * 60 * 1000)
1259
1279
  let system = {
1260
1280
  task_: $task,
@@ -46,6 +46,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
46
46
 
47
47
  import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
48
48
 
49
+ import * as ff_core_Js from "../../ff/core/Js.mjs"
50
+
49
51
  import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
50
52
 
51
53
  import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
@@ -72,6 +74,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
72
74
 
73
75
  import * as ff_core_Path from "../../ff/core/Path.mjs"
74
76
 
77
+ import * as ff_core_Queue from "../../ff/core/Queue.mjs"
78
+
75
79
  import * as ff_core_Random from "../../ff/core/Random.mjs"
76
80
 
77
81
  import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
@@ -94,8 +98,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
94
98
 
95
99
  import * as ff_core_Unit from "../../ff/core/Unit.mjs"
96
100
 
97
- import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
98
-
99
101
  // type ModuleCache
100
102
  export function ModuleCache(version_, parsedModules_, resolvedModules_, derivedModules_, inferredModules_, emittedModules_) {
101
103
  return {version_, parsedModules_, resolvedModules_, derivedModules_, inferredModules_, emittedModules_};
@@ -315,12 +317,12 @@ export function ModuleCache_cacheEmittedModule(self_, packagePaths_, packagePair
315
317
  const path_ = ff_compiler_ModuleCache.modulePath_(packagePaths_, packagePair_, moduleName_);
316
318
  if((!ff_core_Map.Map_contains(self_.emittedModules_, ff_core_Path.Path_absolute(path_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String))) {
317
319
  self_.emittedModules_ = ff_core_Map.Map_add(self_.emittedModules_, ff_core_Path.Path_absolute(path_), self_.version_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
318
- ff_core_Try.Try_catchAny(ff_core_Core.try_((() => {
320
+ try {
319
321
  body_(path_)
320
- })), ((error_) => {
322
+ } catch(error_) {
321
323
  self_.emittedModules_ = ff_core_Map.Map_remove(self_.emittedModules_, ff_core_Path.Path_absolute(path_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
322
324
  ff_core_Error.Error_rethrow(error_)
323
- }))
325
+ }
324
326
  }
325
327
  }
326
328
 
@@ -488,12 +490,12 @@ export async function ModuleCache_cacheEmittedModule$(self_, packagePaths_, pack
488
490
  const path_ = (await ff_compiler_ModuleCache.modulePath_$(packagePaths_, packagePair_, moduleName_, $task));
489
491
  if((!ff_core_Map.Map_contains(self_.emittedModules_, (await ff_core_Path.Path_absolute$(path_, $task)), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String))) {
490
492
  self_.emittedModules_ = ff_core_Map.Map_add(self_.emittedModules_, (await ff_core_Path.Path_absolute$(path_, $task)), self_.version_, ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
491
- (await ff_core_Try.Try_catchAny$((await ff_core_Core.try_$((async ($task) => {
493
+ try {
492
494
  (await body_(path_, $task))
493
- }), $task)), (async (error_, $task) => {
495
+ } catch(error_) {
494
496
  self_.emittedModules_ = ff_core_Map.Map_remove(self_.emittedModules_, (await ff_core_Path.Path_absolute$(path_, $task)), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String);
495
497
  ff_core_Error.Error_rethrow(error_)
496
- }), $task))
498
+ }
497
499
  }
498
500
  }
499
501