firefly-compiler 0.4.40 → 0.4.48

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 (109) hide show
  1. package/.hintrc +4 -4
  2. package/.vscode/settings.json +4 -4
  3. package/bin/Release.ff +136 -71
  4. package/bin/firefly.mjs +1 -1
  5. package/compiler/Builder.ff +257 -257
  6. package/compiler/Compiler.ff +227 -227
  7. package/compiler/Dependencies.ff +186 -186
  8. package/compiler/DependencyLock.ff +17 -17
  9. package/compiler/JsEmitter.ff +946 -946
  10. package/compiler/LspHook.ff +202 -202
  11. package/compiler/ModuleCache.ff +178 -178
  12. package/compiler/Workspace.ff +88 -88
  13. package/core/.firefly/include/package-lock.json +394 -394
  14. package/core/.firefly/include/package.json +5 -5
  15. package/core/.firefly/include/prepare.sh +1 -1
  16. package/core/.firefly/package.ff +2 -2
  17. package/core/Array.ff +265 -265
  18. package/core/Atomic.ff +64 -64
  19. package/core/Box.ff +7 -7
  20. package/core/BrowserSystem.ff +40 -40
  21. package/core/BuildSystem.ff +148 -148
  22. package/core/Crypto.ff +96 -102
  23. package/core/Equal.ff +36 -36
  24. package/core/HttpClient.ff +87 -87
  25. package/core/JsSystem.ff +69 -69
  26. package/core/Json.ff +434 -434
  27. package/core/List.ff +486 -415
  28. package/core/Lock.ff +144 -144
  29. package/core/NodeSystem.ff +189 -189
  30. package/core/Ordering.ff +161 -161
  31. package/core/Path.ff +401 -401
  32. package/core/Random.ff +134 -134
  33. package/core/RbMap.ff +216 -216
  34. package/core/Show.ff +43 -43
  35. package/core/SourceLocation.ff +68 -68
  36. package/core/Task.ff +141 -141
  37. package/experimental/benchmarks/ListGrab.ff +23 -23
  38. package/experimental/benchmarks/ListGrab.java +55 -55
  39. package/experimental/benchmarks/Pyrotek45.ff +30 -30
  40. package/experimental/benchmarks/Pyrotek45.java +64 -64
  41. package/experimental/bidirectional/Bidi.ff +88 -88
  42. package/experimental/random/Index.ff +53 -53
  43. package/experimental/random/Process.ff +120 -120
  44. package/experimental/random/Scrape.ff +51 -51
  45. package/experimental/random/Symbols.ff +73 -73
  46. package/experimental/random/Tensor.ff +52 -52
  47. package/experimental/random/Units.ff +36 -36
  48. package/experimental/s3/S3TestAuthorizationHeader.ff +38 -38
  49. package/experimental/s3/S3TestPut.ff +15 -15
  50. package/experimental/tests/TestJson.ff +26 -26
  51. package/firefly.sh +0 -0
  52. package/fireflysite/Main.ff +13 -13
  53. package/lsp/.firefly/package.ff +1 -1
  54. package/lsp/CompletionHandler.ff +808 -811
  55. package/lsp/Handler.ff +714 -714
  56. package/lsp/HoverHandler.ff +79 -79
  57. package/lsp/LanguageServer.ff +272 -272
  58. package/lsp/SignatureHelpHandler.ff +55 -55
  59. package/lsp/SymbolHandler.ff +181 -181
  60. package/lsp/TestReferences.ff +16 -16
  61. package/lsp/TestReferencesCase.ff +7 -7
  62. package/lsp/stderr.txt +1 -1
  63. package/lsp/stdin.txt +10 -10
  64. package/lsp/stdout.txt +40 -40
  65. package/lux/.firefly/package.ff +1 -1
  66. package/lux/Css.ff +648 -648
  67. package/lux/CssTest.ff +48 -48
  68. package/lux/Lux.ff +487 -487
  69. package/lux/LuxEvent.ff +116 -116
  70. package/lux/Main.ff +128 -128
  71. package/lux/Main2.ff +144 -144
  72. package/output/js/ff/compiler/Builder.mjs +43 -43
  73. package/output/js/ff/compiler/Dependencies.mjs +3 -3
  74. package/output/js/ff/core/Array.mjs +59 -59
  75. package/output/js/ff/core/Atomic.mjs +36 -36
  76. package/output/js/ff/core/BrowserSystem.mjs +11 -11
  77. package/output/js/ff/core/BuildSystem.mjs +30 -30
  78. package/output/js/ff/core/Crypto.mjs +58 -62
  79. package/output/js/ff/core/HttpClient.mjs +24 -24
  80. package/output/js/ff/core/Json.mjs +147 -147
  81. package/output/js/ff/core/List.mjs +196 -50
  82. package/output/js/ff/core/Lock.mjs +97 -97
  83. package/output/js/ff/core/NodeSystem.mjs +77 -77
  84. package/output/js/ff/core/Ordering.mjs +8 -8
  85. package/output/js/ff/core/Path.mjs +231 -231
  86. package/output/js/ff/core/Random.mjs +56 -56
  87. package/output/js/ff/core/Task.mjs +31 -31
  88. package/package.json +29 -29
  89. package/rpc/.firefly/package.ff +1 -1
  90. package/rpc/Rpc.ff +69 -69
  91. package/s3/.firefly/package.ff +1 -1
  92. package/s3/S3.ff +93 -93
  93. package/unsafejs/UnsafeJs.ff +19 -19
  94. package/vscode/LICENSE.txt +21 -21
  95. package/vscode/Prepublish.ff +15 -15
  96. package/vscode/README.md +16 -16
  97. package/vscode/client/package.json +22 -22
  98. package/vscode/client/src/extension.ts +104 -104
  99. package/vscode/icons/firefly-icon.svg +10 -10
  100. package/vscode/language-configuration.json +61 -61
  101. package/vscode/package-lock.json +3623 -3623
  102. package/vscode/package.json +160 -160
  103. package/vscode/snippets.json +241 -241
  104. package/webserver/.firefly/include/package-lock.json +16 -16
  105. package/webserver/.firefly/include/package.json +5 -5
  106. package/webserver/.firefly/package.ff +2 -2
  107. package/webserver/WebServer.ff +685 -685
  108. package/websocket/.firefly/package.ff +1 -1
  109. package/websocket/WebSocket.ff +131 -131
package/lux/Main2.ff CHANGED
@@ -1,144 +1,144 @@
1
- import HttpServer from ff:httpserver
2
-
3
- import Lux
4
- import LuxEvent
5
-
6
-
7
- mainComponent(lux: Lux, system: BrowserSystem) {
8
- sleepComponent(lux, system)
9
- }
10
-
11
- sleepComponent(lux: Lux, system: BrowserSystem) {
12
- lux.useState(False): start, setStart =>
13
- if(start) {
14
- lux.useSuspense {
15
- lux.div {
16
- lux.div {lux.text("Sleeping")}
17
- lux.button {
18
- lux.text("Cancel")
19
- lux.onClick {event =>
20
- event.preventDefault()
21
- setStart(False)
22
- }
23
- }
24
- }
25
- } {lux =>
26
- trySleep(lux.task, "A")
27
- lux.div {lux.text("Done sleeping")}
28
- }
29
- } else {
30
- lux.button {
31
- lux.text("Start")
32
- lux.onClick {event =>
33
- event.preventDefault()
34
- setStart(True)
35
- }
36
- }
37
- }
38
- }
39
-
40
- ifComponent(lux: Lux, system: BrowserSystem) {
41
- lux.useState(False): start, setStart =>
42
- if(start) {
43
- lux.div {lux.text("Started")}
44
- } else {
45
- lux.button {
46
- lux.text("Start")
47
- lux.onClick {event =>
48
- event.preventDefault()
49
- setStart(True)
50
- }
51
- }
52
- }
53
- }
54
-
55
- rhymeComponent(lux: Lux, system: BrowserSystem) {
56
- lux.div {
57
- lux.useState(0): count, setCount =>
58
- Log.debug("useState(0)")
59
- lux.useState("Ɛ"): text, setText =>
60
- lux.div {
61
- lux.button {
62
- lux.text("Count: " + count)
63
- lux.onClick {event =>
64
- setCount(count + 1)
65
- }
66
- }
67
- lux.div {
68
- lux.useCallback1(setText): setText =>
69
- lux.useLazy1(text): text =>
70
- lux.div {
71
- lux.div {
72
- lux.text("Text: " + text + " -> ")
73
- lux.useSuspense {lux.span {lux.text("Rhyming...")}} {lux =>
74
- lux.span {
75
- lux.text(rhyme(system, text))
76
- }
77
- }
78
- }
79
- lux.input {
80
- lux.setValue(text)
81
- Log.debug("setValue: " + text)
82
- lux.onInput {event =>
83
- Log.debug(text + " -> " + event.text())
84
- setText(event.text())
85
- }
86
- }
87
- }
88
- }
89
- }
90
- }
91
- }
92
-
93
-
94
- rhyme(system: BrowserSystem, text: String): String {
95
- let result = system.httpClient().fetch("https://api.datamuse.com/words?rel_rhy=" + text)
96
- let json = system.js().parseJson(result.readText())
97
- if(json.get(0).isNullOrUndefined()) {"?"} else {json.get(0).get("word").grabString()}
98
- }
99
-
100
- browserMain(system: BrowserSystem): Unit {
101
- Lux.renderById(system, "main") {lux =>
102
- lux.div {
103
- mainComponent(lux, system)
104
- }
105
- }
106
- }
107
-
108
- nodeMain(system: NodeSystem): Unit {
109
- HttpServer.listen(system, "localhost", 8080) {request, response =>
110
- if(request.path() == "/") {
111
- response.setHeader("Content-Type", ["text/html; charset=UTF-8"])
112
- response.writeText("<!doctype html>")
113
- response.writeText("<div id='main'></div>")
114
- response.writeText("<script type='module' src='/js/script/script/Main2.mjs'></script>")
115
- } elseIf {request.path().startsWith("/js/") && !request.path().contains("..")} {
116
- response.setHeader("Content-Type", ["text/javascript; charset=UTF-8"])
117
- response.writeText(system.assets().readText(request.path()))
118
- } elseIf {request.path() == "/chat"} {
119
- system.mainTask().sleep(Duration(request.readText().size().toFloat()))
120
- response.setHeader("Content-Type", ["text/plain; charset=UTF-8"])
121
- response.writeText("Hello there!")
122
- } else {
123
- response.writeStatus(404, Some("Not found"))
124
- }
125
- }
126
- }
127
-
128
- buildMain(system: BuildSystem) {
129
- let browser = system.compileForBrowser("Main2.ff")
130
- let assets = AssetSystem.create().addAssets("/js", browser.assets())
131
- system.setAssets(assets)
132
- }
133
-
134
- trySleep(task: Task, name: String) {
135
- try {
136
- task.sleep(Duration(4.0))
137
- Log.debug("Slept!")
138
- } catchAny {error =>
139
- if(error.name() == "AbortError") {
140
- Log.debug(name + " aborted")
141
- }
142
- error.rethrow()
143
- } grab()
144
- }
1
+ import HttpServer from ff:httpserver
2
+
3
+ import Lux
4
+ import LuxEvent
5
+
6
+
7
+ mainComponent(lux: Lux, system: BrowserSystem) {
8
+ sleepComponent(lux, system)
9
+ }
10
+
11
+ sleepComponent(lux: Lux, system: BrowserSystem) {
12
+ lux.useState(False): start, setStart =>
13
+ if(start) {
14
+ lux.useSuspense {
15
+ lux.div {
16
+ lux.div {lux.text("Sleeping")}
17
+ lux.button {
18
+ lux.text("Cancel")
19
+ lux.onClick {event =>
20
+ event.preventDefault()
21
+ setStart(False)
22
+ }
23
+ }
24
+ }
25
+ } {lux =>
26
+ trySleep(lux.task, "A")
27
+ lux.div {lux.text("Done sleeping")}
28
+ }
29
+ } else {
30
+ lux.button {
31
+ lux.text("Start")
32
+ lux.onClick {event =>
33
+ event.preventDefault()
34
+ setStart(True)
35
+ }
36
+ }
37
+ }
38
+ }
39
+
40
+ ifComponent(lux: Lux, system: BrowserSystem) {
41
+ lux.useState(False): start, setStart =>
42
+ if(start) {
43
+ lux.div {lux.text("Started")}
44
+ } else {
45
+ lux.button {
46
+ lux.text("Start")
47
+ lux.onClick {event =>
48
+ event.preventDefault()
49
+ setStart(True)
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+ rhymeComponent(lux: Lux, system: BrowserSystem) {
56
+ lux.div {
57
+ lux.useState(0): count, setCount =>
58
+ Log.debug("useState(0)")
59
+ lux.useState("Ɛ"): text, setText =>
60
+ lux.div {
61
+ lux.button {
62
+ lux.text("Count: " + count)
63
+ lux.onClick {event =>
64
+ setCount(count + 1)
65
+ }
66
+ }
67
+ lux.div {
68
+ lux.useCallback1(setText): setText =>
69
+ lux.useLazy1(text): text =>
70
+ lux.div {
71
+ lux.div {
72
+ lux.text("Text: " + text + " -> ")
73
+ lux.useSuspense {lux.span {lux.text("Rhyming...")}} {lux =>
74
+ lux.span {
75
+ lux.text(rhyme(system, text))
76
+ }
77
+ }
78
+ }
79
+ lux.input {
80
+ lux.setValue(text)
81
+ Log.debug("setValue: " + text)
82
+ lux.onInput {event =>
83
+ Log.debug(text + " -> " + event.text())
84
+ setText(event.text())
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
91
+ }
92
+
93
+
94
+ rhyme(system: BrowserSystem, text: String): String {
95
+ let result = system.httpClient().fetch("https://api.datamuse.com/words?rel_rhy=" + text)
96
+ let json = system.js().parseJson(result.readText())
97
+ if(json.get(0).isNullOrUndefined()) {"?"} else {json.get(0).get("word").grabString()}
98
+ }
99
+
100
+ browserMain(system: BrowserSystem): Unit {
101
+ Lux.renderById(system, "main") {lux =>
102
+ lux.div {
103
+ mainComponent(lux, system)
104
+ }
105
+ }
106
+ }
107
+
108
+ nodeMain(system: NodeSystem): Unit {
109
+ HttpServer.listen(system, "localhost", 8080) {request, response =>
110
+ if(request.path() == "/") {
111
+ response.setHeader("Content-Type", ["text/html; charset=UTF-8"])
112
+ response.writeText("<!doctype html>")
113
+ response.writeText("<div id='main'></div>")
114
+ response.writeText("<script type='module' src='/js/script/script/Main2.mjs'></script>")
115
+ } elseIf {request.path().startsWith("/js/") && !request.path().contains("..")} {
116
+ response.setHeader("Content-Type", ["text/javascript; charset=UTF-8"])
117
+ response.writeText(system.assets().readText(request.path()))
118
+ } elseIf {request.path() == "/chat"} {
119
+ system.mainTask().sleep(Duration(request.readText().size().toFloat()))
120
+ response.setHeader("Content-Type", ["text/plain; charset=UTF-8"])
121
+ response.writeText("Hello there!")
122
+ } else {
123
+ response.writeStatus(404, Some("Not found"))
124
+ }
125
+ }
126
+ }
127
+
128
+ buildMain(system: BuildSystem) {
129
+ let browser = system.compileForBrowser("Main2.ff")
130
+ let assets = AssetSystem.create().addAssets("/js", browser.assets())
131
+ system.setAssets(assets)
132
+ }
133
+
134
+ trySleep(task: Task, name: String) {
135
+ try {
136
+ task.sleep(Duration(4.0))
137
+ Log.debug("Slept!")
138
+ } catchAny {error =>
139
+ if(error.name() == "AbortError") {
140
+ Log.debug(name + " aborted")
141
+ }
142
+ error.rethrow()
143
+ } grab()
144
+ }
@@ -287,24 +287,24 @@ ff_core_Path.Path_writeStream(p_, makeStream_(), false)
287
287
  return
288
288
  }
289
289
  }));
290
- const json_ = `{
291
- "name": "main",
292
- "bin": {
293
- "firefly-main": "Main.bundle.js"
294
- },
295
- "devDependencies": {
296
- "pkg": "^5.8.0"
297
- },
298
- "pkg": {
299
- "scripts": "Main.bundle.js",
300
- "outputPath": "bin",
301
- "assets": ["../assets/**/*"],
302
- "targets": [
303
- "node18-linux-x64",
304
- "node18-macos-x64",
305
- "node18-win-x64"
306
- ]
307
- }
290
+ const json_ = `{
291
+ "name": "main",
292
+ "bin": {
293
+ "firefly-main": "Main.bundle.js"
294
+ },
295
+ "devDependencies": {
296
+ "pkg": "^5.8.0"
297
+ },
298
+ "pkg": {
299
+ "scripts": "Main.bundle.js",
300
+ "outputPath": "bin",
301
+ "assets": ["../assets/**/*"],
302
+ "targets": [
303
+ "node18-linux-x64",
304
+ "node18-macos-x64",
305
+ "node18-win-x64"
306
+ ]
307
+ }
308
308
  }`;
309
309
  const packageFile_ = ff_core_Path.Path_slash(outputPath_, "executable/package.json");
310
310
  ff_core_Path.Path_writeText(packageFile_, json_);
@@ -481,24 +481,24 @@ const p_ = (await ff_core_Path.Path_slash$(assetOutputPath_, path_, $task));
481
481
  return
482
482
  }
483
483
  }), $task));
484
- const json_ = `{
485
- "name": "main",
486
- "bin": {
487
- "firefly-main": "Main.bundle.js"
488
- },
489
- "devDependencies": {
490
- "pkg": "^5.8.0"
491
- },
492
- "pkg": {
493
- "scripts": "Main.bundle.js",
494
- "outputPath": "bin",
495
- "assets": ["../assets/**/*"],
496
- "targets": [
497
- "node18-linux-x64",
498
- "node18-macos-x64",
499
- "node18-win-x64"
500
- ]
501
- }
484
+ const json_ = `{
485
+ "name": "main",
486
+ "bin": {
487
+ "firefly-main": "Main.bundle.js"
488
+ },
489
+ "devDependencies": {
490
+ "pkg": "^5.8.0"
491
+ },
492
+ "pkg": {
493
+ "scripts": "Main.bundle.js",
494
+ "outputPath": "bin",
495
+ "assets": ["../assets/**/*"],
496
+ "targets": [
497
+ "node18-linux-x64",
498
+ "node18-macos-x64",
499
+ "node18-win-x64"
500
+ ]
501
+ }
502
502
  }`;
503
503
  const packageFile_ = (await ff_core_Path.Path_slash$(outputPath_, "executable/package.json", $task));
504
504
  (await ff_core_Path.Path_writeText$(packageFile_, json_, $task));
@@ -506,13 +506,13 @@ const packageFile_ = (await ff_core_Path.Path_slash$(outputPath_, "executable/pa
506
506
  }
507
507
 
508
508
  export async function internalCallPkg_$(self_, packageFile_, outputPath_, targets_, $task) {
509
-
510
- const pkg = import$0
511
- return await pkg.exec([
512
- packageFile_,
513
- '--out-path', outputPath_,
514
- '--target', targets_.join(',')
515
- ])
509
+
510
+ const pkg = import$0
511
+ return await pkg.exec([
512
+ packageFile_,
513
+ '--out-path', outputPath_,
514
+ '--target', targets_.join(',')
515
+ ])
516
516
 
517
517
  }
518
518
 
@@ -187,9 +187,9 @@ ff_core_Core.panic_(((("Dependency declaration and package declaration disagree
187
187
  }
188
188
 
189
189
  export async function internalExtractTarGz_$(tarGzPath_, path_, $task) {
190
-
191
- const tar = import$0
192
- await tar.extract({file: tarGzPath_, cwd: path_, strict: true})
190
+
191
+ const tar = import$0
192
+ await tar.extract({file: tarGzPath_, cwd: path_, strict: true})
193
193
 
194
194
  }
195
195
 
@@ -100,20 +100,20 @@ return {array: []}
100
100
  }
101
101
 
102
102
  export function fill_(size_, value_) {
103
-
104
- return {array: new Array(size_).fill(value_)};
103
+
104
+ return {array: new Array(size_).fill(value_)};
105
105
 
106
106
  }
107
107
 
108
108
  export function fillBy_(size_, body_) {
109
-
110
- return {array: Array.from({length: size_}, (_, i) => body_(i))};
109
+
110
+ return {array: Array.from({length: size_}, (_, i) => body_(i))};
111
111
 
112
112
  }
113
113
 
114
114
  export function range_(size_) {
115
-
116
- return {array: Array.from({length: size_}, (_, i) => i)};
115
+
116
+ return {array: Array.from({length: size_}, (_, i) => i)};
117
117
 
118
118
  }
119
119
 
@@ -146,8 +146,8 @@ j_ += 1
146
146
  }
147
147
 
148
148
  export function internalGrab_(self_, index_) {
149
-
150
- return index_ < 0 || index_ >= self_.array.length ? ff_core_Try.internalThrowGrabException_() : self_.array[index_];
149
+
150
+ return index_ < 0 || index_ >= self_.array.length ? ff_core_Try.internalThrowGrabException_() : self_.array[index_];
151
151
 
152
152
  }
153
153
 
@@ -208,16 +208,16 @@ return self_.array.length
208
208
  }
209
209
 
210
210
  export function Array_get(self_, index_) {
211
-
212
- return index_ >= 0 && index_ < self_.array.length
213
- ? ff_core_Option.Some(self_.array[index_])
214
- : ff_core_Option.None()
211
+
212
+ return index_ >= 0 && index_ < self_.array.length
213
+ ? ff_core_Option.Some(self_.array[index_])
214
+ : ff_core_Option.None()
215
215
 
216
216
  }
217
217
 
218
218
  export function Array_grab(self_, index_) {
219
-
220
- return self_.array[index_] ?? internalGrab_(self_, index_);
219
+
220
+ return self_.array[index_] ?? internalGrab_(self_, index_);
221
221
 
222
222
  }
223
223
 
@@ -230,18 +230,18 @@ return ff_core_Array.Array_grab(self_, (ff_core_Array.Array_size(self_) - 1))
230
230
  }
231
231
 
232
232
  export function Array_first(self_) {
233
-
234
- return self_.array.length > 0
235
- ? ff_core_Option.Some(self_.array[0])
236
- : ff_core_Option.None()
233
+
234
+ return self_.array.length > 0
235
+ ? ff_core_Option.Some(self_.array[0])
236
+ : ff_core_Option.None()
237
237
 
238
238
  }
239
239
 
240
240
  export function Array_last(self_) {
241
-
242
- return self_.array.length > 0
243
- ? ff_core_Option.Some(self_.array[self_.array.length - 1])
244
- : ff_core_Option.None()
241
+
242
+ return self_.array.length > 0
243
+ ? ff_core_Option.Some(self_.array[self_.array.length - 1])
244
+ : ff_core_Option.None()
245
245
 
246
246
  }
247
247
 
@@ -258,70 +258,70 @@ self_.array.push(...value_)
258
258
  }
259
259
 
260
260
  export function Array_pop(self_) {
261
-
262
- return self_.array.length > 0
263
- ? ff_core_Option.Some(self_.array.pop())
264
- : ff_core_Option.None()
261
+
262
+ return self_.array.length > 0
263
+ ? ff_core_Option.Some(self_.array.pop())
264
+ : ff_core_Option.None()
265
265
 
266
266
  }
267
267
 
268
268
  export function Array_set(self_, index_, value_) {
269
-
270
- if(index_ < 0 || index_ > self_.array.length) {
271
- ff_core_Try.internalThrowGrabException_()
272
- }
273
- self_.array[index_] = value_
269
+
270
+ if(index_ < 0 || index_ > self_.array.length) {
271
+ ff_core_Try.internalThrowGrabException_()
272
+ }
273
+ self_.array[index_] = value_
274
274
 
275
275
  }
276
276
 
277
277
  export function Array_modify(self_, index_, body_) {
278
-
279
- if(index_ < 0 || index_ >= self_.array.length) {
280
- ff_core_Try.internalThrowGrabException_()
281
- }
282
- self_.array[index_] = body_(self_.array[index_])
278
+
279
+ if(index_ < 0 || index_ >= self_.array.length) {
280
+ ff_core_Try.internalThrowGrabException_()
281
+ }
282
+ self_.array[index_] = body_(self_.array[index_])
283
283
 
284
284
  }
285
285
 
286
286
  export function Array_fill(self_, value_, start_ = 0, end_ = 9007199254740991) {
287
-
288
- self_.array.fill(value_, start_, end_);
287
+
288
+ self_.array.fill(value_, start_, end_);
289
289
 
290
290
  }
291
291
 
292
292
  export function Array_copy(self_, target_, start_, end_) {
293
-
294
- self_.array.copyWithin(target_, start_, end_);
293
+
294
+ self_.array.copyWithin(target_, start_, end_);
295
295
 
296
296
  }
297
297
 
298
298
  export function Array_delete(self_, start_, deleteCount_) {
299
-
300
- self_.array.splice(start_, deleteCount_);
299
+
300
+ self_.array.splice(start_, deleteCount_);
301
301
 
302
302
  }
303
303
 
304
304
  export function Array_insert(self_, start_, value_, deleteCount_ = 0) {
305
-
306
- self_.array.splice(start_, deleteCount_, value_);
305
+
306
+ self_.array.splice(start_, deleteCount_, value_);
307
307
 
308
308
  }
309
309
 
310
310
  export function Array_insertArray(self_, start_, value_, deleteCount_ = 0) {
311
-
312
- self_.array.splice(start_, deleteCount_, ...value_.array);
311
+
312
+ self_.array.splice(start_, deleteCount_, ...value_.array);
313
313
 
314
314
  }
315
315
 
316
316
  export function Array_insertList(self_, start_, value_, deleteCount_ = 0) {
317
-
318
- self_.array.splice(start_, deleteCount_, ...value_);
317
+
318
+ self_.array.splice(start_, deleteCount_, ...value_);
319
319
 
320
320
  }
321
321
 
322
322
  export function Array_each(self_, body_) {
323
-
324
- return self_.array.forEach(body_);
323
+
324
+ return self_.array.forEach(body_);
325
325
 
326
326
  }
327
327
 
@@ -452,11 +452,11 @@ throw new Error('Function Array_set is missing on this target in async context.'
452
452
  }
453
453
 
454
454
  export async function Array_modify$(self_, index_, body_, $task) {
455
-
456
- if(index_ < 0 || index_ >= self_.array.length) {
457
- ff_core_Try.internalThrowGrabException_()
458
- }
459
- self_.array[index_] = await body_(self_.array[index_], $task)
455
+
456
+ if(index_ < 0 || index_ >= self_.array.length) {
457
+ ff_core_Try.internalThrowGrabException_()
458
+ }
459
+ self_.array[index_] = await body_(self_.array[index_], $task)
460
460
 
461
461
  }
462
462
 
@@ -485,10 +485,10 @@ throw new Error('Function Array_insertList is missing on this target in async co
485
485
  }
486
486
 
487
487
  export async function Array_each$(self_, body_, $task) {
488
-
489
- for(let i = 0; i < self_.array.length; i++) {
490
- await body_(self_.array[i], $task)
491
- }
488
+
489
+ for(let i = 0; i < self_.array.length; i++) {
490
+ await body_(self_.array[i], $task)
491
+ }
492
492
 
493
493
  }
494
494