@fncts/schema 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AST.d.ts +29 -12
- package/Guard.d.ts +9 -0
- package/ParseError.d.ts +40 -3
- package/Parser/api.d.ts +0 -6
- package/Parser/interpreter.d.ts +1 -2
- package/Schema/api.d.ts +1 -1
- package/Schema/derivations.d.ts +1 -1
- package/Show.d.ts +1 -1
- package/_cjs/AST.cjs +115 -65
- package/_cjs/AST.cjs.map +1 -1
- package/_cjs/Guard.cjs +278 -0
- package/_cjs/Guard.cjs.map +1 -0
- package/_cjs/ParseError.cjs +77 -3
- package/_cjs/ParseError.cjs.map +1 -1
- package/_cjs/Parser/api.cjs +11 -23
- package/_cjs/Parser/api.cjs.map +1 -1
- package/_cjs/Parser/interpreter.cjs +93 -141
- package/_cjs/Parser/interpreter.cjs.map +1 -1
- package/_cjs/Schema/api.cjs +28 -29
- package/_cjs/Schema/api.cjs.map +1 -1
- package/_cjs/Show.cjs +23 -12
- package/_cjs/Show.cjs.map +1 -1
- package/_mjs/AST.mjs +107 -61
- package/_mjs/AST.mjs.map +1 -1
- package/_mjs/Guard.mjs +269 -0
- package/_mjs/Guard.mjs.map +1 -0
- package/_mjs/ParseError.mjs +72 -2
- package/_mjs/ParseError.mjs.map +1 -1
- package/_mjs/Parser/api.mjs +10 -21
- package/_mjs/Parser/api.mjs.map +1 -1
- package/_mjs/Parser/interpreter.mjs +94 -142
- package/_mjs/Parser/interpreter.mjs.map +1 -1
- package/_mjs/Schema/api.mjs +28 -29
- package/_mjs/Schema/api.mjs.map +1 -1
- package/_mjs/Show.mjs +23 -12
- package/_mjs/Show.mjs.map +1 -1
- package/_src/AST.ts +96 -47
- package/_src/Guard.ts +268 -0
- package/_src/ParseError.ts +88 -4
- package/_src/Parser/api.ts +8 -21
- package/_src/Parser/interpreter.ts +87 -121
- package/_src/Schema/api.ts +4 -11
- package/_src/Schema/derivations.ts +1 -1
- package/_src/Show.ts +28 -15
- package/package.json +3 -3
|
@@ -1,18 +1,31 @@
|
|
|
1
|
-
const fileName_1 = "(@fncts/schema) src/Parser/interpreter.ts";
|
|
2
1
|
import * as tsplus_module_1 from "@fncts/schema/Parser/definition";
|
|
3
2
|
import * as tsplus_module_2 from "@fncts/schema/ParseResult";
|
|
4
3
|
import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
|
|
5
4
|
import * as tsplus_module_4 from "@fncts/base/data/Maybe/api";
|
|
6
|
-
import * as tsplus_module_5 from "@fncts/schema/
|
|
7
|
-
import * as tsplus_module_6 from "@fncts/
|
|
8
|
-
import * as tsplus_module_7 from "@fncts/base/
|
|
9
|
-
import * as tsplus_module_8 from "@fncts/base/data/
|
|
10
|
-
import * as tsplus_module_9 from "@fncts/
|
|
11
|
-
import * as tsplus_module_10 from "@fncts/
|
|
5
|
+
import * as tsplus_module_5 from "@fncts/schema/AST";
|
|
6
|
+
import * as tsplus_module_6 from "@fncts/schema/ParseError";
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/base/collection/immutable/Vector/internal";
|
|
8
|
+
import * as tsplus_module_8 from "@fncts/base/data/Either/api";
|
|
9
|
+
import * as tsplus_module_9 from "@fncts/base/data/Maybe/definition";
|
|
10
|
+
import * as tsplus_module_10 from "@fncts/schema/ParseFailure";
|
|
11
|
+
import { globalValue } from "@fncts/base/data/Global";
|
|
12
12
|
import { isBigInt, isBoolean, isNumber, isObject, isRecord, isString, isSymbol, isUndefined } from "@fncts/base/util/predicates";
|
|
13
|
-
import { concrete } from "../AST.mjs";
|
|
13
|
+
import { concrete, getSearchTree } from "../AST.mjs";
|
|
14
|
+
import { RefinementError, TransformationError } from "../ParseError.mjs";
|
|
14
15
|
import { getKeysForIndexSignature, getTemplateLiteralRegex, memoize, ownKeys } from "../utils.mjs";
|
|
15
|
-
const
|
|
16
|
+
const decodeMemoMap = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("fncts.schema.Parser.decodeMemoMap"), () => new WeakMap());
|
|
17
|
+
const encodeMemoMap = /*#__PURE__*/globalValue( /*#__PURE__*/Symbol.for("fncts.schema.Parser.encodeMemoMap"), () => new WeakMap());
|
|
18
|
+
function goMemo(ast, isDecoding) {
|
|
19
|
+
const memoMap = isDecoding ? decodeMemoMap : encodeMemoMap;
|
|
20
|
+
const memo = memoMap.get(ast);
|
|
21
|
+
if (memo) {
|
|
22
|
+
return memo;
|
|
23
|
+
}
|
|
24
|
+
const parser = go(ast, isDecoding);
|
|
25
|
+
memoMap.set(ast, parser);
|
|
26
|
+
return parser;
|
|
27
|
+
}
|
|
28
|
+
function go(ast, isDecoding) {
|
|
16
29
|
void 0;
|
|
17
30
|
switch (ast._tag) {
|
|
18
31
|
case 0 /* ASTTag.Declaration */:
|
|
@@ -50,52 +63,52 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
50
63
|
}
|
|
51
64
|
case 16 /* ASTTag.Tuple */:
|
|
52
65
|
{
|
|
53
|
-
const elements = tsplus_module_3.map(e =>
|
|
54
|
-
const rest = tsplus_module_4.map(rest => tsplus_module_3.map(
|
|
66
|
+
const elements = tsplus_module_3.map(e => goMemo(e.type, isDecoding))(ast.elements);
|
|
67
|
+
const rest = tsplus_module_4.map(rest => tsplus_module_3.map(ast => goMemo(ast, isDecoding))(rest))(ast.rest);
|
|
55
68
|
return tsplus_module_1.make((input, options) => {
|
|
56
69
|
if (!Array.isArray(input)) {
|
|
57
|
-
return tsplus_module_2.fail(
|
|
70
|
+
return tsplus_module_2.fail(tsplus_module_6.typeError(tsplus_module_5.unknownArray, input));
|
|
58
71
|
}
|
|
59
72
|
const output = [];
|
|
60
73
|
const errors = tsplus_module_3.emptyPushable();
|
|
61
74
|
const allErrors = options?.allErrors;
|
|
62
75
|
let i = 0;
|
|
63
76
|
for (; i < elements.length; i++) {
|
|
64
|
-
if (input.length < i +
|
|
77
|
+
if (input.length < i + 1) {
|
|
65
78
|
if (!tsplus_module_3.unsafeGet(i)(ast.elements).isOptional) {
|
|
66
|
-
const e =
|
|
67
|
-
|
|
79
|
+
const e = tsplus_module_6.indexError(i, tsplus_module_3.vector(tsplus_module_6.missingError));
|
|
80
|
+
tsplus_module_7.push(e)(errors);
|
|
68
81
|
if (allErrors) {
|
|
69
82
|
continue;
|
|
70
83
|
} else {
|
|
71
84
|
return tsplus_module_2.failures(errors);
|
|
72
85
|
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
86
|
+
}
|
|
87
|
+
} else {
|
|
88
|
+
const parser = tsplus_module_3.unsafeGet(i)(elements);
|
|
89
|
+
const t = parser(input[i], options);
|
|
90
|
+
void 0;
|
|
91
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
92
|
+
const e = tsplus_module_6.indexError(i, t.left.errors);
|
|
93
|
+
tsplus_module_7.push(e)(errors);
|
|
94
|
+
if (allErrors) {
|
|
95
|
+
continue;
|
|
96
|
+
} else {
|
|
97
|
+
return tsplus_module_2.failures(errors);
|
|
85
98
|
}
|
|
86
|
-
output.push(t.right);
|
|
87
99
|
}
|
|
100
|
+
output.push(t.right);
|
|
88
101
|
}
|
|
89
102
|
}
|
|
90
|
-
if (
|
|
103
|
+
if (tsplus_module_9.isJust(rest)) {
|
|
91
104
|
const head = tsplus_module_3.unsafeHead(rest.value);
|
|
92
105
|
const tail = tsplus_module_3.tail(rest.value);
|
|
93
106
|
for (; i < input.length - tail.length; i++) {
|
|
94
107
|
const t = head(input[i], options);
|
|
95
108
|
void 0;
|
|
96
|
-
if (
|
|
97
|
-
const e =
|
|
98
|
-
|
|
109
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
110
|
+
const e = tsplus_module_6.indexError(i, t.left.errors);
|
|
111
|
+
tsplus_module_7.push(e)(errors);
|
|
99
112
|
if (allErrors) {
|
|
100
113
|
continue;
|
|
101
114
|
} else {
|
|
@@ -107,14 +120,14 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
107
120
|
for (let j = 0; j < tail.length; j++) {
|
|
108
121
|
i += j;
|
|
109
122
|
if (input.length < i + 1) {
|
|
110
|
-
|
|
123
|
+
tsplus_module_7.push(tsplus_module_6.indexError(i, tsplus_module_3.vector(tsplus_module_6.missingError)))(errors);
|
|
111
124
|
return tsplus_module_2.failures(errors);
|
|
112
125
|
} else {
|
|
113
126
|
const t = tsplus_module_3.unsafeGet(j)(tail)(input[i], options);
|
|
114
127
|
void 0;
|
|
115
|
-
if (
|
|
116
|
-
const e =
|
|
117
|
-
|
|
128
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
129
|
+
const e = tsplus_module_6.indexError(i, t.left.errors);
|
|
130
|
+
tsplus_module_7.push(e)(errors);
|
|
118
131
|
if (allErrors) {
|
|
119
132
|
continue;
|
|
120
133
|
} else {
|
|
@@ -127,9 +140,9 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
127
140
|
} else {
|
|
128
141
|
const isUnexpectedAllowed = options?.isUnexpectedAllowed;
|
|
129
142
|
for (; i < input.length; i++) {
|
|
130
|
-
const e =
|
|
143
|
+
const e = tsplus_module_6.indexError(i, tsplus_module_3.vector(tsplus_module_6.unexpectedError(input[i])));
|
|
131
144
|
if (!isUnexpectedAllowed) {
|
|
132
|
-
|
|
145
|
+
tsplus_module_7.push(e)(errors);
|
|
133
146
|
if (allErrors) {
|
|
134
147
|
continue;
|
|
135
148
|
} else {
|
|
@@ -146,11 +159,11 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
146
159
|
if (ast.propertySignatures.length === 0 && ast.indexSignatures.length === 0) {
|
|
147
160
|
return tsplus_module_1.fromRefinement(ast, u => u !== null);
|
|
148
161
|
}
|
|
149
|
-
const propertySignatureTypes = tsplus_module_3.map(f =>
|
|
150
|
-
const indexSignatures = tsplus_module_3.map(is => [
|
|
162
|
+
const propertySignatureTypes = tsplus_module_3.map(f => goMemo(f.type, isDecoding))(ast.propertySignatures);
|
|
163
|
+
const indexSignatures = tsplus_module_3.map(is => [goMemo(is.parameter, isDecoding), goMemo(is.type, isDecoding)])(ast.indexSignatures);
|
|
151
164
|
return tsplus_module_1.make((input, options) => {
|
|
152
165
|
if (!isRecord(input)) {
|
|
153
|
-
return tsplus_module_2.fail(
|
|
166
|
+
return tsplus_module_2.fail(tsplus_module_6.typeError(tsplus_module_5.unknownRecord, input));
|
|
154
167
|
}
|
|
155
168
|
const output = {};
|
|
156
169
|
const expectedKeys = {};
|
|
@@ -163,8 +176,8 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
163
176
|
expectedKeys[name] = null;
|
|
164
177
|
if (!Object.prototype.hasOwnProperty.call(input, name)) {
|
|
165
178
|
if (!ps.isOptional) {
|
|
166
|
-
const e =
|
|
167
|
-
|
|
179
|
+
const e = tsplus_module_6.keyError(tsplus_module_5.createKey(name), name, tsplus_module_3.vector(tsplus_module_6.missingError));
|
|
180
|
+
tsplus_module_7.push(e)(errors);
|
|
168
181
|
if (allErrors) {
|
|
169
182
|
continue;
|
|
170
183
|
} else {
|
|
@@ -174,9 +187,9 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
174
187
|
} else {
|
|
175
188
|
const t = parser(input[name], options);
|
|
176
189
|
void 0;
|
|
177
|
-
if (
|
|
178
|
-
const e =
|
|
179
|
-
|
|
190
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
191
|
+
const e = tsplus_module_6.keyError(tsplus_module_5.createKey(name), name, t.left.errors);
|
|
192
|
+
tsplus_module_7.push(e)(errors);
|
|
180
193
|
if (allErrors) {
|
|
181
194
|
continue;
|
|
182
195
|
} else {
|
|
@@ -196,9 +209,9 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
196
209
|
}
|
|
197
210
|
let t = parameter(key, options);
|
|
198
211
|
void 0;
|
|
199
|
-
if (
|
|
200
|
-
const e =
|
|
201
|
-
|
|
212
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
213
|
+
const e = tsplus_module_6.keyError(tsplus_module_5.createKey(key), key, t.left.errors);
|
|
214
|
+
tsplus_module_7.push(e)(errors);
|
|
202
215
|
if (allErrors) {
|
|
203
216
|
continue;
|
|
204
217
|
} else {
|
|
@@ -207,9 +220,9 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
207
220
|
}
|
|
208
221
|
t = type(input[key], options);
|
|
209
222
|
void 0;
|
|
210
|
-
if (
|
|
211
|
-
const e =
|
|
212
|
-
|
|
223
|
+
if (tsplus_module_8.isLeft(t)) {
|
|
224
|
+
const e = tsplus_module_6.keyError(tsplus_module_5.createKey(key), key, t.left.errors);
|
|
225
|
+
tsplus_module_7.push(e)(errors);
|
|
213
226
|
if (allErrors) {
|
|
214
227
|
continue;
|
|
215
228
|
} else {
|
|
@@ -223,9 +236,9 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
223
236
|
const isUnexpectedAllowed = options?.isUnexpectedAllowed;
|
|
224
237
|
for (const key of ownKeys(input)) {
|
|
225
238
|
if (!Object.prototype.hasOwnProperty.call(expectedKeys, key)) {
|
|
226
|
-
const e =
|
|
239
|
+
const e = tsplus_module_6.keyError(tsplus_module_5.createKey(key), key, tsplus_module_3.vector(tsplus_module_6.unexpectedError(input[key])));
|
|
227
240
|
if (!isUnexpectedAllowed) {
|
|
228
|
-
|
|
241
|
+
tsplus_module_7.push(e)(errors);
|
|
229
242
|
if (allErrors) {
|
|
230
243
|
continue;
|
|
231
244
|
} else {
|
|
@@ -240,13 +253,13 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
240
253
|
}
|
|
241
254
|
case 18 /* ASTTag.Union */:
|
|
242
255
|
{
|
|
243
|
-
const searchTree = getSearchTree(ast.types);
|
|
256
|
+
const searchTree = getSearchTree(ast.types, isDecoding);
|
|
244
257
|
const ownKeys = Reflect.ownKeys(searchTree.keys);
|
|
245
258
|
const len = ownKeys.length;
|
|
246
259
|
const otherwise = searchTree.otherwise;
|
|
247
260
|
const map = new Map();
|
|
248
261
|
tsplus_module_3.forEach(ast => {
|
|
249
|
-
map.set(ast,
|
|
262
|
+
map.set(ast, goMemo(ast, isDecoding));
|
|
250
263
|
})(ast.types);
|
|
251
264
|
return tsplus_module_1.make((input, options) => {
|
|
252
265
|
const errors = tsplus_module_3.emptyPushable();
|
|
@@ -262,58 +275,58 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
262
275
|
for (let i = 0; i < bucket.length; i++) {
|
|
263
276
|
const t = map.get(bucket[i])(input, options);
|
|
264
277
|
void 0;
|
|
265
|
-
if (
|
|
278
|
+
if (tsplus_module_8.isRight(t)) {
|
|
266
279
|
return t;
|
|
267
280
|
} else {
|
|
268
|
-
|
|
281
|
+
tsplus_module_7.push(tsplus_module_6.unionMemberError(t.left.errors))(errors);
|
|
269
282
|
}
|
|
270
283
|
}
|
|
271
284
|
} else {
|
|
272
|
-
|
|
285
|
+
tsplus_module_7.push(tsplus_module_6.keyError(tsplus_module_5.createKey(name), name, tsplus_module_3.vector(tsplus_module_6.typeError(searchTree.keys[name].ast, input[name]))))(errors);
|
|
273
286
|
}
|
|
274
287
|
} else {
|
|
275
|
-
|
|
288
|
+
tsplus_module_7.push(tsplus_module_6.keyError(tsplus_module_5.createKey(name), name, tsplus_module_3.vector(tsplus_module_6.missingError)))(errors);
|
|
276
289
|
}
|
|
277
290
|
}
|
|
278
291
|
} else {
|
|
279
|
-
|
|
292
|
+
tsplus_module_7.push(tsplus_module_6.typeError(tsplus_module_5.unknownRecord, input))(errors);
|
|
280
293
|
}
|
|
281
294
|
}
|
|
282
295
|
for (let i = 0; i < otherwise.length; i++) {
|
|
283
296
|
const t = map.get(otherwise[i])(input, options);
|
|
284
297
|
void 0;
|
|
285
|
-
if (
|
|
298
|
+
if (tsplus_module_8.isRight(t)) {
|
|
286
299
|
return t;
|
|
287
300
|
} else {
|
|
288
|
-
|
|
301
|
+
tsplus_module_7.push(tsplus_module_6.unionMemberError(t.left.errors))(errors);
|
|
289
302
|
}
|
|
290
303
|
}
|
|
291
|
-
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_2.failures(errors) : tsplus_module_2.fail(
|
|
304
|
+
return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_2.failures(errors) : tsplus_module_2.fail(tsplus_module_6.typeError(tsplus_module_5.neverKeyword, input));
|
|
292
305
|
});
|
|
293
306
|
}
|
|
294
307
|
case 19 /* ASTTag.Lazy */:
|
|
295
308
|
{
|
|
296
|
-
const f = () =>
|
|
309
|
+
const f = () => goMemo(ast.getAST(), isDecoding);
|
|
297
310
|
const get = memoize(f);
|
|
298
311
|
return tsplus_module_1.make((a, options) => get()(a, options));
|
|
299
312
|
}
|
|
300
313
|
case 20 /* ASTTag.Refinement */:
|
|
301
314
|
{
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
315
|
+
if (isDecoding) {
|
|
316
|
+
const from = goMemo(ast.from, isDecoding);
|
|
317
|
+
return tsplus_module_1.make((input, options) => tsplus_module_8.flatMap(a => tsplus_module_8.mapLeft(failure => tsplus_module_10.make(tsplus_module_3.vector(tsplus_module_6.refinementError(ast, input, "Predicate", failure.errors))))(ast.decode(a, options)))(tsplus_module_8.mapLeft(failure => tsplus_module_10.make(tsplus_module_3.vector(tsplus_module_6.refinementError(ast, input, "From", failure.errors))))(from(input, options))));
|
|
318
|
+
} else {
|
|
319
|
+
const from = goMemo(ast.from, true);
|
|
320
|
+
const to = goMemo(tsplus_module_5.getTo(ast.from), false);
|
|
321
|
+
return tsplus_module_1.make((input, options) => tsplus_module_8.flatMap(a => from(a, options))(tsplus_module_8.flatMap(a => ast.decode(a, options))(to(input, options))));
|
|
306
322
|
}
|
|
307
|
-
return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => ast.decode(a, options))(from(input, options)));
|
|
308
323
|
}
|
|
309
324
|
case 21 /* ASTTag.Transform */:
|
|
310
325
|
{
|
|
311
|
-
const
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
316
|
-
return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => ast.decode(a, options))(from(input, options)));
|
|
326
|
+
const transformation = isDecoding ? ast.decode : ast.encode;
|
|
327
|
+
const from = isDecoding ? goMemo(ast.from, true) : goMemo(ast.to, false);
|
|
328
|
+
const to = isDecoding ? goMemo(ast.to, true) : goMemo(ast.from, false);
|
|
329
|
+
return tsplus_module_1.make((input, options) => tsplus_module_8.flatMap(a => tsplus_module_8.mapLeft(failure => tsplus_module_10.make(tsplus_module_3.vector(tsplus_module_6.transformationError(ast, input, isDecoding ? "Type" : "Encoded", failure.errors))))(to(a, options)))(tsplus_module_8.flatMap(a => tsplus_module_8.mapLeft(failure => tsplus_module_10.make(tsplus_module_3.vector(tsplus_module_6.transformationError(ast, input, "Transformation", failure.errors))))(transformation(a, options)))(tsplus_module_8.mapLeft(failure => tsplus_module_10.make(tsplus_module_3.vector(tsplus_module_6.transformationError(ast, input, isDecoding ? "Encoded" : "Type", failure.errors))))(from(input, options)))));
|
|
317
330
|
}
|
|
318
331
|
case 22 /* ASTTag.Validation */:
|
|
319
332
|
{
|
|
@@ -322,81 +335,20 @@ const go = /*#__PURE__*/memoize(function go(ast) {
|
|
|
322
335
|
const allErrors = options?.allErrors;
|
|
323
336
|
for (const validation of ast.validation) {
|
|
324
337
|
if (!validation.validate(u)) {
|
|
325
|
-
|
|
338
|
+
tsplus_module_7.push(validation)(missedBrands);
|
|
326
339
|
if (allErrors) {
|
|
327
340
|
continue;
|
|
328
341
|
} else {
|
|
329
|
-
return tsplus_module_2.fail(
|
|
342
|
+
return tsplus_module_2.fail(tsplus_module_6.typeError(tsplus_module_5.createValidation(ast.from, missedBrands, ast.annotations), u));
|
|
330
343
|
}
|
|
331
344
|
}
|
|
332
345
|
}
|
|
333
|
-
return missedBrands.length > 0 ? tsplus_module_2.fail(
|
|
346
|
+
return missedBrands.length > 0 ? tsplus_module_2.fail(tsplus_module_6.typeError(tsplus_module_5.createValidation(ast.from, missedBrands, ast.annotations), u)) : tsplus_module_2.succeed(u);
|
|
334
347
|
});
|
|
335
348
|
}
|
|
336
349
|
}
|
|
337
|
-
});
|
|
338
|
-
export function parserFor(ast) {
|
|
339
|
-
return go(ast);
|
|
340
350
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
function getLiterals(ast) {
|
|
344
|
-
void 0;
|
|
345
|
-
switch (ast._tag) {
|
|
346
|
-
case 0 /* ASTTag.Declaration */:
|
|
347
|
-
return getLiterals(ast.type);
|
|
348
|
-
case 17 /* ASTTag.TypeLiteral */:
|
|
349
|
-
{
|
|
350
|
-
const out = [];
|
|
351
|
-
for (let i = 0; i < ast.propertySignatures.length; i++) {
|
|
352
|
-
const propertySignature = tsplus_module_3.unsafeGet(i)(ast.propertySignatures);
|
|
353
|
-
if (tsplus_module_9.isLiteral(propertySignature.type) && !propertySignature.isOptional) {
|
|
354
|
-
out.push([propertySignature.name, propertySignature.type]);
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
return out;
|
|
358
|
-
}
|
|
359
|
-
case 20 /* ASTTag.Refinement */:
|
|
360
|
-
return getLiterals(ast.from);
|
|
361
|
-
case 21 /* ASTTag.Transform */:
|
|
362
|
-
return ast.isReversed ? getLiterals(ast.to) : getLiterals(tsplus_module_9.getFrom(ast.from));
|
|
363
|
-
}
|
|
364
|
-
return [];
|
|
365
|
-
}
|
|
366
|
-
function getSearchTree(members) {
|
|
367
|
-
const keys = {};
|
|
368
|
-
const otherwise = [];
|
|
369
|
-
for (let i = 0; i < members.length; i++) {
|
|
370
|
-
const member = tsplus_module_3.unsafeGet(i)(members);
|
|
371
|
-
const tags = getLiterals(member);
|
|
372
|
-
if (tags.length > 0) {
|
|
373
|
-
for (let j = 0; j < tags.length; j++) {
|
|
374
|
-
const [key, literal] = tags[j];
|
|
375
|
-
const hash = String(literal.literal);
|
|
376
|
-
keys[key] || (keys[key] = {
|
|
377
|
-
buckets: {},
|
|
378
|
-
ast: tsplus_module_9.neverKeyword
|
|
379
|
-
});
|
|
380
|
-
const buckets = keys[key].buckets;
|
|
381
|
-
if (Object.prototype.hasOwnProperty.call(buckets, hash)) {
|
|
382
|
-
if (j < tags.length - 1) {
|
|
383
|
-
continue;
|
|
384
|
-
}
|
|
385
|
-
buckets[hash].push(member);
|
|
386
|
-
keys[key].ast = tsplus_module_9.createUnion(tsplus_module_3.vector(keys[key].ast, literal));
|
|
387
|
-
} else {
|
|
388
|
-
buckets[hash] = [member];
|
|
389
|
-
keys[key].ast = tsplus_module_9.createUnion(tsplus_module_3.vector(keys[key].ast, literal));
|
|
390
|
-
break;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
|
-
} else {
|
|
394
|
-
otherwise.push(member);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
return {
|
|
398
|
-
keys,
|
|
399
|
-
otherwise
|
|
400
|
-
};
|
|
351
|
+
export function parserFor(ast, isDecoding) {
|
|
352
|
+
return goMemo(ast, isDecoding);
|
|
401
353
|
}
|
|
402
354
|
//# sourceMappingURL=interpreter.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpreter.mjs","names":["isBigInt","isBoolean","isNumber","isObject","isRecord","isString","isSymbol","isUndefined","concrete","getKeysForIndexSignature","getTemplateLiteralRegex","memoize","ownKeys","go","ast","_tag","tsplus_module_1","make","decode","typeParameters","fromRefinement","u","literal","symbol","_","tsplus_module_2","succeed","tsplus_module_3","some","value","enums","regex","test","elements","map","e","type","rest","tsplus_module_4","input","options","Array","isArray","fail","tsplus_module_5","typeError","unknownArray","output","errors","emptyPushable","allErrors","i","length","unsafeGet","isOptional","indexError","vector","missingError","tsplus_module_6","push","failures","parser","t","tsplus_module_7","isLeft","left","right","tsplus_module_8","isJust","head","unsafeHead","tail","j","isUnexpectedAllowed","unexpectedError","isNonEmpty","propertySignatures","indexSignatures","propertySignatureTypes","f","is","parameter","unknownRecord","expectedKeys","ps","name","Object","prototype","hasOwnProperty","call","keyError","tsplus_module_9","createKey","keys","key","searchTree","getSearchTree","types","Reflect","len","otherwise","Map","forEach","set","buckets","String","bucket","get","isRight","unionMemberError","neverKeyword","getAST","a","from","isReversed","to","getTo","flatMap","encode","missedBrands","validation","validate","createValidation","annotations","parserFor","createTuple","empty","tsplus_module_10","just","unknownKeyword","fileName_1","createTypeLiteral","createIndexSignature","stringKeyword","symbolKeyword","getLiterals","out","propertySignature","isLiteral","getFrom","members","member","tags","hash","createUnion"],"sources":["../../_src/Parser/interpreter.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interpreter.mjs","names":["globalValue","isBigInt","isBoolean","isNumber","isObject","isRecord","isString","isSymbol","isUndefined","concrete","getSearchTree","RefinementError","TransformationError","getKeysForIndexSignature","getTemplateLiteralRegex","memoize","ownKeys","decodeMemoMap","Symbol","for","WeakMap","encodeMemoMap","goMemo","ast","isDecoding","memoMap","memo","get","parser","go","set","_tag","tsplus_module_1","make","decode","typeParameters","fromRefinement","u","literal","symbol","_","tsplus_module_2","succeed","tsplus_module_3","some","value","enums","regex","test","elements","map","e","type","rest","tsplus_module_4","input","options","Array","isArray","fail","tsplus_module_6","typeError","tsplus_module_5","unknownArray","output","errors","emptyPushable","allErrors","i","length","unsafeGet","isOptional","indexError","vector","missingError","tsplus_module_7","push","failures","t","tsplus_module_8","isLeft","left","right","tsplus_module_9","isJust","head","unsafeHead","tail","j","isUnexpectedAllowed","unexpectedError","isNonEmpty","propertySignatures","indexSignatures","propertySignatureTypes","f","is","parameter","unknownRecord","expectedKeys","ps","name","Object","prototype","hasOwnProperty","call","keyError","createKey","keys","key","searchTree","types","Reflect","len","otherwise","Map","forEach","buckets","String","bucket","isRight","unionMemberError","neverKeyword","getAST","a","from","flatMap","mapLeft","failure","tsplus_module_10","refinementError","to","getTo","transformation","encode","transformationError","missedBrands","validation","validate","createValidation","annotations","parserFor"],"sources":["../../_src/Parser/interpreter.ts"],"sourcesContent":[null],"mappings":"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"}
|