firefly-compiler 0.5.39 → 0.5.40

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 (129) hide show
  1. package/.hintrc +4 -4
  2. package/.vscode/settings.json +4 -4
  3. package/bin/Release.ff +157 -157
  4. package/bin/firefly.mjs +1 -1
  5. package/compiler/Builder.ff +275 -275
  6. package/compiler/Compiler.ff +234 -234
  7. package/compiler/Dependencies.ff +186 -186
  8. package/compiler/DependencyLock.ff +17 -17
  9. package/compiler/JsEmitter.ff +1437 -1437
  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.json +5 -5
  14. package/core/.firefly/package.ff +2 -2
  15. package/core/Any.ff +25 -25
  16. package/core/Array.ff +298 -298
  17. package/core/Atomic.ff +63 -63
  18. package/core/Box.ff +7 -7
  19. package/core/BrowserSystem.ff +40 -40
  20. package/core/BuildSystem.ff +156 -156
  21. package/core/Crypto.ff +94 -94
  22. package/core/Equal.ff +41 -41
  23. package/core/Error.ff +25 -25
  24. package/core/HttpClient.ff +142 -142
  25. package/core/Instant.ff +24 -24
  26. package/core/Js.ff +305 -305
  27. package/core/JsSystem.ff +135 -135
  28. package/core/Json.ff +423 -423
  29. package/core/List.ff +482 -482
  30. package/core/Lock.ff +108 -108
  31. package/core/NodeSystem.ff +198 -198
  32. package/core/Ordering.ff +160 -160
  33. package/core/Path.ff +377 -378
  34. package/core/Queue.ff +90 -90
  35. package/core/Random.ff +140 -140
  36. package/core/RbMap.ff +216 -216
  37. package/core/Show.ff +44 -44
  38. package/core/SourceLocation.ff +68 -68
  39. package/core/Task.ff +165 -165
  40. package/experimental/benchmarks/ListGrab.ff +23 -23
  41. package/experimental/benchmarks/ListGrab.java +55 -55
  42. package/experimental/benchmarks/Pyrotek45.ff +30 -30
  43. package/experimental/benchmarks/Pyrotek45.java +64 -64
  44. package/experimental/bidirectional/Bidi.ff +88 -88
  45. package/experimental/lines/Main.ff +40 -40
  46. package/experimental/random/Index.ff +53 -53
  47. package/experimental/random/Process.ff +120 -120
  48. package/experimental/random/RunLength.ff +65 -65
  49. package/experimental/random/Scrape.ff +51 -51
  50. package/experimental/random/Symbols.ff +73 -73
  51. package/experimental/random/Tensor.ff +52 -52
  52. package/experimental/random/Units.ff +36 -36
  53. package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
  54. package/experimental/s3/S3TestPut.ff +16 -16
  55. package/experimental/tests/TestJson.ff +26 -26
  56. package/firefly.sh +0 -0
  57. package/fireflysite/.firefly/package.ff +4 -4
  58. package/fireflysite/CommunityOverview.ff +20 -20
  59. package/fireflysite/CountingButtonDemo.ff +58 -58
  60. package/fireflysite/DocumentParser.ff +325 -325
  61. package/fireflysite/ExamplesOverview.ff +40 -40
  62. package/fireflysite/FrontPage.ff +344 -344
  63. package/fireflysite/GettingStarted.ff +45 -45
  64. package/fireflysite/Guide.ff +456 -456
  65. package/fireflysite/Main.ff +163 -163
  66. package/fireflysite/MatchingPasswordsDemo.ff +82 -82
  67. package/fireflysite/PackagesOverview.ff +49 -49
  68. package/fireflysite/PostgresqlDemo.ff +34 -34
  69. package/fireflysite/ReferenceAll.ff +18 -18
  70. package/fireflysite/ReferenceIntroduction.ff +11 -11
  71. package/fireflysite/Styles.ff +567 -567
  72. package/fireflysite/Test.ff +121 -121
  73. package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
  74. package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
  75. package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
  76. package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
  77. package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -235
  78. package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
  79. package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
  80. package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
  81. package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
  82. package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
  83. package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
  84. package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
  85. package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
  86. package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
  87. package/lsp/.firefly/package.ff +1 -1
  88. package/lsp/CompletionHandler.ff +827 -827
  89. package/lsp/Handler.ff +714 -714
  90. package/lsp/HoverHandler.ff +79 -79
  91. package/lsp/LanguageServer.ff +272 -272
  92. package/lsp/SignatureHelpHandler.ff +55 -55
  93. package/lsp/SymbolHandler.ff +181 -181
  94. package/lsp/TestReferences.ff +17 -17
  95. package/lsp/TestReferencesCase.ff +7 -7
  96. package/lsp/stderr.txt +1 -1
  97. package/lsp/stdout.txt +34 -34
  98. package/lux/.firefly/package.ff +1 -1
  99. package/lux/Css.ff +648 -648
  100. package/lux/CssTest.ff +48 -48
  101. package/lux/Lux.ff +608 -608
  102. package/lux/LuxEvent.ff +79 -79
  103. package/lux/Main.ff +123 -123
  104. package/lux/Main2.ff +143 -143
  105. package/lux/TestDry.ff +28 -28
  106. package/output/js/ff/compiler/Builder.mjs +36 -36
  107. package/output/js/ff/core/Path.mjs +0 -2
  108. package/package.json +1 -1
  109. package/rpc/.firefly/package.ff +1 -1
  110. package/rpc/Rpc.ff +70 -70
  111. package/s3/.firefly/package.ff +1 -1
  112. package/s3/S3.ff +92 -92
  113. package/vscode/LICENSE.txt +21 -21
  114. package/vscode/Prepublish.ff +15 -15
  115. package/vscode/README.md +16 -16
  116. package/vscode/client/package-lock.json +544 -544
  117. package/vscode/client/package.json +22 -22
  118. package/vscode/client/src/extension.ts +104 -104
  119. package/vscode/icons/firefly-icon.svg +10 -10
  120. package/vscode/language-configuration.json +61 -61
  121. package/vscode/package-lock.json +3623 -3623
  122. package/vscode/package.json +1 -1
  123. package/vscode/snippets.json +241 -241
  124. package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
  125. package/webserver/.firefly/include/package.json +5 -5
  126. package/webserver/.firefly/package.ff +2 -2
  127. package/webserver/WebServer.ff +647 -647
  128. package/websocket/.firefly/package.ff +1 -1
  129. package/websocket/WebSocket.ff +100 -100
package/core/JsSystem.ff CHANGED
@@ -1,135 +1,135 @@
1
- class JsSystem {}
2
-
3
- // The compiler may decide to access symbols by name instead of going through globalThis
4
-
5
- extend self: JsSystem {
6
-
7
- globalThis(): JsValue {
8
- Js.globalThis()
9
- }
10
-
11
- get(key: String): JsValue {
12
- Js.get(key)
13
- }
14
-
15
- set[V: IsJsValue](key: String, value: V): Unit {
16
- Js.set(key, value)
17
- }
18
-
19
- increment[V: IsJsValue](key: String, value: V): Unit {
20
- Js.increment(key, value)
21
- }
22
-
23
- decrement[V: IsJsValue](key: String, value: V): Unit {
24
- Js.decrement(key, value)
25
- }
26
-
27
- call0(name: String): JsValue {
28
- Js.call0(name)
29
- }
30
-
31
- call1[A1: IsJsValue](name: String, a1: A1): JsValue {
32
- Js.call1(name, a1)
33
- }
34
-
35
- call2[A1: IsJsValue, A2: IsJsValue](name: String, a1: A1, a2: A2): JsValue {
36
- Js.call2(name, a1, a2)
37
- }
38
-
39
- call3[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue](name: String, a1: A1, a2: A2, a3: A3): JsValue {
40
- Js.call3(name, a1, a2, a3)
41
- }
42
-
43
- call4[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4): JsValue {
44
- Js.call4(name, a1, a2, a3, a4)
45
- }
46
-
47
- call5[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): JsValue {
48
- Js.call5(name, a1, a2, a3, a4, a5)
49
- }
50
-
51
- call6[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): JsValue {
52
- Js.call6(name, a1, a2, a3, a4, a5, a6)
53
- }
54
-
55
- call7[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): JsValue {
56
- Js.call7(name, a1, a2, a3, a4, a5, a6, a7)
57
- }
58
-
59
- call8[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue, A8: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8): JsValue {
60
- Js.call8(name, a1, a2, a3, a4, a5, a6, a7, a8)
61
- }
62
-
63
- call9[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue, A8: IsJsValue, A9: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9): JsValue {
64
- Js.call9(name, a1, a2, a3, a4, a5, a6, a7, a8, a9)
65
- }
66
-
67
- null(): JsValue {
68
- Js.null()
69
- }
70
-
71
- undefined(): JsValue {
72
- Js.undefined()
73
- }
74
-
75
- value[T: IsJsValue](jsValue: T): JsValue {
76
- Js.value(jsValue)
77
- }
78
-
79
- object(): JsValue {
80
- Js.object()
81
- }
82
-
83
- new0(): JsValue {
84
- Js.new0()
85
- }
86
-
87
- array(values: List[JsValue]): JsValue {
88
- Js.array(values)
89
- }
90
-
91
- json(value: Json): JsValue {
92
- Js.json(value)
93
- }
94
-
95
- function0[R](body: () => R): JsValue {
96
- Js.function0(body)
97
- }
98
-
99
- function1[R](body: JsValue => R): JsValue {
100
- Js.function1(body)
101
- }
102
-
103
- function2[R](body: (JsValue, JsValue) => R): JsValue {
104
- Js.function2(body)
105
- }
106
-
107
- function3[R](body: (JsValue, JsValue, JsValue) => R): JsValue {
108
- Js.function3(body)
109
- }
110
-
111
- function4[R](body: (JsValue, JsValue, JsValue, JsValue) => R): JsValue {
112
- Js.function4(body)
113
- }
114
-
115
- function5[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
116
- Js.function5(body)
117
- }
118
-
119
- function6[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
120
- Js.function6(body)
121
- }
122
-
123
- function7[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
124
- Js.function7(body)
125
- }
126
-
127
- function8[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
128
- Js.function8(body)
129
- }
130
-
131
- function9[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
132
- Js.function9(body)
133
- }
134
-
135
- }
1
+ class JsSystem {}
2
+
3
+ // The compiler may decide to access symbols by name instead of going through globalThis
4
+
5
+ extend self: JsSystem {
6
+
7
+ globalThis(): JsValue {
8
+ Js.globalThis()
9
+ }
10
+
11
+ get(key: String): JsValue {
12
+ Js.get(key)
13
+ }
14
+
15
+ set[V: IsJsValue](key: String, value: V): Unit {
16
+ Js.set(key, value)
17
+ }
18
+
19
+ increment[V: IsJsValue](key: String, value: V): Unit {
20
+ Js.increment(key, value)
21
+ }
22
+
23
+ decrement[V: IsJsValue](key: String, value: V): Unit {
24
+ Js.decrement(key, value)
25
+ }
26
+
27
+ call0(name: String): JsValue {
28
+ Js.call0(name)
29
+ }
30
+
31
+ call1[A1: IsJsValue](name: String, a1: A1): JsValue {
32
+ Js.call1(name, a1)
33
+ }
34
+
35
+ call2[A1: IsJsValue, A2: IsJsValue](name: String, a1: A1, a2: A2): JsValue {
36
+ Js.call2(name, a1, a2)
37
+ }
38
+
39
+ call3[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue](name: String, a1: A1, a2: A2, a3: A3): JsValue {
40
+ Js.call3(name, a1, a2, a3)
41
+ }
42
+
43
+ call4[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4): JsValue {
44
+ Js.call4(name, a1, a2, a3, a4)
45
+ }
46
+
47
+ call5[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5): JsValue {
48
+ Js.call5(name, a1, a2, a3, a4, a5)
49
+ }
50
+
51
+ call6[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6): JsValue {
52
+ Js.call6(name, a1, a2, a3, a4, a5, a6)
53
+ }
54
+
55
+ call7[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7): JsValue {
56
+ Js.call7(name, a1, a2, a3, a4, a5, a6, a7)
57
+ }
58
+
59
+ call8[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue, A8: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8): JsValue {
60
+ Js.call8(name, a1, a2, a3, a4, a5, a6, a7, a8)
61
+ }
62
+
63
+ call9[A1: IsJsValue, A2: IsJsValue, A3: IsJsValue, A4: IsJsValue, A5: IsJsValue, A6: IsJsValue, A7: IsJsValue, A8: IsJsValue, A9: IsJsValue](name: String, a1: A1, a2: A2, a3: A3, a4: A4, a5: A5, a6: A6, a7: A7, a8: A8, a9: A9): JsValue {
64
+ Js.call9(name, a1, a2, a3, a4, a5, a6, a7, a8, a9)
65
+ }
66
+
67
+ null(): JsValue {
68
+ Js.null()
69
+ }
70
+
71
+ undefined(): JsValue {
72
+ Js.undefined()
73
+ }
74
+
75
+ value[T: IsJsValue](jsValue: T): JsValue {
76
+ Js.value(jsValue)
77
+ }
78
+
79
+ object(): JsValue {
80
+ Js.object()
81
+ }
82
+
83
+ new0(): JsValue {
84
+ Js.new0()
85
+ }
86
+
87
+ array(values: List[JsValue]): JsValue {
88
+ Js.array(values)
89
+ }
90
+
91
+ json(value: Json): JsValue {
92
+ Js.json(value)
93
+ }
94
+
95
+ function0[R](body: () => R): JsValue {
96
+ Js.function0(body)
97
+ }
98
+
99
+ function1[R](body: JsValue => R): JsValue {
100
+ Js.function1(body)
101
+ }
102
+
103
+ function2[R](body: (JsValue, JsValue) => R): JsValue {
104
+ Js.function2(body)
105
+ }
106
+
107
+ function3[R](body: (JsValue, JsValue, JsValue) => R): JsValue {
108
+ Js.function3(body)
109
+ }
110
+
111
+ function4[R](body: (JsValue, JsValue, JsValue, JsValue) => R): JsValue {
112
+ Js.function4(body)
113
+ }
114
+
115
+ function5[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
116
+ Js.function5(body)
117
+ }
118
+
119
+ function6[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
120
+ Js.function6(body)
121
+ }
122
+
123
+ function7[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
124
+ Js.function7(body)
125
+ }
126
+
127
+ function8[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
128
+ Js.function8(body)
129
+ }
130
+
131
+ function9[R](body: (JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue, JsValue) => R): JsValue {
132
+ Js.function9(body)
133
+ }
134
+
135
+ }