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.
Files changed (167) hide show
  1. package/dist/Extensions/StringBuilder.js +2 -5
  2. package/dist/Extensions/TextNode.js +29 -54
  3. package/dist/FSharp.Oracle.Schema/Schema.js +113 -218
  4. package/dist/Generate.js +33 -63
  5. package/dist/Helpers.js +1 -2
  6. package/dist/Plugin.js +17 -31
  7. package/dist/Render/Documentation.js +1 -2
  8. package/dist/Render/Entries.js +29 -34
  9. package/dist/Render/Pages.js +10 -19
  10. package/dist/Render/Primitives.js +19 -32
  11. package/dist/Themes.js +3 -5
  12. package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs +57 -0
  13. package/dist/fable_modules/Fable.Promise.3.2.0/AsyncIterable.fs.js +105 -0
  14. package/dist/fable_modules/Fable.Promise.3.2.0/Fable.Promise.fableproj +20 -0
  15. package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs +766 -0
  16. package/dist/fable_modules/Fable.Promise.3.2.0/Promise.fs.js +232 -0
  17. package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs +31 -0
  18. package/dist/fable_modules/Fable.Promise.3.2.0/PromiseImpl.fs.js +20 -0
  19. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs +1592 -0
  20. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Decode.fs.js +1417 -0
  21. package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs +106 -0
  22. package/dist/fable_modules/Thoth.Json.Core.0.9.0/DecoderCE.fs.js +63 -0
  23. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs +380 -0
  24. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Encode.fs.js +289 -0
  25. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Thoth.Json.Core.fableproj +37 -0
  26. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs +76 -0
  27. package/dist/fable_modules/Thoth.Json.Core.0.9.0/Types.fs.js +37 -0
  28. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs +113 -0
  29. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Casing.fs.js +173 -0
  30. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs +1153 -0
  31. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Decode.fs.js +622 -0
  32. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs +91 -0
  33. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Domain.fs.js +103 -0
  34. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs +893 -0
  35. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Encode.fs.js +836 -0
  36. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs +435 -0
  37. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Prelude.fs.js +389 -0
  38. package/dist/fable_modules/Thoth.Json.Core.Auto.0.1.0/Thoth.Json.Core.Auto.fableproj +43 -0
  39. package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs +88 -0
  40. package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Decode.fs.js +102 -0
  41. package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs +40 -0
  42. package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Encode.fs.js +59 -0
  43. package/dist/fable_modules/Thoth.Json.JavaScript.0.5.0/Thoth.Json.JavaScript.fableproj +31 -0
  44. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Array.js +1347 -0
  45. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Async.js +134 -0
  46. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/AsyncBuilder.js +183 -0
  47. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BigInt.js +306 -0
  48. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/BitConverter.js +138 -0
  49. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Boolean.js +22 -0
  50. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CHANGELOG.md +191 -0
  51. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Char.js +202 -0
  52. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Choice.js +184 -0
  53. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/CollectionUtil.js +182 -0
  54. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/ConditionalWeakTable.js +21 -0
  55. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Date.js +755 -0
  56. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOffset.js +261 -0
  57. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/DateOnly.js +124 -0
  58. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Decimal.js +236 -0
  59. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Double.js +47 -0
  60. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Encoding.js +185 -0
  61. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Event.js +93 -0
  62. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Collections.js +45 -0
  63. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.CompilerServices.js +27 -0
  64. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/FSharp.Core.js +156 -0
  65. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Global.js +29 -0
  66. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Guid.js +161 -0
  67. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Int32.js +135 -0
  68. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/List.js +1323 -0
  69. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Long.js +47 -0
  70. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MailboxProcessor.js +94 -0
  71. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Map.js +1396 -0
  72. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MapUtil.js +130 -0
  73. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableMap.js +339 -0
  74. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/MutableSet.js +233 -0
  75. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Native.js +14 -0
  76. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Numeric.js +75 -0
  77. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Observable.js +113 -0
  78. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Option.js +104 -0
  79. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/README.md +3 -0
  80. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Random.js +172 -0
  81. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Range.js +45 -0
  82. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Reflection.js +460 -0
  83. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/RegExp.js +141 -0
  84. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Result.js +165 -0
  85. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq.js +1409 -0
  86. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Seq2.js +111 -0
  87. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Set.js +1788 -0
  88. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/String.js +649 -0
  89. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Collections.Generic.js +333 -0
  90. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.Text.js +168 -0
  91. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/System.js +283 -0
  92. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeOnly.js +122 -0
  93. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/TimeSpan.js +180 -0
  94. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Timer.js +67 -0
  95. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Types.js +198 -0
  96. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Unicode.13.0.0.js +4 -0
  97. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Uri.js +165 -0
  98. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/Util.js +792 -0
  99. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/big.d.ts +338 -0
  100. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/lib/big.js +825 -0
  101. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/package.json +24 -0
  102. package/dist/fable_modules/fable-library-js.5.0.0-rc.7/quotation.js +618 -0
  103. package/package.json +4 -5
  104. package/packages/FSharp.Oracle/XmlDoc.fs +12 -1
  105. package/packages/FSharp.Oracle/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
  106. package/packages/FSharp.Oracle/obj/Debug/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
  107. package/packages/FSharp.Oracle/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
  108. package/packages/FSharp.Oracle/obj/Release/net10.0/FSharp.Oracle.AssemblyInfo.fs +17 -0
  109. package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
  110. package/packages/FSharp.Oracle.Schema/obj/Debug/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
  111. package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/.NETCoreApp,Version=v10.0.AssemblyAttributes.fs +3 -0
  112. package/packages/FSharp.Oracle.Schema/obj/Release/net10.0/FSharp.Oracle.Schema.AssemblyInfo.fs +17 -0
  113. package/oracle-bin/FSharp.Compiler.Service.dll +0 -0
  114. package/oracle-bin/FSharp.Core.dll +0 -0
  115. package/oracle-bin/FSharp.DependencyManager.Nuget.dll +0 -0
  116. package/oracle-bin/FSharp.Oracle.Schema.dll +0 -0
  117. package/oracle-bin/FSharp.Oracle.Schema.pdb +0 -0
  118. package/oracle-bin/FSharp.Oracle.Schema.xml +0 -219
  119. package/oracle-bin/Fable.Core.dll +0 -0
  120. package/oracle-bin/Oracle +0 -0
  121. package/oracle-bin/Oracle.deps.json +0 -280
  122. package/oracle-bin/Oracle.dll +0 -0
  123. package/oracle-bin/Oracle.pdb +0 -0
  124. package/oracle-bin/Oracle.runtimeconfig.json +0 -13
  125. package/oracle-bin/Oracle.xml +0 -111
  126. package/oracle-bin/Thoth.Json.Core.Auto.dll +0 -0
  127. package/oracle-bin/Thoth.Json.Core.dll +0 -0
  128. package/oracle-bin/Thoth.Json.System.Text.Json.dll +0 -0
  129. package/oracle-bin/cs/FSharp.Compiler.Service.resources.dll +0 -0
  130. package/oracle-bin/cs/FSharp.Core.resources.dll +0 -0
  131. package/oracle-bin/cs/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  132. package/oracle-bin/de/FSharp.Compiler.Service.resources.dll +0 -0
  133. package/oracle-bin/de/FSharp.Core.resources.dll +0 -0
  134. package/oracle-bin/de/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  135. package/oracle-bin/es/FSharp.Compiler.Service.resources.dll +0 -0
  136. package/oracle-bin/es/FSharp.Core.resources.dll +0 -0
  137. package/oracle-bin/es/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  138. package/oracle-bin/fr/FSharp.Compiler.Service.resources.dll +0 -0
  139. package/oracle-bin/fr/FSharp.Core.resources.dll +0 -0
  140. package/oracle-bin/fr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  141. package/oracle-bin/it/FSharp.Compiler.Service.resources.dll +0 -0
  142. package/oracle-bin/it/FSharp.Core.resources.dll +0 -0
  143. package/oracle-bin/it/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  144. package/oracle-bin/ja/FSharp.Compiler.Service.resources.dll +0 -0
  145. package/oracle-bin/ja/FSharp.Core.resources.dll +0 -0
  146. package/oracle-bin/ja/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  147. package/oracle-bin/ko/FSharp.Compiler.Service.resources.dll +0 -0
  148. package/oracle-bin/ko/FSharp.Core.resources.dll +0 -0
  149. package/oracle-bin/ko/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  150. package/oracle-bin/pl/FSharp.Compiler.Service.resources.dll +0 -0
  151. package/oracle-bin/pl/FSharp.Core.resources.dll +0 -0
  152. package/oracle-bin/pl/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  153. package/oracle-bin/pt-BR/FSharp.Compiler.Service.resources.dll +0 -0
  154. package/oracle-bin/pt-BR/FSharp.Core.resources.dll +0 -0
  155. package/oracle-bin/pt-BR/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  156. package/oracle-bin/ru/FSharp.Compiler.Service.resources.dll +0 -0
  157. package/oracle-bin/ru/FSharp.Core.resources.dll +0 -0
  158. package/oracle-bin/ru/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  159. package/oracle-bin/tr/FSharp.Compiler.Service.resources.dll +0 -0
  160. package/oracle-bin/tr/FSharp.Core.resources.dll +0 -0
  161. package/oracle-bin/tr/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  162. package/oracle-bin/zh-Hans/FSharp.Compiler.Service.resources.dll +0 -0
  163. package/oracle-bin/zh-Hans/FSharp.Core.resources.dll +0 -0
  164. package/oracle-bin/zh-Hans/FSharp.DependencyManager.Nuget.resources.dll +0 -0
  165. package/oracle-bin/zh-Hant/FSharp.Compiler.Service.resources.dll +0 -0
  166. package/oracle-bin/zh-Hant/FSharp.Core.resources.dll +0 -0
  167. package/oracle-bin/zh-Hant/FSharp.DependencyManager.Nuget.resources.dll +0 -0
@@ -0,0 +1,1417 @@
1
+
2
+ import { join } from "../fable-library-js.5.0.0-rc.7/String.js";
3
+ import { length, tail as tail_1, head as head_1, isEmpty, cons, reverse as reverse_1, ofSeq, singleton, append, empty, fold, tryLast, map as map_1 } from "../fable-library-js.5.0.0-rc.7/List.js";
4
+ import { Result_Map, Result_MapError, FSharpResult$2 } from "../fable-library-js.5.0.0-rc.7/Result.js";
5
+ import { Json, ErrorReason$1 } from "./Types.fs.js";
6
+ import { tryParse as tryParse_1 } from "../fable-library-js.5.0.0-rc.7/Guid.js";
7
+ import { Record, FSharpRef } from "../fable-library-js.5.0.0-rc.7/Types.js";
8
+ import { tryParse as tryParse_2 } from "../fable-library-js.5.0.0-rc.7/Int32.js";
9
+ import { tryParse as tryParse_4, fromInt32, toUInt64_unchecked, fromFloat64, toInt64_unchecked, toFloat64 } from "../fable-library-js.5.0.0-rc.7/BigInt.js";
10
+ import { tryParse as tryParse_3 } from "../fable-library-js.5.0.0-rc.7/Long.js";
11
+ import { tryParse as tryParse_5 } from "../fable-library-js.5.0.0-rc.7/Decimal.js";
12
+ import Decimal from "../fable-library-js.5.0.0-rc.7/Decimal.js";
13
+ import { toUniversalTime, tryParse as tryParse_6, minValue } from "../fable-library-js.5.0.0-rc.7/Date.js";
14
+ import { tryParse as tryParse_7, minValue as minValue_1 } from "../fable-library-js.5.0.0-rc.7/DateOffset.js";
15
+ import { tryParse as tryParse_8 } from "../fable-library-js.5.0.0-rc.7/TimeSpan.js";
16
+ import { value as value_7, defaultArg, some } from "../fable-library-js.5.0.0-rc.7/Option.js";
17
+ import { compare, comparePrimitives, defaultOf, int32ToString } from "../fable-library-js.5.0.0-rc.7/Util.js";
18
+ import { fill, setItem, fold as fold_1, item } from "../fable-library-js.5.0.0-rc.7/Array.js";
19
+ import { toArray, toList, append as append_1, reverse } from "../fable-library-js.5.0.0-rc.7/Seq.js";
20
+ import { class_type } from "../fable-library-js.5.0.0-rc.7/Reflection.js";
21
+ import { ofSeq as ofSeq_1, ofList } from "../fable-library-js.5.0.0-rc.7/Map.js";
22
+
23
+ export function Helpers_prependPath(path, err_, err__1) {
24
+ const err = [err_, err__1];
25
+ return [path + err[0], err[1]];
26
+ }
27
+
28
+ function genericMsg(helpers, msg, value_1, newLine) {
29
+ try {
30
+ return ((("Expecting " + msg) + " but instead got:") + (newLine ? "\n" : " ")) + helpers.anyToString(value_1);
31
+ }
32
+ catch (matchValue) {
33
+ return (("Expecting " + msg) + " but decoder failed. Couldn\'t report given value due to circular structure.") + (newLine ? "\n" : " ");
34
+ }
35
+ }
36
+
37
+ export function errorToString(helpers, path, error) {
38
+ const reason_1 = (error.tag === 2) ? genericMsg(helpers, error.fields[0], error.fields[1], true) : ((error.tag === 1) ? ((genericMsg(helpers, error.fields[0], error.fields[1], false) + "\nReason: ") + error.fields[2]) : ((error.tag === 3) ? genericMsg(helpers, error.fields[0], error.fields[1], true) : ((error.tag === 4) ? (genericMsg(helpers, error.fields[0], error.fields[1], true) + (("\nNode `" + error.fields[2]) + "` is unkown.")) : ((error.tag === 5) ? ((("Expecting " + error.fields[0]) + ".\n") + helpers.anyToString(error.fields[1])) : ((error.tag === 7) ? ("The following errors were found:\n\n" + join("\n\n", map_1((error_1) => {
39
+ const tupledArg = Helpers_prependPath(path, error_1[0], error_1[1]);
40
+ return errorToString(helpers, tupledArg[0], tupledArg[1]);
41
+ }, error.fields[0]))) : ((error.tag === 6) ? ("The following `failure` occurred with the decoder: " + error.fields[0]) : genericMsg(helpers, error.fields[0], error.fields[1], false)))))));
42
+ if (error.tag === 7) {
43
+ return reason_1;
44
+ }
45
+ else {
46
+ return (("Error at: `" + path) + "`\n") + reason_1;
47
+ }
48
+ }
49
+
50
+ /**
51
+ * Runs the decoder against the given JSON value.
52
+ *
53
+ * If the decoder fails, it reports the error prefixed with the given path.
54
+ */
55
+ export function Advanced_fromValue(helpers, decoder, value_1) {
56
+ const matchValue = decoder.Decode(helpers, value_1);
57
+ if (matchValue.tag === 1) {
58
+ const error = matchValue.fields[0];
59
+ return new FSharpResult$2(1, [errorToString(helpers, error[0], error[1])]);
60
+ }
61
+ else {
62
+ return new FSharpResult$2(0, [matchValue.fields[0]]);
63
+ }
64
+ }
65
+
66
+ export const string = {
67
+ Decode(helpers, value_1) {
68
+ return helpers.isString(value_1) ? (new FSharpResult$2(0, [helpers.asString(value_1)])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a string", value_1])]]));
69
+ },
70
+ };
71
+
72
+ export const char = {
73
+ Decode(helpers, value_1) {
74
+ if (helpers.isString(value_1)) {
75
+ const str = helpers.asString(value_1);
76
+ return (str.length === 1) ? (new FSharpResult$2(0, [str[0]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a single character string", value_1])]]));
77
+ }
78
+ else {
79
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a char", value_1])]]);
80
+ }
81
+ },
82
+ };
83
+
84
+ export const guid = {
85
+ Decode(helpers, value_1) {
86
+ if (helpers.isString(value_1)) {
87
+ let matchValue;
88
+ let outArg = "00000000-0000-0000-0000-000000000000";
89
+ matchValue = [tryParse_1(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
90
+ outArg = v;
91
+ })), outArg];
92
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a guid", value_1])]]));
93
+ }
94
+ else {
95
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a guid", value_1])]]);
96
+ }
97
+ },
98
+ };
99
+
100
+ export const unit = {
101
+ Decode(helpers, value_1) {
102
+ return helpers.isNullValue(value_1) ? (new FSharpResult$2(0, [undefined])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["null", value_1])]]));
103
+ },
104
+ };
105
+
106
+ export const sbyte = {
107
+ Decode(helpers, value_2) {
108
+ if (helpers.isNumber(value_2)) {
109
+ if (helpers.isIntegralValue(value_2)) {
110
+ const floatValue = helpers.asFloat(value_2);
111
+ return ((-128 <= floatValue) && (floatValue <= 127)) ? (new FSharpResult$2(0, [(floatValue + 0x80 & 0xFF) - 0x80])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["a sbyte", value_2, "Value was either too large or too small for a sbyte"])]]));
112
+ }
113
+ else {
114
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["a sbyte", value_2, "Value is not an integral value"])]]);
115
+ }
116
+ }
117
+ else if (helpers.isString(value_2)) {
118
+ let matchValue;
119
+ let outArg = 0;
120
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, false, 8, new FSharpRef(() => (outArg | 0), (v) => {
121
+ outArg = (v | 0);
122
+ })), outArg];
123
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a sbyte", value_2])]]));
124
+ }
125
+ else {
126
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a sbyte", value_2])]]);
127
+ }
128
+ },
129
+ };
130
+
131
+ export const byte = {
132
+ Decode(helpers, value_2) {
133
+ if (helpers.isNumber(value_2)) {
134
+ if (helpers.isIntegralValue(value_2)) {
135
+ const floatValue = helpers.asFloat(value_2);
136
+ return ((0 <= floatValue) && (floatValue <= 255)) ? (new FSharpResult$2(0, [floatValue & 0xFF])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["a byte", value_2, "Value was either too large or too small for a byte"])]]));
137
+ }
138
+ else {
139
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["a byte", value_2, "Value is not an integral value"])]]);
140
+ }
141
+ }
142
+ else if (helpers.isString(value_2)) {
143
+ let matchValue;
144
+ let outArg = 0;
145
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, true, 8, new FSharpRef(() => outArg, (v) => {
146
+ outArg = v;
147
+ })), outArg];
148
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a byte", value_2])]]));
149
+ }
150
+ else {
151
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a byte", value_2])]]);
152
+ }
153
+ },
154
+ };
155
+
156
+ export const int16 = {
157
+ Decode(helpers, value_2) {
158
+ if (helpers.isNumber(value_2)) {
159
+ if (helpers.isIntegralValue(value_2)) {
160
+ const floatValue = helpers.asFloat(value_2);
161
+ return ((-32768 <= floatValue) && (floatValue <= 32767)) ? (new FSharpResult$2(0, [(floatValue + 0x8000 & 0xFFFF) - 0x8000])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int16", value_2, "Value was either too large or too small for an int16"])]]));
162
+ }
163
+ else {
164
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int16", value_2, "Value is not an integral value"])]]);
165
+ }
166
+ }
167
+ else if (helpers.isString(value_2)) {
168
+ let matchValue;
169
+ let outArg = 0;
170
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, false, 16, new FSharpRef(() => (outArg | 0), (v) => {
171
+ outArg = (v | 0);
172
+ })), outArg];
173
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int16", value_2])]]));
174
+ }
175
+ else {
176
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int16", value_2])]]);
177
+ }
178
+ },
179
+ };
180
+
181
+ export const uint16 = {
182
+ Decode(helpers, value_2) {
183
+ if (helpers.isNumber(value_2)) {
184
+ if (helpers.isIntegralValue(value_2)) {
185
+ const floatValue = helpers.asFloat(value_2);
186
+ return ((0 <= floatValue) && (floatValue <= 65535)) ? (new FSharpResult$2(0, [floatValue & 0xFFFF])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint16", value_2, "Value was either too large or too small for an uint16"])]]));
187
+ }
188
+ else {
189
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint16", value_2, "Value is not an integral value"])]]);
190
+ }
191
+ }
192
+ else if (helpers.isString(value_2)) {
193
+ let matchValue;
194
+ let outArg = 0;
195
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, true, 16, new FSharpRef(() => outArg, (v) => {
196
+ outArg = v;
197
+ })), outArg];
198
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint16", value_2])]]));
199
+ }
200
+ else {
201
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint16", value_2])]]);
202
+ }
203
+ },
204
+ };
205
+
206
+ export const int = {
207
+ Decode(helpers, value_2) {
208
+ if (helpers.isNumber(value_2)) {
209
+ if (helpers.isIntegralValue(value_2)) {
210
+ const floatValue = helpers.asFloat(value_2);
211
+ return ((-2147483648 <= floatValue) && (floatValue <= 2147483647)) ? (new FSharpResult$2(0, [~~floatValue])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int", value_2, "Value was either too large or too small for an int"])]]));
212
+ }
213
+ else {
214
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int", value_2, "Value is not an integral value"])]]);
215
+ }
216
+ }
217
+ else if (helpers.isString(value_2)) {
218
+ let matchValue;
219
+ let outArg = 0;
220
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, false, 32, new FSharpRef(() => (outArg | 0), (v) => {
221
+ outArg = (v | 0);
222
+ })), outArg];
223
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int", value_2])]]));
224
+ }
225
+ else {
226
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int", value_2])]]);
227
+ }
228
+ },
229
+ };
230
+
231
+ export const uint32 = {
232
+ Decode(helpers, value_2) {
233
+ if (helpers.isNumber(value_2)) {
234
+ if (helpers.isIntegralValue(value_2)) {
235
+ const floatValue = helpers.asFloat(value_2);
236
+ return ((0 <= floatValue) && (floatValue <= 4294967295)) ? (new FSharpResult$2(0, [floatValue >>> 0])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint32", value_2, "Value was either too large or too small for an uint32"])]]));
237
+ }
238
+ else {
239
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint32", value_2, "Value is not an integral value"])]]);
240
+ }
241
+ }
242
+ else if (helpers.isString(value_2)) {
243
+ let matchValue;
244
+ let outArg = 0;
245
+ matchValue = [tryParse_2(helpers.asString(value_2), 511, true, 32, new FSharpRef(() => outArg, (v) => {
246
+ outArg = v;
247
+ })), outArg];
248
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint32", value_2])]]));
249
+ }
250
+ else {
251
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint32", value_2])]]);
252
+ }
253
+ },
254
+ };
255
+
256
+ export const int64 = {
257
+ Decode(helpers, value_2) {
258
+ if (helpers.isNumber(value_2)) {
259
+ if (helpers.isIntegralValue(value_2)) {
260
+ const floatValue = helpers.asFloat(value_2);
261
+ return ((toFloat64(-9223372036854775808n) <= floatValue) && (floatValue <= toFloat64(9223372036854775807n))) ? (new FSharpResult$2(0, [toInt64_unchecked(fromFloat64(floatValue))])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int64", value_2, "Value was either too large or too small for an int64"])]]));
262
+ }
263
+ else {
264
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an int64", value_2, "Value is not an integral value"])]]);
265
+ }
266
+ }
267
+ else if (helpers.isString(value_2)) {
268
+ let matchValue;
269
+ let outArg = 0n;
270
+ matchValue = [tryParse_3(helpers.asString(value_2), 511, false, 64, new FSharpRef(() => outArg, (v) => {
271
+ outArg = v;
272
+ })), outArg];
273
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int64", value_2])]]));
274
+ }
275
+ else {
276
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an int64", value_2])]]);
277
+ }
278
+ },
279
+ };
280
+
281
+ export const uint64 = {
282
+ Decode(helpers, value_2) {
283
+ if (helpers.isNumber(value_2)) {
284
+ if (helpers.isIntegralValue(value_2)) {
285
+ const floatValue = helpers.asFloat(value_2);
286
+ return ((toFloat64(0n) <= floatValue) && (floatValue <= toFloat64(18446744073709551615n))) ? (new FSharpResult$2(0, [toUInt64_unchecked(fromFloat64(floatValue))])) : (new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint64", value_2, "Value was either too large or too small for an uint64"])]]));
287
+ }
288
+ else {
289
+ return new FSharpResult$2(1, [["", new ErrorReason$1(1, ["an uint64", value_2, "Value is not an integral value"])]]);
290
+ }
291
+ }
292
+ else if (helpers.isString(value_2)) {
293
+ let matchValue;
294
+ let outArg = 0n;
295
+ matchValue = [tryParse_3(helpers.asString(value_2), 511, true, 64, new FSharpRef(() => outArg, (v) => {
296
+ outArg = v;
297
+ })), outArg];
298
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint64", value_2])]]));
299
+ }
300
+ else {
301
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an uint64", value_2])]]);
302
+ }
303
+ },
304
+ };
305
+
306
+ export const bigint = {
307
+ Decode(helpers, value_1) {
308
+ if (helpers.isNumber(value_1)) {
309
+ return new FSharpResult$2(0, [fromInt32(helpers.asInt(value_1))]);
310
+ }
311
+ else if (helpers.isString(value_1)) {
312
+ let parseResult;
313
+ let outArg = 0n;
314
+ parseResult = [tryParse_4(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
315
+ outArg = v;
316
+ })), outArg];
317
+ return parseResult[0] ? (new FSharpResult$2(0, [parseResult[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a bigint", value_1])]]));
318
+ }
319
+ else {
320
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a bigint", value_1])]]);
321
+ }
322
+ },
323
+ };
324
+
325
+ export const bool = {
326
+ Decode(helpers, value_1) {
327
+ return helpers.isBoolean(value_1) ? (new FSharpResult$2(0, [helpers.asBoolean(value_1)])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a boolean", value_1])]]));
328
+ },
329
+ };
330
+
331
+ export const float = {
332
+ Decode(helpers, value_1) {
333
+ return helpers.isNumber(value_1) ? (new FSharpResult$2(0, [helpers.asFloat(value_1)])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a float", value_1])]]));
334
+ },
335
+ };
336
+
337
+ export const float32 = {
338
+ Decode(helpers, value_1) {
339
+ return helpers.isNumber(value_1) ? (new FSharpResult$2(0, [helpers.asFloat32(value_1)])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a float32", value_1])]]));
340
+ },
341
+ };
342
+
343
+ export const decimal = {
344
+ Decode(helpers, value_1) {
345
+ if (helpers.isNumber(value_1)) {
346
+ return new FSharpResult$2(0, [new Decimal(helpers.asFloat(value_1))]);
347
+ }
348
+ else if (helpers.isString(value_1)) {
349
+ let matchValue;
350
+ let outArg = new Decimal("0");
351
+ matchValue = [tryParse_5(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
352
+ outArg = v;
353
+ })), outArg];
354
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a decimal", value_1])]]));
355
+ }
356
+ else {
357
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a decimal", value_1])]]);
358
+ }
359
+ },
360
+ };
361
+
362
+ export const datetimeUtc = {
363
+ Decode(helpers, value_1) {
364
+ if (helpers.isString(value_1)) {
365
+ let matchValue;
366
+ let outArg = minValue();
367
+ matchValue = [tryParse_6(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
368
+ outArg = v;
369
+ })), outArg];
370
+ return matchValue[0] ? (new FSharpResult$2(0, [toUniversalTime(matchValue[1])])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetime", value_1])]]));
371
+ }
372
+ else {
373
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetime", value_1])]]);
374
+ }
375
+ },
376
+ };
377
+
378
+ export const datetimeLocal = {
379
+ Decode(helpers, value_1) {
380
+ if (helpers.isString(value_1)) {
381
+ let matchValue;
382
+ let outArg = minValue();
383
+ matchValue = [tryParse_6(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
384
+ outArg = v;
385
+ })), outArg];
386
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetime", value_1])]]));
387
+ }
388
+ else {
389
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetime", value_1])]]);
390
+ }
391
+ },
392
+ };
393
+
394
+ export const datetimeOffset = {
395
+ Decode(helpers, value_1) {
396
+ if (helpers.isString(value_1)) {
397
+ let matchValue;
398
+ let outArg = minValue_1();
399
+ matchValue = [tryParse_7(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
400
+ outArg = v;
401
+ })), outArg];
402
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetimeoffset", value_1])]]));
403
+ }
404
+ else {
405
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a datetime", value_1])]]);
406
+ }
407
+ },
408
+ };
409
+
410
+ export const timespan = {
411
+ Decode(helpers, value_1) {
412
+ if (helpers.isString(value_1)) {
413
+ let matchValue;
414
+ let outArg = 0;
415
+ matchValue = [tryParse_8(helpers.asString(value_1), new FSharpRef(() => outArg, (v) => {
416
+ outArg = v;
417
+ })), outArg];
418
+ return matchValue[0] ? (new FSharpResult$2(0, [matchValue[1]])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a timespan", value_1])]]));
419
+ }
420
+ else {
421
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a timespan", value_1])]]);
422
+ }
423
+ },
424
+ };
425
+
426
+ function decodeMaybeNull(helpers, path, decoder, value_1) {
427
+ let tupledArg;
428
+ if (helpers.isNullValue(value_1)) {
429
+ return new FSharpResult$2(0, [undefined]);
430
+ }
431
+ else {
432
+ const matchValue = decoder.Decode(helpers, value_1);
433
+ if (matchValue.tag === 1) {
434
+ return new FSharpResult$2(1, [(tupledArg = matchValue.fields[0], Helpers_prependPath(path, tupledArg[0], tupledArg[1]))]);
435
+ }
436
+ else {
437
+ return new FSharpResult$2(0, [some(matchValue.fields[0])]);
438
+ }
439
+ }
440
+ }
441
+
442
+ export function optional(fieldName, decoder) {
443
+ return {
444
+ Decode(helpers, value_1) {
445
+ return helpers.isObject(value_1) ? (helpers.hasProperty(fieldName, value_1) ? decodeMaybeNull(helpers, "." + fieldName, decoder, helpers.getProperty(fieldName, value_1)) : (new FSharpResult$2(0, [undefined]))) : (new FSharpResult$2(1, [["", new ErrorReason$1(2, ["an object", value_1])]]));
446
+ },
447
+ };
448
+ }
449
+
450
+ function badPathError(fieldNames, currentPath, value_1) {
451
+ return new FSharpResult$2(1, [["." + defaultArg(currentPath, join(".", fieldNames)), new ErrorReason$1(4, [("an object with path `" + join(".", fieldNames)) + "`", value_1, defaultArg(tryLast(fieldNames), "")])]]);
452
+ }
453
+
454
+ export function map2(ctor, d1, d2) {
455
+ return {
456
+ Decode(helpers, value_1) {
457
+ const matchValue = d1.Decode(helpers, value_1);
458
+ const matchValue_1 = d2.Decode(helpers, value_1);
459
+ const copyOfStruct = matchValue;
460
+ if (copyOfStruct.tag === 1) {
461
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
462
+ }
463
+ else {
464
+ const copyOfStruct_1 = matchValue_1;
465
+ return (copyOfStruct_1.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_1.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0])]));
466
+ }
467
+ },
468
+ };
469
+ }
470
+
471
+ export function optionalAt(fieldNames, decoder) {
472
+ return {
473
+ Decode(helpers, firstValue) {
474
+ const _arg = fold((tupledArg, field_1) => {
475
+ const curPath = tupledArg[0];
476
+ const curValue = tupledArg[1];
477
+ const res = tupledArg[2];
478
+ if (res == null) {
479
+ if (helpers.isNullValue(curValue)) {
480
+ return [curPath, curValue, new FSharpResult$2(0, [undefined])];
481
+ }
482
+ else if (helpers.isObject(curValue)) {
483
+ if (helpers.hasProperty(field_1, curValue)) {
484
+ return [(curPath + ".") + field_1, helpers.getProperty(field_1, curValue), undefined];
485
+ }
486
+ else {
487
+ return [curPath, curValue, new FSharpResult$2(0, [undefined])];
488
+ }
489
+ }
490
+ else {
491
+ return [curPath, curValue, new FSharpResult$2(1, [[curPath, new ErrorReason$1(2, ["an object", curValue])]])];
492
+ }
493
+ }
494
+ else {
495
+ return [curPath, curValue, res];
496
+ }
497
+ }, ["", firstValue, undefined], fieldNames);
498
+ if (_arg[2] == null) {
499
+ const lastValue = _arg[1];
500
+ return helpers.isNullValue(lastValue) ? (new FSharpResult$2(0, [undefined])) : decodeMaybeNull(helpers, _arg[0], decoder, lastValue);
501
+ }
502
+ else {
503
+ return _arg[2];
504
+ }
505
+ },
506
+ };
507
+ }
508
+
509
+ export function field(fieldName, decoder) {
510
+ return {
511
+ Decode(helpers, value_1) {
512
+ if (helpers.isObject(value_1)) {
513
+ if (helpers.hasProperty(fieldName, value_1)) {
514
+ const fieldValue = helpers.getProperty(fieldName, value_1);
515
+ const path = "." + fieldName;
516
+ return Result_MapError((tupledArg) => Helpers_prependPath(path, tupledArg[0], tupledArg[1]), decoder.Decode(helpers, fieldValue));
517
+ }
518
+ else {
519
+ return new FSharpResult$2(1, [["", new ErrorReason$1(3, [("an object with a field named `" + fieldName) + "`", value_1])]]);
520
+ }
521
+ }
522
+ else {
523
+ return new FSharpResult$2(1, [["", new ErrorReason$1(2, ["an object", value_1])]]);
524
+ }
525
+ },
526
+ };
527
+ }
528
+
529
+ export function at(fieldNames, decoder) {
530
+ return {
531
+ Decode(helpers, firstValue) {
532
+ const _arg = fold((tupledArg, field_1) => {
533
+ const curPath = tupledArg[0];
534
+ const curValue = tupledArg[1];
535
+ const res = tupledArg[2];
536
+ if (res == null) {
537
+ if (helpers.isNullValue(curValue)) {
538
+ return [curPath, curValue, badPathError(fieldNames, curPath, firstValue)];
539
+ }
540
+ else if (helpers.isObject(curValue)) {
541
+ if (helpers.hasProperty(field_1, curValue)) {
542
+ return [(curPath + ".") + field_1, helpers.getProperty(field_1, curValue), undefined];
543
+ }
544
+ else {
545
+ return [curPath, curValue, badPathError(fieldNames, undefined, firstValue)];
546
+ }
547
+ }
548
+ else {
549
+ return [curPath, curValue, new FSharpResult$2(1, [[curPath, new ErrorReason$1(2, ["an object", curValue])]])];
550
+ }
551
+ }
552
+ else {
553
+ return [curPath, curValue, res];
554
+ }
555
+ }, ["", firstValue, undefined], fieldNames);
556
+ return (_arg[2] == null) ? Result_MapError((tupledArg_1) => Helpers_prependPath(_arg[0], tupledArg_1[0], tupledArg_1[1]), decoder.Decode(helpers, _arg[1])) : _arg[2];
557
+ },
558
+ };
559
+ }
560
+
561
+ export function index(requestedIndex, decoder) {
562
+ return {
563
+ Decode(helpers, value_1) {
564
+ if (helpers.isArray(value_1)) {
565
+ const vArray = helpers.asArray(value_1);
566
+ const path = (".[" + int32ToString(requestedIndex)) + "]";
567
+ return (requestedIndex < vArray.length) ? Result_MapError((tupledArg) => Helpers_prependPath(path, tupledArg[0], tupledArg[1]), decoder.Decode(helpers, item(requestedIndex, vArray))) : (new FSharpResult$2(1, [[path, new ErrorReason$1(5, [((("a longer array. Need index `" + int32ToString(requestedIndex)) + "` but there are only `") + int32ToString(vArray.length)) + "` entries", value_1])]]));
568
+ }
569
+ else {
570
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an array", value_1])]]);
571
+ }
572
+ },
573
+ };
574
+ }
575
+
576
+ export function list(decoder) {
577
+ return {
578
+ Decode(helpers, value_1) {
579
+ if (helpers.isArray(value_1)) {
580
+ const tokens = helpers.asArray(value_1);
581
+ let i = 0;
582
+ let result = empty();
583
+ let error = undefined;
584
+ while ((i < tokens.length) && (error == null)) {
585
+ let tupledArg;
586
+ const value_2 = item(i, tokens);
587
+ const matchValue = decoder.Decode(helpers, value_2);
588
+ if (matchValue.tag === 1) {
589
+ const x = (tupledArg = matchValue.fields[0], Helpers_prependPath((".[" + int32ToString(i)) + "]", tupledArg[0], tupledArg[1]));
590
+ error = x;
591
+ }
592
+ else {
593
+ result = append(result, singleton(matchValue.fields[0]));
594
+ }
595
+ i = ((i + 1) | 0);
596
+ }
597
+ return (error == null) ? (new FSharpResult$2(0, [result])) : (new FSharpResult$2(1, [value_7(error)]));
598
+ }
599
+ else {
600
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a list", value_1])]]);
601
+ }
602
+ },
603
+ };
604
+ }
605
+
606
+ export function resizeArray(decoder) {
607
+ return {
608
+ Decode(helpers, value_1) {
609
+ if (helpers.isArray(value_1)) {
610
+ const tokens = helpers.asArray(value_1);
611
+ let i = 0;
612
+ const result = [];
613
+ let error = undefined;
614
+ while ((i < tokens.length) && (error == null)) {
615
+ let tupledArg;
616
+ const value_2 = item(i, tokens);
617
+ const matchValue = decoder.Decode(helpers, value_2);
618
+ if (matchValue.tag === 1) {
619
+ error = ((tupledArg = matchValue.fields[0], Helpers_prependPath((".[" + int32ToString(i)) + "]", tupledArg[0], tupledArg[1])));
620
+ }
621
+ else {
622
+ void (result.push(matchValue.fields[0]));
623
+ }
624
+ i = ((i + 1) | 0);
625
+ }
626
+ return (error == null) ? (new FSharpResult$2(0, [Array.from(result)])) : (new FSharpResult$2(1, [value_7(error)]));
627
+ }
628
+ else {
629
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a ResizeArray", value_1])]]);
630
+ }
631
+ },
632
+ };
633
+ }
634
+
635
+ export function seq(decoder) {
636
+ return {
637
+ Decode(helpers, value_1) {
638
+ if (helpers.isArray(value_1)) {
639
+ let i = -1;
640
+ return Result_Map(reverse, fold_1((acc, value_2) => {
641
+ let tupledArg;
642
+ i = ((i + 1) | 0);
643
+ if (acc.tag === 0) {
644
+ const matchValue = decoder.Decode(helpers, value_2);
645
+ if (matchValue.tag === 0) {
646
+ return new FSharpResult$2(0, [append_1([matchValue.fields[0]], acc.fields[0])]);
647
+ }
648
+ else {
649
+ return new FSharpResult$2(1, [(tupledArg = matchValue.fields[0], Helpers_prependPath((".[" + int32ToString(i)) + "]", tupledArg[0], tupledArg[1]))]);
650
+ }
651
+ }
652
+ else {
653
+ return acc;
654
+ }
655
+ }, new FSharpResult$2(0, [[]]), helpers.asArray(value_1)));
656
+ }
657
+ else {
658
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["a seq", value_1])]]);
659
+ }
660
+ },
661
+ };
662
+ }
663
+
664
+ export function array(decoder) {
665
+ return {
666
+ Decode(helpers, value_1) {
667
+ if (helpers.isArray(value_1)) {
668
+ let i = -1;
669
+ const tokens = helpers.asArray(value_1);
670
+ return fold_1((acc, value_2) => {
671
+ let tupledArg;
672
+ i = ((i + 1) | 0);
673
+ if (acc.tag === 0) {
674
+ const acc_1 = acc.fields[0];
675
+ const matchValue = decoder.Decode(helpers, value_2);
676
+ if (matchValue.tag === 0) {
677
+ setItem(acc_1, i, matchValue.fields[0]);
678
+ return new FSharpResult$2(0, [acc_1]);
679
+ }
680
+ else {
681
+ return new FSharpResult$2(1, [(tupledArg = matchValue.fields[0], Helpers_prependPath((".[" + int32ToString(i)) + "]", tupledArg[0], tupledArg[1]))]);
682
+ }
683
+ }
684
+ else {
685
+ return acc;
686
+ }
687
+ }, new FSharpResult$2(0, [fill(new Array(tokens.length), 0, tokens.length, null)]), tokens);
688
+ }
689
+ else {
690
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an array", value_1])]]);
691
+ }
692
+ },
693
+ };
694
+ }
695
+
696
+ export const keys = {
697
+ Decode(helpers, value_1) {
698
+ return helpers.isObject(value_1) ? (new FSharpResult$2(0, [ofSeq(helpers.getProperties(value_1))])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["an object", value_1])]]));
699
+ },
700
+ };
701
+
702
+ export function keyValuePairs(decoder) {
703
+ return {
704
+ Decode(helpers, value_1) {
705
+ const matchValue = keys.Decode(helpers, value_1);
706
+ return (matchValue.tag === 1) ? (new FSharpResult$2(1, [matchValue.fields[0]])) : Result_Map(reverse_1, fold((acc, prop) => {
707
+ if (acc.tag === 0) {
708
+ const fieldValue = helpers.getProperty(prop, value_1);
709
+ const matchValue_1 = decoder.Decode(helpers, fieldValue);
710
+ if (matchValue_1.tag === 0) {
711
+ return new FSharpResult$2(0, [cons([prop, matchValue_1.fields[0]], acc.fields[0])]);
712
+ }
713
+ else {
714
+ return new FSharpResult$2(1, [matchValue_1.fields[0]]);
715
+ }
716
+ }
717
+ else {
718
+ return acc;
719
+ }
720
+ }, new FSharpResult$2(0, [empty()]), matchValue.fields[0]));
721
+ },
722
+ };
723
+ }
724
+
725
+ export function oneOf(decoders) {
726
+ return {
727
+ Decode(helpers, value_1) {
728
+ const runner = (decoders_1_mut, errors_mut) => {
729
+ runner:
730
+ while (true) {
731
+ const decoders_1 = decoders_1_mut, errors = errors_mut;
732
+ if (isEmpty(decoders_1)) {
733
+ return new FSharpResult$2(1, [["", new ErrorReason$1(7, [errors])]]);
734
+ }
735
+ else {
736
+ const matchValue = head_1(decoders_1).Decode(helpers, value_1);
737
+ if (matchValue.tag === 1) {
738
+ decoders_1_mut = tail_1(decoders_1);
739
+ errors_mut = append(errors, singleton(matchValue.fields[0]));
740
+ continue runner;
741
+ }
742
+ else {
743
+ return new FSharpResult$2(0, [matchValue.fields[0]]);
744
+ }
745
+ }
746
+ break;
747
+ }
748
+ };
749
+ return runner(decoders, empty());
750
+ },
751
+ };
752
+ }
753
+
754
+ export function nil(output) {
755
+ return {
756
+ Decode(helpers, value_1) {
757
+ return helpers.isNullValue(value_1) ? (new FSharpResult$2(0, [output])) : (new FSharpResult$2(1, [["", new ErrorReason$1(0, ["null", value_1])]]));
758
+ },
759
+ };
760
+ }
761
+
762
+ class ValueDecoder {
763
+ constructor() {
764
+ }
765
+ Decode(helpers, value_1) {
766
+ const this$ = this;
767
+ const decoder = this$;
768
+ if (helpers.isBoolean(value_1)) {
769
+ return new FSharpResult$2(0, [new Json(3, [helpers.asBoolean(value_1)])]);
770
+ }
771
+ else if (helpers.isNullValue(value_1)) {
772
+ return new FSharpResult$2(0, [new Json(2, [])]);
773
+ }
774
+ else if (helpers.isString(value_1)) {
775
+ return new FSharpResult$2(0, [new Json(0, [helpers.asString(value_1)])]);
776
+ }
777
+ else if (helpers.isNumber(value_1)) {
778
+ return new FSharpResult$2(0, [new Json(1, [helpers.asFloat(value_1)])]);
779
+ }
780
+ else if (helpers.isArray(value_1)) {
781
+ const tokens = helpers.asArray(value_1);
782
+ const result = fill(new Array(tokens.length), 0, tokens.length, null);
783
+ let i = 0;
784
+ let error = undefined;
785
+ while ((i < tokens.length) && (error == null)) {
786
+ let tupledArg;
787
+ const value_2 = item(i, tokens);
788
+ const matchValue = decoder.Decode(helpers, value_2);
789
+ if (matchValue.tag === 1) {
790
+ const x = (tupledArg = matchValue.fields[0], Helpers_prependPath(`.[${i}]`, tupledArg[0], tupledArg[1]));
791
+ error = x;
792
+ }
793
+ else {
794
+ setItem(result, i, matchValue.fields[0]);
795
+ }
796
+ i = ((i + 1) | 0);
797
+ }
798
+ return (error == null) ? (new FSharpResult$2(0, [new Json(5, [toList(result)])])) : (new FSharpResult$2(1, [value_7(error)]));
799
+ }
800
+ else if (helpers.isObject(value_1)) {
801
+ const props = toArray(helpers.getProperties(value_1));
802
+ const result_1 = fill(new Array(props.length), 0, props.length, null);
803
+ let i_1 = 0;
804
+ let error_1 = undefined;
805
+ while ((i_1 < props.length) && (error_1 == null)) {
806
+ let tupledArg_1;
807
+ const key = item(i_1, props);
808
+ const value_4 = helpers.getProperty(key, value_1);
809
+ const matchValue_1 = decoder.Decode(helpers, value_4);
810
+ if (matchValue_1.tag === 1) {
811
+ const x_1 = (tupledArg_1 = matchValue_1.fields[0], Helpers_prependPath("." + key, tupledArg_1[0], tupledArg_1[1]));
812
+ error_1 = x_1;
813
+ }
814
+ else {
815
+ setItem(result_1, i_1, [key, matchValue_1.fields[0]]);
816
+ }
817
+ i_1 = ((i_1 + 1) | 0);
818
+ }
819
+ return (error_1 == null) ? (new FSharpResult$2(0, [new Json(4, [toList(result_1)])])) : (new FSharpResult$2(1, [value_7(error_1)]));
820
+ }
821
+ else {
822
+ return new FSharpResult$2(1, [["", new ErrorReason$1(0, ["any", value_1])]]);
823
+ }
824
+ }
825
+ }
826
+
827
+ function ValueDecoder_$reflection() {
828
+ return class_type("Thoth.Json.Core.Decode.ValueDecoder", undefined, ValueDecoder);
829
+ }
830
+
831
+ function ValueDecoder_$ctor() {
832
+ return new ValueDecoder();
833
+ }
834
+
835
+ export const value = ValueDecoder_$ctor();
836
+
837
+ export function succeed(output) {
838
+ return {
839
+ Decode(_arg, _arg_1) {
840
+ return new FSharpResult$2(0, [output]);
841
+ },
842
+ };
843
+ }
844
+
845
+ export function fail(msg) {
846
+ return {
847
+ Decode(_arg, _arg_1) {
848
+ return new FSharpResult$2(1, [["", new ErrorReason$1(6, [msg])]]);
849
+ },
850
+ };
851
+ }
852
+
853
+ export function andThen(cb, decoder) {
854
+ return {
855
+ Decode(helpers, value_1) {
856
+ const matchValue = decoder.Decode(helpers, value_1);
857
+ return (matchValue.tag === 0) ? cb(matchValue.fields[0]).Decode(helpers, value_1) : (new FSharpResult$2(1, [matchValue.fields[0]]));
858
+ },
859
+ };
860
+ }
861
+
862
+ export function all(decoders) {
863
+ return {
864
+ Decode(helpers, value_1) {
865
+ const runner = (decoders_1_mut, values_mut) => {
866
+ runner:
867
+ while (true) {
868
+ const decoders_1 = decoders_1_mut, values = values_mut;
869
+ if (isEmpty(decoders_1)) {
870
+ return new FSharpResult$2(0, [values]);
871
+ }
872
+ else {
873
+ const matchValue = head_1(decoders_1).Decode(helpers, value_1);
874
+ if (matchValue.tag === 1) {
875
+ return new FSharpResult$2(1, [matchValue.fields[0]]);
876
+ }
877
+ else {
878
+ decoders_1_mut = tail_1(decoders_1);
879
+ values_mut = append(values, singleton(matchValue.fields[0]));
880
+ continue runner;
881
+ }
882
+ }
883
+ break;
884
+ }
885
+ };
886
+ return runner(decoders, empty());
887
+ },
888
+ };
889
+ }
890
+
891
+ class LazyDecoder$1 extends Record {
892
+ constructor(x) {
893
+ super();
894
+ this.x = x;
895
+ }
896
+ Decode(helpers, json) {
897
+ const this$ = this;
898
+ const decoder = this$.x.Value;
899
+ return decoder.Decode(helpers, json);
900
+ }
901
+ }
902
+
903
+ function LazyDecoder$1_$reflection(gen0) {
904
+ return class_type("Thoth.Json.Core.Decode.LazyDecoder`1", [gen0], LazyDecoder$1, class_type("System.ValueType"));
905
+ }
906
+
907
+ function LazyDecoder$1_$ctor_Z67290E74(x) {
908
+ return new LazyDecoder$1(x);
909
+ }
910
+
911
+ export function lazily(x) {
912
+ return LazyDecoder$1_$ctor_Z67290E74(x);
913
+ }
914
+
915
+ export function map(ctor, d1) {
916
+ return {
917
+ Decode(helpers, value_1) {
918
+ const matchValue = d1.Decode(helpers, value_1);
919
+ return (matchValue.tag === 1) ? (new FSharpResult$2(1, [matchValue.fields[0]])) : (new FSharpResult$2(0, [ctor(matchValue.fields[0])]));
920
+ },
921
+ };
922
+ }
923
+
924
+ export function map3(ctor, d1, d2, d3) {
925
+ return {
926
+ Decode(helpers, value_1) {
927
+ const matchValue = d1.Decode(helpers, value_1);
928
+ const matchValue_1 = d2.Decode(helpers, value_1);
929
+ const matchValue_2 = d3.Decode(helpers, value_1);
930
+ const copyOfStruct = matchValue;
931
+ if (copyOfStruct.tag === 1) {
932
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
933
+ }
934
+ else {
935
+ const copyOfStruct_1 = matchValue_1;
936
+ if (copyOfStruct_1.tag === 1) {
937
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
938
+ }
939
+ else {
940
+ const copyOfStruct_2 = matchValue_2;
941
+ return (copyOfStruct_2.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_2.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0])]));
942
+ }
943
+ }
944
+ },
945
+ };
946
+ }
947
+
948
+ export function map4(ctor, d1, d2, d3, d4) {
949
+ return {
950
+ Decode(helpers, value_1) {
951
+ const matchValue = d1.Decode(helpers, value_1);
952
+ const matchValue_1 = d2.Decode(helpers, value_1);
953
+ const matchValue_2 = d3.Decode(helpers, value_1);
954
+ const matchValue_3 = d4.Decode(helpers, value_1);
955
+ const copyOfStruct = matchValue;
956
+ if (copyOfStruct.tag === 1) {
957
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
958
+ }
959
+ else {
960
+ const copyOfStruct_1 = matchValue_1;
961
+ if (copyOfStruct_1.tag === 1) {
962
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
963
+ }
964
+ else {
965
+ const copyOfStruct_2 = matchValue_2;
966
+ if (copyOfStruct_2.tag === 1) {
967
+ return new FSharpResult$2(1, [copyOfStruct_2.fields[0]]);
968
+ }
969
+ else {
970
+ const copyOfStruct_3 = matchValue_3;
971
+ return (copyOfStruct_3.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_3.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0])]));
972
+ }
973
+ }
974
+ }
975
+ },
976
+ };
977
+ }
978
+
979
+ export function map5(ctor, d1, d2, d3, d4, d5) {
980
+ return {
981
+ Decode(helpers, value_1) {
982
+ const matchValue = d1.Decode(helpers, value_1);
983
+ const matchValue_1 = d2.Decode(helpers, value_1);
984
+ const matchValue_2 = d3.Decode(helpers, value_1);
985
+ const matchValue_3 = d4.Decode(helpers, value_1);
986
+ const matchValue_4 = d5.Decode(helpers, value_1);
987
+ const copyOfStruct = matchValue;
988
+ if (copyOfStruct.tag === 1) {
989
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
990
+ }
991
+ else {
992
+ const copyOfStruct_1 = matchValue_1;
993
+ if (copyOfStruct_1.tag === 1) {
994
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
995
+ }
996
+ else {
997
+ const copyOfStruct_2 = matchValue_2;
998
+ if (copyOfStruct_2.tag === 1) {
999
+ return new FSharpResult$2(1, [copyOfStruct_2.fields[0]]);
1000
+ }
1001
+ else {
1002
+ const copyOfStruct_3 = matchValue_3;
1003
+ if (copyOfStruct_3.tag === 1) {
1004
+ return new FSharpResult$2(1, [copyOfStruct_3.fields[0]]);
1005
+ }
1006
+ else {
1007
+ const copyOfStruct_4 = matchValue_4;
1008
+ return (copyOfStruct_4.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_4.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0])]));
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+ },
1014
+ };
1015
+ }
1016
+
1017
+ export function map6(ctor, d1, d2, d3, d4, d5, d6) {
1018
+ return {
1019
+ Decode(helpers, value_1) {
1020
+ const matchValue = d1.Decode(helpers, value_1);
1021
+ const matchValue_1 = d2.Decode(helpers, value_1);
1022
+ const matchValue_2 = d3.Decode(helpers, value_1);
1023
+ const matchValue_3 = d4.Decode(helpers, value_1);
1024
+ const matchValue_4 = d5.Decode(helpers, value_1);
1025
+ const matchValue_5 = d6.Decode(helpers, value_1);
1026
+ const copyOfStruct = matchValue;
1027
+ if (copyOfStruct.tag === 1) {
1028
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
1029
+ }
1030
+ else {
1031
+ const copyOfStruct_1 = matchValue_1;
1032
+ if (copyOfStruct_1.tag === 1) {
1033
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
1034
+ }
1035
+ else {
1036
+ const copyOfStruct_2 = matchValue_2;
1037
+ if (copyOfStruct_2.tag === 1) {
1038
+ return new FSharpResult$2(1, [copyOfStruct_2.fields[0]]);
1039
+ }
1040
+ else {
1041
+ const copyOfStruct_3 = matchValue_3;
1042
+ if (copyOfStruct_3.tag === 1) {
1043
+ return new FSharpResult$2(1, [copyOfStruct_3.fields[0]]);
1044
+ }
1045
+ else {
1046
+ const copyOfStruct_4 = matchValue_4;
1047
+ if (copyOfStruct_4.tag === 1) {
1048
+ return new FSharpResult$2(1, [copyOfStruct_4.fields[0]]);
1049
+ }
1050
+ else {
1051
+ const copyOfStruct_5 = matchValue_5;
1052
+ return (copyOfStruct_5.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_5.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0])]));
1053
+ }
1054
+ }
1055
+ }
1056
+ }
1057
+ }
1058
+ },
1059
+ };
1060
+ }
1061
+
1062
+ export function map7(ctor, d1, d2, d3, d4, d5, d6, d7) {
1063
+ return {
1064
+ Decode(helpers, value_1) {
1065
+ const matchValue = d1.Decode(helpers, value_1);
1066
+ const matchValue_1 = d2.Decode(helpers, value_1);
1067
+ const matchValue_2 = d3.Decode(helpers, value_1);
1068
+ const matchValue_3 = d4.Decode(helpers, value_1);
1069
+ const matchValue_4 = d5.Decode(helpers, value_1);
1070
+ const matchValue_5 = d6.Decode(helpers, value_1);
1071
+ const matchValue_6 = d7.Decode(helpers, value_1);
1072
+ const copyOfStruct = matchValue;
1073
+ if (copyOfStruct.tag === 1) {
1074
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
1075
+ }
1076
+ else {
1077
+ const copyOfStruct_1 = matchValue_1;
1078
+ if (copyOfStruct_1.tag === 1) {
1079
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
1080
+ }
1081
+ else {
1082
+ const copyOfStruct_2 = matchValue_2;
1083
+ if (copyOfStruct_2.tag === 1) {
1084
+ return new FSharpResult$2(1, [copyOfStruct_2.fields[0]]);
1085
+ }
1086
+ else {
1087
+ const copyOfStruct_3 = matchValue_3;
1088
+ if (copyOfStruct_3.tag === 1) {
1089
+ return new FSharpResult$2(1, [copyOfStruct_3.fields[0]]);
1090
+ }
1091
+ else {
1092
+ const copyOfStruct_4 = matchValue_4;
1093
+ if (copyOfStruct_4.tag === 1) {
1094
+ return new FSharpResult$2(1, [copyOfStruct_4.fields[0]]);
1095
+ }
1096
+ else {
1097
+ const copyOfStruct_5 = matchValue_5;
1098
+ if (copyOfStruct_5.tag === 1) {
1099
+ return new FSharpResult$2(1, [copyOfStruct_5.fields[0]]);
1100
+ }
1101
+ else {
1102
+ const copyOfStruct_6 = matchValue_6;
1103
+ return (copyOfStruct_6.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_6.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0])]));
1104
+ }
1105
+ }
1106
+ }
1107
+ }
1108
+ }
1109
+ }
1110
+ },
1111
+ };
1112
+ }
1113
+
1114
+ export function map8(ctor, d1, d2, d3, d4, d5, d6, d7, d8) {
1115
+ return {
1116
+ Decode(helpers, value_1) {
1117
+ const matchValue = d1.Decode(helpers, value_1);
1118
+ const matchValue_1 = d2.Decode(helpers, value_1);
1119
+ const matchValue_2 = d3.Decode(helpers, value_1);
1120
+ const matchValue_3 = d4.Decode(helpers, value_1);
1121
+ const matchValue_4 = d5.Decode(helpers, value_1);
1122
+ const matchValue_5 = d6.Decode(helpers, value_1);
1123
+ const matchValue_6 = d7.Decode(helpers, value_1);
1124
+ const matchValue_7 = d8.Decode(helpers, value_1);
1125
+ const copyOfStruct = matchValue;
1126
+ if (copyOfStruct.tag === 1) {
1127
+ return new FSharpResult$2(1, [copyOfStruct.fields[0]]);
1128
+ }
1129
+ else {
1130
+ const copyOfStruct_1 = matchValue_1;
1131
+ if (copyOfStruct_1.tag === 1) {
1132
+ return new FSharpResult$2(1, [copyOfStruct_1.fields[0]]);
1133
+ }
1134
+ else {
1135
+ const copyOfStruct_2 = matchValue_2;
1136
+ if (copyOfStruct_2.tag === 1) {
1137
+ return new FSharpResult$2(1, [copyOfStruct_2.fields[0]]);
1138
+ }
1139
+ else {
1140
+ const copyOfStruct_3 = matchValue_3;
1141
+ if (copyOfStruct_3.tag === 1) {
1142
+ return new FSharpResult$2(1, [copyOfStruct_3.fields[0]]);
1143
+ }
1144
+ else {
1145
+ const copyOfStruct_4 = matchValue_4;
1146
+ if (copyOfStruct_4.tag === 1) {
1147
+ return new FSharpResult$2(1, [copyOfStruct_4.fields[0]]);
1148
+ }
1149
+ else {
1150
+ const copyOfStruct_5 = matchValue_5;
1151
+ if (copyOfStruct_5.tag === 1) {
1152
+ return new FSharpResult$2(1, [copyOfStruct_5.fields[0]]);
1153
+ }
1154
+ else {
1155
+ const copyOfStruct_6 = matchValue_6;
1156
+ if (copyOfStruct_6.tag === 1) {
1157
+ return new FSharpResult$2(1, [copyOfStruct_6.fields[0]]);
1158
+ }
1159
+ else {
1160
+ const copyOfStruct_7 = matchValue_7;
1161
+ return (copyOfStruct_7.tag === 1) ? (new FSharpResult$2(1, [copyOfStruct_7.fields[0]])) : (new FSharpResult$2(0, [ctor(copyOfStruct.fields[0], copyOfStruct_1.fields[0], copyOfStruct_2.fields[0], copyOfStruct_3.fields[0], copyOfStruct_4.fields[0], copyOfStruct_5.fields[0], copyOfStruct_6.fields[0], copyOfStruct_7.fields[0])]));
1162
+ }
1163
+ }
1164
+ }
1165
+ }
1166
+ }
1167
+ }
1168
+ }
1169
+ },
1170
+ };
1171
+ }
1172
+
1173
+ /**
1174
+ * Decode a JSON null value into an F# option.
1175
+ *
1176
+ * Attention, this decoder is lossy, it will not be able to distinguish between `'T option` and `'T option option`.
1177
+ *
1178
+ * If you need to distinguish between `'T option` and `'T option option`, use `losslessOption`.
1179
+ */
1180
+ export function lossyOption(decoder) {
1181
+ return {
1182
+ Decode(helpers, value_1) {
1183
+ return helpers.isNullValue(value_1) ? (new FSharpResult$2(0, [undefined])) : Result_Map(some, decoder.Decode(helpers, value_1));
1184
+ },
1185
+ };
1186
+ }
1187
+
1188
+ /**
1189
+ * Decode a JSON null value into an F# option.
1190
+ *
1191
+ * This decoder is lossless, it will be able to distinguish between `'T option` and `'T option option`.
1192
+ *
1193
+ * If you don't need to distinguish between `'T option` and `'T option option`, you can use `lossyOption` which is more efficient.
1194
+ */
1195
+ export function losslessOption(decoder) {
1196
+ return andThen((typeName) => {
1197
+ if (typeName === "option") {
1198
+ return andThen((state) => {
1199
+ switch (state) {
1200
+ case "none":
1201
+ return succeed(undefined);
1202
+ case "some":
1203
+ return map(some, field("$value", decoder));
1204
+ default:
1205
+ return fail("Expecting a state field with value \'none\' or \'some\' but got " + state);
1206
+ }
1207
+ }, field("$case", string));
1208
+ }
1209
+ else {
1210
+ return fail("Expecting an Option type but got " + typeName);
1211
+ }
1212
+ }, field("$type", string));
1213
+ }
1214
+
1215
+ /**
1216
+ * Allow to incrementally apply a decoder, for building large objects.
1217
+ */
1218
+ export function andMap() {
1219
+ return (d) => ((d_1) => map2((arg, func) => func(arg), d, d_1));
1220
+ }
1221
+
1222
+ function unwrapWith(errors, helpers, decoder, value_1) {
1223
+ const matchValue = decoder.Decode(helpers, value_1);
1224
+ if (matchValue.tag === 1) {
1225
+ void (errors.push(matchValue.fields[0]));
1226
+ return defaultOf();
1227
+ }
1228
+ else {
1229
+ return matchValue.fields[0];
1230
+ }
1231
+ }
1232
+
1233
+ export class Getters$2 {
1234
+ constructor(helpers, value_1) {
1235
+ let _this, _this_1;
1236
+ this.errors = [];
1237
+ this.required = ((_this = this, {
1238
+ Field(fieldName, decoder) {
1239
+ return unwrapWith(_this.errors, helpers, field(fieldName, decoder), value_1);
1240
+ },
1241
+ At(fieldNames, decoder_1) {
1242
+ return unwrapWith(_this.errors, helpers, at(fieldNames, decoder_1), value_1);
1243
+ },
1244
+ Raw(decoder_2) {
1245
+ return unwrapWith(_this.errors, helpers, decoder_2, value_1);
1246
+ },
1247
+ }));
1248
+ this.optional = ((_this_1 = this, {
1249
+ Field(fieldName_1, decoder_3) {
1250
+ return unwrapWith(_this_1.errors, helpers, optional(fieldName_1, decoder_3), value_1);
1251
+ },
1252
+ At(fieldNames_1, decoder_4) {
1253
+ return unwrapWith(_this_1.errors, helpers, optionalAt(fieldNames_1, decoder_4), value_1);
1254
+ },
1255
+ Raw(decoder_5) {
1256
+ const matchValue = decoder_5.Decode(helpers, value_1);
1257
+ if (matchValue.tag === 1) {
1258
+ const reason = matchValue.fields[0][1];
1259
+ const error = matchValue.fields[0];
1260
+ let matchResult, v_1;
1261
+ switch (reason.tag) {
1262
+ case 3:
1263
+ case 4: {
1264
+ matchResult = 1;
1265
+ break;
1266
+ }
1267
+ case 5:
1268
+ case 6:
1269
+ case 7: {
1270
+ matchResult = 2;
1271
+ break;
1272
+ }
1273
+ case 1: {
1274
+ matchResult = 0;
1275
+ v_1 = reason.fields[1];
1276
+ break;
1277
+ }
1278
+ case 2: {
1279
+ matchResult = 0;
1280
+ v_1 = reason.fields[1];
1281
+ break;
1282
+ }
1283
+ default: {
1284
+ matchResult = 0;
1285
+ v_1 = reason.fields[1];
1286
+ }
1287
+ }
1288
+ switch (matchResult) {
1289
+ case 0:
1290
+ if (helpers.isNullValue(v_1)) {
1291
+ return undefined;
1292
+ }
1293
+ else {
1294
+ void (_this_1.errors.push(error));
1295
+ return defaultOf();
1296
+ }
1297
+ case 1:
1298
+ return undefined;
1299
+ default: {
1300
+ void (_this_1.errors.push(error));
1301
+ return defaultOf();
1302
+ }
1303
+ }
1304
+ }
1305
+ else {
1306
+ return some(matchValue.fields[0]);
1307
+ }
1308
+ },
1309
+ }));
1310
+ }
1311
+ get Required() {
1312
+ const __ = this;
1313
+ return __.required;
1314
+ }
1315
+ get Optional() {
1316
+ const __ = this;
1317
+ return __.optional;
1318
+ }
1319
+ }
1320
+
1321
+ export function Getters$2_$reflection(gen0, gen1) {
1322
+ return class_type("Thoth.Json.Core.Decode.Getters`2", [gen0, gen1], Getters$2);
1323
+ }
1324
+
1325
+ export function Getters$2_$ctor_Z4BE6C149(helpers, value_1) {
1326
+ return new Getters$2(helpers, value_1);
1327
+ }
1328
+
1329
+ export function Getters$2__get_Errors(__) {
1330
+ return toList(__.errors);
1331
+ }
1332
+
1333
+ export function object(builder) {
1334
+ return {
1335
+ Decode(helpers, value_1) {
1336
+ const getters = Getters$2_$ctor_Z4BE6C149(helpers, value_1);
1337
+ const result = builder(getters);
1338
+ const matchValue = Getters$2__get_Errors(getters);
1339
+ if (!isEmpty(matchValue)) {
1340
+ const errors = matchValue;
1341
+ return (length(errors) > 1) ? (new FSharpResult$2(1, [["", new ErrorReason$1(7, [errors])]])) : (new FSharpResult$2(1, [head_1(matchValue)]));
1342
+ }
1343
+ else {
1344
+ return new FSharpResult$2(0, [result]);
1345
+ }
1346
+ },
1347
+ };
1348
+ }
1349
+
1350
+ export function tuple2(decoder1, decoder2) {
1351
+ return andThen((v1) => andThen((v2) => succeed([v1, v2]), index(1, decoder2)), index(0, decoder1));
1352
+ }
1353
+
1354
+ export function tuple3(decoder1, decoder2, decoder3) {
1355
+ return andThen((v1) => andThen((v2) => andThen((v3) => succeed([v1, v2, v3]), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1356
+ }
1357
+
1358
+ export function tuple4(decoder1, decoder2, decoder3, decoder4) {
1359
+ return andThen((v1) => andThen((v2) => andThen((v3) => andThen((v4) => succeed([v1, v2, v3, v4]), index(3, decoder4)), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1360
+ }
1361
+
1362
+ export function tuple5(decoder1, decoder2, decoder3, decoder4, decoder5) {
1363
+ return andThen((v1) => andThen((v2) => andThen((v3) => andThen((v4) => andThen((v5) => succeed([v1, v2, v3, v4, v5]), index(4, decoder5)), index(3, decoder4)), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1364
+ }
1365
+
1366
+ export function tuple6(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6) {
1367
+ return andThen((v1) => andThen((v2) => andThen((v3) => andThen((v4) => andThen((v5) => andThen((v6) => succeed([v1, v2, v3, v4, v5, v6]), index(5, decoder6)), index(4, decoder5)), index(3, decoder4)), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1368
+ }
1369
+
1370
+ export function tuple7(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7) {
1371
+ return andThen((v1) => andThen((v2) => andThen((v3) => andThen((v4) => andThen((v5) => andThen((v6) => andThen((v7) => succeed([v1, v2, v3, v4, v5, v6, v7]), index(6, decoder7)), index(5, decoder6)), index(4, decoder5)), index(3, decoder4)), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1372
+ }
1373
+
1374
+ export function tuple8(decoder1, decoder2, decoder3, decoder4, decoder5, decoder6, decoder7, decoder8) {
1375
+ return andThen((v1) => andThen((v2) => andThen((v3) => andThen((v4) => andThen((v5) => andThen((v6) => andThen((v7) => andThen((v8) => succeed([v1, v2, v3, v4, v5, v6, v7, v8]), index(7, decoder8)), index(6, decoder7)), index(5, decoder6)), index(4, decoder5)), index(3, decoder4)), index(2, decoder3)), index(1, decoder2)), index(0, decoder1));
1376
+ }
1377
+
1378
+ export function dict(decoder) {
1379
+ return map((elements) => ofList(elements, {
1380
+ Compare: (x, y) => (comparePrimitives(x, y) | 0),
1381
+ }), keyValuePairs(decoder));
1382
+ }
1383
+
1384
+ export function map$0027(keyDecoder, valueDecoder) {
1385
+ return map((elements) => ofSeq_1(elements, {
1386
+ Compare: (x, y) => (compare(x, y) | 0),
1387
+ }), array(tuple2(keyDecoder, valueDecoder)));
1388
+ }
1389
+
1390
+ class FixDecoder$1 {
1391
+ constructor(make) {
1392
+ const this$ = new FSharpRef(defaultOf());
1393
+ this$.contents = this;
1394
+ this.self = make(this$.contents);
1395
+ this["init@1517"] = 1;
1396
+ }
1397
+ Decode(helpers, value_1) {
1398
+ const this$ = this;
1399
+ return this$.self.Decode(helpers, value_1);
1400
+ }
1401
+ }
1402
+
1403
+ function FixDecoder$1_$reflection(gen0) {
1404
+ return class_type("Thoth.Json.Core.Decode.FixDecoder`1", [gen0], FixDecoder$1);
1405
+ }
1406
+
1407
+ function FixDecoder$1_$ctor_Z2A44CE2A(make) {
1408
+ return new FixDecoder$1(make);
1409
+ }
1410
+
1411
+ /**
1412
+ * Allow to build a decoder that can call itself
1413
+ */
1414
+ export function fix(make) {
1415
+ return FixDecoder$1_$ctor_Z2A44CE2A(make);
1416
+ }
1417
+