firefly-compiler 0.5.15 → 0.5.17

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.
@@ -44,6 +44,7 @@ build(
44
44
  if(printMeasurements) {compiler.printMeasurements()}
45
45
  resolvedDependencies.packagePaths.each {packagePair, packagePath =>
46
46
  resolvedDependencies.packages.get(packagePair).each {packageInfo =>
47
+ processNodeModules(system, jsPathFile, packagePath, packageInfo)
47
48
  processIncludes(jsPathFile, packagePath, packageInfo)
48
49
  }
49
50
  }
@@ -57,7 +58,7 @@ build(
57
58
 
58
59
  }
59
60
 
60
- processIncludes(jsPathFile: Path, packagePath: Path, info: PackageInfo): Unit {
61
+ processIncludes(jsPathFile: Path, packagePath: Path, info: PackageInfo) {
61
62
  info.includes.each {include =>
62
63
  let fromPath = packagePath.slash(".firefly").slash("include").slash(include.path)
63
64
  let toPath = jsPathFile.slash(info.package.packagePair.groupName("/")).slash(include.path)
@@ -65,6 +66,19 @@ processIncludes(jsPathFile: Path, packagePath: Path, info: PackageInfo): Unit {
65
66
  }
66
67
  }
67
68
 
69
+ processNodeModules(system: NodeSystem, jsPathFile: Path, packagePath: Path, info: PackageInfo) {
70
+ if(info.includes.any {_.path == "node_modules"}) {
71
+ let includePath = packagePath.slash(".firefly").slash("include")
72
+ let nodeModules = includePath.slash("node_modules")
73
+ let packageJson = includePath.slash("package.json")
74
+ let packageLockJson = includePath.slash("package-lock.json")
75
+ if(!nodeModules.exists() && packageJson.exists() && packageLockJson.exists()) {
76
+ system.writeErrorLine("Running npm ci --no-bin-links in " + includePath.absolute())
77
+ system.execute("npm", ["ci", "--no-bin-links"], directory = Some(includePath))
78
+ }
79
+ }
80
+ }
81
+
68
82
  buildViaBuildSystem(system: NodeSystem, fireflyPath: Path, mainFile: String, target: String) {
69
83
  let resolvedDependencies = Dependencies.process(
70
84
  system.httpClient()
@@ -216,9 +216,14 @@ extend self: Compiler {
216
216
  }
217
217
 
218
218
  let allModules = [module, ...otherModules]
219
- let js =
220
- JsEmitter.new(allModules, self.emitTarget, isMainModule, self.compilerModulePath, packagePair, moduleName)
221
- .emitModule(packagePair, module)
219
+ let js = JsEmitter.new(
220
+ otherModules = allModules
221
+ emitTarget = self.emitTarget
222
+ isMainModule = isMainModule
223
+ compilerModuleFileUrl = self.compilerModulePath.map {_.url()}
224
+ packagePair = packagePair
225
+ moduleName = moduleName
226
+ ).emitModule(packagePair, module)
222
227
  let jsPath = self.jsOutputPath.slash(packagePair.group).slash(packagePair.name)
223
228
  let jsFile = jsPath.slash(moduleName + ".mjs")
224
229
  jsPath.createDirectory(createParentDirectories = True)
@@ -2,12 +2,12 @@ import Syntax
2
2
  import Patterns
3
3
  import JsImporter
4
4
 
5
- capability JsEmitter(
5
+ class JsEmitter(
6
6
  otherModules: Map[String, Module]
7
7
  jsImporter: JsImporter
8
8
  emitTarget: EmitTarget
9
9
  isMainModule: Bool
10
- compilerModulePath: Option[Path]
10
+ compilerModuleFileUrl: Option[String]
11
11
  packagePair: PackagePair
12
12
  moduleName: String
13
13
  mutable emittingAsync: Bool
@@ -25,7 +25,7 @@ new(
25
25
  otherModules: List[Module]
26
26
  emitTarget: EmitTarget
27
27
  isMainModule: Bool
28
- compilerModulePath: Option[Path]
28
+ compilerModuleFileUrl: Option[String]
29
29
  packagePair: PackagePair
30
30
  moduleName: String
31
31
  ): JsEmitter {
@@ -37,7 +37,7 @@ new(
37
37
  jsImporter = JsImporter.new()
38
38
  emitTarget = emitTarget
39
39
  isMainModule = isMainModule
40
- compilerModulePath = compilerModulePath
40
+ compilerModuleFileUrl = compilerModuleFileUrl
41
41
  packagePair = packagePair
42
42
  moduleName = moduleName
43
43
  emittingAsync = False
@@ -56,7 +56,7 @@ extend self: JsEmitter {
56
56
  "import * as " + packagePair.groupName("_") + "_" + module.file.dropLast(3) + " " +
57
57
  "from \"../../" + packagePair.groupName("/") + "/" + module.file.dropLast(3) + ".mjs\""
58
58
  let imports = [
59
- self.compilerModulePath.map {"import * as $firefly_compiler from '" + _.url() + "'"}.toList()
59
+ self.compilerModuleFileUrl.map {"import * as $firefly_compiler from '" + _ + "'"}.toList()
60
60
  module.imports.sortBy {i => Pair(i.package, i.file) }.map {self.emitImportDefinition(_)}
61
61
  ].flatten()
62
62
  let parts = [
@@ -696,7 +696,7 @@ extend self: JsEmitter {
696
696
  MatchCase(_, [PVariable(_, name)], [], body)
697
697
  ]))]} =>
698
698
  Some(
699
- "for(let for_o = " + self.emitTerm(list, async) + "; for_o.Some;) {\n" +
699
+ "for(const for_o = " + self.emitTerm(list, async) + "; for_o.Some;) {\n" +
700
700
  name.map {"const " + escapeKeyword(_) + " = for_o.value_;\n"}.else {""} +
701
701
  self.emitStatements(body, last, async) +
702
702
  "\nbreak\n}"
@@ -137,8 +137,9 @@ if(printMeasurements_) {
137
137
  ff_compiler_Compiler.Compiler_printMeasurements(compiler_)
138
138
  };
139
139
  ff_core_Map.Map_each(resolvedDependencies_.packagePaths_, ((packagePair_, packagePath_) => {
140
- for(let for_o = ff_core_Map.Map_get(resolvedDependencies_.packages_, packagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair); for_o.Some;) {
140
+ for(const for_o = ff_core_Map.Map_get(resolvedDependencies_.packages_, packagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair); for_o.Some;) {
141
141
  const packageInfo_ = for_o.value_;
142
+ ff_compiler_Builder.processNodeModules_(system_, jsPathFile_, packagePath_, packageInfo_);
142
143
  ff_compiler_Builder.processIncludes_(jsPathFile_, packagePath_, packageInfo_)
143
144
  break
144
145
  }
@@ -162,6 +163,21 @@ ff_core_Path.Path_copyTo(fromPath_, toPath_, 0, 100)
162
163
  }
163
164
  }
164
165
 
166
+ export function processNodeModules_(system_, jsPathFile_, packagePath_, info_) {
167
+ if(ff_core_List.List_any(info_.includes_, ((_w1) => {
168
+ return (_w1.path_ === "node_modules")
169
+ }))) {
170
+ const includePath_ = ff_core_Path.Path_slash(ff_core_Path.Path_slash(packagePath_, ".firefly"), "include");
171
+ const nodeModules_ = ff_core_Path.Path_slash(includePath_, "node_modules");
172
+ const packageJson_ = ff_core_Path.Path_slash(includePath_, "package.json");
173
+ const packageLockJson_ = ff_core_Path.Path_slash(includePath_, "package-lock.json");
174
+ if((((!ff_core_Path.Path_exists(nodeModules_, false, false, false)) && ff_core_Path.Path_exists(packageJson_, false, false, false)) && ff_core_Path.Path_exists(packageLockJson_, false, false, false))) {
175
+ ff_core_NodeSystem.NodeSystem_writeErrorLine(system_, ("Running npm ci --no-bin-links in " + ff_core_Path.Path_absolute(includePath_)));
176
+ ff_core_NodeSystem.NodeSystem_execute(system_, "npm", ["ci", "--no-bin-links"], ff_core_Buffer.new_(0, false), ff_core_Option.Some(includePath_), ff_core_Option.None(), 16777216, 9, true)
177
+ }
178
+ }
179
+ }
180
+
165
181
  export function buildViaBuildSystem_(system_, fireflyPath_, mainFile_, target_) {
166
182
  const resolvedDependencies_ = ff_compiler_Dependencies.process_(ff_core_NodeSystem.NodeSystem_httpClient(system_), ff_compiler_DependencyLock.new_(ff_core_NodeSystem.NodeSystem_mainTask(system_)), ff_core_NodeSystem.NodeSystem_path(system_, mainFile_));
167
183
  const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
@@ -336,8 +352,9 @@ if(printMeasurements_) {
336
352
  (await ff_compiler_Compiler.Compiler_printMeasurements$(compiler_, $task))
337
353
  };
338
354
  (await ff_core_Map.Map_each$(resolvedDependencies_.packagePaths_, (async (packagePair_, packagePath_, $task) => {
339
- for(let for_o = ff_core_Map.Map_get(resolvedDependencies_.packages_, packagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair); for_o.Some;) {
355
+ for(const for_o = ff_core_Map.Map_get(resolvedDependencies_.packages_, packagePair_, ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair); for_o.Some;) {
340
356
  const packageInfo_ = for_o.value_;
357
+ (await ff_compiler_Builder.processNodeModules_$(system_, jsPathFile_, packagePath_, packageInfo_, $task));
341
358
  (await ff_compiler_Builder.processIncludes_$(jsPathFile_, packagePath_, packageInfo_, $task))
342
359
  break
343
360
  }
@@ -361,6 +378,21 @@ const toPath_ = (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(
361
378
  }
362
379
  }
363
380
 
381
+ export async function processNodeModules_$(system_, jsPathFile_, packagePath_, info_, $task) {
382
+ if(ff_core_List.List_any(info_.includes_, ((_w1) => {
383
+ return (_w1.path_ === "node_modules")
384
+ }))) {
385
+ const includePath_ = (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(packagePath_, ".firefly", $task)), "include", $task));
386
+ const nodeModules_ = (await ff_core_Path.Path_slash$(includePath_, "node_modules", $task));
387
+ const packageJson_ = (await ff_core_Path.Path_slash$(includePath_, "package.json", $task));
388
+ const packageLockJson_ = (await ff_core_Path.Path_slash$(includePath_, "package-lock.json", $task));
389
+ if((((!(await ff_core_Path.Path_exists$(nodeModules_, false, false, false, $task))) && (await ff_core_Path.Path_exists$(packageJson_, false, false, false, $task))) && (await ff_core_Path.Path_exists$(packageLockJson_, false, false, false, $task)))) {
390
+ (await ff_core_NodeSystem.NodeSystem_writeErrorLine$(system_, ("Running npm ci --no-bin-links in " + (await ff_core_Path.Path_absolute$(includePath_, $task))), $task));
391
+ (await ff_core_NodeSystem.NodeSystem_execute$(system_, "npm", ["ci", "--no-bin-links"], ff_core_Buffer.new_(0, false), ff_core_Option.Some(includePath_), ff_core_Option.None(), 16777216, 9, true, $task))
392
+ }
393
+ }
394
+ }
395
+
364
396
  export async function buildViaBuildSystem_$(system_, fireflyPath_, mainFile_, target_, $task) {
365
397
  const resolvedDependencies_ = (await ff_compiler_Dependencies.process_$((await ff_core_NodeSystem.NodeSystem_httpClient$(system_, $task)), (await ff_compiler_DependencyLock.new_$((await ff_core_NodeSystem.NodeSystem_mainTask$(system_, $task)), $task)), (await ff_core_NodeSystem.NodeSystem_path$(system_, mainFile_, $task)), $task));
366
398
  const fixedPackagePaths_ = (ff_core_Map.Map_contains(resolvedDependencies_.packagePaths_, ff_compiler_Syntax.PackagePair("ff", "core"), ff_compiler_Syntax.ff_core_Ordering_Order$ff_compiler_Syntax_PackagePair)
@@ -171,7 +171,7 @@ return ff_compiler_ModuleCache.ModuleCache_cacheParsedModule(self_.cache_, self_
171
171
  const packageName_ = ff_compiler_Syntax.PackagePair_groupName(packagePair_, ":");
172
172
  return ff_compiler_Compiler.Compiler_measure(self_, "Parse", packagePair_, moduleName_, (() => {
173
173
  const code_ = ff_core_Option.Option_else(ff_core_Map.Map_get(self_.virtualFiles_, ff_core_Path.Path_absolute(path_), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String), (() => {
174
- for(let for_o = importedAt_; for_o.Some;) {
174
+ for(const for_o = importedAt_; for_o.Some;) {
175
175
  const at_ = for_o.value_;
176
176
  if((!ff_core_Path.Path_exists(path_, false, false, false))) {
177
177
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, ((("Imported module not found: " + packageName_) + "/") + moduleName_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
@@ -265,7 +265,9 @@ ff_compiler_Compiler.Compiler_emit(self_, i_.packagePair_, newModuleName_, false
265
265
  return ff_compiler_Compiler.Compiler_infer(self_, i_.packagePair_, newModuleName_)
266
266
  }));
267
267
  const allModules_ = [module_, ...otherModules_];
268
- const js_ = ff_compiler_JsEmitter.JsEmitter_emitModule(ff_compiler_JsEmitter.new_(allModules_, self_.emitTarget_, isMainModule_, self_.compilerModulePath_, packagePair_, moduleName_), packagePair_, module_);
268
+ const js_ = ff_compiler_JsEmitter.JsEmitter_emitModule(ff_compiler_JsEmitter.new_(allModules_, self_.emitTarget_, isMainModule_, ff_core_Option.Option_map(self_.compilerModulePath_, ((_w1) => {
269
+ return ff_core_Path.Path_url(_w1)
270
+ })), packagePair_, moduleName_), packagePair_, module_);
269
271
  const jsPath_ = ff_core_Path.Path_slash(ff_core_Path.Path_slash(self_.jsOutputPath_, packagePair_.group_), packagePair_.name_);
270
272
  const jsFile_ = ff_core_Path.Path_slash(jsPath_, (moduleName_ + ".mjs"));
271
273
  ff_core_Path.Path_createDirectory(jsPath_, true);
@@ -304,7 +306,7 @@ return (await ff_compiler_ModuleCache.ModuleCache_cacheParsedModule$(self_.cache
304
306
  const packageName_ = ff_compiler_Syntax.PackagePair_groupName(packagePair_, ":");
305
307
  return (await ff_compiler_Compiler.Compiler_measure$(self_, "Parse", packagePair_, moduleName_, (async ($task) => {
306
308
  const code_ = (await ff_core_Option.Option_else$(ff_core_Map.Map_get(self_.virtualFiles_, (await ff_core_Path.Path_absolute$(path_, $task)), ff_core_Ordering.ff_core_Ordering_Order$ff_core_String_String), (async ($task) => {
307
- for(let for_o = importedAt_; for_o.Some;) {
309
+ for(const for_o = importedAt_; for_o.Some;) {
308
310
  const at_ = for_o.value_;
309
311
  if((!(await ff_core_Path.Path_exists$(path_, false, false, false, $task)))) {
310
312
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(at_, ((("Imported module not found: " + packageName_) + "/") + moduleName_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
@@ -398,7 +400,9 @@ const newModuleName_ = ff_core_String.String_dropLast(i_.file_, ff_core_String.S
398
400
  return (await ff_compiler_Compiler.Compiler_infer$(self_, i_.packagePair_, newModuleName_, $task))
399
401
  }), $task));
400
402
  const allModules_ = [module_, ...otherModules_];
401
- const js_ = (await ff_compiler_JsEmitter.JsEmitter_emitModule$((await ff_compiler_JsEmitter.new_$(allModules_, self_.emitTarget_, isMainModule_, self_.compilerModulePath_, packagePair_, moduleName_, $task)), packagePair_, module_, $task));
403
+ const js_ = ff_compiler_JsEmitter.JsEmitter_emitModule(ff_compiler_JsEmitter.new_(allModules_, self_.emitTarget_, isMainModule_, (await ff_core_Option.Option_map$(self_.compilerModulePath_, (async (_w1, $task) => {
404
+ return (await ff_core_Path.Path_url$(_w1, $task))
405
+ }), $task)), packagePair_, moduleName_), packagePair_, module_);
402
406
  const jsPath_ = (await ff_core_Path.Path_slash$((await ff_core_Path.Path_slash$(self_.jsOutputPath_, packagePair_.group_, $task)), packagePair_.name_, $task));
403
407
  const jsFile_ = (await ff_core_Path.Path_slash$(jsPath_, (moduleName_ + ".mjs"), $task));
404
408
  (await ff_core_Path.Path_createDirectory$(jsPath_, true, $task));
@@ -669,7 +669,7 @@ if(_1.EField) {
669
669
  const e_ = _1;
670
670
  const recordType_ = ff_compiler_Unification.Unification_freshUnificationVariable(self_.unification_, e_.at_);
671
671
  if(ff_compiler_LspHook.LspHook_isAt(self_.lspHook_, term_.at_)) {
672
- for(let for_o = hookRecordTypeBox_; for_o.Some;) {
672
+ for(const for_o = hookRecordTypeBox_; for_o.Some;) {
673
673
  const _w1 = for_o.value_;
674
674
  _w1.value_ = ff_core_Option.Some(recordType_)
675
675
  break
@@ -1203,7 +1203,7 @@ if(_1.EField) {
1203
1203
  const f_ = _1;
1204
1204
  const recordType_ = ff_compiler_Unification.Unification_freshUnificationVariable(self_.unification_, f_.at_);
1205
1205
  if(ff_compiler_LspHook.LspHook_isAt(self_.lspHook_, term_.at_)) {
1206
- for(let for_o = hookRecordTypeBox_; for_o.Some;) {
1206
+ for(const for_o = hookRecordTypeBox_; for_o.Some;) {
1207
1207
  const _w1 = for_o.value_;
1208
1208
  _w1.value_ = ff_core_Option.Some(recordType_)
1209
1209
  break
@@ -1507,7 +1507,7 @@ const arguments_ = ff_core_List.List_map(ff_core_List.List_zip(e_.arguments_, ar
1507
1507
  {
1508
1508
  const argument_ = _1.first_;
1509
1509
  const t_ = _1.second_;
1510
- for(let for_o = argument_.name_; for_o.Some;) {
1510
+ for(const for_o = argument_.name_; for_o.Some;) {
1511
1511
  const name_ = for_o.value_;
1512
1512
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(argument_.at_, ("Named argument not allowed here: " + name_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
1513
1513
  break
@@ -1522,7 +1522,7 @@ return ff_compiler_Syntax.Argument(_c.at_, _c.name_, ff_compiler_Inference.Infer
1522
1522
  return
1523
1523
  }
1524
1524
  }));
1525
- for(let for_o = ff_core_List.List_first(e_.typeArguments_); for_o.Some;) {
1525
+ for(const for_o = ff_core_List.List_first(e_.typeArguments_); for_o.Some;) {
1526
1526
  const typeArgument_ = for_o.value_;
1527
1527
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(typeArgument_.at_, "Type arguments not allowed here"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
1528
1528
  break
@@ -1889,7 +1889,7 @@ return ff_core_Option.Option_contains(_w1.name_, p_.name_, ff_core_Equal.ff_core
1889
1889
  {
1890
1890
  const at_ = _1.at_;
1891
1891
  const e_ = _1.value_;
1892
- for(let for_o = ff_core_Array.Array_indexWhere(remainingArguments_, ((_w1) => {
1892
+ for(const for_o = ff_core_Array.Array_indexWhere(remainingArguments_, ((_w1) => {
1893
1893
  return ff_core_Option.Option_contains(_w1.name_, p_.name_, ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String)
1894
1894
  })); for_o.Some;) {
1895
1895
  const _w1 = for_o.value_;
@@ -2531,7 +2531,7 @@ if(_1.EField) {
2531
2531
  const e_ = _1;
2532
2532
  const recordType_ = ff_compiler_Unification.Unification_freshUnificationVariable(self_.unification_, e_.at_);
2533
2533
  if(ff_compiler_LspHook.LspHook_isAt(self_.lspHook_, term_.at_)) {
2534
- for(let for_o = hookRecordTypeBox_; for_o.Some;) {
2534
+ for(const for_o = hookRecordTypeBox_; for_o.Some;) {
2535
2535
  const _w1 = for_o.value_;
2536
2536
  _w1.value_ = ff_core_Option.Some(recordType_)
2537
2537
  break
@@ -3065,7 +3065,7 @@ if(_1.EField) {
3065
3065
  const f_ = _1;
3066
3066
  const recordType_ = ff_compiler_Unification.Unification_freshUnificationVariable(self_.unification_, f_.at_);
3067
3067
  if(ff_compiler_LspHook.LspHook_isAt(self_.lspHook_, term_.at_)) {
3068
- for(let for_o = hookRecordTypeBox_; for_o.Some;) {
3068
+ for(const for_o = hookRecordTypeBox_; for_o.Some;) {
3069
3069
  const _w1 = for_o.value_;
3070
3070
  _w1.value_ = ff_core_Option.Some(recordType_)
3071
3071
  break
@@ -3369,7 +3369,7 @@ const arguments_ = ff_core_List.List_map(ff_core_List.List_zip(e_.arguments_, ar
3369
3369
  {
3370
3370
  const argument_ = _1.first_;
3371
3371
  const t_ = _1.second_;
3372
- for(let for_o = argument_.name_; for_o.Some;) {
3372
+ for(const for_o = argument_.name_; for_o.Some;) {
3373
3373
  const name_ = for_o.value_;
3374
3374
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(argument_.at_, ("Named argument not allowed here: " + name_)), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
3375
3375
  break
@@ -3384,7 +3384,7 @@ return ff_compiler_Syntax.Argument(_c.at_, _c.name_, ff_compiler_Inference.Infer
3384
3384
  return
3385
3385
  }
3386
3386
  }));
3387
- for(let for_o = ff_core_List.List_first(e_.typeArguments_); for_o.Some;) {
3387
+ for(const for_o = ff_core_List.List_first(e_.typeArguments_); for_o.Some;) {
3388
3388
  const typeArgument_ = for_o.value_;
3389
3389
  throw Object.assign(new Error(), {ffException: ff_core_Any.toAny_(ff_compiler_Syntax.CompileError(typeArgument_.at_, "Type arguments not allowed here"), ff_compiler_Syntax.ff_core_Any_HasAnyTag$ff_compiler_Syntax_CompileError)})
3390
3390
  break
@@ -3751,7 +3751,7 @@ return ff_core_Option.Option_contains(_w1.name_, p_.name_, ff_core_Equal.ff_core
3751
3751
  {
3752
3752
  const at_ = _1.at_;
3753
3753
  const e_ = _1.value_;
3754
- for(let for_o = ff_core_Array.Array_indexWhere(remainingArguments_, ((_w1) => {
3754
+ for(const for_o = ff_core_Array.Array_indexWhere(remainingArguments_, ((_w1) => {
3755
3755
  return ff_core_Option.Option_contains(_w1.name_, p_.name_, ff_core_Equal.ff_core_Equal_Equal$ff_core_String_String)
3756
3756
  })); for_o.Some;) {
3757
3757
  const _w1 = for_o.value_;