@f1studio/form-spec 5.0.0-alpha.128 → 5.0.0-alpha.130

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 (102) hide show
  1. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.d.ts.map +1 -1
  2. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts +1 -1
  3. package/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.d.ts.map +1 -1
  4. package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts +1 -1
  5. package/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.d.ts.map +1 -1
  6. package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts +3 -3
  7. package/FormSpec.FS/Interop/FormSpec.Api.Helpers.d.ts.map +1 -1
  8. package/FormSpec.FS/Interop/FormSpec.Api.Option.d.ts.map +1 -1
  9. package/FormSpec.FS/Interop/FormSpec.Values.Api.Option.d.ts.map +1 -1
  10. package/FormSpec.FS/Migrator.d.ts.map +1 -1
  11. package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js +2 -2
  12. package/FormSpec.TS/FormSpec.FS/BlueprintValidation.js.map +1 -1
  13. package/FormSpec.TS/FormSpec.FS/BlueprintValidation.ts.map +1 -1
  14. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js +2 -2
  15. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.js.map +1 -1
  16. package/FormSpec.TS/FormSpec.FS/FormSpecHelpers.ts.map +1 -1
  17. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js +2 -2
  18. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.js.map +1 -1
  19. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts.map +1 -1
  20. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js +31 -20
  21. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.js.map +1 -1
  22. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts.map +1 -1
  23. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js +20 -20
  24. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.js.map +1 -1
  25. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.ts.map +1 -1
  26. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js +21 -21
  27. package/FormSpec.TS/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.js.map +1 -1
  28. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js +109 -41
  29. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.js.map +1 -1
  30. package/FormSpec.TS/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.ts.map +1 -1
  31. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js +218 -53
  32. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.js.map +1 -1
  33. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts.map +1 -1
  34. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js +15 -8
  35. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.js.map +1 -1
  36. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Api.Option.ts.map +1 -1
  37. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js +18 -12
  38. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.js.map +1 -1
  39. package/FormSpec.TS/FormSpec.FS/Interop/FormSpec.Values.Api.Option.ts.map +1 -1
  40. package/FormSpec.TS/FormSpec.FS/Migrator.js +4 -2
  41. package/FormSpec.TS/FormSpec.FS/Migrator.js.map +1 -1
  42. package/FormSpec.TS/FormSpec.FS/Migrator.ts.map +1 -1
  43. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js +4 -4
  44. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.js.map +1 -1
  45. package/FormSpec.TS/FormSpec.FS/PathwayExecutor.ts.map +1 -1
  46. package/FormSpec.TS/{fable_modules/Thoth.Json.10.4.1/Decode.fs.js → Thoth.Json/packages/Thoth.Json/Decode.js} +120 -113
  47. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Decode.js.map +1 -0
  48. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Decode.ts.map +1 -0
  49. package/FormSpec.TS/{fable_modules/Thoth.Json.10.4.1/Encode.fs.js → Thoth.Json/packages/Thoth.Json/Encode.js} +7 -7
  50. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Encode.js.map +1 -0
  51. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Encode.ts.map +1 -0
  52. package/FormSpec.TS/{fable_modules/Thoth.Json.10.4.1/Extra.fs.js → Thoth.Json/packages/Thoth.Json/Extra.js} +4 -4
  53. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Extra.js.map +1 -0
  54. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Extra.ts.map +1 -0
  55. package/FormSpec.TS/{fable_modules/Thoth.Json.10.4.1/Types.fs.js → Thoth.Json/packages/Thoth.Json/Types.js} +2 -2
  56. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Types.js.map +1 -0
  57. package/FormSpec.TS/Thoth.Json/packages/Thoth.Json/Types.ts.map +1 -0
  58. package/FormSpec.TS/fable_modules/project_cracked.json +1 -1
  59. package/README.md +7 -7
  60. package/{fable_modules/Thoth.Json.10.4.1/Decode.fs.d.ts → Thoth.Json/packages/Thoth.Json/Decode.d.ts} +2 -2
  61. package/Thoth.Json/packages/Thoth.Json/Decode.d.ts.map +1 -0
  62. package/{fable_modules/Thoth.Json.10.4.1/Encode.fs.d.ts → Thoth.Json/packages/Thoth.Json/Encode.d.ts} +2 -2
  63. package/Thoth.Json/packages/Thoth.Json/Encode.d.ts.map +1 -0
  64. package/Thoth.Json/packages/Thoth.Json/Extra.d.ts +3 -0
  65. package/Thoth.Json/packages/Thoth.Json/Extra.d.ts.map +1 -0
  66. package/{fable_modules/Thoth.Json.10.4.1/Types.fs.d.ts → Thoth.Json/packages/Thoth.Json/Types.d.ts} +1 -1
  67. package/Thoth.Json/packages/Thoth.Json/Types.d.ts.map +1 -0
  68. package/package.json +1 -1
  69. package/src/FormSpec.FS/BlueprintValidation.ts +1 -1
  70. package/src/FormSpec.FS/FormSpecHelpers.ts +1 -1
  71. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CorEMRTemplateToFormSpec.ts +1 -1
  72. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMREncoder.ts +29 -18
  73. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/CoreMRSourceMap.ts +4 -4
  74. package/src/FormSpec.FS/Integrations/Adapters/CorEMR/FormSpecToCoreMRInsert.ts +3 -3
  75. package/src/FormSpec.FS/Integrations/CorEMR/TemplateManifestDecoder.ts +100 -17
  76. package/src/FormSpec.FS/Interop/FormSpec.Api.Helpers.ts +191 -64
  77. package/src/FormSpec.FS/Interop/FormSpec.Api.Option.ts +14 -7
  78. package/src/FormSpec.FS/Interop/FormSpec.Values.Api.Option.ts +17 -11
  79. package/src/FormSpec.FS/Migrator.ts +4 -2
  80. package/src/FormSpec.FS/PathwayExecutor.ts +1 -1
  81. package/src/Thoth.Json/packages/Thoth.Json/Decode.ts +1940 -0
  82. package/src/Thoth.Json/packages/Thoth.Json/Encode.ts +475 -0
  83. package/src/Thoth.Json/packages/Thoth.Json/Extra.ts +11 -0
  84. package/src/Thoth.Json/packages/Thoth.Json/Types.ts +176 -0
  85. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs +0 -1768
  86. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.js.map +0 -1
  87. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Decode.fs.ts.map +0 -1
  88. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs +0 -811
  89. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.js.map +0 -1
  90. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Encode.fs.ts.map +0 -1
  91. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs +0 -47
  92. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.js.map +0 -1
  93. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Extra.fs.ts.map +0 -1
  94. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Thoth.Json.fableproj +0 -34
  95. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs +0 -68
  96. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.js.map +0 -1
  97. package/FormSpec.TS/fable_modules/Thoth.Json.10.4.1/Types.fs.ts.map +0 -1
  98. package/fable_modules/Thoth.Json.10.4.1/Decode.fs.d.ts.map +0 -1
  99. package/fable_modules/Thoth.Json.10.4.1/Encode.fs.d.ts.map +0 -1
  100. package/fable_modules/Thoth.Json.10.4.1/Extra.fs.d.ts +0 -3
  101. package/fable_modules/Thoth.Json.10.4.1/Extra.fs.d.ts.map +0 -1
  102. package/fable_modules/Thoth.Json.10.4.1/Types.fs.d.ts.map +0 -1
@@ -0,0 +1,1940 @@
1
+ import { toFail, printf, toText, join } from "@fable-org/fable-library-js/String.js";
2
+ import { Util_CachedDecoders, Util_Cache$1__GetOrAdd_43981464, CaseStrategy_PascalCase, ExtraCoders, Util_Casing_convert, CaseStrategy_$union, ErrorReason_FailMessage, ErrorReason_BadOneOf, ErrorReason_TooSmallArray, ErrorReason_BadField, ErrorReason_BadPath, ErrorReason_BadType, ErrorReason_BadPrimitiveExtra, ErrorReason_BadPrimitive, ErrorReason_$union } from "./Types.js";
3
+ import { Result_Bind, Result_Map, FSharpResult$2_Ok, FSharpResult$2_Error, FSharpResult$2_$union } from "@fable-org/fable-library-js/Result.js";
4
+ import { tryParse as tryParse_2 } from "@fable-org/fable-library-js/Guid.js";
5
+ import { toString as toString_12, FSharpRef } from "@fable-org/fable-library-js/Types.js";
6
+ import { float32 as float32_1, uint32 as uint32_1, int32, uint16 as uint16_1, int16 as int16_1, uint8, tryParse as tryParse_3, int8, float64 } from "@fable-org/fable-library-js/Int32.js";
7
+ import { parse, fromInt32, uint64 as uint64_1, toUInt64, int64 as int64_1, fromFloat64, toInt64, toFloat64 } from "@fable-org/fable-library-js/BigInt.js";
8
+ import { tryParse as tryParse_4 } from "@fable-org/fable-library-js/Long.js";
9
+ import { tryParse as tryParse_5, decimal as decimal_1 } from "@fable-org/fable-library-js/Decimal.js";
10
+ import Decimal from "@fable-org/fable-library-js/Decimal.js";
11
+ import { toUniversalTime, tryParse as tryParse_6, minValue } from "@fable-org/fable-library-js/Date.js";
12
+ import { tryParse as tryParse_7, minValue as minValue_1 } from "@fable-org/fable-library-js/DateOffset.js";
13
+ import { tryParse as tryParse_8 } from "@fable-org/fable-library-js/TimeSpan.js";
14
+ import { map as map_4, value as value_43, defaultArg, some, Option } from "@fable-org/fable-library-js/Option.js";
15
+ import { ofArray, toArray, map as map_1, length, singleton, append as append_1, tail as tail_1, head as head_1, isEmpty, ofSeq, empty, reverse, fold, FSharpList, tryLast, cons } from "@fable-org/fable-library-js/List.js";
16
+ import { IComparable, int16ToString, numberHash, compare, comparePrimitives, uncurry3, defaultOf, uncurry2, int32ToString } from "@fable-org/fable-library-js/Util.js";
17
+ import { map as map_2, tryFind, foldBack, fill, setItem, fold as fold_1, item } from "@fable-org/fable-library-js/Array.js";
18
+ import { contains, fold as fold_2, toList, append, reverse as reverse_1 } from "@fable-org/fable-library-js/Seq.js";
19
+ import { getGenerics, getGenericTypeDefinition, makeTuple, getTupleElements, isTuple, isGenericType, parseEnum, getEnumValues, getEnumUnderlyingType, isEnum, getElementType, isArray, isUnion, makeRecord, getRecordElements, isRecord, fullName as fullName_1, makeUnion as makeUnion_1, getUnionCaseFields, getUnionCases, name as name_3, class_type, TypeInfo } from "@fable-org/fable-library-js/Reflection.js";
20
+ import { empty as empty_1, map as map_3, tryFind as tryFind_1, add, ofSeq as ofSeq_1, FSharpMap, ofList } from "@fable-org/fable-library-js/Map.js";
21
+ import { FSharpSet, ofSeq as ofSeq_2 } from "@fable-org/fable-library-js/Set.js";
22
+
23
+ throw new Error("🚀 LIBERATION FORK CONFIRMED: Thoth.Json.Decode module loaded from liberation fork!");
24
+
25
+ export function Helpers_isUndefined(o: any): boolean {
26
+ return (typeof o) === "undefined";
27
+ }
28
+
29
+ function genericMsg<$a>(msg: string, value_1: $a, newLine: boolean): string {
30
+ try {
31
+ return ((("Expecting " + msg) + " but instead got:") + (newLine ? "\n" : " ")) + (JSON.stringify(value_1, null, 4) + '');
32
+ }
33
+ catch (matchValue: any) {
34
+ return (("Expecting " + msg) + " but decoder failed. Couldn\'t report given value due to circular structure.") + (newLine ? "\n" : " ");
35
+ }
36
+ }
37
+
38
+ function errorToString(path: string, error: ErrorReason_$union): string {
39
+ let reason_1: string;
40
+ switch (error.tag) {
41
+ case /* BadType */ 2: {
42
+ reason_1 = genericMsg<any>(error.fields[0], error.fields[1], true);
43
+ break;
44
+ }
45
+ case /* BadPrimitiveExtra */ 1: {
46
+ const reason: string = error.fields[2];
47
+ reason_1 = ((genericMsg<any>(error.fields[0], error.fields[1], false) + "\nReason: ") + reason);
48
+ break;
49
+ }
50
+ case /* BadField */ 3: {
51
+ reason_1 = genericMsg<any>(error.fields[0], error.fields[1], true);
52
+ break;
53
+ }
54
+ case /* BadPath */ 4: {
55
+ const fieldName: string = error.fields[2];
56
+ reason_1 = (genericMsg<any>(error.fields[0], error.fields[1], true) + (("\nNode `" + fieldName) + "` is unkown."));
57
+ break;
58
+ }
59
+ case /* TooSmallArray */ 5: {
60
+ const value_6: any = error.fields[1];
61
+ reason_1 = ((("Expecting " + error.fields[0]) + ".\n") + (JSON.stringify(value_6, null, 4) + ''));
62
+ break;
63
+ }
64
+ case /* BadOneOf */ 7: {
65
+ reason_1 = ("The following errors were found:\n\n" + join("\n\n", error.fields[0]));
66
+ break;
67
+ }
68
+ case /* FailMessage */ 6: {
69
+ reason_1 = ("The following `failure` occurred with the decoder: " + error.fields[0]);
70
+ break;
71
+ }
72
+ default:
73
+ reason_1 = genericMsg<any>(error.fields[0], error.fields[1], false);
74
+ }
75
+ if (error.tag === /* BadOneOf */ 7) {
76
+ return reason_1;
77
+ }
78
+ else {
79
+ return (("Error at: `" + path) + "`\n") + reason_1;
80
+ }
81
+ }
82
+
83
+ /**
84
+ * Runs the decoder against the given JSON value.
85
+ *
86
+ * If the decoder fails, it reports the error prefixed with the given path.
87
+ */
88
+ export function fromValue<T, $a>(path: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>), value_1: $a): FSharpResult$2_$union<T, string> {
89
+ const matchValue: FSharpResult$2_$union<T, [string, ErrorReason_$union]> = decoder(path, value_1);
90
+ if (matchValue.tag === /* Error */ 1) {
91
+ const error: [string, ErrorReason_$union] = matchValue.fields[0];
92
+ return FSharpResult$2_Error<T, string>(errorToString(error[0], error[1]));
93
+ }
94
+ else {
95
+ return FSharpResult$2_Ok<T, string>(matchValue.fields[0]);
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Parse the provided string in as JSON and then run the decoder against it.
101
+ */
102
+ export function fromString<T>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>), value_1: string): FSharpResult$2_$union<T, string> {
103
+ try {
104
+ return fromValue<T, any>("$", decoder, JSON.parse(value_1));
105
+ }
106
+ catch (matchValue: any) {
107
+ if (matchValue instanceof SyntaxError) {
108
+ return FSharpResult$2_Error<T, string>("Given an invalid JSON: " + matchValue.message);
109
+ }
110
+ else {
111
+ throw matchValue;
112
+ }
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Parse the provided string in as JSON and then run the decoder against it.
118
+ */
119
+ export function unsafeFromString<T>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>), value_1: string): T {
120
+ const matchValue: FSharpResult$2_$union<T, string> = fromString<T>(decoder, value_1);
121
+ if (matchValue.tag === /* Error */ 1) {
122
+ throw new Error(matchValue.fields[0]);
123
+ }
124
+ else {
125
+ return matchValue.fields[0];
126
+ }
127
+ }
128
+
129
+ export function decodeValue<T, $a>(path: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>)): ((arg0: $a) => FSharpResult$2_$union<T, string>) {
130
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>) = decoder;
131
+ return (value_1: $a): FSharpResult$2_$union<T, string> => fromValue<T, $a>(path, decoder_1, value_1);
132
+ }
133
+
134
+ export function decodeString<T>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>)): ((arg0: string) => FSharpResult$2_$union<T, string>) {
135
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>) = decoder;
136
+ return (value_1: string): FSharpResult$2_$union<T, string> => fromString<T>(decoder_1, value_1);
137
+ }
138
+
139
+ export function string(path: string, value_1: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> {
140
+ if (typeof value_1 === "string") {
141
+ return FSharpResult$2_Ok<string, [string, ErrorReason_$union]>(value_1);
142
+ }
143
+ else {
144
+ return FSharpResult$2_Error<string, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a string", value_1)] as [string, ErrorReason_$union]);
145
+ }
146
+ }
147
+
148
+ export function char(path: string, value_1: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> {
149
+ if (typeof value_1 === "string") {
150
+ const str: string = value_1;
151
+ if (str.length === 1) {
152
+ return FSharpResult$2_Ok<string, [string, ErrorReason_$union]>(str[0]);
153
+ }
154
+ else {
155
+ return FSharpResult$2_Error<string, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a single character string", value_1)] as [string, ErrorReason_$union]);
156
+ }
157
+ }
158
+ else {
159
+ return FSharpResult$2_Error<string, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a char", value_1)] as [string, ErrorReason_$union]);
160
+ }
161
+ }
162
+
163
+ export function guid(path: string, value_1: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> {
164
+ if (typeof value_1 === "string") {
165
+ let matchValue: [boolean, string];
166
+ let outArg = "00000000-0000-0000-0000-000000000000";
167
+ matchValue = ([tryParse_2(value_1, new FSharpRef<string>((): string => outArg, (v: string): void => {
168
+ outArg = v;
169
+ })), outArg] as [boolean, string]);
170
+ if (matchValue[0]) {
171
+ return FSharpResult$2_Ok<string, [string, ErrorReason_$union]>(matchValue[1]);
172
+ }
173
+ else {
174
+ return FSharpResult$2_Error<string, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a guid", value_1)] as [string, ErrorReason_$union]);
175
+ }
176
+ }
177
+ else {
178
+ return FSharpResult$2_Error<string, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a guid", value_1)] as [string, ErrorReason_$union]);
179
+ }
180
+ }
181
+
182
+ export function unit(path: string, value_1: any): FSharpResult$2_$union<void, [string, ErrorReason_$union]> {
183
+ if (value_1 == null) {
184
+ return FSharpResult$2_Ok<void, [string, ErrorReason_$union]>(undefined);
185
+ }
186
+ else {
187
+ return FSharpResult$2_Error<void, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("null", value_1)] as [string, ErrorReason_$union]);
188
+ }
189
+ }
190
+
191
+ export const sbyte = (path: string): ((arg0: any) => FSharpResult$2_$union<int8, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<int8, [string, ErrorReason_$union]> => {
192
+ const path_1: string = path;
193
+ const value_3: any = value_2;
194
+ if ((typeof value_3) === "number") {
195
+ const value_1_1: float64 = value_3;
196
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-128 <= value_1_1) && (value_1_1 <= 127)) ? FSharpResult$2_Ok<int8, [string, ErrorReason_$union]>((value_1_1 + 0x80 & 0xFF) - 0x80) : FSharpResult$2_Error<int8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("a sbyte", value_1_1, "Value was either too large or too small for a sbyte")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<int8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("a sbyte", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
197
+ }
198
+ else if (typeof value_3 === "string") {
199
+ let matchValue: [boolean, int8];
200
+ let outArg = 0;
201
+ matchValue = ([tryParse_3(value_3, 511, false, 8, new FSharpRef<int8>((): int8 => outArg, (v: int8): void => {
202
+ outArg = (v | 0);
203
+ })), outArg] as [boolean, int8]);
204
+ return matchValue[0] ? FSharpResult$2_Ok<int8, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<int8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("a sbyte", value_3)] as [string, ErrorReason_$union]);
205
+ }
206
+ else {
207
+ return FSharpResult$2_Error<int8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("a sbyte", value_3)] as [string, ErrorReason_$union]);
208
+ }
209
+ });
210
+
211
+ export const byte = (path: string): ((arg0: any) => FSharpResult$2_$union<uint8, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<uint8, [string, ErrorReason_$union]> => {
212
+ const path_1: string = path;
213
+ const value_3: any = value_2;
214
+ if ((typeof value_3) === "number") {
215
+ const value_1_1: float64 = value_3;
216
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 255)) ? FSharpResult$2_Ok<uint8, [string, ErrorReason_$union]>(value_1_1 & 0xFF) : FSharpResult$2_Error<uint8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("a byte", value_1_1, "Value was either too large or too small for a byte")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<uint8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("a byte", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
217
+ }
218
+ else if (typeof value_3 === "string") {
219
+ let matchValue: [boolean, uint8];
220
+ let outArg = 0;
221
+ matchValue = ([tryParse_3(value_3, 511, true, 8, new FSharpRef<uint8>((): uint8 => outArg, (v: uint8): void => {
222
+ outArg = v;
223
+ })), outArg] as [boolean, uint8]);
224
+ return matchValue[0] ? FSharpResult$2_Ok<uint8, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<uint8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("a byte", value_3)] as [string, ErrorReason_$union]);
225
+ }
226
+ else {
227
+ return FSharpResult$2_Error<uint8, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("a byte", value_3)] as [string, ErrorReason_$union]);
228
+ }
229
+ });
230
+
231
+ export const int16 = (path: string): ((arg0: any) => FSharpResult$2_$union<int16_1, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<int16_1, [string, ErrorReason_$union]> => {
232
+ const path_1: string = path;
233
+ const value_3: any = value_2;
234
+ if ((typeof value_3) === "number") {
235
+ const value_1_1: float64 = value_3;
236
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-32768 <= value_1_1) && (value_1_1 <= 32767)) ? FSharpResult$2_Ok<int16_1, [string, ErrorReason_$union]>((value_1_1 + 0x8000 & 0xFFFF) - 0x8000) : FSharpResult$2_Error<int16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int16", value_1_1, "Value was either too large or too small for an int16")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<int16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int16", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
237
+ }
238
+ else if (typeof value_3 === "string") {
239
+ let matchValue: [boolean, int16_1];
240
+ let outArg = 0;
241
+ matchValue = ([tryParse_3(value_3, 511, false, 16, new FSharpRef<int16_1>((): int16_1 => outArg, (v: int16_1): void => {
242
+ outArg = (v | 0);
243
+ })), outArg] as [boolean, int16_1]);
244
+ return matchValue[0] ? FSharpResult$2_Ok<int16_1, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<int16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int16", value_3)] as [string, ErrorReason_$union]);
245
+ }
246
+ else {
247
+ return FSharpResult$2_Error<int16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int16", value_3)] as [string, ErrorReason_$union]);
248
+ }
249
+ });
250
+
251
+ export const uint16 = (path: string): ((arg0: any) => FSharpResult$2_$union<uint16_1, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<uint16_1, [string, ErrorReason_$union]> => {
252
+ const path_1: string = path;
253
+ const value_3: any = value_2;
254
+ if ((typeof value_3) === "number") {
255
+ const value_1_1: float64 = value_3;
256
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 65535)) ? FSharpResult$2_Ok<uint16_1, [string, ErrorReason_$union]>(value_1_1 & 0xFFFF) : FSharpResult$2_Error<uint16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint16", value_1_1, "Value was either too large or too small for an uint16")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<uint16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint16", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
257
+ }
258
+ else if (typeof value_3 === "string") {
259
+ let matchValue: [boolean, uint16_1];
260
+ let outArg = 0;
261
+ matchValue = ([tryParse_3(value_3, 511, true, 16, new FSharpRef<uint16_1>((): uint16_1 => outArg, (v: uint16_1): void => {
262
+ outArg = v;
263
+ })), outArg] as [boolean, uint16_1]);
264
+ return matchValue[0] ? FSharpResult$2_Ok<uint16_1, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<uint16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint16", value_3)] as [string, ErrorReason_$union]);
265
+ }
266
+ else {
267
+ return FSharpResult$2_Error<uint16_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint16", value_3)] as [string, ErrorReason_$union]);
268
+ }
269
+ });
270
+
271
+ export const int = (path: string): ((arg0: any) => FSharpResult$2_$union<int32, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<int32, [string, ErrorReason_$union]> => {
272
+ const path_1: string = path;
273
+ const value_3: any = value_2;
274
+ if ((typeof value_3) === "number") {
275
+ const value_1_1: float64 = value_3;
276
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((-2147483648 <= value_1_1) && (value_1_1 <= 2147483647)) ? FSharpResult$2_Ok<int32, [string, ErrorReason_$union]>(~~value_1_1) : FSharpResult$2_Error<int32, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int", value_1_1, "Value was either too large or too small for an int")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<int32, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
277
+ }
278
+ else if (typeof value_3 === "string") {
279
+ let matchValue: [boolean, int32];
280
+ let outArg = 0;
281
+ matchValue = ([tryParse_3(value_3, 511, false, 32, new FSharpRef<int32>((): int32 => outArg, (v: int32): void => {
282
+ outArg = (v | 0);
283
+ })), outArg] as [boolean, int32]);
284
+ return matchValue[0] ? FSharpResult$2_Ok<int32, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<int32, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int", value_3)] as [string, ErrorReason_$union]);
285
+ }
286
+ else {
287
+ return FSharpResult$2_Error<int32, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int", value_3)] as [string, ErrorReason_$union]);
288
+ }
289
+ });
290
+
291
+ export const uint32 = (path: string): ((arg0: any) => FSharpResult$2_$union<uint32_1, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<uint32_1, [string, ErrorReason_$union]> => {
292
+ const path_1: string = path;
293
+ const value_3: any = value_2;
294
+ if ((typeof value_3) === "number") {
295
+ const value_1_1: float64 = value_3;
296
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((0 <= value_1_1) && (value_1_1 <= 4294967295)) ? FSharpResult$2_Ok<uint32_1, [string, ErrorReason_$union]>(value_1_1 >>> 0) : FSharpResult$2_Error<uint32_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint32", value_1_1, "Value was either too large or too small for an uint32")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<uint32_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint32", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
297
+ }
298
+ else if (typeof value_3 === "string") {
299
+ let matchValue: [boolean, uint32_1];
300
+ let outArg = 0;
301
+ matchValue = ([tryParse_3(value_3, 511, true, 32, new FSharpRef<uint32_1>((): uint32_1 => outArg, (v: uint32_1): void => {
302
+ outArg = v;
303
+ })), outArg] as [boolean, uint32_1]);
304
+ return matchValue[0] ? FSharpResult$2_Ok<uint32_1, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<uint32_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint32", value_3)] as [string, ErrorReason_$union]);
305
+ }
306
+ else {
307
+ return FSharpResult$2_Error<uint32_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint32", value_3)] as [string, ErrorReason_$union]);
308
+ }
309
+ });
310
+
311
+ export const int64 = (path: string): ((arg0: any) => FSharpResult$2_$union<int64_1, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<int64_1, [string, ErrorReason_$union]> => {
312
+ const path_1: string = path;
313
+ const value_3: any = value_2;
314
+ if ((typeof value_3) === "number") {
315
+ const value_1_1: float64 = value_3;
316
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((toFloat64(-9223372036854775808n) <= value_1_1) && (value_1_1 <= toFloat64(9223372036854775807n))) ? FSharpResult$2_Ok<int64_1, [string, ErrorReason_$union]>(toInt64(fromFloat64(value_1_1))) : FSharpResult$2_Error<int64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int64", value_1_1, "Value was either too large or too small for an int64")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<int64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an int64", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
317
+ }
318
+ else if (typeof value_3 === "string") {
319
+ let matchValue: [boolean, int64_1];
320
+ let outArg: int64_1 = 0n;
321
+ matchValue = ([tryParse_4(value_3, 511, false, 64, new FSharpRef<int64_1>((): int64_1 => outArg, (v: int64_1): void => {
322
+ outArg = v;
323
+ })), outArg] as [boolean, int64_1]);
324
+ return matchValue[0] ? FSharpResult$2_Ok<int64_1, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<int64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int64", value_3)] as [string, ErrorReason_$union]);
325
+ }
326
+ else {
327
+ return FSharpResult$2_Error<int64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an int64", value_3)] as [string, ErrorReason_$union]);
328
+ }
329
+ });
330
+
331
+ export const uint64 = (path: string): ((arg0: any) => FSharpResult$2_$union<uint64_1, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<uint64_1, [string, ErrorReason_$union]> => {
332
+ const path_1: string = path;
333
+ const value_3: any = value_2;
334
+ if ((typeof value_3) === "number") {
335
+ const value_1_1: float64 = value_3;
336
+ return (isFinite(value_1_1) && Math.floor(value_1_1) === value_1_1) ? (((toFloat64(0n) <= value_1_1) && (value_1_1 <= toFloat64(18446744073709551615n))) ? FSharpResult$2_Ok<uint64_1, [string, ErrorReason_$union]>(toUInt64(fromFloat64(value_1_1))) : FSharpResult$2_Error<uint64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint64", value_1_1, "Value was either too large or too small for an uint64")] as [string, ErrorReason_$union])) : FSharpResult$2_Error<uint64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitiveExtra("an uint64", value_1_1, "Value is not an integral value")] as [string, ErrorReason_$union]);
337
+ }
338
+ else if (typeof value_3 === "string") {
339
+ let matchValue: [boolean, uint64_1];
340
+ let outArg: uint64_1 = 0n;
341
+ matchValue = ([tryParse_4(value_3, 511, true, 64, new FSharpRef<uint64_1>((): uint64_1 => outArg, (v: uint64_1): void => {
342
+ outArg = v;
343
+ })), outArg] as [boolean, uint64_1]);
344
+ return matchValue[0] ? FSharpResult$2_Ok<uint64_1, [string, ErrorReason_$union]>(matchValue[1]) : FSharpResult$2_Error<uint64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint64", value_3)] as [string, ErrorReason_$union]);
345
+ }
346
+ else {
347
+ return FSharpResult$2_Error<uint64_1, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("an uint64", value_3)] as [string, ErrorReason_$union]);
348
+ }
349
+ });
350
+
351
+ export function bigint(path: string, value_1: any): FSharpResult$2_$union<bigint, [string, ErrorReason_$union]> {
352
+ if ((typeof value_1) === "number") {
353
+ return FSharpResult$2_Ok<bigint, [string, ErrorReason_$union]>(fromInt32(value_1));
354
+ }
355
+ else if (typeof value_1 === "string") {
356
+ try {
357
+ return FSharpResult$2_Ok<bigint, [string, ErrorReason_$union]>(parse(value_1));
358
+ }
359
+ catch (matchValue: any) {
360
+ return FSharpResult$2_Error<bigint, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a bigint", value_1)] as [string, ErrorReason_$union]);
361
+ }
362
+ }
363
+ else {
364
+ return FSharpResult$2_Error<bigint, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a bigint", value_1)] as [string, ErrorReason_$union]);
365
+ }
366
+ }
367
+
368
+ export function bool(path: string, value_1: any): FSharpResult$2_$union<boolean, [string, ErrorReason_$union]> {
369
+ if (typeof value_1 === "boolean") {
370
+ return FSharpResult$2_Ok<boolean, [string, ErrorReason_$union]>(value_1);
371
+ }
372
+ else {
373
+ return FSharpResult$2_Error<boolean, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a boolean", value_1)] as [string, ErrorReason_$union]);
374
+ }
375
+ }
376
+
377
+ export function float(path: string, value_1: any): FSharpResult$2_$union<float64, [string, ErrorReason_$union]> {
378
+ if ((typeof value_1) === "number") {
379
+ return FSharpResult$2_Ok<float64, [string, ErrorReason_$union]>(value_1);
380
+ }
381
+ else {
382
+ return FSharpResult$2_Error<float64, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a float", value_1)] as [string, ErrorReason_$union]);
383
+ }
384
+ }
385
+
386
+ export function float32(path: string, value_1: any): FSharpResult$2_$union<float32_1, [string, ErrorReason_$union]> {
387
+ if ((typeof value_1) === "number") {
388
+ return FSharpResult$2_Ok<float32_1, [string, ErrorReason_$union]>(value_1);
389
+ }
390
+ else {
391
+ return FSharpResult$2_Error<float32_1, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a float32", value_1)] as [string, ErrorReason_$union]);
392
+ }
393
+ }
394
+
395
+ export function decimal(path: string, value_1: any): FSharpResult$2_$union<decimal_1, [string, ErrorReason_$union]> {
396
+ if ((typeof value_1) === "number") {
397
+ return FSharpResult$2_Ok<decimal_1, [string, ErrorReason_$union]>(new Decimal(value_1));
398
+ }
399
+ else if (typeof value_1 === "string") {
400
+ let matchValue: [boolean, decimal_1];
401
+ let outArg: decimal_1 = new Decimal("0");
402
+ matchValue = ([tryParse_5(value_1, new FSharpRef<decimal_1>((): decimal_1 => outArg, (v: decimal_1): void => {
403
+ outArg = v;
404
+ })), outArg] as [boolean, decimal_1]);
405
+ if (matchValue[0]) {
406
+ return FSharpResult$2_Ok<decimal_1, [string, ErrorReason_$union]>(matchValue[1]);
407
+ }
408
+ else {
409
+ return FSharpResult$2_Error<decimal_1, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a decimal", value_1)] as [string, ErrorReason_$union]);
410
+ }
411
+ }
412
+ else {
413
+ return FSharpResult$2_Error<decimal_1, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a decimal", value_1)] as [string, ErrorReason_$union]);
414
+ }
415
+ }
416
+
417
+ export function datetime(path: string, value_1: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> {
418
+ if (typeof value_1 === "string") {
419
+ let matchValue: [boolean, Date];
420
+ let outArg: Date = minValue();
421
+ matchValue = ([tryParse_6(value_1, new FSharpRef<Date>((): Date => outArg, (v: Date): void => {
422
+ outArg = v;
423
+ })), outArg] as [boolean, Date]);
424
+ if (matchValue[0]) {
425
+ return FSharpResult$2_Ok<Date, [string, ErrorReason_$union]>(toUniversalTime(matchValue[1]));
426
+ }
427
+ else {
428
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
429
+ }
430
+ }
431
+ else {
432
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
433
+ }
434
+ }
435
+
436
+ /**
437
+ * Decode a System.DateTime value using Sytem.DateTime.TryParse, then convert it to UTC.
438
+ */
439
+ export function datetimeUtc(path: string, value_1: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> {
440
+ if (typeof value_1 === "string") {
441
+ let matchValue: [boolean, Date];
442
+ let outArg: Date = minValue();
443
+ matchValue = ([tryParse_6(value_1, new FSharpRef<Date>((): Date => outArg, (v: Date): void => {
444
+ outArg = v;
445
+ })), outArg] as [boolean, Date]);
446
+ if (matchValue[0]) {
447
+ return FSharpResult$2_Ok<Date, [string, ErrorReason_$union]>(toUniversalTime(matchValue[1]));
448
+ }
449
+ else {
450
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
451
+ }
452
+ }
453
+ else {
454
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
455
+ }
456
+ }
457
+
458
+ /**
459
+ * Decode a System.DateTime with DateTime.TryParse; uses default System.DateTimeStyles.
460
+ */
461
+ export function datetimeLocal(path: string, value_1: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> {
462
+ if (typeof value_1 === "string") {
463
+ let matchValue: [boolean, Date];
464
+ let outArg: Date = minValue();
465
+ matchValue = ([tryParse_6(value_1, new FSharpRef<Date>((): Date => outArg, (v: Date): void => {
466
+ outArg = v;
467
+ })), outArg] as [boolean, Date]);
468
+ if (matchValue[0]) {
469
+ return FSharpResult$2_Ok<Date, [string, ErrorReason_$union]>(matchValue[1]);
470
+ }
471
+ else {
472
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
473
+ }
474
+ }
475
+ else {
476
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
477
+ }
478
+ }
479
+
480
+ export function datetimeOffset(path: string, value_1: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> {
481
+ if (typeof value_1 === "string") {
482
+ let matchValue: [boolean, Date];
483
+ let outArg: Date = minValue_1();
484
+ matchValue = ([tryParse_7(value_1, new FSharpRef<Date>((): Date => outArg, (v: Date): void => {
485
+ outArg = v;
486
+ })), outArg] as [boolean, Date]);
487
+ if (matchValue[0]) {
488
+ return FSharpResult$2_Ok<Date, [string, ErrorReason_$union]>(matchValue[1]);
489
+ }
490
+ else {
491
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetimeoffset", value_1)] as [string, ErrorReason_$union]);
492
+ }
493
+ }
494
+ else {
495
+ return FSharpResult$2_Error<Date, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a datetime", value_1)] as [string, ErrorReason_$union]);
496
+ }
497
+ }
498
+
499
+ export function timespan(path: string, value_1: any): FSharpResult$2_$union<number, [string, ErrorReason_$union]> {
500
+ if (typeof value_1 === "string") {
501
+ let matchValue: [boolean, number];
502
+ let outArg = 0;
503
+ matchValue = ([tryParse_8(value_1, new FSharpRef<number>((): number => outArg, (v: number): void => {
504
+ outArg = v;
505
+ })), outArg] as [boolean, number]);
506
+ if (matchValue[0]) {
507
+ return FSharpResult$2_Ok<number, [string, ErrorReason_$union]>(matchValue[1]);
508
+ }
509
+ else {
510
+ return FSharpResult$2_Error<number, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a timespan", value_1)] as [string, ErrorReason_$union]);
511
+ }
512
+ }
513
+ else {
514
+ return FSharpResult$2_Error<number, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a timespan", value_1)] as [string, ErrorReason_$union]);
515
+ }
516
+ }
517
+
518
+ function decodeMaybeNull<T, $a>(path: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>), value_1: $a): FSharpResult$2_$union<Option<T>, [string, ErrorReason_$union]> {
519
+ if (value_1 == null) {
520
+ return FSharpResult$2_Ok<Option<T>, [string, ErrorReason_$union]>(undefined);
521
+ }
522
+ else {
523
+ const matchValue: FSharpResult$2_$union<T, [string, ErrorReason_$union]> = decoder(path, value_1);
524
+ if (matchValue.tag === /* Error */ 1) {
525
+ return FSharpResult$2_Error<Option<T>, [string, ErrorReason_$union]>(matchValue.fields[0]);
526
+ }
527
+ else {
528
+ return FSharpResult$2_Ok<Option<T>, [string, ErrorReason_$union]>(some(matchValue.fields[0]));
529
+ }
530
+ }
531
+ }
532
+
533
+ export function optional<value>(fieldName: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]> {
534
+ if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {
535
+ const fieldValue: any = value_1[fieldName];
536
+ if (Helpers_isUndefined(fieldValue)) {
537
+ return FSharpResult$2_Ok<Option<value>, [string, ErrorReason_$union]>(undefined);
538
+ }
539
+ else {
540
+ return decodeMaybeNull<value, any>((path + ".") + fieldName, decoder, fieldValue);
541
+ }
542
+ }
543
+ else {
544
+ return FSharpResult$2_Error<Option<value>, [string, ErrorReason_$union]>([path, ErrorReason_BadType("an object", value_1)] as [string, ErrorReason_$union]);
545
+ }
546
+ }
547
+
548
+ function badPathError<$a, $b>(fieldNames: FSharpList<string>, currentPath: Option<string>, value_1: $a): FSharpResult$2_$union<$b, [string, ErrorReason_$union]> {
549
+ return FSharpResult$2_Error<$b, [string, ErrorReason_$union]>([defaultArg<string>(currentPath, join(".", cons("$", fieldNames))), ErrorReason_BadPath(("an object with path `" + join(".", fieldNames)) + "`", value_1, defaultArg(tryLast<string>(fieldNames), ""))] as [string, ErrorReason_$union]);
550
+ }
551
+
552
+ export function optionalAt<value>(fieldNames: FSharpList<string>, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), firstPath: string, firstValue: any): FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]> {
553
+ const _arg: [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>] = fold<string, [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>]>((tupledArg: [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>], field_1: string): [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>] => {
554
+ const curPath: string = tupledArg[0];
555
+ const curValue: any = tupledArg[1];
556
+ const res: Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>> = tupledArg[2];
557
+ if (res == null) {
558
+ if (curValue == null) {
559
+ return [curPath, curValue, FSharpResult$2_Ok<Option<value>, [string, ErrorReason_$union]>(undefined)] as [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>];
560
+ }
561
+ else if (curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) {
562
+ return [(curPath + ".") + field_1, curValue[field_1], undefined] as [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>];
563
+ }
564
+ else {
565
+ return [curPath, curValue, FSharpResult$2_Error<any, [string, ErrorReason_$union]>([curPath, ErrorReason_BadType("an object", curValue)] as [string, ErrorReason_$union])] as [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>];
566
+ }
567
+ }
568
+ else {
569
+ return [curPath, curValue, res] as [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>];
570
+ }
571
+ }, [firstPath, firstValue, undefined] as [string, any, Option<FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]>>], fieldNames);
572
+ if (_arg[2] == null) {
573
+ const lastValue: any = _arg[1];
574
+ if (Helpers_isUndefined(lastValue)) {
575
+ return FSharpResult$2_Ok<Option<value>, [string, ErrorReason_$union]>(undefined);
576
+ }
577
+ else {
578
+ return decodeMaybeNull<value, any>(_arg[0], decoder, lastValue);
579
+ }
580
+ }
581
+ else {
582
+ return value_43(_arg[2]);
583
+ }
584
+ }
585
+
586
+ export function field<value>(fieldName: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
587
+ if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {
588
+ const fieldValue: any = value_1[fieldName];
589
+ if (Helpers_isUndefined(fieldValue)) {
590
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([path, ErrorReason_BadField(("an object with a field named `" + fieldName) + "`", value_1)] as [string, ErrorReason_$union]);
591
+ }
592
+ else {
593
+ return decoder((path + ".") + fieldName, fieldValue);
594
+ }
595
+ }
596
+ else {
597
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([path, ErrorReason_BadType("an object", value_1)] as [string, ErrorReason_$union]);
598
+ }
599
+ }
600
+
601
+ export function at<value>(fieldNames: FSharpList<string>, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), firstPath: string, firstValue: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
602
+ const _arg: [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>] = fold<string, [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>]>((tupledArg: [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>], field_1: string): [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>] => {
603
+ const curPath: string = tupledArg[0];
604
+ const curValue: any = tupledArg[1];
605
+ const res: Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>> = tupledArg[2];
606
+ if (res == null) {
607
+ if (curValue == null) {
608
+ return [curPath, curValue, badPathError<any, value>(fieldNames, curPath, firstValue)] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>];
609
+ }
610
+ else if (curValue === null ? false : (Object.getPrototypeOf(curValue || false) === Object.prototype)) {
611
+ const curValue_1: any = curValue[field_1];
612
+ if (Helpers_isUndefined(curValue_1)) {
613
+ return [curPath, curValue_1, badPathError<any, value>(fieldNames, undefined, firstValue)] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>];
614
+ }
615
+ else {
616
+ return [(curPath + ".") + field_1, curValue_1, undefined] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>];
617
+ }
618
+ }
619
+ else {
620
+ return [curPath, curValue, FSharpResult$2_Error<any, [string, ErrorReason_$union]>([curPath, ErrorReason_BadType("an object", curValue)] as [string, ErrorReason_$union])] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>];
621
+ }
622
+ }
623
+ else {
624
+ return [curPath, curValue, res] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>];
625
+ }
626
+ }, [firstPath, firstValue, undefined] as [string, any, Option<FSharpResult$2_$union<value, [string, ErrorReason_$union]>>], fieldNames);
627
+ if (_arg[2] == null) {
628
+ return decoder(_arg[0], _arg[1]);
629
+ }
630
+ else {
631
+ return value_43(_arg[2]);
632
+ }
633
+ }
634
+
635
+ export function index<value>(requestedIndex: int32, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
636
+ let copyOfStruct: int32;
637
+ const currentPath: string = ((path + ".[") + int32ToString(requestedIndex)) + "]";
638
+ if (Array.isArray(value_1)) {
639
+ const vArray: any[] = value_1;
640
+ if (requestedIndex < vArray.length) {
641
+ return decoder(currentPath, item(requestedIndex, vArray));
642
+ }
643
+ else {
644
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([currentPath, ErrorReason_TooSmallArray(((("a longer array. Need index `" + int32ToString(requestedIndex)) + "` but there are only `") + ((copyOfStruct = vArray.length, int32ToString(copyOfStruct)))) + "` entries", value_1)] as [string, ErrorReason_$union]);
645
+ }
646
+ }
647
+ else {
648
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([currentPath, ErrorReason_BadPrimitive("an array", value_1)] as [string, ErrorReason_$union]);
649
+ }
650
+ }
651
+
652
+ export function option<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<Option<value>, [string, ErrorReason_$union]> {
653
+ if (value_1 == null) {
654
+ return FSharpResult$2_Ok<Option<value>, [string, ErrorReason_$union]>(undefined);
655
+ }
656
+ else {
657
+ return Result_Map<value, Option<value>, [string, ErrorReason_$union]>(some, decoder(path, value_1));
658
+ }
659
+ }
660
+
661
+ export function list<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<FSharpList<value>, [string, ErrorReason_$union]> {
662
+ if (Array.isArray(value_1)) {
663
+ let i = -1;
664
+ return Result_Map<FSharpList<value>, FSharpList<value>, [string, ErrorReason_$union]>(reverse, fold_1<any, FSharpResult$2_$union<FSharpList<value>, [string, ErrorReason_$union]>>((acc: FSharpResult$2_$union<FSharpList<value>, [string, ErrorReason_$union]>, value_2: any): FSharpResult$2_$union<FSharpList<value>, [string, ErrorReason_$union]> => {
665
+ i = ((i + 1) | 0);
666
+ if (acc.tag === /* Ok */ 0) {
667
+ const acc_1: FSharpList<value> = acc.fields[0];
668
+ const matchValue: FSharpResult$2_$union<value, [string, ErrorReason_$union]> = decoder(((path + ".[") + int32ToString(i)) + "]", value_2);
669
+ if (matchValue.tag === /* Ok */ 0) {
670
+ return FSharpResult$2_Ok<FSharpList<value>, [string, ErrorReason_$union]>(cons(matchValue.fields[0], acc_1));
671
+ }
672
+ else {
673
+ return FSharpResult$2_Error<FSharpList<value>, [string, ErrorReason_$union]>(matchValue.fields[0]);
674
+ }
675
+ }
676
+ else {
677
+ return acc;
678
+ }
679
+ }, FSharpResult$2_Ok<FSharpList<value>, [string, ErrorReason_$union]>(empty<value>()), value_1));
680
+ }
681
+ else {
682
+ return FSharpResult$2_Error<FSharpList<value>, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a list", value_1)] as [string, ErrorReason_$union]);
683
+ }
684
+ }
685
+
686
+ export function seq<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<Iterable<value>, [string, ErrorReason_$union]> {
687
+ if (Array.isArray(value_1)) {
688
+ let i = -1;
689
+ return Result_Map<Iterable<value>, Iterable<value>, [string, ErrorReason_$union]>(reverse_1, fold_1<any, FSharpResult$2_$union<Iterable<value>, [string, ErrorReason_$union]>>((acc: FSharpResult$2_$union<Iterable<value>, [string, ErrorReason_$union]>, value_2: any): FSharpResult$2_$union<Iterable<value>, [string, ErrorReason_$union]> => {
690
+ i = ((i + 1) | 0);
691
+ if (acc.tag === /* Ok */ 0) {
692
+ const acc_1: Iterable<value> = acc.fields[0];
693
+ const matchValue: FSharpResult$2_$union<value, [string, ErrorReason_$union]> = decoder(((path + ".[") + int32ToString(i)) + "]", value_2);
694
+ if (matchValue.tag === /* Ok */ 0) {
695
+ return FSharpResult$2_Ok<Iterable<value>, [string, ErrorReason_$union]>(append<value>([matchValue.fields[0]], acc_1));
696
+ }
697
+ else {
698
+ return FSharpResult$2_Error<Iterable<value>, [string, ErrorReason_$union]>(matchValue.fields[0]);
699
+ }
700
+ }
701
+ else {
702
+ return acc;
703
+ }
704
+ }, FSharpResult$2_Ok<Iterable<value>, [string, ErrorReason_$union]>([]), value_1));
705
+ }
706
+ else {
707
+ return FSharpResult$2_Error<Iterable<value>, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("a seq", value_1)] as [string, ErrorReason_$union]);
708
+ }
709
+ }
710
+
711
+ export function array<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value[], [string, ErrorReason_$union]> {
712
+ if (Array.isArray(value_1)) {
713
+ let i = -1;
714
+ const tokens: any[] = value_1;
715
+ return fold_1<any, FSharpResult$2_$union<value[], [string, ErrorReason_$union]>>((acc: FSharpResult$2_$union<value[], [string, ErrorReason_$union]>, value_2: any): FSharpResult$2_$union<value[], [string, ErrorReason_$union]> => {
716
+ i = ((i + 1) | 0);
717
+ if (acc.tag === /* Ok */ 0) {
718
+ const acc_1: value[] = acc.fields[0];
719
+ const matchValue: FSharpResult$2_$union<value, [string, ErrorReason_$union]> = decoder(((path + ".[") + int32ToString(i)) + "]", value_2);
720
+ if (matchValue.tag === /* Ok */ 0) {
721
+ const value_3: value = matchValue.fields[0];
722
+ setItem(acc_1, i, value_3);
723
+ return FSharpResult$2_Ok<value[], [string, ErrorReason_$union]>(acc_1);
724
+ }
725
+ else {
726
+ return FSharpResult$2_Error<value[], [string, ErrorReason_$union]>(matchValue.fields[0]);
727
+ }
728
+ }
729
+ else {
730
+ return acc;
731
+ }
732
+ }, FSharpResult$2_Ok<value[], [string, ErrorReason_$union]>(fill(new Array(tokens.length), 0, tokens.length, null)), tokens);
733
+ }
734
+ else {
735
+ return FSharpResult$2_Error<value[], [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("an array", value_1)] as [string, ErrorReason_$union]);
736
+ }
737
+ }
738
+
739
+ export function keys(path: string, value_1: any): FSharpResult$2_$union<FSharpList<string>, [string, ErrorReason_$union]> {
740
+ if (value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype)) {
741
+ return FSharpResult$2_Ok<FSharpList<string>, [string, ErrorReason_$union]>(ofSeq<string>(Object.keys(value_1)));
742
+ }
743
+ else {
744
+ return FSharpResult$2_Error<FSharpList<string>, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("an object", value_1)] as [string, ErrorReason_$union]);
745
+ }
746
+ }
747
+
748
+ export function keyValuePairs<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]> {
749
+ const matchValue: FSharpResult$2_$union<FSharpList<string>, [string, ErrorReason_$union]> = keys(path, value_1);
750
+ if (matchValue.tag === /* Error */ 1) {
751
+ return FSharpResult$2_Error<FSharpList<[string, value]>, [string, ErrorReason_$union]>(matchValue.fields[0]);
752
+ }
753
+ else {
754
+ return Result_Map<FSharpList<[string, value]>, FSharpList<[string, value]>, [string, ErrorReason_$union]>(reverse, fold<string, FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]>>((acc: FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]>, prop: string): FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]> => {
755
+ if (acc.tag === /* Ok */ 0) {
756
+ const acc_1: FSharpList<[string, value]> = acc.fields[0];
757
+ const matchValue_1: FSharpResult$2_$union<value, [string, ErrorReason_$union]> = decoder(path, value_1[prop]);
758
+ if (matchValue_1.tag === /* Ok */ 0) {
759
+ return FSharpResult$2_Ok<FSharpList<[string, value]>, [string, ErrorReason_$union]>(cons([prop, matchValue_1.fields[0]] as [string, value], acc_1));
760
+ }
761
+ else {
762
+ return FSharpResult$2_Error<FSharpList<[string, value]>, [string, ErrorReason_$union]>(matchValue_1.fields[0]);
763
+ }
764
+ }
765
+ else {
766
+ return acc;
767
+ }
768
+ }, FSharpResult$2_Ok<FSharpList<[string, value]>, [string, ErrorReason_$union]>(empty<[string, value]>()), matchValue.fields[0]));
769
+ }
770
+ }
771
+
772
+ export function oneOf<value>(decoders: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>))>, path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
773
+ const runner = (decoders_1_mut: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>))>, errors_mut: FSharpList<string>): FSharpResult$2_$union<value, [string, ErrorReason_$union]> => {
774
+ runner:
775
+ while (true) {
776
+ const decoders_1: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>))> = decoders_1_mut, errors: FSharpList<string> = errors_mut;
777
+ if (isEmpty(decoders_1)) {
778
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([path, ErrorReason_BadOneOf(errors)] as [string, ErrorReason_$union]);
779
+ }
780
+ else {
781
+ const matchValue: FSharpResult$2_$union<value, string> = fromValue<value, any>(path, uncurry2(head_1(decoders_1)), value_1);
782
+ if (matchValue.tag === /* Error */ 1) {
783
+ decoders_1_mut = tail_1(decoders_1);
784
+ errors_mut = append_1(errors, singleton(matchValue.fields[0]));
785
+ continue runner;
786
+ }
787
+ else {
788
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(matchValue.fields[0]);
789
+ }
790
+ }
791
+ break;
792
+ }
793
+ };
794
+ return runner(decoders, empty<string>());
795
+ }
796
+
797
+ export function nil<a>(output: a, path: string, value_1: any): FSharpResult$2_$union<a, [string, ErrorReason_$union]> {
798
+ if (value_1 == null) {
799
+ return FSharpResult$2_Ok<a, [string, ErrorReason_$union]>(output);
800
+ }
801
+ else {
802
+ return FSharpResult$2_Error<a, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("null", value_1)] as [string, ErrorReason_$union]);
803
+ }
804
+ }
805
+
806
+ export function value<$a, $b, $c>(_arg: $a, v: $b): FSharpResult$2_$union<$b, $c> {
807
+ return FSharpResult$2_Ok<$b, $c>(v);
808
+ }
809
+
810
+ export function succeed<a>(output: a, _arg: string, _arg_1: any): FSharpResult$2_$union<a, [string, ErrorReason_$union]> {
811
+ return FSharpResult$2_Ok<a, [string, ErrorReason_$union]>(output);
812
+ }
813
+
814
+ export function fail<a>(msg: string, path: string, _arg: any): FSharpResult$2_$union<a, [string, ErrorReason_$union]> {
815
+ return FSharpResult$2_Error<a, [string, ErrorReason_$union]>([path, ErrorReason_FailMessage(msg)] as [string, ErrorReason_$union]);
816
+ }
817
+
818
+ export function andThen<a, b>(cb: ((arg0: a, arg1: string, arg2: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<b, [string, ErrorReason_$union]> {
819
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = decoder(path, value_1);
820
+ if (matchValue.tag === /* Ok */ 0) {
821
+ return cb(matchValue.fields[0], path, value_1);
822
+ }
823
+ else {
824
+ return FSharpResult$2_Error<b, [string, ErrorReason_$union]>(matchValue.fields[0]);
825
+ }
826
+ }
827
+
828
+ export function all<a>(decoders: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>))>, path: string, value_1: any): FSharpResult$2_$union<FSharpList<a>, [string, ErrorReason_$union]> {
829
+ const runner = (decoders_1_mut: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>))>, values_mut: FSharpList<a>): FSharpResult$2_$union<FSharpList<a>, [string, ErrorReason_$union]> => {
830
+ runner:
831
+ while (true) {
832
+ const decoders_1: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>))> = decoders_1_mut, values: FSharpList<a> = values_mut;
833
+ if (isEmpty(decoders_1)) {
834
+ return FSharpResult$2_Ok<FSharpList<a>, [string, ErrorReason_$union]>(values);
835
+ }
836
+ else {
837
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = head_1(decoders_1)(path)(value_1);
838
+ if (matchValue.tag === /* Error */ 1) {
839
+ return FSharpResult$2_Error<FSharpList<a>, [string, ErrorReason_$union]>(matchValue.fields[0]);
840
+ }
841
+ else {
842
+ decoders_1_mut = tail_1(decoders_1);
843
+ values_mut = append_1(values, singleton(matchValue.fields[0]));
844
+ continue runner;
845
+ }
846
+ }
847
+ break;
848
+ }
849
+ };
850
+ return runner(decoders, empty<a>());
851
+ }
852
+
853
+ export function map<a, value>(ctor: ((arg0: a) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
854
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
855
+ if (matchValue.tag === /* Error */ 1) {
856
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(matchValue.fields[0]);
857
+ }
858
+ else {
859
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(matchValue.fields[0]));
860
+ }
861
+ }
862
+
863
+ export function map2<a, b, value>(ctor: ((arg0: a, arg1: b) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
864
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
865
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
866
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
867
+ if (copyOfStruct.tag === /* Error */ 1) {
868
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
869
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
870
+ }
871
+ else {
872
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
873
+ if (copyOfStruct_1.tag === /* Error */ 1) {
874
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
875
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
876
+ }
877
+ else {
878
+ const v1: a = copyOfStruct.fields[0];
879
+ const v2: b = copyOfStruct_1.fields[0];
880
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2));
881
+ }
882
+ }
883
+ }
884
+
885
+ export function map3<a, b, c, value>(ctor: ((arg0: a, arg1: b, arg2: c) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
886
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
887
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
888
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
889
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
890
+ if (copyOfStruct.tag === /* Error */ 1) {
891
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
892
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
893
+ }
894
+ else {
895
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
896
+ if (copyOfStruct_1.tag === /* Error */ 1) {
897
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
898
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
899
+ }
900
+ else {
901
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
902
+ if (copyOfStruct_2.tag === /* Error */ 1) {
903
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
904
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
905
+ }
906
+ else {
907
+ const v1: a = copyOfStruct.fields[0];
908
+ const v2: b = copyOfStruct_1.fields[0];
909
+ const v3: c = copyOfStruct_2.fields[0];
910
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3));
911
+ }
912
+ }
913
+ }
914
+ }
915
+
916
+ export function map4<a, b, c, d, value>(ctor: ((arg0: a, arg1: b, arg2: c, arg3: d) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), d4: ((arg0: string, arg1: any) => FSharpResult$2_$union<d, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
917
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
918
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
919
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
920
+ const matchValue_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = d4(path, value_1);
921
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
922
+ if (copyOfStruct.tag === /* Error */ 1) {
923
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
924
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
925
+ }
926
+ else {
927
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
928
+ if (copyOfStruct_1.tag === /* Error */ 1) {
929
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
930
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
931
+ }
932
+ else {
933
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
934
+ if (copyOfStruct_2.tag === /* Error */ 1) {
935
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
936
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
937
+ }
938
+ else {
939
+ const copyOfStruct_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = matchValue_3;
940
+ if (copyOfStruct_3.tag === /* Error */ 1) {
941
+ const er_3: [string, ErrorReason_$union] = copyOfStruct_3.fields[0];
942
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_3);
943
+ }
944
+ else {
945
+ const v1: a = copyOfStruct.fields[0];
946
+ const v2: b = copyOfStruct_1.fields[0];
947
+ const v3: c = copyOfStruct_2.fields[0];
948
+ const v4: d = copyOfStruct_3.fields[0];
949
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3, v4));
950
+ }
951
+ }
952
+ }
953
+ }
954
+ }
955
+
956
+ export function map5<a, b, c, d, e, value>(ctor: ((arg0: a, arg1: b, arg2: c, arg3: d, arg4: e) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), d4: ((arg0: string, arg1: any) => FSharpResult$2_$union<d, [string, ErrorReason_$union]>), d5: ((arg0: string, arg1: any) => FSharpResult$2_$union<e, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
957
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
958
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
959
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
960
+ const matchValue_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = d4(path, value_1);
961
+ const matchValue_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = d5(path, value_1);
962
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
963
+ if (copyOfStruct.tag === /* Error */ 1) {
964
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
965
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
966
+ }
967
+ else {
968
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
969
+ if (copyOfStruct_1.tag === /* Error */ 1) {
970
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
971
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
972
+ }
973
+ else {
974
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
975
+ if (copyOfStruct_2.tag === /* Error */ 1) {
976
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
977
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
978
+ }
979
+ else {
980
+ const copyOfStruct_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = matchValue_3;
981
+ if (copyOfStruct_3.tag === /* Error */ 1) {
982
+ const er_3: [string, ErrorReason_$union] = copyOfStruct_3.fields[0];
983
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_3);
984
+ }
985
+ else {
986
+ const copyOfStruct_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = matchValue_4;
987
+ if (copyOfStruct_4.tag === /* Error */ 1) {
988
+ const er_4: [string, ErrorReason_$union] = copyOfStruct_4.fields[0];
989
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_4);
990
+ }
991
+ else {
992
+ const v1: a = copyOfStruct.fields[0];
993
+ const v2: b = copyOfStruct_1.fields[0];
994
+ const v3: c = copyOfStruct_2.fields[0];
995
+ const v4: d = copyOfStruct_3.fields[0];
996
+ const v5: e = copyOfStruct_4.fields[0];
997
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3, v4, v5));
998
+ }
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+ }
1004
+
1005
+ export function map6<a, b, c, d, e, f, value>(ctor: ((arg0: a, arg1: b, arg2: c, arg3: d, arg4: e, arg5: f) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), d4: ((arg0: string, arg1: any) => FSharpResult$2_$union<d, [string, ErrorReason_$union]>), d5: ((arg0: string, arg1: any) => FSharpResult$2_$union<e, [string, ErrorReason_$union]>), d6: ((arg0: string, arg1: any) => FSharpResult$2_$union<f, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
1006
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
1007
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
1008
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
1009
+ const matchValue_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = d4(path, value_1);
1010
+ const matchValue_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = d5(path, value_1);
1011
+ const matchValue_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = d6(path, value_1);
1012
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
1013
+ if (copyOfStruct.tag === /* Error */ 1) {
1014
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
1015
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
1016
+ }
1017
+ else {
1018
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
1019
+ if (copyOfStruct_1.tag === /* Error */ 1) {
1020
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
1021
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
1022
+ }
1023
+ else {
1024
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
1025
+ if (copyOfStruct_2.tag === /* Error */ 1) {
1026
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
1027
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
1028
+ }
1029
+ else {
1030
+ const copyOfStruct_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = matchValue_3;
1031
+ if (copyOfStruct_3.tag === /* Error */ 1) {
1032
+ const er_3: [string, ErrorReason_$union] = copyOfStruct_3.fields[0];
1033
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_3);
1034
+ }
1035
+ else {
1036
+ const copyOfStruct_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = matchValue_4;
1037
+ if (copyOfStruct_4.tag === /* Error */ 1) {
1038
+ const er_4: [string, ErrorReason_$union] = copyOfStruct_4.fields[0];
1039
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_4);
1040
+ }
1041
+ else {
1042
+ const copyOfStruct_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = matchValue_5;
1043
+ if (copyOfStruct_5.tag === /* Error */ 1) {
1044
+ const er_5: [string, ErrorReason_$union] = copyOfStruct_5.fields[0];
1045
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_5);
1046
+ }
1047
+ else {
1048
+ const v1: a = copyOfStruct.fields[0];
1049
+ const v2: b = copyOfStruct_1.fields[0];
1050
+ const v3: c = copyOfStruct_2.fields[0];
1051
+ const v4: d = copyOfStruct_3.fields[0];
1052
+ const v5: e = copyOfStruct_4.fields[0];
1053
+ const v6: f = copyOfStruct_5.fields[0];
1054
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3, v4, v5, v6));
1055
+ }
1056
+ }
1057
+ }
1058
+ }
1059
+ }
1060
+ }
1061
+ }
1062
+
1063
+ export function map7<a, b, c, d, e, f, g, value>(ctor: ((arg0: a, arg1: b, arg2: c, arg3: d, arg4: e, arg5: f, arg6: g) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), d4: ((arg0: string, arg1: any) => FSharpResult$2_$union<d, [string, ErrorReason_$union]>), d5: ((arg0: string, arg1: any) => FSharpResult$2_$union<e, [string, ErrorReason_$union]>), d6: ((arg0: string, arg1: any) => FSharpResult$2_$union<f, [string, ErrorReason_$union]>), d7: ((arg0: string, arg1: any) => FSharpResult$2_$union<g, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
1064
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
1065
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
1066
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
1067
+ const matchValue_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = d4(path, value_1);
1068
+ const matchValue_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = d5(path, value_1);
1069
+ const matchValue_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = d6(path, value_1);
1070
+ const matchValue_6: FSharpResult$2_$union<g, [string, ErrorReason_$union]> = d7(path, value_1);
1071
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
1072
+ if (copyOfStruct.tag === /* Error */ 1) {
1073
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
1074
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
1075
+ }
1076
+ else {
1077
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
1078
+ if (copyOfStruct_1.tag === /* Error */ 1) {
1079
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
1080
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
1081
+ }
1082
+ else {
1083
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
1084
+ if (copyOfStruct_2.tag === /* Error */ 1) {
1085
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
1086
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
1087
+ }
1088
+ else {
1089
+ const copyOfStruct_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = matchValue_3;
1090
+ if (copyOfStruct_3.tag === /* Error */ 1) {
1091
+ const er_3: [string, ErrorReason_$union] = copyOfStruct_3.fields[0];
1092
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_3);
1093
+ }
1094
+ else {
1095
+ const copyOfStruct_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = matchValue_4;
1096
+ if (copyOfStruct_4.tag === /* Error */ 1) {
1097
+ const er_4: [string, ErrorReason_$union] = copyOfStruct_4.fields[0];
1098
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_4);
1099
+ }
1100
+ else {
1101
+ const copyOfStruct_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = matchValue_5;
1102
+ if (copyOfStruct_5.tag === /* Error */ 1) {
1103
+ const er_5: [string, ErrorReason_$union] = copyOfStruct_5.fields[0];
1104
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_5);
1105
+ }
1106
+ else {
1107
+ const copyOfStruct_6: FSharpResult$2_$union<g, [string, ErrorReason_$union]> = matchValue_6;
1108
+ if (copyOfStruct_6.tag === /* Error */ 1) {
1109
+ const er_6: [string, ErrorReason_$union] = copyOfStruct_6.fields[0];
1110
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_6);
1111
+ }
1112
+ else {
1113
+ const v1: a = copyOfStruct.fields[0];
1114
+ const v2: b = copyOfStruct_1.fields[0];
1115
+ const v3: c = copyOfStruct_2.fields[0];
1116
+ const v4: d = copyOfStruct_3.fields[0];
1117
+ const v5: e = copyOfStruct_4.fields[0];
1118
+ const v6: f = copyOfStruct_5.fields[0];
1119
+ const v7: g = copyOfStruct_6.fields[0];
1120
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3, v4, v5, v6, v7));
1121
+ }
1122
+ }
1123
+ }
1124
+ }
1125
+ }
1126
+ }
1127
+ }
1128
+ }
1129
+
1130
+ export function map8<a, b, c, d, e, f, g, h, value>(ctor: ((arg0: a, arg1: b, arg2: c, arg3: d, arg4: e, arg5: f, arg6: g, arg7: h) => value), d1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>), d2: ((arg0: string, arg1: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>), d3: ((arg0: string, arg1: any) => FSharpResult$2_$union<c, [string, ErrorReason_$union]>), d4: ((arg0: string, arg1: any) => FSharpResult$2_$union<d, [string, ErrorReason_$union]>), d5: ((arg0: string, arg1: any) => FSharpResult$2_$union<e, [string, ErrorReason_$union]>), d6: ((arg0: string, arg1: any) => FSharpResult$2_$union<f, [string, ErrorReason_$union]>), d7: ((arg0: string, arg1: any) => FSharpResult$2_$union<g, [string, ErrorReason_$union]>), d8: ((arg0: string, arg1: any) => FSharpResult$2_$union<h, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
1131
+ const matchValue: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = d1(path, value_1);
1132
+ const matchValue_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = d2(path, value_1);
1133
+ const matchValue_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = d3(path, value_1);
1134
+ const matchValue_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = d4(path, value_1);
1135
+ const matchValue_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = d5(path, value_1);
1136
+ const matchValue_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = d6(path, value_1);
1137
+ const matchValue_6: FSharpResult$2_$union<g, [string, ErrorReason_$union]> = d7(path, value_1);
1138
+ const matchValue_7: FSharpResult$2_$union<h, [string, ErrorReason_$union]> = d8(path, value_1);
1139
+ const copyOfStruct: FSharpResult$2_$union<a, [string, ErrorReason_$union]> = matchValue;
1140
+ if (copyOfStruct.tag === /* Error */ 1) {
1141
+ const er: [string, ErrorReason_$union] = copyOfStruct.fields[0];
1142
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er);
1143
+ }
1144
+ else {
1145
+ const copyOfStruct_1: FSharpResult$2_$union<b, [string, ErrorReason_$union]> = matchValue_1;
1146
+ if (copyOfStruct_1.tag === /* Error */ 1) {
1147
+ const er_1: [string, ErrorReason_$union] = copyOfStruct_1.fields[0];
1148
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_1);
1149
+ }
1150
+ else {
1151
+ const copyOfStruct_2: FSharpResult$2_$union<c, [string, ErrorReason_$union]> = matchValue_2;
1152
+ if (copyOfStruct_2.tag === /* Error */ 1) {
1153
+ const er_2: [string, ErrorReason_$union] = copyOfStruct_2.fields[0];
1154
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_2);
1155
+ }
1156
+ else {
1157
+ const copyOfStruct_3: FSharpResult$2_$union<d, [string, ErrorReason_$union]> = matchValue_3;
1158
+ if (copyOfStruct_3.tag === /* Error */ 1) {
1159
+ const er_3: [string, ErrorReason_$union] = copyOfStruct_3.fields[0];
1160
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_3);
1161
+ }
1162
+ else {
1163
+ const copyOfStruct_4: FSharpResult$2_$union<e, [string, ErrorReason_$union]> = matchValue_4;
1164
+ if (copyOfStruct_4.tag === /* Error */ 1) {
1165
+ const er_4: [string, ErrorReason_$union] = copyOfStruct_4.fields[0];
1166
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_4);
1167
+ }
1168
+ else {
1169
+ const copyOfStruct_5: FSharpResult$2_$union<f, [string, ErrorReason_$union]> = matchValue_5;
1170
+ if (copyOfStruct_5.tag === /* Error */ 1) {
1171
+ const er_5: [string, ErrorReason_$union] = copyOfStruct_5.fields[0];
1172
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_5);
1173
+ }
1174
+ else {
1175
+ const copyOfStruct_6: FSharpResult$2_$union<g, [string, ErrorReason_$union]> = matchValue_6;
1176
+ if (copyOfStruct_6.tag === /* Error */ 1) {
1177
+ const er_6: [string, ErrorReason_$union] = copyOfStruct_6.fields[0];
1178
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_6);
1179
+ }
1180
+ else {
1181
+ const copyOfStruct_7: FSharpResult$2_$union<h, [string, ErrorReason_$union]> = matchValue_7;
1182
+ if (copyOfStruct_7.tag === /* Error */ 1) {
1183
+ const er_7: [string, ErrorReason_$union] = copyOfStruct_7.fields[0];
1184
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(er_7);
1185
+ }
1186
+ else {
1187
+ const v1: a = copyOfStruct.fields[0];
1188
+ const v2: b = copyOfStruct_1.fields[0];
1189
+ const v3: c = copyOfStruct_2.fields[0];
1190
+ const v4: d = copyOfStruct_3.fields[0];
1191
+ const v5: e = copyOfStruct_4.fields[0];
1192
+ const v6: f = copyOfStruct_5.fields[0];
1193
+ const v7: g = copyOfStruct_6.fields[0];
1194
+ const v8: h = copyOfStruct_7.fields[0];
1195
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(ctor(v1, v2, v3, v4, v5, v6, v7, v8));
1196
+ }
1197
+ }
1198
+ }
1199
+ }
1200
+ }
1201
+ }
1202
+ }
1203
+ }
1204
+ }
1205
+
1206
+ /**
1207
+ * Allow to incrementally apply a decoder, for building large objects.
1208
+ */
1209
+ export function andMap<a, b>(): ((arg0: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>))) => ((arg0: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<((arg0: a) => b), [string, ErrorReason_$union]>))) => ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>)))) {
1210
+ return (d: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>))): ((arg0: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<((arg0: a) => b), [string, ErrorReason_$union]>))) => ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>))) => ((d_1: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<((arg0: a) => b), [string, ErrorReason_$union]>))): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>)) => ((path: string): ((arg0: any) => FSharpResult$2_$union<b, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<b, [string, ErrorReason_$union]> => map2<a, ((arg0: a) => b), b>((arg: a, func: ((arg0: a) => b)): b => func(arg), uncurry2(d), uncurry2(d_1), path, value_1))));
1211
+ }
1212
+
1213
+ export interface IRequiredGetter {
1214
+ At<a>(arg0: FSharpList<string>, arg1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): a,
1215
+ Field<a>(arg0: string, arg1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): a,
1216
+ Raw<a>(arg0: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): a
1217
+ }
1218
+
1219
+ export interface IOptionalGetter {
1220
+ At<a>(arg0: FSharpList<string>, arg1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): Option<a>,
1221
+ Field<a>(arg0: string, arg1: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): Option<a>,
1222
+ Raw<a>(arg0: ((arg0: string, arg1: any) => FSharpResult$2_$union<a, [string, ErrorReason_$union]>)): Option<a>
1223
+ }
1224
+
1225
+ export interface IGetters {
1226
+ Optional: IOptionalGetter,
1227
+ Required: IRequiredGetter
1228
+ }
1229
+
1230
+ function unwrapWith<T, $a>(errors: [string, ErrorReason_$union][], path: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T, [string, ErrorReason_$union]>), value_1: $a): T {
1231
+ const matchValue: FSharpResult$2_$union<T, [string, ErrorReason_$union]> = decoder(path, value_1);
1232
+ if (matchValue.tag === /* Error */ 1) {
1233
+ const er: [string, ErrorReason_$union] = matchValue.fields[0];
1234
+ void (errors.push(er));
1235
+ return defaultOf();
1236
+ }
1237
+ else {
1238
+ return matchValue.fields[0];
1239
+ }
1240
+ }
1241
+
1242
+ export class Getters$1<T> implements IGetters {
1243
+ errors: [string, ErrorReason_$union][];
1244
+ readonly required: IRequiredGetter;
1245
+ readonly optional: IOptionalGetter;
1246
+ constructor(path: string, v: T) {
1247
+ let _this: any, _this_1: any;
1248
+ this.errors = [];
1249
+ this.required = ((_this = this, {
1250
+ Field<a>(fieldName: string, decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): $a {
1251
+ return unwrapWith<$a, T>(_this.errors, path, <$a>(path_1: string, value_1: any): FSharpResult$2_$union<$a, [string, ErrorReason_$union]> => field<$a>(fieldName, decoder, path_1, value_1), v);
1252
+ },
1253
+ At<a>(fieldNames: FSharpList<string>, decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): $a {
1254
+ return unwrapWith<$a, T>(_this.errors, path, <$a>(firstPath: string, firstValue: any): FSharpResult$2_$union<$a, [string, ErrorReason_$union]> => at<$a>(fieldNames, decoder_2, firstPath, firstValue), v);
1255
+ },
1256
+ Raw<a>(decoder_4: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): $a {
1257
+ return unwrapWith<$a, T>(_this.errors, path, decoder_4, v);
1258
+ },
1259
+ }));
1260
+ this.optional = ((_this_1 = this, {
1261
+ Field<a>(fieldName_1: string, decoder_5: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): Option<$a> {
1262
+ return unwrapWith<Option<$a>, T>(_this_1.errors, path, <$a>(path_2: string, value_2: any): FSharpResult$2_$union<Option<$a>, [string, ErrorReason_$union]> => optional<$a>(fieldName_1, decoder_5, path_2, value_2), v);
1263
+ },
1264
+ At<a>(fieldNames_1: FSharpList<string>, decoder_7: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): Option<$a> {
1265
+ return unwrapWith<Option<$a>, T>(_this_1.errors, path, <$a>(firstPath_1: string, firstValue_1: any): FSharpResult$2_$union<Option<$a>, [string, ErrorReason_$union]> => optionalAt<$a>(fieldNames_1, decoder_7, firstPath_1, firstValue_1), v);
1266
+ },
1267
+ Raw<a>(decoder_9: ((arg0: string, arg1: any) => FSharpResult$2_$union<$a, [string, ErrorReason_$union]>)): Option<$a> {
1268
+ const matchValue: FSharpResult$2_$union<$a, [string, ErrorReason_$union]> = decoder_9(path, v);
1269
+ if (matchValue.tag === /* Error */ 1) {
1270
+ const reason: ErrorReason_$union = matchValue.fields[0][1];
1271
+ const error: [string, ErrorReason_$union] = matchValue.fields[0];
1272
+ let matchResult: int32, v_2: any;
1273
+ switch (reason.tag) {
1274
+ case /* BadField */ 3:
1275
+ case /* BadPath */ 4: {
1276
+ matchResult = 1;
1277
+ break;
1278
+ }
1279
+ case /* TooSmallArray */ 5:
1280
+ case /* FailMessage */ 6:
1281
+ case /* BadOneOf */ 7: {
1282
+ matchResult = 2;
1283
+ break;
1284
+ }
1285
+ case /* BadPrimitiveExtra */ 1: {
1286
+ matchResult = 0;
1287
+ v_2 = reason.fields[1];
1288
+ break;
1289
+ }
1290
+ case /* BadType */ 2: {
1291
+ matchResult = 0;
1292
+ v_2 = reason.fields[1];
1293
+ break;
1294
+ }
1295
+ default: {
1296
+ matchResult = 0;
1297
+ v_2 = reason.fields[1];
1298
+ }
1299
+ }
1300
+ switch (matchResult) {
1301
+ case 0:
1302
+ if (v_2! == null) {
1303
+ return undefined;
1304
+ }
1305
+ else {
1306
+ void (_this_1.errors.push(error));
1307
+ return defaultOf();
1308
+ }
1309
+ case 1:
1310
+ return undefined;
1311
+ default: {
1312
+ void (_this_1.errors.push(error));
1313
+ return defaultOf();
1314
+ }
1315
+ }
1316
+ }
1317
+ else {
1318
+ return some(matchValue.fields[0]);
1319
+ }
1320
+ },
1321
+ }));
1322
+ }
1323
+ get Required(): IRequiredGetter {
1324
+ const __: Getters$1<T> = this;
1325
+ return __.required;
1326
+ }
1327
+ get Optional(): IOptionalGetter {
1328
+ const __: Getters$1<T> = this;
1329
+ return __.optional;
1330
+ }
1331
+ }
1332
+
1333
+ export function Getters$1_$reflection(gen0: TypeInfo): TypeInfo {
1334
+ return class_type("Thoth.Json.Decode.Getters`1", [gen0], Getters$1);
1335
+ }
1336
+
1337
+ export function Getters$1_$ctor_4A51B60E<T>(path: string, v: T): Getters$1<T> {
1338
+ return new Getters$1(path, v);
1339
+ }
1340
+
1341
+ export function Getters$1__get_Errors<T>(__: Getters$1<T>): FSharpList<[string, ErrorReason_$union]> {
1342
+ return toList<[string, ErrorReason_$union]>(__.errors);
1343
+ }
1344
+
1345
+ export function object<value>(builder: ((arg0: IGetters) => value), path: string, v: any): FSharpResult$2_$union<value, [string, ErrorReason_$union]> {
1346
+ const getters: Getters$1<any> = Getters$1_$ctor_4A51B60E<any>(path, v);
1347
+ const result: value = builder(getters);
1348
+ const matchValue: FSharpList<[string, ErrorReason_$union]> = Getters$1__get_Errors<any>(getters);
1349
+ if (!isEmpty(matchValue)) {
1350
+ const errors: FSharpList<[string, ErrorReason_$union]> = matchValue;
1351
+ if (length(errors) > 1) {
1352
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>([path, ErrorReason_BadOneOf(map_1<[string, ErrorReason_$union], string>((tupledArg: [string, ErrorReason_$union]): string => errorToString(tupledArg[0], tupledArg[1]), errors))] as [string, ErrorReason_$union]);
1353
+ }
1354
+ else {
1355
+ return FSharpResult$2_Error<value, [string, ErrorReason_$union]>(head_1(matchValue));
1356
+ }
1357
+ }
1358
+ else {
1359
+ return FSharpResult$2_Ok<value, [string, ErrorReason_$union]>(result);
1360
+ }
1361
+ }
1362
+
1363
+ export function tuple2<T1, T2>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]>)) {
1364
+ let decoder_3: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1365
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1366
+ decoder_3 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1367
+ return (path_3: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]> => andThen<T1, [T1, T2]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]>)) => {
1368
+ let decoder_2: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1369
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1370
+ decoder_2 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1371
+ return (path_2: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]> => andThen<T2, [T1, T2]>((v2: T2, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2], [string, ErrorReason_$union]> => succeed<[T1, T2]>([v1, v2] as [T1, T2], arg10$0040, arg20$0040), uncurry2(decoder_2), path_2, value_3));
1372
+ }), uncurry2(decoder_3), path_3, value_4));
1373
+ }
1374
+
1375
+ export function tuple3<T1, T2, T3>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>)) {
1376
+ let decoder_5: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1377
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1378
+ decoder_5 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1379
+ return (path_5: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>)) => {
1380
+ let decoder_4: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1381
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1382
+ decoder_4 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1383
+ return (path_4: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>)) => {
1384
+ let decoder_3: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1385
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1386
+ decoder_3 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1387
+ return (path_3: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3]>((v3: T3, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3], [string, ErrorReason_$union]> => succeed<[T1, T2, T3]>([v1, v2, v3] as [T1, T2, T3], arg10$0040, arg20$0040), uncurry2(decoder_3), path_3, value_4));
1388
+ }), uncurry2(decoder_4), path_4, value_5));
1389
+ }), uncurry2(decoder_5), path_5, value_6));
1390
+ }
1391
+
1392
+ export function tuple4<T1, T2, T3, T4>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>), decoder4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>)) {
1393
+ let decoder_7: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1394
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1395
+ decoder_7 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1396
+ return (path_7: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>) => ((value_8: any): FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3, T4]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>)) => {
1397
+ let decoder_6: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1398
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1399
+ decoder_6 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1400
+ return (path_6: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3, T4]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>)) => {
1401
+ let decoder_5: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1402
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1403
+ decoder_5 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1404
+ return (path_5: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3, T4]>(uncurry3((v3: T3): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>)) => {
1405
+ let decoder_4: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>));
1406
+ const decoder_3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) = decoder4;
1407
+ decoder_4 = ((path_3: string): ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<T4, [string, ErrorReason_$union]> => index<T4>(3, decoder_3, path_3, value_4)));
1408
+ return (path_4: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]> => andThen<T4, [T1, T2, T3, T4]>((v4: T4, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3, T4], [string, ErrorReason_$union]> => succeed<[T1, T2, T3, T4]>([v1, v2, v3, v4] as [T1, T2, T3, T4], arg10$0040, arg20$0040), uncurry2(decoder_4), path_4, value_5));
1409
+ }), uncurry2(decoder_5), path_5, value_6));
1410
+ }), uncurry2(decoder_6), path_6, value_7));
1411
+ }), uncurry2(decoder_7), path_7, value_8));
1412
+ }
1413
+
1414
+ export function tuple5<T1, T2, T3, T4, T5>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>), decoder4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>), decoder5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>)) {
1415
+ let decoder_9: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1416
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1417
+ decoder_9 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1418
+ return (path_9: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>) => ((value_10: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3, T4, T5]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>)) => {
1419
+ let decoder_8: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1420
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1421
+ decoder_8 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1422
+ return (path_8: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>) => ((value_9: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3, T4, T5]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>)) => {
1423
+ let decoder_7: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1424
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1425
+ decoder_7 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1426
+ return (path_7: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>) => ((value_8: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3, T4, T5]>(uncurry3((v3: T3): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>)) => {
1427
+ let decoder_6: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>));
1428
+ const decoder_3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) = decoder4;
1429
+ decoder_6 = ((path_3: string): ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<T4, [string, ErrorReason_$union]> => index<T4>(3, decoder_3, path_3, value_4)));
1430
+ return (path_6: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => andThen<T4, [T1, T2, T3, T4, T5]>(uncurry3((v4: T4): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>)) => {
1431
+ let decoder_5: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>));
1432
+ const decoder_4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) = decoder5;
1433
+ decoder_5 = ((path_4: string): ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<T5, [string, ErrorReason_$union]> => index<T5>(4, decoder_4, path_4, value_5)));
1434
+ return (path_5: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => andThen<T5, [T1, T2, T3, T4, T5]>((v5: T5, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5], [string, ErrorReason_$union]> => succeed<[T1, T2, T3, T4, T5]>([v1, v2, v3, v4, v5] as [T1, T2, T3, T4, T5], arg10$0040, arg20$0040), uncurry2(decoder_5), path_5, value_6));
1435
+ }), uncurry2(decoder_6), path_6, value_7));
1436
+ }), uncurry2(decoder_7), path_7, value_8));
1437
+ }), uncurry2(decoder_8), path_8, value_9));
1438
+ }), uncurry2(decoder_9), path_9, value_10));
1439
+ }
1440
+
1441
+ export function tuple6<T1, T2, T3, T4, T5, T6>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>), decoder4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>), decoder5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>), decoder6: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) {
1442
+ let decoder_11: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1443
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1444
+ decoder_11 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1445
+ return (path_11: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_12: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3, T4, T5, T6]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) => {
1446
+ let decoder_10: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1447
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1448
+ decoder_10 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1449
+ return (path_10: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_11: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3, T4, T5, T6]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) => {
1450
+ let decoder_9: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1451
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1452
+ decoder_9 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1453
+ return (path_9: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_10: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3, T4, T5, T6]>(uncurry3((v3: T3): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) => {
1454
+ let decoder_8: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>));
1455
+ const decoder_3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) = decoder4;
1456
+ decoder_8 = ((path_3: string): ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<T4, [string, ErrorReason_$union]> => index<T4>(3, decoder_3, path_3, value_4)));
1457
+ return (path_8: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_9: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T4, [T1, T2, T3, T4, T5, T6]>(uncurry3((v4: T4): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) => {
1458
+ let decoder_7: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>));
1459
+ const decoder_4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) = decoder5;
1460
+ decoder_7 = ((path_4: string): ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<T5, [string, ErrorReason_$union]> => index<T5>(4, decoder_4, path_4, value_5)));
1461
+ return (path_7: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_8: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T5, [T1, T2, T3, T4, T5, T6]>(uncurry3((v5: T5): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>)) => {
1462
+ let decoder_6: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>));
1463
+ const decoder_5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) = decoder6;
1464
+ decoder_6 = ((path_5: string): ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<T6, [string, ErrorReason_$union]> => index<T6>(5, decoder_5, path_5, value_6)));
1465
+ return (path_6: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => andThen<T6, [T1, T2, T3, T4, T5, T6]>((v6: T6, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6], [string, ErrorReason_$union]> => succeed<[T1, T2, T3, T4, T5, T6]>([v1, v2, v3, v4, v5, v6] as [T1, T2, T3, T4, T5, T6], arg10$0040, arg20$0040), uncurry2(decoder_6), path_6, value_7));
1466
+ }), uncurry2(decoder_7), path_7, value_8));
1467
+ }), uncurry2(decoder_8), path_8, value_9));
1468
+ }), uncurry2(decoder_9), path_9, value_10));
1469
+ }), uncurry2(decoder_10), path_10, value_11));
1470
+ }), uncurry2(decoder_11), path_11, value_12));
1471
+ }
1472
+
1473
+ export function tuple7<T1, T2, T3, T4, T5, T6, T7>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>), decoder4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>), decoder5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>), decoder6: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>), decoder7: ((arg0: string, arg1: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) {
1474
+ let decoder_13: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1475
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1476
+ decoder_13 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1477
+ return (path_13: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_14: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1478
+ let decoder_12: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1479
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1480
+ decoder_12 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1481
+ return (path_12: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_13: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1482
+ let decoder_11: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1483
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1484
+ decoder_11 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1485
+ return (path_11: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_12: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v3: T3): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1486
+ let decoder_10: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>));
1487
+ const decoder_3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) = decoder4;
1488
+ decoder_10 = ((path_3: string): ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<T4, [string, ErrorReason_$union]> => index<T4>(3, decoder_3, path_3, value_4)));
1489
+ return (path_10: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_11: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T4, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v4: T4): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1490
+ let decoder_9: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>));
1491
+ const decoder_4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) = decoder5;
1492
+ decoder_9 = ((path_4: string): ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<T5, [string, ErrorReason_$union]> => index<T5>(4, decoder_4, path_4, value_5)));
1493
+ return (path_9: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_10: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T5, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v5: T5): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1494
+ let decoder_8: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>));
1495
+ const decoder_5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) = decoder6;
1496
+ decoder_8 = ((path_5: string): ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<T6, [string, ErrorReason_$union]> => index<T6>(5, decoder_5, path_5, value_6)));
1497
+ return (path_8: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_9: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T6, [T1, T2, T3, T4, T5, T6, T7]>(uncurry3((v6: T6): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>)) => {
1498
+ let decoder_7: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>));
1499
+ const decoder_6: ((arg0: string, arg1: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>) = decoder7;
1500
+ decoder_7 = ((path_6: string): ((arg0: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<T7, [string, ErrorReason_$union]> => index<T7>(6, decoder_6, path_6, value_7)));
1501
+ return (path_7: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]>) => ((value_8: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => andThen<T7, [T1, T2, T3, T4, T5, T6, T7]>((v7: T7, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7], [string, ErrorReason_$union]> => succeed<[T1, T2, T3, T4, T5, T6, T7]>([v1, v2, v3, v4, v5, v6, v7] as [T1, T2, T3, T4, T5, T6, T7], arg10$0040, arg20$0040), uncurry2(decoder_7), path_7, value_8));
1502
+ }), uncurry2(decoder_8), path_8, value_9));
1503
+ }), uncurry2(decoder_9), path_9, value_10));
1504
+ }), uncurry2(decoder_10), path_10, value_11));
1505
+ }), uncurry2(decoder_11), path_11, value_12));
1506
+ }), uncurry2(decoder_12), path_12, value_13));
1507
+ }), uncurry2(decoder_13), path_13, value_14));
1508
+ }
1509
+
1510
+ export function tuple8<T1, T2, T3, T4, T5, T6, T7, T8>(decoder1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>), decoder2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>), decoder3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>), decoder4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>), decoder5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>), decoder6: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>), decoder7: ((arg0: string, arg1: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>), decoder8: ((arg0: string, arg1: any) => FSharpResult$2_$union<T8, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) {
1511
+ let decoder_15: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>));
1512
+ const decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) = decoder1;
1513
+ decoder_15 = ((path: string): ((arg0: any) => FSharpResult$2_$union<T1, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<T1, [string, ErrorReason_$union]> => index<T1>(0, decoder, path, value_1)));
1514
+ return (path_15: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_16: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T1, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v1: T1): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1515
+ let decoder_14: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>));
1516
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) = decoder2;
1517
+ decoder_14 = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<T2, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<T2, [string, ErrorReason_$union]> => index<T2>(1, decoder_1, path_1, value_2)));
1518
+ return (path_14: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_15: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T2, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v2: T2): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1519
+ let decoder_13: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>));
1520
+ const decoder_2: ((arg0: string, arg1: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) = decoder3;
1521
+ decoder_13 = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<T3, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<T3, [string, ErrorReason_$union]> => index<T3>(2, decoder_2, path_2, value_3)));
1522
+ return (path_13: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_14: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T3, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v3: T3): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1523
+ let decoder_12: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>));
1524
+ const decoder_3: ((arg0: string, arg1: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) = decoder4;
1525
+ decoder_12 = ((path_3: string): ((arg0: any) => FSharpResult$2_$union<T4, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<T4, [string, ErrorReason_$union]> => index<T4>(3, decoder_3, path_3, value_4)));
1526
+ return (path_12: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_13: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T4, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v4: T4): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1527
+ let decoder_11: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>));
1528
+ const decoder_4: ((arg0: string, arg1: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) = decoder5;
1529
+ decoder_11 = ((path_4: string): ((arg0: any) => FSharpResult$2_$union<T5, [string, ErrorReason_$union]>) => ((value_5: any): FSharpResult$2_$union<T5, [string, ErrorReason_$union]> => index<T5>(4, decoder_4, path_4, value_5)));
1530
+ return (path_11: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_12: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T5, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v5: T5): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1531
+ let decoder_10: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>));
1532
+ const decoder_5: ((arg0: string, arg1: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) = decoder6;
1533
+ decoder_10 = ((path_5: string): ((arg0: any) => FSharpResult$2_$union<T6, [string, ErrorReason_$union]>) => ((value_6: any): FSharpResult$2_$union<T6, [string, ErrorReason_$union]> => index<T6>(5, decoder_5, path_5, value_6)));
1534
+ return (path_10: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_11: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T6, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v6: T6): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1535
+ let decoder_9: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>));
1536
+ const decoder_6: ((arg0: string, arg1: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>) = decoder7;
1537
+ decoder_9 = ((path_6: string): ((arg0: any) => FSharpResult$2_$union<T7, [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<T7, [string, ErrorReason_$union]> => index<T7>(6, decoder_6, path_6, value_7)));
1538
+ return (path_9: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_10: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T7, [T1, T2, T3, T4, T5, T6, T7, T8]>(uncurry3((v7: T7): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>)) => {
1539
+ let decoder_8: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<T8, [string, ErrorReason_$union]>));
1540
+ const decoder_7: ((arg0: string, arg1: any) => FSharpResult$2_$union<T8, [string, ErrorReason_$union]>) = decoder8;
1541
+ decoder_8 = ((path_7: string): ((arg0: any) => FSharpResult$2_$union<T8, [string, ErrorReason_$union]>) => ((value_8: any): FSharpResult$2_$union<T8, [string, ErrorReason_$union]> => index<T8>(7, decoder_7, path_7, value_8)));
1542
+ return (path_8: string): ((arg0: any) => FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]>) => ((value_9: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => andThen<T8, [T1, T2, T3, T4, T5, T6, T7, T8]>((v8: T8, arg10$0040: string, arg20$0040: any): FSharpResult$2_$union<[T1, T2, T3, T4, T5, T6, T7, T8], [string, ErrorReason_$union]> => succeed<[T1, T2, T3, T4, T5, T6, T7, T8]>([v1, v2, v3, v4, v5, v6, v7, v8] as [T1, T2, T3, T4, T5, T6, T7, T8], arg10$0040, arg20$0040), uncurry2(decoder_8), path_8, value_9));
1543
+ }), uncurry2(decoder_9), path_9, value_10));
1544
+ }), uncurry2(decoder_10), path_10, value_11));
1545
+ }), uncurry2(decoder_11), path_11, value_12));
1546
+ }), uncurry2(decoder_12), path_12, value_13));
1547
+ }), uncurry2(decoder_13), path_13, value_14));
1548
+ }), uncurry2(decoder_14), path_14, value_15));
1549
+ }), uncurry2(decoder_15), path_15, value_16));
1550
+ }
1551
+
1552
+ export function dict<value>(decoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<FSharpMap<string, value>, [string, ErrorReason_$union]>)) {
1553
+ let d: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]>));
1554
+ const decoder_1: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>) = decoder;
1555
+ d = ((path: string): ((arg0: any) => FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<FSharpList<[string, value]>, [string, ErrorReason_$union]> => keyValuePairs<value>(decoder_1, path, value_1)));
1556
+ return (path_1: string): ((arg0: any) => FSharpResult$2_$union<FSharpMap<string, value>, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<FSharpMap<string, value>, [string, ErrorReason_$union]> => map<FSharpList<[string, value]>, FSharpMap<string, value>>((elements: FSharpList<[string, value]>): FSharpMap<string, value> => ofList<string, value>(elements, {
1557
+ Compare: comparePrimitives,
1558
+ }), uncurry2(d), path_1, value_2));
1559
+ }
1560
+
1561
+ export function map$0027<key, value>(keyDecoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<key, [string, ErrorReason_$union]>), valueDecoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<value, [string, ErrorReason_$union]>)): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<FSharpMap<key, value>, [string, ErrorReason_$union]>)) {
1562
+ let d: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[key, value][], [string, ErrorReason_$union]>));
1563
+ const decoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[key, value], [string, ErrorReason_$union]>)) = tuple2<key, value>(keyDecoder, valueDecoder);
1564
+ d = ((path: string): ((arg0: any) => FSharpResult$2_$union<[key, value][], [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<[key, value][], [string, ErrorReason_$union]> => array<[key, value]>(uncurry2(decoder), path, value_1)));
1565
+ return (path_1: string): ((arg0: any) => FSharpResult$2_$union<FSharpMap<key, value>, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<FSharpMap<key, value>, [string, ErrorReason_$union]> => map<[key, value][], FSharpMap<key, value>>((elements: [key, value][]): FSharpMap<key, value> => ofSeq_1<key, value>(elements, {
1566
+ Compare: compare,
1567
+ }), uncurry2(d), path_1, value_2));
1568
+ }
1569
+
1570
+ function toMap<key, value>(xs: Iterable<[key, value]>): FSharpMap<key, value> {
1571
+ return ofSeq_1<key, value>(xs, {
1572
+ Compare: compare,
1573
+ });
1574
+ }
1575
+
1576
+ function toSet<key>(xs: Iterable<key>): FSharpSet<key> {
1577
+ return ofSeq_2<key>(xs, {
1578
+ Compare: compare,
1579
+ });
1580
+ }
1581
+
1582
+ function autoObject(decoderInfos: [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))][], path: string, value_1: any): FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]> {
1583
+ if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {
1584
+ return FSharpResult$2_Error<FSharpList<any>, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("an object", value_1)] as [string, ErrorReason_$union]);
1585
+ }
1586
+ else {
1587
+ return foldBack<[string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))], FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]>>((tupledArg: [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))], acc: FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]>): FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]> => {
1588
+ const name: string = tupledArg[0];
1589
+ if (acc.tag === /* Ok */ 0) {
1590
+ const result: FSharpList<any> = acc.fields[0];
1591
+ return Result_Map<any, FSharpList<any>, [string, ErrorReason_$union]>((v: any): FSharpList<any> => cons(v, result), tupledArg[1]((path + ".") + name)(value_1[name]));
1592
+ }
1593
+ else {
1594
+ return acc;
1595
+ }
1596
+ }, decoderInfos, FSharpResult$2_Ok<FSharpList<any>, [string, ErrorReason_$union]>(empty<any>()));
1597
+ }
1598
+ }
1599
+
1600
+ function autoObject2(keyDecoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>), valueDecoder: ((arg0: string, arg1: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>), path: string, value_1: any): FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]> {
1601
+ if (!(value_1 === null ? false : (Object.getPrototypeOf(value_1 || false) === Object.prototype))) {
1602
+ return FSharpResult$2_Error<FSharpList<[any, any]>, [string, ErrorReason_$union]>([path, ErrorReason_BadPrimitive("an object", value_1)] as [string, ErrorReason_$union]);
1603
+ }
1604
+ else {
1605
+ return fold_2<string, FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>>((acc: FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>, name: string): FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]> => {
1606
+ if (acc.tag === /* Ok */ 0) {
1607
+ const acc_1: FSharpList<[any, any]> = acc.fields[0];
1608
+ const matchValue: FSharpResult$2_$union<any, [string, ErrorReason_$union]> = keyDecoder(path, name);
1609
+ if (matchValue.tag === /* Ok */ 0) {
1610
+ const k: any = matchValue.fields[0];
1611
+ const _arg: FSharpResult$2_$union<any, [string, ErrorReason_$union]> = valueDecoder((path + ".") + name, value_1[name]);
1612
+ if (_arg.tag === /* Ok */ 0) {
1613
+ return FSharpResult$2_Ok<FSharpList<[any, any]>, [string, ErrorReason_$union]>(cons([k, _arg.fields[0]] as [any, any], acc_1));
1614
+ }
1615
+ else {
1616
+ return FSharpResult$2_Error<FSharpList<[any, any]>, [string, ErrorReason_$union]>(_arg.fields[0]);
1617
+ }
1618
+ }
1619
+ else {
1620
+ return FSharpResult$2_Error<FSharpList<[any, any]>, [string, ErrorReason_$union]>(matchValue.fields[0]);
1621
+ }
1622
+ }
1623
+ else {
1624
+ return acc;
1625
+ }
1626
+ }, FSharpResult$2_Ok<FSharpList<[any, any]>, [string, ErrorReason_$union]>(empty<[any, any]>()), Object.keys(value_1));
1627
+ }
1628
+ }
1629
+
1630
+ function mixedArray(offset: int32, decoders: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))[], path: string, values: any[]): FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]> {
1631
+ let arg_1: int32;
1632
+ const expectedLength: int32 = (decoders.length + offset) | 0;
1633
+ if (expectedLength !== values.length) {
1634
+ return FSharpResult$2_Error<FSharpList<any>, [string, ErrorReason_$union]>([path, ErrorReason_FailMessage((arg_1 = (values.length | 0), toText(printf("Expected array of length %i but got %i"))(expectedLength)(arg_1)))] as [string, ErrorReason_$union]);
1635
+ }
1636
+ else {
1637
+ let result: FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]> = FSharpResult$2_Ok<FSharpList<any>, [string, ErrorReason_$union]>(empty<any>());
1638
+ for (let i: int32 = offset; i <= (values.length - 1); i++) {
1639
+ if (result.tag === /* Ok */ 0) {
1640
+ const acc: FSharpList<any> = result.fields[0];
1641
+ const path_1: string = toText(printf("%s[%i]"))(path)(i);
1642
+ const decoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = item(i - offset, decoders);
1643
+ const value_1: any = item(i, values);
1644
+ result = Result_Map<any, FSharpList<any>, [string, ErrorReason_$union]>((v: any): FSharpList<any> => cons(v, acc), decoder(path_1)(value_1));
1645
+ }
1646
+ }
1647
+ return Result_Map<FSharpList<any>, FSharpList<any>, [string, ErrorReason_$union]>(reverse, result);
1648
+ }
1649
+ }
1650
+
1651
+ function makeUnion(extra: FSharpMap<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>, caseStrategy: CaseStrategy_$union, t: any, name: string, path: string, values: any[]): FSharpResult$2_$union<any, [string, ErrorReason_$union]> {
1652
+ const uci: Option<any> = tryFind<any>((x: any): boolean => (name_3(x) === name), getUnionCases(t, true));
1653
+ if (uci != null) {
1654
+ const uci_1: any = value_43(uci);
1655
+ const decoders: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))[] = map_2<any, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>((fi: any): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) => autoDecoder(extra, caseStrategy, false, fi[1]), getUnionCaseFields(uci_1));
1656
+ return Result_Map<FSharpList<any>, any, [string, ErrorReason_$union]>((values_2: FSharpList<any>): any => makeUnion_1(uci_1, toArray<any>(values_2), true), ((decoders.length === 0) && (values.length <= 1)) ? FSharpResult$2_Ok<FSharpList<any>, [string, ErrorReason_$union]>(empty<any>()) : mixedArray(1, decoders, path, values));
1657
+ }
1658
+ else {
1659
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path, ErrorReason_FailMessage((("Cannot find case " + name) + " in ") + fullName_1(t))] as [string, ErrorReason_$union]);
1660
+ }
1661
+ }
1662
+
1663
+ function autoDecodeRecordsAndUnions(extra: FSharpMap<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>, caseStrategy: CaseStrategy_$union, isOptional: boolean, t: any): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) {
1664
+ let arg: string;
1665
+ const decoderRef: FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))> = new FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>(defaultOf());
1666
+ let extra_1: FSharpMap<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>;
1667
+ const matchValue: string = fullName_1(t);
1668
+ extra_1 = ((matchValue === "") ? extra : add<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>(matchValue, decoderRef, extra));
1669
+ let decoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>));
1670
+ if (isRecord(t, true)) {
1671
+ const decoders: [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))][] = map_2<any, [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))]>((fi: any): [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))] => ([Util_Casing_convert(caseStrategy, name_3(fi)), autoDecoder(extra_1, caseStrategy, false, fi[1])] as [string, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))]), getRecordElements(t, true));
1672
+ decoder = ((path: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => Result_Map<FSharpList<any>, any, [string, ErrorReason_$union]>((xs: FSharpList<any>): any => makeRecord(t, toArray<any>(xs), true), autoObject(decoders, path, value_1))));
1673
+ }
1674
+ else if (isUnion(t, true)) {
1675
+ decoder = ((path_1: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1676
+ if (typeof value_2 === "string") {
1677
+ return makeUnion(extra_1, caseStrategy, t, value_2, path_1, []);
1678
+ }
1679
+ else if (Array.isArray(value_2)) {
1680
+ const values: any[] = value_2;
1681
+ return Result_Bind<string, any, [string, ErrorReason_$union]>((name_2: string): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => makeUnion(extra_1, caseStrategy, t, name_2, path_1, values), string(path_1 + "[0]", item(0, values)));
1682
+ }
1683
+ else {
1684
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_1, ErrorReason_BadPrimitive("a string or array", value_2)] as [string, ErrorReason_$union]);
1685
+ }
1686
+ }));
1687
+ }
1688
+ else if (isOptional) {
1689
+ decoder = ((path_2: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_3: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_2, ErrorReason_BadType("an extra coder for " + fullName_1(t), value_3)] as [string, ErrorReason_$union])));
1690
+ }
1691
+ else {
1692
+ throw new Error((arg = fullName_1(t), toText(printf("Cannot generate auto decoder for %s. Please pass an extra decoder.\n\nDocumentation available at: https://thoth-org.github.io/Thoth.Json/documentation/auto/extra-coders.html#ready-to-use-extra-coders"))(arg)));
1693
+ }
1694
+ decoderRef.contents = decoder;
1695
+ return decoder;
1696
+ }
1697
+
1698
+ function autoDecoder(extra: FSharpMap<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>, caseStrategy: CaseStrategy_$union, isOptional: boolean, t: any): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) {
1699
+ let decoder_13: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)), decoder_14: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)), decoder_15: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)), decoder_16: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<[any, any], [string, ErrorReason_$union]>));
1700
+ const fullname: string = fullName_1(t);
1701
+ const matchValue: Option<FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>> = tryFind_1<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>(fullname, extra);
1702
+ if (matchValue == null) {
1703
+ if (isArray(t)) {
1704
+ const decoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = autoDecoder(extra, caseStrategy, false, getElementType(t));
1705
+ return (path_1: string): ((arg0: any) => FSharpResult$2_$union<any[], [string, ErrorReason_$union]>) => ((value_2: any): FSharpResult$2_$union<any[], [string, ErrorReason_$union]> => array<any>(uncurry2(decoder), path_1, value_2));
1706
+ }
1707
+ else if (isEnum(t)) {
1708
+ const enumType: string = fullName_1(getEnumUnderlyingType(t));
1709
+ switch (enumType) {
1710
+ case "System.SByte":
1711
+ return (path_2: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_4: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1712
+ const t_2: any = t;
1713
+ const path_3: string = path_2;
1714
+ const value_5: any = value_4;
1715
+ const matchValue_1: FSharpResult$2_$union<int8, [string, ErrorReason_$union]> = sbyte(path_3)(value_5);
1716
+ if (matchValue_1.tag === /* Error */ 1) {
1717
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_1.fields[0]);
1718
+ }
1719
+ else {
1720
+ const enumValue: int8 = matchValue_1.fields[0] | 0;
1721
+ return contains<int8>(enumValue, getEnumValues(t_2) as Iterable<int8>, {
1722
+ Equals: (x: int8, y: int8): boolean => (x === y),
1723
+ GetHashCode: numberHash,
1724
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_2, enumValue.toString())) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_3, ErrorReason_BadPrimitiveExtra(fullName_1(t_2), value_5, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1725
+ }
1726
+ });
1727
+ case "System.Byte":
1728
+ return (path_4: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_7: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1729
+ const t_3: any = t;
1730
+ const path_5: string = path_4;
1731
+ const value_8: any = value_7;
1732
+ const matchValue_2: FSharpResult$2_$union<uint8, [string, ErrorReason_$union]> = byte(path_5)(value_8);
1733
+ if (matchValue_2.tag === /* Error */ 1) {
1734
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_2.fields[0]);
1735
+ }
1736
+ else {
1737
+ const enumValue_1: uint8 = matchValue_2.fields[0];
1738
+ return contains<uint8>(enumValue_1, getEnumValues(t_3) as Iterable<uint8>, {
1739
+ Equals: (x_1: uint8, y_1: uint8): boolean => (x_1 === y_1),
1740
+ GetHashCode: numberHash,
1741
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_3, enumValue_1.toString())) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_5, ErrorReason_BadPrimitiveExtra(fullName_1(t_3), value_8, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1742
+ }
1743
+ });
1744
+ case "System.Int16":
1745
+ return (path_6: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_10: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1746
+ const t_4: any = t;
1747
+ const path_7: string = path_6;
1748
+ const value_11: any = value_10;
1749
+ const matchValue_3: FSharpResult$2_$union<int16_1, [string, ErrorReason_$union]> = int16(path_7)(value_11);
1750
+ if (matchValue_3.tag === /* Error */ 1) {
1751
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_3.fields[0]);
1752
+ }
1753
+ else {
1754
+ const enumValue_2: int16_1 = matchValue_3.fields[0] | 0;
1755
+ return contains<int16_1>(enumValue_2, getEnumValues(t_4) as Iterable<int16_1>, {
1756
+ Equals: (x_2: int16_1, y_2: int16_1): boolean => (x_2 === y_2),
1757
+ GetHashCode: numberHash,
1758
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_4, int16ToString(enumValue_2))) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_7, ErrorReason_BadPrimitiveExtra(fullName_1(t_4), value_11, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1759
+ }
1760
+ });
1761
+ case "System.UInt16":
1762
+ return (path_8: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_13: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1763
+ const t_5: any = t;
1764
+ const path_9: string = path_8;
1765
+ const value_14: any = value_13;
1766
+ const matchValue_4: FSharpResult$2_$union<uint16_1, [string, ErrorReason_$union]> = uint16(path_9)(value_14);
1767
+ if (matchValue_4.tag === /* Error */ 1) {
1768
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_4.fields[0]);
1769
+ }
1770
+ else {
1771
+ const enumValue_3: uint16_1 = matchValue_4.fields[0];
1772
+ return contains<uint16_1>(enumValue_3, getEnumValues(t_5) as Iterable<uint16_1>, {
1773
+ Equals: (x_3: uint16_1, y_3: uint16_1): boolean => (x_3 === y_3),
1774
+ GetHashCode: numberHash,
1775
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_5, enumValue_3.toString())) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_9, ErrorReason_BadPrimitiveExtra(fullName_1(t_5), value_14, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1776
+ }
1777
+ });
1778
+ case "System.Int32":
1779
+ return (path_10: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_16: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1780
+ const t_6: any = t;
1781
+ const path_11: string = path_10;
1782
+ const value_17: any = value_16;
1783
+ const matchValue_5: FSharpResult$2_$union<int32, [string, ErrorReason_$union]> = int(path_11)(value_17);
1784
+ if (matchValue_5.tag === /* Error */ 1) {
1785
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_5.fields[0]);
1786
+ }
1787
+ else {
1788
+ const enumValue_4: int32 = matchValue_5.fields[0] | 0;
1789
+ return contains<int32>(enumValue_4, getEnumValues(t_6) as Iterable<int32>, {
1790
+ Equals: (x_4: int32, y_4: int32): boolean => (x_4 === y_4),
1791
+ GetHashCode: numberHash,
1792
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_6, int32ToString(enumValue_4))) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_11, ErrorReason_BadPrimitiveExtra(fullName_1(t_6), value_17, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1793
+ }
1794
+ });
1795
+ case "System.UInt32":
1796
+ return (path_12: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_19: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1797
+ const t_7: any = t;
1798
+ const path_13: string = path_12;
1799
+ const value_20: any = value_19;
1800
+ const matchValue_6: FSharpResult$2_$union<uint32_1, [string, ErrorReason_$union]> = uint32(path_13)(value_20);
1801
+ if (matchValue_6.tag === /* Error */ 1) {
1802
+ return FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_6.fields[0]);
1803
+ }
1804
+ else {
1805
+ const enumValue_5: uint32_1 = matchValue_6.fields[0];
1806
+ return contains<uint32_1>(enumValue_5, getEnumValues(t_7) as Iterable<uint32_1>, {
1807
+ Equals: (x_5: uint32_1, y_5: uint32_1): boolean => (x_5 === y_5),
1808
+ GetHashCode: numberHash,
1809
+ }) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(parseEnum(t_7, enumValue_5.toString())) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_13, ErrorReason_BadPrimitiveExtra(fullName_1(t_7), value_20, "Unkown value provided for the enum")] as [string, ErrorReason_$union]);
1810
+ }
1811
+ });
1812
+ default: {
1813
+ const arg: string = fullName_1(t);
1814
+ const clo_1: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = toFail(printf("Cannot generate auto decoder for %s.\nThoth.Json.Net only support the following enum types:\n- sbyte\n- byte\n- int16\n- uint16\n- int\n- uint32\nIf you can\'t use one of these types, please pass an extra decoder.\n "))(arg);
1815
+ return (arg_1: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => {
1816
+ const clo_2: ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) = clo_1(arg_1);
1817
+ return clo_2;
1818
+ };
1819
+ }
1820
+ }
1821
+ }
1822
+ else if (isGenericType(t)) {
1823
+ if (isTuple(t)) {
1824
+ const decoders: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))[] = map_2<any, ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>((t_8: any): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) => autoDecoder(extra, caseStrategy, false, t_8), getTupleElements(t));
1825
+ return (path_14: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_21: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => (Array.isArray(value_21) ? Result_Map<FSharpList<any>, any, [string, ErrorReason_$union]>((xs: FSharpList<any>): any => makeTuple(toArray<any>(xs), t), mixedArray(0, decoders, path_14, value_21)) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>([path_14, ErrorReason_BadPrimitive("an array", value_21)] as [string, ErrorReason_$union])));
1826
+ }
1827
+ else {
1828
+ const fullname_1: string = fullName_1(getGenericTypeDefinition(t));
1829
+ switch (fullname_1) {
1830
+ case "Microsoft.FSharp.Core.FSharpOption`1[System.Object]":
1831
+ return (decoder_13 = autoDecoder(extra, caseStrategy, true, item(0, getGenerics(t))), (path_15: string): ((arg0: any) => FSharpResult$2_$union<Option<any>, [string, ErrorReason_$union]>) => ((value_22: any): FSharpResult$2_$union<Option<any>, [string, ErrorReason_$union]> => option<any>(uncurry2(decoder_13), path_15, value_22)));
1832
+ case "Microsoft.FSharp.Collections.FSharpList`1[System.Object]":
1833
+ return (decoder_14 = autoDecoder(extra, caseStrategy, false, item(0, getGenerics(t))), (path_16: string): ((arg0: any) => FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]>) => ((value_23: any): FSharpResult$2_$union<FSharpList<any>, [string, ErrorReason_$union]> => list<any>(uncurry2(decoder_14), path_16, value_23)));
1834
+ case "System.Collections.Generic.IEnumerable`1[System.Object]":
1835
+ return (decoder_15 = autoDecoder(extra, caseStrategy, false, item(0, getGenerics(t))), (path_17: string): ((arg0: any) => FSharpResult$2_$union<Iterable<any>, [string, ErrorReason_$union]>) => ((value_24: any): FSharpResult$2_$union<Iterable<any>, [string, ErrorReason_$union]> => seq<any>(uncurry2(decoder_15), path_17, value_24)));
1836
+ case "Microsoft.FSharp.Collections.FSharpMap`2[System.Object,System.Object]": {
1837
+ const keyDecoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = autoDecoder(extra, caseStrategy, false, item(0, getGenerics(t)));
1838
+ const valueDecoder: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = autoDecoder(extra, caseStrategy, false, item(1, getGenerics(t)));
1839
+ let d_20: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>));
1840
+ const decoders_1: FSharpList<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>))> = ofArray([(path_18: string): ((arg0: any) => FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>) => ((value_25: any): FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]> => autoObject2(uncurry2(keyDecoder), uncurry2(valueDecoder), path_18, value_25)), (decoder_16 = tuple2<any, any>(uncurry2(keyDecoder), uncurry2(valueDecoder)), (path_19: string): ((arg0: any) => FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>) => ((value_26: any): FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]> => list<[any, any]>(uncurry2(decoder_16), path_19, value_26)))]);
1841
+ d_20 = ((path_20: string): ((arg0: any) => FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]>) => ((value_27: any): FSharpResult$2_$union<FSharpList<[any, any]>, [string, ErrorReason_$union]> => oneOf<FSharpList<[any, any]>>(decoders_1, path_20, value_27)));
1842
+ return (path_21: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_29: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => map<FSharpList<[any, any]>, any>(toMap, uncurry2(d_20), path_21, value_29));
1843
+ }
1844
+ case "Microsoft.FSharp.Collections.FSharpSet`1[System.Object]": {
1845
+ const decoder_17: ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) = autoDecoder(extra, caseStrategy, false, item(0, getGenerics(t)));
1846
+ return (path_22: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_30: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => {
1847
+ const matchValue_7: FSharpResult$2_$union<any[], [string, ErrorReason_$union]> = array<any>(uncurry2(decoder_17), path_22, value_30);
1848
+ return (matchValue_7.tag === /* Ok */ 0) ? FSharpResult$2_Ok<any, [string, ErrorReason_$union]>(toSet<IComparable<any>>(matchValue_7.fields[0])) : FSharpResult$2_Error<any, [string, ErrorReason_$union]>(matchValue_7.fields[0]);
1849
+ });
1850
+ }
1851
+ default:
1852
+ return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);
1853
+ }
1854
+ }
1855
+ }
1856
+ else {
1857
+ switch (fullname) {
1858
+ case "System.Boolean":
1859
+ return (path_23: string): ((arg0: any) => FSharpResult$2_$union<boolean, [string, ErrorReason_$union]>) => ((value_32: any): FSharpResult$2_$union<boolean, [string, ErrorReason_$union]> => bool(path_23, value_32));
1860
+ case "Microsoft.FSharp.Core.Unit":
1861
+ return (path_24: string): ((arg0: any) => FSharpResult$2_$union<void, [string, ErrorReason_$union]>) => ((value_33: any): FSharpResult$2_$union<void, [string, ErrorReason_$union]> => unit(path_24, value_33));
1862
+ case "System.String":
1863
+ return (path_25: string): ((arg0: any) => FSharpResult$2_$union<string, [string, ErrorReason_$union]>) => ((value_34: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> => string(path_25, value_34));
1864
+ case "System.Char":
1865
+ return (path_26: string): ((arg0: any) => FSharpResult$2_$union<string, [string, ErrorReason_$union]>) => ((value_35: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> => char(path_26, value_35));
1866
+ case "System.SByte":
1867
+ return sbyte;
1868
+ case "System.Byte":
1869
+ return byte;
1870
+ case "System.Int16":
1871
+ return int16;
1872
+ case "System.UInt16":
1873
+ return uint16;
1874
+ case "System.Int32":
1875
+ return int;
1876
+ case "System.UInt32":
1877
+ return uint32;
1878
+ case "System.Double":
1879
+ return (path_27: string): ((arg0: any) => FSharpResult$2_$union<float64, [string, ErrorReason_$union]>) => ((value_36: any): FSharpResult$2_$union<float64, [string, ErrorReason_$union]> => float(path_27, value_36));
1880
+ case "System.Single":
1881
+ return (path_28: string): ((arg0: any) => FSharpResult$2_$union<float32_1, [string, ErrorReason_$union]>) => ((value_37: any): FSharpResult$2_$union<float32_1, [string, ErrorReason_$union]> => float32(path_28, value_37));
1882
+ case "System.Int64":
1883
+ return int64;
1884
+ case "System.UInt64":
1885
+ return uint64;
1886
+ case "System.Numerics.BigInteger":
1887
+ return (path_29: string): ((arg0: any) => FSharpResult$2_$union<bigint, [string, ErrorReason_$union]>) => ((value_38: any): FSharpResult$2_$union<bigint, [string, ErrorReason_$union]> => bigint(path_29, value_38));
1888
+ case "System.DateTime":
1889
+ return (path_30: string): ((arg0: any) => FSharpResult$2_$union<Date, [string, ErrorReason_$union]>) => ((value_39: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> => datetimeUtc(path_30, value_39));
1890
+ case "System.DateTimeOffset":
1891
+ return (path_31: string): ((arg0: any) => FSharpResult$2_$union<Date, [string, ErrorReason_$union]>) => ((value_40: any): FSharpResult$2_$union<Date, [string, ErrorReason_$union]> => datetimeOffset(path_31, value_40));
1892
+ case "System.TimeSpan":
1893
+ return (path_32: string): ((arg0: any) => FSharpResult$2_$union<number, [string, ErrorReason_$union]>) => ((value_41: any): FSharpResult$2_$union<number, [string, ErrorReason_$union]> => timespan(path_32, value_41));
1894
+ case "System.Guid":
1895
+ return (path_33: string): ((arg0: any) => FSharpResult$2_$union<string, [string, ErrorReason_$union]>) => ((value_42: any): FSharpResult$2_$union<string, [string, ErrorReason_$union]> => guid(path_33, value_42));
1896
+ case "System.Object":
1897
+ return (_arg_6: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => (FSharpResult$2_Ok);
1898
+ default:
1899
+ return autoDecodeRecordsAndUnions(extra, caseStrategy, isOptional, t);
1900
+ }
1901
+ }
1902
+ }
1903
+ else {
1904
+ const decoderRef: FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))> = value_43(matchValue);
1905
+ return (path: string): ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>) => ((value_1: any): FSharpResult$2_$union<any, [string, ErrorReason_$union]> => decoderRef.contents(path)(value_1));
1906
+ }
1907
+ }
1908
+
1909
+ function makeExtra(extra: Option<ExtraCoders>): FSharpMap<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>> {
1910
+ if (extra != null) {
1911
+ return map_3<string, [((arg0: any) => any), ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))], FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>((_arg: string, tupledArg: [((arg0: any) => any), ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))]): FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))> => (new FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>(tupledArg[1])), value_43(extra).Coders);
1912
+ }
1913
+ else {
1914
+ return empty_1<string, FSharpRef<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>>({
1915
+ Compare: comparePrimitives,
1916
+ });
1917
+ }
1918
+ }
1919
+
1920
+ export class Auto {
1921
+ constructor() {
1922
+ }
1923
+ }
1924
+
1925
+ export function Auto_$reflection(): TypeInfo {
1926
+ return class_type("Thoth.Json.Decode.Auto", undefined, Auto);
1927
+ }
1928
+
1929
+ export function Auto_generateBoxedDecoderCached_Z6670B51(t: any, caseStrategy?: CaseStrategy_$union, extra?: ExtraCoders): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) {
1930
+ let y_1: string, y: string;
1931
+ const caseStrategy_1: CaseStrategy_$union = defaultArg<CaseStrategy_$union>(caseStrategy, CaseStrategy_PascalCase());
1932
+ return Util_Cache$1__GetOrAdd_43981464<((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>))>(Util_CachedDecoders, (y_1 = ((y = fullName_1(t), toString_12(caseStrategy_1) + y)), defaultArg(map_4<ExtraCoders, string>((e: ExtraCoders): string => e.Hash, extra), "") + y_1), (): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) => autoDecoder(makeExtra(extra), caseStrategy_1, false, t));
1933
+ }
1934
+
1935
+ export function Auto_generateBoxedDecoder_Z6670B51(t: any, caseStrategy?: CaseStrategy_$union, extra?: ExtraCoders): ((arg0: string) => ((arg0: any) => FSharpResult$2_$union<any, [string, ErrorReason_$union]>)) {
1936
+ const caseStrategy_1: CaseStrategy_$union = defaultArg<CaseStrategy_$union>(caseStrategy, CaseStrategy_PascalCase());
1937
+ return autoDecoder(makeExtra(extra), caseStrategy_1, false, t);
1938
+ }
1939
+
1940
+ //# sourceMappingURL=Decode.ts.map