firefly-compiler 0.5.35 → 0.5.36
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.hintrc +4 -4
- package/.vscode/settings.json +4 -4
- package/bin/Release.ff +157 -154
- package/bin/firefly.mjs +1 -1
- package/compiler/Builder.ff +275 -277
- package/compiler/Compiler.ff +234 -233
- package/compiler/Dependencies.ff +186 -187
- package/compiler/DependencyLock.ff +17 -17
- package/compiler/Deriver.ff +23 -31
- package/compiler/Dictionaries.ff +1 -1
- package/compiler/Inference.ff +43 -20
- package/compiler/JsEmitter.ff +1437 -1282
- package/compiler/LspHook.ff +202 -202
- package/compiler/Main.ff +25 -24
- package/compiler/ModuleCache.ff +178 -178
- package/compiler/Parser.ff +36 -109
- package/compiler/Resolver.ff +5 -8
- package/compiler/Substitution.ff +1 -1
- package/compiler/Syntax.ff +1 -16
- package/compiler/Token.ff +9 -0
- package/compiler/Tokenizer.ff +4 -0
- package/compiler/Workspace.ff +88 -88
- package/core/.firefly/include/package.json +5 -5
- package/core/.firefly/package.ff +2 -2
- package/core/Any.ff +26 -30
- package/core/Array.ff +298 -265
- package/core/Atomic.ff +63 -64
- package/core/Box.ff +7 -7
- package/core/BrowserSystem.ff +40 -40
- package/core/Buffer.ff +185 -152
- package/core/BuildSystem.ff +156 -148
- package/core/Channel.ff +95 -92
- package/core/Char.ff +3 -2
- package/core/Core.ff +16 -23
- package/core/Crypto.ff +94 -96
- package/core/Equal.ff +41 -36
- package/core/Error.ff +15 -10
- package/core/FileHandle.ff +45 -37
- package/core/Float.ff +176 -200
- package/core/HttpClient.ff +142 -148
- package/core/Instant.ff +6 -8
- package/core/Int.ff +40 -24
- package/core/IntMap.ff +61 -39
- package/core/Js.ff +305 -0
- package/core/JsSystem.ff +135 -114
- package/core/JsValue.ff +303 -159
- package/core/Json.ff +423 -443
- package/core/List.ff +482 -486
- package/core/Lock.ff +108 -144
- package/core/Log.ff +25 -14
- package/core/NodeSystem.ff +198 -191
- package/core/Ordering.ff +160 -161
- package/core/Path.ff +377 -409
- package/core/Queue.ff +90 -0
- package/core/Random.ff +140 -134
- package/core/RbMap.ff +216 -216
- package/core/Serializable.ff +16 -13
- package/core/Show.ff +44 -43
- package/core/SourceLocation.ff +68 -68
- package/core/Stream.ff +1 -1
- package/core/String.ff +224 -202
- package/core/StringMap.ff +58 -36
- package/core/Task.ff +165 -149
- package/experimental/benchmarks/ListGrab.ff +23 -23
- package/experimental/benchmarks/ListGrab.java +55 -55
- package/experimental/benchmarks/Pyrotek45.ff +30 -30
- package/experimental/benchmarks/Pyrotek45.java +64 -64
- package/experimental/bidirectional/Bidi.ff +88 -88
- package/experimental/lines/Main.ff +40 -0
- package/experimental/random/Index.ff +53 -53
- package/experimental/random/Process.ff +120 -120
- package/experimental/random/RunLength.ff +65 -65
- package/experimental/random/Scrape.ff +51 -51
- package/experimental/random/Symbols.ff +73 -73
- package/experimental/random/Tensor.ff +52 -52
- package/experimental/random/Units.ff +36 -36
- package/experimental/s3/S3TestAuthorizationHeader.ff +39 -39
- package/experimental/s3/S3TestPut.ff +16 -16
- package/experimental/tests/TestJson.ff +26 -26
- package/firefly.sh +0 -0
- package/fireflysite/.firefly/package.ff +4 -4
- package/fireflysite/CommunityOverview.ff +20 -20
- package/fireflysite/CountingButtonDemo.ff +58 -58
- package/fireflysite/DocumentParser.ff +325 -331
- package/fireflysite/ExamplesOverview.ff +40 -40
- package/fireflysite/FrontPage.ff +344 -344
- package/fireflysite/GettingStarted.ff +45 -45
- package/fireflysite/Guide.ff +456 -456
- package/fireflysite/Main.ff +163 -152
- package/fireflysite/MatchingPasswordsDemo.ff +82 -82
- package/fireflysite/PackagesOverview.ff +49 -49
- package/fireflysite/PostgresqlDemo.ff +34 -34
- package/fireflysite/ReferenceAll.ff +18 -18
- package/fireflysite/ReferenceIntroduction.ff +11 -11
- package/fireflysite/Styles.ff +567 -567
- package/fireflysite/Test.ff +121 -62
- package/fireflysite/assets/markdown/reference/BaseTypes.md +209 -209
- package/fireflysite/assets/markdown/reference/EmittedJavascript.md +65 -65
- package/fireflysite/assets/markdown/reference/Exceptions.md +101 -101
- package/fireflysite/assets/markdown/reference/FunctionsAndMethods.md +364 -364
- package/fireflysite/assets/markdown/reference/JavascriptInterop.md +235 -172
- package/fireflysite/assets/markdown/reference/ModulesAndPackages.md +162 -162
- package/fireflysite/assets/markdown/reference/OldStructuredConcurrency.md +48 -48
- package/fireflysite/assets/markdown/reference/PatternMatching.md +224 -224
- package/fireflysite/assets/markdown/reference/StatementsAndExpressions.md +86 -86
- package/fireflysite/assets/markdown/reference/StructuredConcurrency.md +99 -99
- package/fireflysite/assets/markdown/reference/TraitsAndInstances.md +100 -100
- package/fireflysite/assets/markdown/reference/UserDefinedTypes.md +184 -184
- package/fireflysite/assets/markdown/scratch/ControlFlow.md +136 -136
- package/fireflysite/assets/markdown/scratch/Toc.md +40 -40
- package/lsp/.firefly/package.ff +1 -1
- package/lsp/CompletionHandler.ff +827 -827
- package/lsp/Handler.ff +714 -714
- package/lsp/HoverHandler.ff +79 -79
- package/lsp/LanguageServer.ff +272 -272
- package/lsp/SignatureHelpHandler.ff +55 -55
- package/lsp/SymbolHandler.ff +181 -181
- package/lsp/TestReferences.ff +17 -17
- package/lsp/TestReferencesCase.ff +7 -7
- package/lsp/stderr.txt +1 -1
- package/lsp/stdout.txt +34 -34
- package/lux/.firefly/package.ff +1 -1
- package/lux/Css.ff +648 -648
- package/lux/CssTest.ff +48 -48
- package/lux/Lux.ff +608 -617
- package/lux/LuxEvent.ff +79 -116
- package/lux/Main.ff +123 -123
- package/lux/Main2.ff +143 -143
- package/lux/TestDry.ff +28 -28
- package/output/js/ff/compiler/Builder.mjs +72 -71
- package/output/js/ff/compiler/Compiler.mjs +19 -13
- package/output/js/ff/compiler/Dependencies.mjs +8 -7
- package/output/js/ff/compiler/DependencyLock.mjs +6 -4
- package/output/js/ff/compiler/Deriver.mjs +26 -24
- package/output/js/ff/compiler/Dictionaries.mjs +14 -18
- package/output/js/ff/compiler/Environment.mjs +6 -4
- package/output/js/ff/compiler/Inference.mjs +238 -164
- package/output/js/ff/compiler/JsEmitter.mjs +1160 -350
- package/output/js/ff/compiler/JsImporter.mjs +20 -18
- package/output/js/ff/compiler/LspHook.mjs +12 -10
- package/output/js/ff/compiler/Main.mjs +61 -41
- package/output/js/ff/compiler/ModuleCache.mjs +10 -8
- package/output/js/ff/compiler/Parser.mjs +153 -669
- package/output/js/ff/compiler/Patterns.mjs +12 -10
- package/output/js/ff/compiler/Resolver.mjs +52 -78
- package/output/js/ff/compiler/Substitution.mjs +12 -16
- package/output/js/ff/compiler/Syntax.mjs +50 -341
- package/output/js/ff/compiler/Token.mjs +126 -4
- package/output/js/ff/compiler/Tokenizer.mjs +62 -52
- package/output/js/ff/compiler/Unification.mjs +74 -90
- package/output/js/ff/compiler/Wildcards.mjs +4 -2
- package/output/js/ff/compiler/Workspace.mjs +26 -20
- package/output/js/ff/core/Any.mjs +20 -20
- package/output/js/ff/core/Array.mjs +268 -175
- package/output/js/ff/core/AssetSystem.mjs +8 -6
- package/output/js/ff/core/Atomic.mjs +84 -52
- package/output/js/ff/core/Bool.mjs +6 -4
- package/output/js/ff/core/BrowserSystem.mjs +38 -29
- package/output/js/ff/core/Buffer.mjs +285 -133
- package/output/js/ff/core/BuildSystem.mjs +36 -56
- package/output/js/ff/core/Channel.mjs +250 -97
- package/output/js/ff/core/Char.mjs +5 -3
- package/output/js/ff/core/Core.mjs +28 -34
- package/output/js/ff/core/Crypto.mjs +30 -52
- package/output/js/ff/core/Duration.mjs +4 -2
- package/output/js/ff/core/Equal.mjs +14 -12
- package/output/js/ff/core/Error.mjs +17 -11
- package/output/js/ff/core/FileHandle.mjs +76 -38
- package/output/js/ff/core/Float.mjs +92 -160
- package/output/js/ff/core/HttpClient.mjs +208 -76
- package/output/js/ff/core/Instant.mjs +8 -10
- package/output/js/ff/core/Int.mjs +36 -26
- package/output/js/ff/core/IntMap.mjs +79 -33
- package/output/js/ff/core/Js.mjs +751 -0
- package/output/js/ff/core/JsSystem.mjs +54 -60
- package/output/js/ff/core/JsValue.mjs +294 -143
- package/output/js/ff/core/Json.mjs +443 -253
- package/output/js/ff/core/List.mjs +262 -214
- package/output/js/ff/core/Lock.mjs +156 -125
- package/output/js/ff/core/Log.mjs +20 -10
- package/output/js/ff/core/Map.mjs +10 -8
- package/output/js/ff/core/NodeSystem.mjs +189 -123
- package/output/js/ff/core/Nothing.mjs +4 -2
- package/output/js/ff/core/Option.mjs +40 -38
- package/output/js/ff/core/Ordering.mjs +26 -20
- package/output/js/ff/core/Pair.mjs +4 -2
- package/output/js/ff/core/Path.mjs +517 -315
- package/output/js/ff/core/Queue.mjs +306 -0
- package/output/js/ff/core/Random.mjs +141 -77
- package/output/js/ff/core/RbMap.mjs +36 -34
- package/output/js/ff/core/Serializable.mjs +44 -28
- package/output/js/ff/core/Set.mjs +6 -4
- package/output/js/ff/core/Show.mjs +8 -6
- package/output/js/ff/core/SourceLocation.mjs +4 -2
- package/output/js/ff/core/Stream.mjs +30 -50
- package/output/js/ff/core/String.mjs +263 -172
- package/output/js/ff/core/StringMap.mjs +77 -31
- package/output/js/ff/core/Task.mjs +91 -76
- package/output/js/ff/core/Try.mjs +20 -18
- package/output/js/ff/core/Unit.mjs +4 -2
- package/package.json +1 -1
- package/postgresql/Pg.ff +53 -59
- package/rpc/.firefly/package.ff +1 -1
- package/rpc/Rpc.ff +70 -70
- package/s3/.firefly/package.ff +1 -1
- package/s3/S3.ff +92 -94
- package/vscode/LICENSE.txt +21 -21
- package/vscode/Prepublish.ff +15 -15
- package/vscode/README.md +16 -16
- package/vscode/client/package-lock.json +544 -544
- package/vscode/client/package.json +22 -22
- package/vscode/client/src/extension.ts +104 -104
- package/vscode/icons/firefly-icon.svg +10 -10
- package/vscode/language-configuration.json +61 -61
- package/vscode/package-lock.json +3623 -3623
- package/vscode/package.json +1 -1
- package/vscode/snippets.json +241 -241
- package/vscode/syntaxes/firefly-markdown-injection.json +45 -45
- package/webserver/.firefly/include/package.json +5 -5
- package/webserver/.firefly/package.ff +2 -2
- package/webserver/WebServer.ff +647 -685
- package/websocket/.firefly/package.ff +1 -1
- package/websocket/WebSocket.ff +100 -131
- package/core/UnsafeJs.ff +0 -42
- package/output/js/ff/core/UnsafeJs.mjs +0 -191
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// type HttpClient
|
|
96
98
|
|
|
97
99
|
|
|
@@ -123,18 +125,21 @@ return {redirect_, referrer_, integrity_, mode_, credentials_, cache_};
|
|
|
123
125
|
|
|
124
126
|
|
|
125
127
|
export function internalCheck_(fetchResponse_) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
}
|
|
133
|
-
|
|
128
|
+
if(ff_core_JsValue.JsValue_isNull(fetchResponse_.response)) {
|
|
129
|
+
throw (new Error("Response closed"))
|
|
130
|
+
};
|
|
131
|
+
if(((!fetchResponse_.statusChecked) && (!fetchResponse_.response.ok))) {
|
|
132
|
+
throw (new Error(("Unchecked HTTP status code: " + fetchResponse_.response.status)))
|
|
133
|
+
}
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
export async function internalCheck_$(fetchResponse_, $task) {
|
|
137
|
-
|
|
137
|
+
if(ff_core_JsValue.JsValue_isNull(fetchResponse_.response)) {
|
|
138
|
+
throw (new Error("Response closed"))
|
|
139
|
+
};
|
|
140
|
+
if(((!fetchResponse_.statusChecked) && (!fetchResponse_.response.ok))) {
|
|
141
|
+
throw (new Error(("Unchecked HTTP status code: " + fetchResponse_.response.status)))
|
|
142
|
+
}
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
export function HttpClient_get(self_, url_, headers_, body_) {
|
|
@@ -154,7 +159,82 @@ return ff_core_HttpClient.HttpClient_fetch(self_, "DELETE", url_, headers_, ff_c
|
|
|
154
159
|
}
|
|
155
160
|
|
|
156
161
|
export function HttpClient_fetch(self_, method_, url_, headers_ = [], payload_ = ff_core_Option.None(), options_ = ff_core_HttpClient.FetchOptions(), body_) {
|
|
157
|
-
|
|
162
|
+
const fetchResponse_ = {response: null, statusChecked: false};
|
|
163
|
+
return ff_core_Js.withSignal_(((signal_) => {
|
|
164
|
+
try {
|
|
165
|
+
const fetchOptions_ = {headers: {}, signal: signal_, method: method_};
|
|
166
|
+
ff_core_List.List_each(headers_, ((_1) => {
|
|
167
|
+
{
|
|
168
|
+
const k_ = _1.first_;
|
|
169
|
+
const v_ = _1.second_;
|
|
170
|
+
fetchOptions_.headers[k_] = v_
|
|
171
|
+
return
|
|
172
|
+
}
|
|
173
|
+
}));
|
|
174
|
+
{
|
|
175
|
+
const if_o = payload_
|
|
176
|
+
if(if_o.Some) {
|
|
177
|
+
const v_ = if_o.value_;
|
|
178
|
+
fetchOptions_.body = v_
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
do {
|
|
182
|
+
const _1 = options_.redirect_;
|
|
183
|
+
if(_1.RedirectError) {
|
|
184
|
+
fetchOptions_.redirect = "error"
|
|
185
|
+
break
|
|
186
|
+
}
|
|
187
|
+
if(_1.RedirectFollow) {
|
|
188
|
+
|
|
189
|
+
break
|
|
190
|
+
}
|
|
191
|
+
{
|
|
192
|
+
fetchOptions_.redirect = "manual"
|
|
193
|
+
}
|
|
194
|
+
} while(false);
|
|
195
|
+
{
|
|
196
|
+
const if_o = options_.referrer_
|
|
197
|
+
if(if_o.Some) {
|
|
198
|
+
const v_ = if_o.value_;
|
|
199
|
+
fetchOptions_.referrer = v_
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
{
|
|
203
|
+
const if_o = options_.integrity_
|
|
204
|
+
if(if_o.Some) {
|
|
205
|
+
const v_ = if_o.value_;
|
|
206
|
+
fetchOptions_.integrity = v_
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
{
|
|
210
|
+
const if_o = options_.mode_
|
|
211
|
+
if(if_o.Some) {
|
|
212
|
+
const v_ = if_o.value_;
|
|
213
|
+
fetchOptions_.mode = v_
|
|
214
|
+
}
|
|
215
|
+
};
|
|
216
|
+
{
|
|
217
|
+
const if_o = options_.credentials_
|
|
218
|
+
if(if_o.Some) {
|
|
219
|
+
const v_ = if_o.value_;
|
|
220
|
+
fetchOptions_.credentials = v_
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
{
|
|
224
|
+
const if_o = options_.cache_
|
|
225
|
+
if(if_o.Some) {
|
|
226
|
+
const v_ = if_o.value_;
|
|
227
|
+
fetchOptions_.cache = v_
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
fetchResponse_.response = self_.fetch(url_, fetchOptions_);
|
|
231
|
+
const result_ = body_(fetchResponse_);
|
|
232
|
+
ff_core_HttpClient.internalCheck_(fetchResponse_);
|
|
233
|
+
return result_
|
|
234
|
+
} finally {
|
|
235
|
+
fetchResponse_.response = null
|
|
236
|
+
}
|
|
237
|
+
}))
|
|
158
238
|
}
|
|
159
239
|
|
|
160
240
|
export async function HttpClient_get$(self_, url_, headers_, body_, $task) {
|
|
@@ -174,112 +254,164 @@ return (await ff_core_HttpClient.HttpClient_fetch$(self_, "DELETE", url_, header
|
|
|
174
254
|
}
|
|
175
255
|
|
|
176
256
|
export async function HttpClient_fetch$(self_, method_, url_, headers_ = [], payload_ = ff_core_Option.None(), options_ = ff_core_HttpClient.FetchOptions(), body_, $task) {
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
257
|
+
const fetchResponse_ = {response: null, statusChecked: false};
|
|
258
|
+
return (await ff_core_Js.withSignal_$((async (signal_, $task) => {
|
|
259
|
+
try {
|
|
260
|
+
const fetchOptions_ = {headers: {}, signal: signal_, method: method_};
|
|
261
|
+
ff_core_List.List_each(headers_, ((_1) => {
|
|
262
|
+
{
|
|
263
|
+
const k_ = _1.first_;
|
|
264
|
+
const v_ = _1.second_;
|
|
265
|
+
fetchOptions_.headers[k_] = v_
|
|
266
|
+
return
|
|
267
|
+
}
|
|
268
|
+
}));
|
|
269
|
+
{
|
|
270
|
+
const if_o = payload_
|
|
271
|
+
if(if_o.Some) {
|
|
272
|
+
const v_ = if_o.value_;
|
|
273
|
+
fetchOptions_.body = v_
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
do {
|
|
277
|
+
const _1 = options_.redirect_;
|
|
278
|
+
if(_1.RedirectError) {
|
|
279
|
+
fetchOptions_.redirect = "error"
|
|
280
|
+
break
|
|
281
|
+
}
|
|
282
|
+
if(_1.RedirectFollow) {
|
|
283
|
+
|
|
284
|
+
break
|
|
285
|
+
}
|
|
286
|
+
{
|
|
287
|
+
fetchOptions_.redirect = "manual"
|
|
288
|
+
}
|
|
289
|
+
} while(false);
|
|
290
|
+
{
|
|
291
|
+
const if_o = options_.referrer_
|
|
292
|
+
if(if_o.Some) {
|
|
293
|
+
const v_ = if_o.value_;
|
|
294
|
+
fetchOptions_.referrer = v_
|
|
295
|
+
}
|
|
296
|
+
};
|
|
297
|
+
{
|
|
298
|
+
const if_o = options_.integrity_
|
|
299
|
+
if(if_o.Some) {
|
|
300
|
+
const v_ = if_o.value_;
|
|
301
|
+
fetchOptions_.integrity = v_
|
|
302
|
+
}
|
|
303
|
+
};
|
|
304
|
+
{
|
|
305
|
+
const if_o = options_.mode_
|
|
306
|
+
if(if_o.Some) {
|
|
307
|
+
const v_ = if_o.value_;
|
|
308
|
+
fetchOptions_.mode = v_
|
|
309
|
+
}
|
|
310
|
+
};
|
|
311
|
+
{
|
|
312
|
+
const if_o = options_.credentials_
|
|
313
|
+
if(if_o.Some) {
|
|
314
|
+
const v_ = if_o.value_;
|
|
315
|
+
fetchOptions_.credentials = v_
|
|
316
|
+
}
|
|
317
|
+
};
|
|
318
|
+
{
|
|
319
|
+
const if_o = options_.cache_
|
|
320
|
+
if(if_o.Some) {
|
|
321
|
+
const v_ = if_o.value_;
|
|
322
|
+
fetchOptions_.cache = v_
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
fetchResponse_.response = (await self_.fetch(url_, fetchOptions_));
|
|
326
|
+
const result_ = (await (await body_(fetchResponse_, $task)));
|
|
327
|
+
ff_core_HttpClient.internalCheck_(fetchResponse_);
|
|
328
|
+
return result_
|
|
329
|
+
} finally {
|
|
330
|
+
fetchResponse_.response = null
|
|
331
|
+
}
|
|
332
|
+
}), $task))
|
|
200
333
|
}
|
|
201
334
|
|
|
202
335
|
export function FetchResponse_ok(self_) {
|
|
203
|
-
|
|
336
|
+
self_.statusChecked = true;
|
|
337
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
338
|
+
return self_.response.ok
|
|
204
339
|
}
|
|
205
340
|
|
|
206
341
|
export function FetchResponse_status(self_) {
|
|
207
|
-
|
|
342
|
+
self_.statusChecked = true;
|
|
343
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
344
|
+
return self_.response.status
|
|
208
345
|
}
|
|
209
346
|
|
|
210
347
|
export function FetchResponse_statusText(self_) {
|
|
211
|
-
|
|
348
|
+
self_.statusChecked = true;
|
|
349
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
350
|
+
return self_.response.statusText
|
|
212
351
|
}
|
|
213
352
|
|
|
214
353
|
export function FetchResponse_header(self_, name_) {
|
|
215
|
-
|
|
354
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
355
|
+
const header_ = self_.response.headers.get(name_);
|
|
356
|
+
if((!ff_core_JsValue.JsValue_isNullOrUndefined(header_))) {
|
|
357
|
+
return ff_core_Option.Some(header_)
|
|
358
|
+
} else return ff_core_Option.None()
|
|
216
359
|
}
|
|
217
360
|
|
|
218
361
|
export function FetchResponse_readText(self_) {
|
|
219
|
-
|
|
362
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
363
|
+
return self_.response.text()
|
|
220
364
|
}
|
|
221
365
|
|
|
222
366
|
export function FetchResponse_readJson(self_) {
|
|
223
|
-
|
|
367
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
368
|
+
return self_.response.json()
|
|
224
369
|
}
|
|
225
370
|
|
|
226
371
|
export function FetchResponse_readBuffer(self_) {
|
|
227
|
-
|
|
372
|
+
ff_core_HttpClient.internalCheck_(self_);
|
|
373
|
+
return (new DataView(self_.response.arrayBuffer()))
|
|
228
374
|
}
|
|
229
375
|
|
|
230
376
|
export async function FetchResponse_ok$(self_, $task) {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
return self_.response.ok;
|
|
235
|
-
|
|
377
|
+
self_.statusChecked = true;
|
|
378
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
379
|
+
return self_.response.ok
|
|
236
380
|
}
|
|
237
381
|
|
|
238
382
|
export async function FetchResponse_status$(self_, $task) {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
return self_.response.status;
|
|
243
|
-
|
|
383
|
+
self_.statusChecked = true;
|
|
384
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
385
|
+
return self_.response.status
|
|
244
386
|
}
|
|
245
387
|
|
|
246
388
|
export async function FetchResponse_statusText$(self_, $task) {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
return self_.response.statusText;
|
|
251
|
-
|
|
389
|
+
self_.statusChecked = true;
|
|
390
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
391
|
+
return self_.response.statusText
|
|
252
392
|
}
|
|
253
393
|
|
|
254
394
|
export async function FetchResponse_header$(self_, name_, $task) {
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
: ff_core_Option.None();
|
|
261
|
-
|
|
395
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
396
|
+
const header_ = self_.response.headers.get(name_);
|
|
397
|
+
if((!ff_core_JsValue.JsValue_isNullOrUndefined(header_))) {
|
|
398
|
+
return ff_core_Option.Some(header_)
|
|
399
|
+
} else return ff_core_Option.None()
|
|
262
400
|
}
|
|
263
401
|
|
|
264
402
|
export async function FetchResponse_readText$(self_, $task) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
return await self_.response.text();
|
|
268
|
-
|
|
403
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
404
|
+
return (await self_.response.text())
|
|
269
405
|
}
|
|
270
406
|
|
|
271
407
|
export async function FetchResponse_readJson$(self_, $task) {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
return await self_.response.json();
|
|
275
|
-
|
|
408
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
409
|
+
return (await self_.response.json())
|
|
276
410
|
}
|
|
277
411
|
|
|
278
412
|
export async function FetchResponse_readBuffer$(self_, $task) {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
return new DataView(await self_.response.arrayBuffer());
|
|
282
|
-
|
|
413
|
+
(await ff_core_HttpClient.internalCheck_$(self_, $task));
|
|
414
|
+
return (new DataView((await self_.response.arrayBuffer())))
|
|
283
415
|
}
|
|
284
416
|
|
|
285
417
|
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// newtype Instant
|
|
96
98
|
|
|
97
99
|
|
|
@@ -108,9 +110,7 @@ return ff_core_Option.Some(ff_core_Instant.internalParseDate_(date_))
|
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
export function internalParseDate_(date_) {
|
|
111
|
-
|
|
112
|
-
return Date.parse(date_) * 0.001;
|
|
113
|
-
|
|
113
|
+
return (Date.parse(date_) * 0.001)
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
export async function fromIso_$(date_, $task) {
|
|
@@ -125,7 +125,7 @@ return ff_core_Option.Some(ff_core_Instant.internalParseDate_(date_))
|
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
export async function internalParseDate_$(date_, $task) {
|
|
128
|
-
|
|
128
|
+
return (Date.parse(date_) * 0.001)
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
export function Instant_add(self_, duration_) {
|
|
@@ -133,9 +133,7 @@ return (self_ + duration_)
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
export function Instant_toIso(self_) {
|
|
136
|
-
|
|
137
|
-
return new Date(self_ * 1000).toISOString();
|
|
138
|
-
|
|
136
|
+
return (new Date((self_ * 1000.0))).toISOString()
|
|
139
137
|
}
|
|
140
138
|
|
|
141
139
|
export async function Instant_add$(self_, duration_, $task) {
|
|
@@ -143,7 +141,7 @@ return (self_ + duration_)
|
|
|
143
141
|
}
|
|
144
142
|
|
|
145
143
|
export async function Instant_toIso$(self_, $task) {
|
|
146
|
-
|
|
144
|
+
return (new Date((self_ * 1000.0))).toISOString()
|
|
147
145
|
}
|
|
148
146
|
|
|
149
147
|
|
|
@@ -42,6 +42,8 @@ import * as ff_core_Int from "../../ff/core/Int.mjs"
|
|
|
42
42
|
|
|
43
43
|
import * as ff_core_IntMap from "../../ff/core/IntMap.mjs"
|
|
44
44
|
|
|
45
|
+
import * as ff_core_Js from "../../ff/core/Js.mjs"
|
|
46
|
+
|
|
45
47
|
import * as ff_core_JsSystem from "../../ff/core/JsSystem.mjs"
|
|
46
48
|
|
|
47
49
|
import * as ff_core_JsValue from "../../ff/core/JsValue.mjs"
|
|
@@ -68,6 +70,8 @@ import * as ff_core_Pair from "../../ff/core/Pair.mjs"
|
|
|
68
70
|
|
|
69
71
|
import * as ff_core_Path from "../../ff/core/Path.mjs"
|
|
70
72
|
|
|
73
|
+
import * as ff_core_Queue from "../../ff/core/Queue.mjs"
|
|
74
|
+
|
|
71
75
|
import * as ff_core_Random from "../../ff/core/Random.mjs"
|
|
72
76
|
|
|
73
77
|
import * as ff_core_Serializable from "../../ff/core/Serializable.mjs"
|
|
@@ -90,8 +94,6 @@ import * as ff_core_Try from "../../ff/core/Try.mjs"
|
|
|
90
94
|
|
|
91
95
|
import * as ff_core_Unit from "../../ff/core/Unit.mjs"
|
|
92
96
|
|
|
93
|
-
import * as ff_core_UnsafeJs from "../../ff/core/UnsafeJs.mjs"
|
|
94
|
-
|
|
95
97
|
// type Int
|
|
96
98
|
|
|
97
99
|
|
|
@@ -110,31 +112,35 @@ return self_
|
|
|
110
112
|
}
|
|
111
113
|
|
|
112
114
|
export function Int_bitNot(self_) {
|
|
113
|
-
return ~self_
|
|
115
|
+
return (~self_)
|
|
114
116
|
}
|
|
115
117
|
|
|
116
118
|
export function Int_bitOr(self_, that_) {
|
|
117
|
-
return self_ | that_
|
|
119
|
+
return (self_ | that_)
|
|
118
120
|
}
|
|
119
121
|
|
|
120
122
|
export function Int_bitAnd(self_, that_) {
|
|
121
|
-
return self_ & that_
|
|
123
|
+
return (self_ & that_)
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
export function Int_bitXor(self_, that_) {
|
|
125
|
-
return self_ ^ that_
|
|
127
|
+
return (self_ ^ that_)
|
|
126
128
|
}
|
|
127
129
|
|
|
128
130
|
export function Int_bitLeft(self_, bits_) {
|
|
129
|
-
return self_ << bits_
|
|
131
|
+
return (self_ << bits_)
|
|
130
132
|
}
|
|
131
133
|
|
|
132
|
-
export function Int_bitRight(self_, bits_
|
|
133
|
-
return
|
|
134
|
+
export function Int_bitRight(self_, bits_) {
|
|
135
|
+
return (self_ >> bits_)
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export function Int_bitRightUnsigned(self_, bits_) {
|
|
139
|
+
return (self_ >>> bits_)
|
|
134
140
|
}
|
|
135
141
|
|
|
136
142
|
export function Int_bitLeadingZeros(self_) {
|
|
137
|
-
return Math.clz32(self_)
|
|
143
|
+
return Math.clz32(self_)
|
|
138
144
|
}
|
|
139
145
|
|
|
140
146
|
export function Int_to(self_, inclusiveEnd_) {
|
|
@@ -166,11 +172,11 @@ return Math.max(self_, that_)
|
|
|
166
172
|
}
|
|
167
173
|
|
|
168
174
|
export function Int_clamp(self_, from_, to_) {
|
|
169
|
-
return
|
|
175
|
+
return ff_core_Int.Int_min(ff_core_Int.Int_max(self_, from_), to_)
|
|
170
176
|
}
|
|
171
177
|
|
|
172
178
|
export function Int_pad(self_, padding_) {
|
|
173
|
-
return ff_core_String.String_padStart(("" + self_),
|
|
179
|
+
return ff_core_String.String_padStart(("" + self_), padding_.length, padding_)
|
|
174
180
|
}
|
|
175
181
|
|
|
176
182
|
export function Int_div(self_, divisor_) {
|
|
@@ -182,39 +188,43 @@ return ff_core_Float.Float_toInt((self_ % divisor_))
|
|
|
182
188
|
}
|
|
183
189
|
|
|
184
190
|
export async function Int_abs$(self_, $task) {
|
|
185
|
-
|
|
191
|
+
return Math.abs(self_)
|
|
186
192
|
}
|
|
187
193
|
|
|
188
194
|
export async function Int_toFloat$(self_, $task) {
|
|
189
|
-
|
|
195
|
+
return self_
|
|
190
196
|
}
|
|
191
197
|
|
|
192
198
|
export async function Int_bitNot$(self_, $task) {
|
|
193
|
-
|
|
199
|
+
return (~self_)
|
|
194
200
|
}
|
|
195
201
|
|
|
196
202
|
export async function Int_bitOr$(self_, that_, $task) {
|
|
197
|
-
|
|
203
|
+
return (self_ | that_)
|
|
198
204
|
}
|
|
199
205
|
|
|
200
206
|
export async function Int_bitAnd$(self_, that_, $task) {
|
|
201
|
-
|
|
207
|
+
return (self_ & that_)
|
|
202
208
|
}
|
|
203
209
|
|
|
204
210
|
export async function Int_bitXor$(self_, that_, $task) {
|
|
205
|
-
|
|
211
|
+
return (self_ ^ that_)
|
|
206
212
|
}
|
|
207
213
|
|
|
208
214
|
export async function Int_bitLeft$(self_, bits_, $task) {
|
|
209
|
-
|
|
215
|
+
return (self_ << bits_)
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
export async function Int_bitRight$(self_, bits_, $task) {
|
|
219
|
+
return (self_ >> bits_)
|
|
210
220
|
}
|
|
211
221
|
|
|
212
|
-
export async function
|
|
213
|
-
|
|
222
|
+
export async function Int_bitRightUnsigned$(self_, bits_, $task) {
|
|
223
|
+
return (self_ >>> bits_)
|
|
214
224
|
}
|
|
215
225
|
|
|
216
226
|
export async function Int_bitLeadingZeros$(self_, $task) {
|
|
217
|
-
|
|
227
|
+
return Math.clz32(self_)
|
|
218
228
|
}
|
|
219
229
|
|
|
220
230
|
export async function Int_to$(self_, inclusiveEnd_, $task) {
|
|
@@ -238,19 +248,19 @@ return ff_core_Array.Array_drain(result_)
|
|
|
238
248
|
}
|
|
239
249
|
|
|
240
250
|
export async function Int_min$(self_, that_, $task) {
|
|
241
|
-
|
|
251
|
+
return Math.min(self_, that_)
|
|
242
252
|
}
|
|
243
253
|
|
|
244
254
|
export async function Int_max$(self_, that_, $task) {
|
|
245
|
-
|
|
255
|
+
return Math.max(self_, that_)
|
|
246
256
|
}
|
|
247
257
|
|
|
248
258
|
export async function Int_clamp$(self_, from_, to_, $task) {
|
|
249
|
-
|
|
259
|
+
return ff_core_Int.Int_min(ff_core_Int.Int_max(self_, from_), to_)
|
|
250
260
|
}
|
|
251
261
|
|
|
252
262
|
export async function Int_pad$(self_, padding_, $task) {
|
|
253
|
-
return ff_core_String.String_padStart(("" + self_),
|
|
263
|
+
return ff_core_String.String_padStart(("" + self_), padding_.length, padding_)
|
|
254
264
|
}
|
|
255
265
|
|
|
256
266
|
export async function Int_div$(self_, divisor_, $task) {
|