starlight-fsharp-oracle 0.1.0 → 0.1.2
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/dist/Extensions/StringBuilder.js +2 -5
- package/dist/Extensions/TextNode.js +29 -54
- package/dist/FSharp.Oracle.Schema/Schema.js +113 -218
- package/dist/Generate.js +33 -63
- package/dist/Helpers.js +1 -2
- package/dist/Plugin.js +17 -31
- package/dist/Render/Documentation.js +1 -2
- package/dist/Render/Entries.js +29 -34
- package/dist/Render/Pages.js +10 -19
- package/dist/Render/Primitives.js +19 -32
- package/dist/Themes.js +3 -5
- package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +105 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Fable.Promise.fableproj +20 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +232 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
- package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +20 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs +1592 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs.js +1417 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs +106 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs.js +63 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs +380 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs.js +289 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Thoth.Json.Core.fableproj +37 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs +76 -0
- package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs.js +37 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs +113 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs.js +173 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs +1153 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs.js +622 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs +91 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs.js +103 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs +893 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs.js +836 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs +435 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs.js +389 -0
- package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Thoth.Json.Core.Auto.fableproj +43 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs +88 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js +102 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs +40 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs.js +59 -0
- package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Thoth.Json.JavaScript.fableproj +31 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Array.js +1347 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Async.js +134 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/AsyncBuilder.js +183 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BigInt.js +306 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BitConverter.js +138 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Boolean.js +22 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CHANGELOG.md +191 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Char.js +202 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Choice.js +184 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CollectionUtil.js +182 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/ConditionalWeakTable.js +21 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Date.js +755 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOffset.js +261 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOnly.js +124 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Decimal.js +236 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Double.js +47 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Encoding.js +185 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Event.js +93 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Collections.js +45 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.CompilerServices.js +27 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.js +156 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Global.js +29 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Guid.js +161 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Int32.js +135 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/List.js +1323 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Long.js +47 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MailboxProcessor.js +94 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Map.js +1396 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MapUtil.js +130 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableMap.js +339 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableSet.js +233 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Native.js +14 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Numeric.js +75 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Observable.js +113 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Option.js +104 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/README.md +3 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Random.js +172 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Range.js +45 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Reflection.js +460 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/RegExp.js +141 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Result.js +165 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq.js +1409 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq2.js +111 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Set.js +1788 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/String.js +649 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Collections.Generic.js +333 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Text.js +168 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.js +283 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeOnly.js +122 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeSpan.js +180 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Timer.js +67 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Types.js +198 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Unicode.13.0.0.js +4 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Uri.js +165 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Util.js +792 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/big.d.ts +338 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/lib/big.js +825 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/package.json +24 -0
- package/dist/fable_modules/fable-library-js.5.0.0-rc.7/quotation.js +618 -0
- package/package.json +4 -5
- package/packages/FSharp.Oracle/XmlDoc.fs +12 -1
- package/packages/FSharp.Oracle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle/obj/Debug/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle/obj/Release/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
- package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
- package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
- package/oracle-bin/FSharp.Compiler.Service.dll +0 -0
- package/oracle-bin/FSharp.Core.dll +0 -0
- package/oracle-bin/FSharp.DependencyManager.Nuget.dll +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.dll +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.pdb +0 -0
- package/oracle-bin/FSharp.Oracle.Schema.xml +0 -219
- package/oracle-bin/Fable.Core.dll +0 -0
- package/oracle-bin/Oracle +0 -0
- package/oracle-bin/Oracle.deps.json +0 -280
- package/oracle-bin/Oracle.dll +0 -0
- package/oracle-bin/Oracle.pdb +0 -0
- package/oracle-bin/Oracle.runtimeconfig.json +0 -13
- package/oracle-bin/Oracle.xml +0 -111
- package/oracle-bin/Thoth.Json.Core.Auto.dll +0 -0
- package/oracle-bin/Thoth.Json.Core.dll +0 -0
- package/oracle-bin/Thoth.Json.System.Text.Json.dll +0 -0
- package/oracle-bin/cs/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/cs/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/cs/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/de/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/de/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/de/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/es/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/es/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/es/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/fr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/it/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/it/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/it/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ja/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ko/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/pl/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/pt-BR/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/ru/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/tr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/zh-Hans/FSharp.DependencyManager.Nuget.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.Compiler.Service.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.Core.resources.dll +0 -0
- package/oracle-bin/zh-Hant/FSharp.DependencyManager.Nuget.resources.dll +0 -0
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
|
|
2
|
+
import { Result_MapError, Result_Map, FSharpResult$2 } from "../fable-library-js.5.0.0-rc.7/Result.js";
|
|
3
|
+
import { class_type } from "../fable-library-js.5.0.0-rc.7/Reflection.js";
|
|
4
|
+
import { disposeSafe, getEnumerator } from "../fable-library-js.5.0.0-rc.7/Util.js";
|
|
5
|
+
import { Operators_IsNull } from "../fable-library-js.5.0.0-rc.7/FSharp.Core.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This is an identity function, it calls the given function and return the promise value untouched.
|
|
9
|
+
* <example>
|
|
10
|
+
* <code lang="fsharp">
|
|
11
|
+
* fetchUser ()
|
|
12
|
+
* |> Promise.tap (fun user ->
|
|
13
|
+
* // Do something
|
|
14
|
+
* console.log "The user has been received"
|
|
15
|
+
* )
|
|
16
|
+
* |> Promise.map (fun user ->
|
|
17
|
+
* // user value is available here untouched
|
|
18
|
+
* )
|
|
19
|
+
* </code>
|
|
20
|
+
* </example>
|
|
21
|
+
*/
|
|
22
|
+
export function tap(fn, a) {
|
|
23
|
+
return a.then((x) => {
|
|
24
|
+
fn(x);
|
|
25
|
+
return x;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Map the <c>Promise</c> result into a <c>Result</c> type.
|
|
31
|
+
* <example>
|
|
32
|
+
* <code lang="fsharp">
|
|
33
|
+
* Success example
|
|
34
|
+
* Promise.lift 42
|
|
35
|
+
* |> Promise.result
|
|
36
|
+
* |> Promise.map (fun value ->
|
|
37
|
+
* // value = Ok 42
|
|
38
|
+
* )
|
|
39
|
+
*
|
|
40
|
+
* // Fail example
|
|
41
|
+
* Promise.reject "Invalid value"
|
|
42
|
+
* |> Promise.result
|
|
43
|
+
* |> Promise.map (fun value ->
|
|
44
|
+
* // value = Error "Invalid value"
|
|
45
|
+
* )
|
|
46
|
+
* </code>
|
|
47
|
+
* </example>
|
|
48
|
+
*/
|
|
49
|
+
export function result(a) {
|
|
50
|
+
return a.then((ResultValue) => (new FSharpResult$2(0, [ResultValue]))).catch((ErrorValue) => (new FSharpResult$2(1, [ErrorValue])));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Evaluates to `myPromise |> Promise.map (Result.map fn)`
|
|
55
|
+
* <example>
|
|
56
|
+
* <code lang="fsharp">
|
|
57
|
+
* Promise.lift 42
|
|
58
|
+
* |> Promise.result
|
|
59
|
+
* |> Promise.mapResult (fun value ->
|
|
60
|
+
* value + 10
|
|
61
|
+
* )
|
|
62
|
+
* |> Promise.map (fun value ->
|
|
63
|
+
* // value = Ok 52
|
|
64
|
+
* )
|
|
65
|
+
* </code>
|
|
66
|
+
* </example>
|
|
67
|
+
*/
|
|
68
|
+
export function mapResult(fn, a) {
|
|
69
|
+
return a.then((result_1) => Result_Map(fn, result_1));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Transform the success part of a result promise into another promise.
|
|
74
|
+
* <example>
|
|
75
|
+
* <code lang="fsharp">
|
|
76
|
+
* let multiplyBy2 (value : int) =
|
|
77
|
+
* Promise.create (fun resolve reject ->
|
|
78
|
+
* resolve (value * 2)
|
|
79
|
+
* )
|
|
80
|
+
*
|
|
81
|
+
* Promise.lift 42
|
|
82
|
+
* |> Promise.result
|
|
83
|
+
* |> Promise.bindResult (fun value ->
|
|
84
|
+
* multiplyBy2 value
|
|
85
|
+
* )
|
|
86
|
+
* |> Promise.map (fun value ->
|
|
87
|
+
* // value = Ok 84
|
|
88
|
+
* )
|
|
89
|
+
* </code>
|
|
90
|
+
* </example>
|
|
91
|
+
*/
|
|
92
|
+
export function bindResult(fn, a) {
|
|
93
|
+
return a.then((a_1) => {
|
|
94
|
+
if (a_1.tag === 1) {
|
|
95
|
+
return Promise.resolve(new FSharpResult$2(1, [a_1.fields[0]]));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
const pr = fn(a_1.fields[0]);
|
|
99
|
+
return pr.then((ResultValue) => (new FSharpResult$2(0, [ResultValue])));
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Evaluates to <c>myPromise |> Promise.map (Result.map fn)</c>
|
|
106
|
+
* <example>
|
|
107
|
+
* <code lang="fsharp">
|
|
108
|
+
* Promise.reject -1
|
|
109
|
+
* |> Promise.result
|
|
110
|
+
* |> Promise.mapResultError (fun value ->
|
|
111
|
+
* $"%s{value} is not a valid value"
|
|
112
|
+
* )
|
|
113
|
+
* |> Promise.map (fun value ->
|
|
114
|
+
* // value = Error "-1 is not a valid value"
|
|
115
|
+
* )
|
|
116
|
+
* </code>
|
|
117
|
+
* </example>
|
|
118
|
+
*/
|
|
119
|
+
export function mapResultError(fn, a) {
|
|
120
|
+
return a.then((result_1) => Result_MapError(fn, result_1));
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* A builder to provide promise Computation Expression support.
|
|
125
|
+
*
|
|
126
|
+
* The CE is available via <c>promise { ... }</c>
|
|
127
|
+
* <example>
|
|
128
|
+
* <code lang="fsharp">
|
|
129
|
+
* let double (value : int) =
|
|
130
|
+
* promise {
|
|
131
|
+
* return value * 2
|
|
132
|
+
* }
|
|
133
|
+
* </code>
|
|
134
|
+
* </example>
|
|
135
|
+
*/
|
|
136
|
+
export class PromiseBuilder {
|
|
137
|
+
constructor() {
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
export function PromiseBuilder_$reflection() {
|
|
142
|
+
return class_type("Promise.PromiseBuilder", undefined, PromiseBuilder);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export function PromiseBuilder_$ctor() {
|
|
146
|
+
return new PromiseBuilder();
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function PromiseBuilder__For_1565554B(_, seq, body) {
|
|
150
|
+
let p = Promise.resolve(undefined);
|
|
151
|
+
const enumerator = getEnumerator(seq);
|
|
152
|
+
try {
|
|
153
|
+
while (enumerator["System.Collections.IEnumerator.MoveNext"]()) {
|
|
154
|
+
let pr;
|
|
155
|
+
const a = enumerator["System.Collections.Generic.IEnumerator`1.get_Current"]();
|
|
156
|
+
p = ((pr = p, pr.then(() => body(a))));
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
finally {
|
|
160
|
+
disposeSafe(enumerator);
|
|
161
|
+
}
|
|
162
|
+
return p;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export function PromiseBuilder__While_2044D34(this$, guard, p) {
|
|
166
|
+
if (guard()) {
|
|
167
|
+
return p.then(() => PromiseBuilder__While_2044D34(this$, guard, p));
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
return Promise.resolve(undefined);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
export function PromiseBuilder__TryFinally_7D49A2FD(_, p, compensation) {
|
|
175
|
+
return p.then((x) => {
|
|
176
|
+
compensation();
|
|
177
|
+
return x;
|
|
178
|
+
}).catch((er) => {
|
|
179
|
+
compensation();
|
|
180
|
+
throw er;
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
export function PromiseBuilder__Delay_62FBFDE1(_, generator) {
|
|
185
|
+
return {
|
|
186
|
+
then: (onSuccess, onError) => {
|
|
187
|
+
try {
|
|
188
|
+
return generator().then(onSuccess, onError);
|
|
189
|
+
}
|
|
190
|
+
catch (er) {
|
|
191
|
+
if (Operators_IsNull(onError)) {
|
|
192
|
+
return Promise.reject(er);
|
|
193
|
+
}
|
|
194
|
+
else {
|
|
195
|
+
try {
|
|
196
|
+
const a = onError(er);
|
|
197
|
+
return Promise.resolve(a);
|
|
198
|
+
}
|
|
199
|
+
catch (er_1) {
|
|
200
|
+
return Promise.reject(er_1);
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
},
|
|
205
|
+
catch: (onError_1) => {
|
|
206
|
+
try {
|
|
207
|
+
return generator().catch(onError_1);
|
|
208
|
+
}
|
|
209
|
+
catch (er_2) {
|
|
210
|
+
try {
|
|
211
|
+
const a_1 = onError_1(er_2);
|
|
212
|
+
return Promise.resolve(a_1);
|
|
213
|
+
}
|
|
214
|
+
catch (er_3) {
|
|
215
|
+
return Promise.reject(er_3);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
export function PromiseBuilder__Run_212F1D4B(_, p) {
|
|
223
|
+
return p.then((x) => x);
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export function PromiseBuilder__Using_74F7E79D(this$, resource, binder) {
|
|
227
|
+
return PromiseBuilder__TryFinally_7D49A2FD(this$, binder(resource), () => {
|
|
228
|
+
let copyOfStruct = resource;
|
|
229
|
+
disposeSafe(copyOfStruct);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
[<AutoOpen>]
|
|
2
|
+
module PromiseImpl
|
|
3
|
+
|
|
4
|
+
let promise = Promise.PromiseBuilder()
|
|
5
|
+
|
|
6
|
+
[<RequireQualifiedAccess>]
|
|
7
|
+
module SettledValue =
|
|
8
|
+
|
|
9
|
+
/// <summary>
|
|
10
|
+
/// Helper functionm to convert a settled result into an F# result
|
|
11
|
+
/// </summary>
|
|
12
|
+
/// <param name="p">The settled result</param>
|
|
13
|
+
/// <typeparam name="'T"></typeparam>
|
|
14
|
+
/// <returns>The F# result</returns>
|
|
15
|
+
/// <example>
|
|
16
|
+
/// <code lang="fsharp">
|
|
17
|
+
/// Promise.allSettled [success; rejection]
|
|
18
|
+
/// |> Promise.iter (fun results ->
|
|
19
|
+
/// for result in results do
|
|
20
|
+
/// match SettledValue.toResult result with
|
|
21
|
+
/// | Ok value ->
|
|
22
|
+
/// printfn "Success: %A" value
|
|
23
|
+
/// | Error err ->
|
|
24
|
+
/// eprintfn "Error: %O" err
|
|
25
|
+
/// )
|
|
26
|
+
/// </code>
|
|
27
|
+
/// </example>
|
|
28
|
+
let toResult (p: Promise.SettledValue<'T>) =
|
|
29
|
+
match p.status with
|
|
30
|
+
| Promise.Fulfilled -> Ok p.value.Value
|
|
31
|
+
| Promise.Rejected -> Error p.reason.Value
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
|
|
2
|
+
import { PromiseBuilder_$ctor } from "./Promise.fs.js";
|
|
3
|
+
import { value } from "../fable-library-js.5.0.0-rc.7/Option.js";
|
|
4
|
+
import { FSharpResult$2 } from "../fable-library-js.5.0.0-rc.7/Result.js";
|
|
5
|
+
|
|
6
|
+
export const promise = PromiseBuilder_$ctor();
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Helper functionm to convert a settled result into an F# result
|
|
10
|
+
*/
|
|
11
|
+
export function SettledValue_toResult(p) {
|
|
12
|
+
const matchValue = p.status;
|
|
13
|
+
if (matchValue === "rejected") {
|
|
14
|
+
return new FSharpResult$2(1, [value(p.reason)]);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
return new FSharpResult$2(0, [value(p.value)]);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|