@fncts/schema 0.0.13 → 0.0.15

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 (76) hide show
  1. package/AST.d.ts +29 -12
  2. package/Guard.d.ts +9 -0
  3. package/ParseError.d.ts +40 -3
  4. package/ParseFailure.d.ts +18 -0
  5. package/ParseResult.d.ts +2 -1
  6. package/Parser/api.d.ts +0 -6
  7. package/Parser/interpreter.d.ts +1 -2
  8. package/Show.d.ts +1 -1
  9. package/_cjs/AST.cjs +115 -65
  10. package/_cjs/AST.cjs.map +1 -1
  11. package/_cjs/Guard.cjs +278 -0
  12. package/_cjs/Guard.cjs.map +1 -0
  13. package/_cjs/ParseError.cjs +77 -3
  14. package/_cjs/ParseError.cjs.map +1 -1
  15. package/_cjs/ParseFailure.cjs +28 -0
  16. package/_cjs/ParseFailure.cjs.map +1 -0
  17. package/_cjs/ParseResult.cjs +4 -3
  18. package/_cjs/ParseResult.cjs.map +1 -1
  19. package/_cjs/Parser/api.cjs +11 -23
  20. package/_cjs/Parser/api.cjs.map +1 -1
  21. package/_cjs/Parser/interpreter.cjs +93 -141
  22. package/_cjs/Parser/interpreter.cjs.map +1 -1
  23. package/_cjs/Schema/api/conc.cjs +1 -1
  24. package/_cjs/Schema/api/conc.cjs.map +1 -1
  25. package/_cjs/Schema/api/hashMap.cjs +1 -1
  26. package/_cjs/Schema/api/hashMap.cjs.map +1 -1
  27. package/_cjs/Schema/api/immutableArray.cjs +1 -1
  28. package/_cjs/Schema/api/immutableArray.cjs.map +1 -1
  29. package/_cjs/Schema/api/list.cjs +1 -1
  30. package/_cjs/Schema/api/list.cjs.map +1 -1
  31. package/_cjs/Schema/api.cjs +27 -28
  32. package/_cjs/Schema/api.cjs.map +1 -1
  33. package/_cjs/Show.cjs +23 -12
  34. package/_cjs/Show.cjs.map +1 -1
  35. package/_mjs/AST.mjs +107 -61
  36. package/_mjs/AST.mjs.map +1 -1
  37. package/_mjs/Guard.mjs +269 -0
  38. package/_mjs/Guard.mjs.map +1 -0
  39. package/_mjs/ParseError.mjs +72 -2
  40. package/_mjs/ParseError.mjs.map +1 -1
  41. package/_mjs/ParseFailure.mjs +20 -0
  42. package/_mjs/ParseFailure.mjs.map +1 -0
  43. package/_mjs/ParseResult.mjs +4 -3
  44. package/_mjs/ParseResult.mjs.map +1 -1
  45. package/_mjs/Parser/api.mjs +10 -21
  46. package/_mjs/Parser/api.mjs.map +1 -1
  47. package/_mjs/Parser/interpreter.mjs +94 -142
  48. package/_mjs/Parser/interpreter.mjs.map +1 -1
  49. package/_mjs/Schema/api/conc.mjs +1 -1
  50. package/_mjs/Schema/api/conc.mjs.map +1 -1
  51. package/_mjs/Schema/api/hashMap.mjs +1 -1
  52. package/_mjs/Schema/api/hashMap.mjs.map +1 -1
  53. package/_mjs/Schema/api/immutableArray.mjs +1 -1
  54. package/_mjs/Schema/api/immutableArray.mjs.map +1 -1
  55. package/_mjs/Schema/api/list.mjs +1 -1
  56. package/_mjs/Schema/api/list.mjs.map +1 -1
  57. package/_mjs/Schema/api.mjs +27 -28
  58. package/_mjs/Schema/api.mjs.map +1 -1
  59. package/_mjs/Show.mjs +23 -12
  60. package/_mjs/Show.mjs.map +1 -1
  61. package/_src/AST.ts +96 -47
  62. package/_src/Guard.ts +268 -0
  63. package/_src/ParseError.ts +88 -4
  64. package/_src/ParseFailure.ts +18 -0
  65. package/_src/ParseResult.ts +3 -3
  66. package/_src/Parser/api.ts +8 -21
  67. package/_src/Parser/interpreter.ts +94 -128
  68. package/_src/Schema/api/conc.ts +1 -1
  69. package/_src/Schema/api/hashMap.ts +1 -1
  70. package/_src/Schema/api/immutableArray.ts +1 -1
  71. package/_src/Schema/api/list.ts +1 -1
  72. package/_src/Schema/api.ts +3 -10
  73. package/_src/Show.ts +28 -15
  74. package/_src/global.ts +4 -0
  75. package/global.d.ts +4 -0
  76. package/package.json +3 -3
@@ -1,6 +1,7 @@
1
1
  const fileName_1 = "(@fncts/schema) src/ParseResult.ts";
2
2
  import * as tsplus_module_1 from "@fncts/base/data/Either/constructors";
3
- import * as tsplus_module_2 from "@fncts/base/collection/immutable/Vector/api";
3
+ import * as tsplus_module_2 from "@fncts/schema/ParseFailure";
4
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
4
5
  /**
5
6
  * @tsplus static fncts.schema.ParseResultOps succeed
6
7
  */
@@ -11,12 +12,12 @@ export function succeed(value) {
11
12
  * @tsplus static fncts.schema.ParseResultOps failures
12
13
  */
13
14
  export function failures(value) {
14
- return tsplus_module_1.left(value, fileName_1 + ":18:21");
15
+ return tsplus_module_1.left(tsplus_module_2.make(value), fileName_1 + ":18:21");
15
16
  }
16
17
  /**
17
18
  * @tsplus static fncts.schema.ParseResultOps fail
18
19
  */
19
20
  export function fail(value) {
20
- return tsplus_module_1.left(tsplus_module_2.vector(value), fileName_1 + ":25:21");
21
+ return tsplus_module_1.left(tsplus_module_2.make(tsplus_module_3.vector(value)), fileName_1 + ":25:21");
21
22
  }
22
23
  //# sourceMappingURL=ParseResult.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParseResult.mjs","names":["succeed","value","tsplus_module_1","right","fileName_1","failures","left","fail","tsplus_module_2","vector"],"sources":["../_src/ParseResult.ts"],"sourcesContent":[null],"mappings":";;;AAMA;;;AAGA,OAAM,SAAUA,OAAOA,CAAIC,KAAQ;EACjC,OAAOC,eAAA,CAAAC,KAAA,CAAaF,KAAK,EAAAG,UAAA,YAAC;AAC5B;AAEA;;;AAGA,OAAM,SAAUC,QAAQA,CAAYJ,KAAyB;EAC3D,OAAOC,eAAA,CAAAI,IAAA,CAAYL,KAAK,EAAAG,UAAA,YAAC;AAC3B;AAEA;;;AAGA,OAAM,SAAUG,IAAIA,CAAYN,KAAiB;EAC/C,OAAOC,eAAA,CAAAI,IAAA,CAAYE,eAAA,CAAAC,MAAA,CAAOR,KAAK,CAAC,EAAAG,UAAA,YAAC;AACnC"}
1
+ {"version":3,"file":"ParseResult.mjs","names":["succeed","value","tsplus_module_1","right","fileName_1","failures","left","tsplus_module_2","make","fail","tsplus_module_3","vector"],"sources":["../_src/ParseResult.ts"],"sourcesContent":[null],"mappings":";;;;AAMA;;;AAGA,OAAM,SAAUA,OAAOA,CAAIC,KAAQ;EACjC,OAAOC,eAAA,CAAAC,KAAA,CAAaF,KAAK,EAAAG,UAAA,YAAC;AAC5B;AAEA;;;AAGA,OAAM,SAAUC,QAAQA,CAAYJ,KAAyB;EAC3D,OAAOC,eAAA,CAAAI,IAAA,CAAYC,eAAA,CAAAC,IAAA,CAAaP,KAAK,CAAC,EAAAG,UAAA,YAAC;AACzC;AAEA;;;AAGA,OAAM,SAAUK,IAAIA,CAAYR,KAAiB;EAC/C,OAAOC,eAAA,CAAAI,IAAA,CAAYC,eAAA,CAAAC,IAAA,CAAaE,eAAA,CAAAC,MAAA,CAAOV,KAAK,CAAC,CAAC,EAAAG,UAAA,YAAC;AACjD"}
@@ -3,13 +3,14 @@ import * as tsplus_module_2 from "@fncts/base/data/Either/api";
3
3
  import * as tsplus_module_3 from "@fncts/schema/ParseError";
4
4
  import * as tsplus_module_4 from "@fncts/base/data/function/api";
5
5
  import * as tsplus_module_5 from "@fncts/base/data/Either/destructors";
6
+ export const encode = encode_1;
6
7
  import { parserFor } from "./interpreter.mjs";
7
8
  /**
8
9
  * @tsplus getter fncts.schema.Schema decode
9
10
  * @tsplus getter fncts.schema.Parser decode
10
11
  */
11
12
  export function decode(schema) {
12
- return parserFor(schema.ast);
13
+ return parserFor(schema.ast, true);
13
14
  }
14
15
  /**
15
16
  * @tsplus getter fncts.schema.Schema decodeMaybe
@@ -22,40 +23,28 @@ export function decodeMaybe(schema) {
22
23
  * @tsplus getter fncts.schema.Schema encode
23
24
  * @tsplus getter fncts.schema.Parser encode
24
25
  */
25
- export function encode(schema) {
26
- return parserFor(tsplus_module_1.reverse(schema.ast));
26
+ function encode_1(schema) {
27
+ return parserFor(schema.ast, false);
27
28
  }
28
29
  /**
29
30
  * @tsplus getter fncts.schema.Schema encodeMaybe
30
31
  * @tsplus getter fncts.schema.Parser encodeMaybe
31
32
  */
32
33
  export function encodeMaybe(schema) {
33
- return parseMaybe(tsplus_module_1.reverse(schema.ast));
34
- }
35
- /**
36
- * @tsplus getter fncts.schema.Schema is
37
- * @tsplus getter fncts.schema.Parser is
38
- */
39
- export function is(schema) {
40
- return (input, options) => {
41
- return tsplus_module_2.isRight(parserFor(schema.ast)(input, options));
42
- };
34
+ return (input, options) => tsplus_module_2.toMaybe(encode_1(schema)(input, options));
43
35
  }
44
36
  function parseMaybe(ast) {
45
- const parse = parserFor(ast);
37
+ const parse = parserFor(ast, true);
46
38
  return (input, options) => {
47
39
  return tsplus_module_2.toMaybe(parse(input, options));
48
40
  };
49
41
  }
50
42
  function parseOrThrow(ast) {
51
- const parser = parserFor(ast);
43
+ const parser = parserFor(ast, true);
52
44
  return (input, options) => {
53
- return tsplus_module_5.match({
54
- Left: errors => {
55
- throw new Error(tsplus_module_3.format(errors));
56
- },
57
- Right: tsplus_module_4.identity
58
- })(parser(input, options));
45
+ return tsplus_module_5.match(failure => {
46
+ throw new Error(tsplus_module_3.format(failure.errors));
47
+ }, tsplus_module_4.identity)(parser(input, options));
59
48
  };
60
49
  }
61
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":["parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","Left","errors","Error","tsplus_module_3","format","Right","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;AAEA,SAASA,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC;AAC9B;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,MAAMA,CAAIN,MAAiB;EACzC,OAAOF,SAAS,CAAAM,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACtC;AAEA;;;;AAIA,OAAM,SAAUO,WAAWA,CAAIR,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACvC;AAEA;;;;AAIA,OAAM,SAAUQ,EAAEA,CAAIT,MAAiB;EACrC,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,eAAA,CAAAC,OAAA,CAAAf,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC,CAACS,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASR,UAAUA,CAACF,GAAQ;EAC1B,MAAMa,KAAK,GAAGhB,SAAS,CAACG,GAAG,CAAC;EAC5B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAG,OAAA,CAAOD,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASK,YAAYA,CAACf,GAAQ;EAC5B,MAAMgB,MAAM,GAAGnB,SAAS,CAACG,GAAG,CAAC;EAC7B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOO,eAAA,CAAAC,KAAA,CAA6B;MAClCC,IAAI,EAAGC,MAAM,IAAI;QACf,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,MAAM,CAAC,CAAC;MAC5C,CAAC;MACDI,KAAK,EAAAC,eAAA,CAAAC;KACN,EALMV,MAAM,CAACP,KAAK,EAAEC,OAAO,CAAC,CAK3B;EACJ,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUiB,OAAOA,CAAI5B,MAAiB;EAC1C,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAwB;IACpEK,YAAY,CAAAZ,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACS,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
1
+ {"version":3,"file":"api.mjs","names":["encode","encode_1","parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encodeMaybe","input","options","tsplus_module_2","toMaybe","parse","parseOrThrow","parser","tsplus_module_5","match","failure","Error","tsplus_module_3","format","errors","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;aAwBgBA,MAAM,GAAAC,QAAA;AAtBtB,SAASC,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,EAAE,IAAI,CAAC;AACpC;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,SAAAJ,SAA0BG,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,EAAE,KAAK,CAAC;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,WAAWA,CAAIN,MAAiB;EAC9C,OAAO,CAACO,KAAK,EAAEC,OAAO,KAAIC,eAAA,CAAAC,OAAA,CAACb,QAAA,CAAOG,MAAM,CAAC,CAACO,KAAK,EAAEC,OAAO,CAAC,CAAQ;AACnE;AAEA,SAASL,UAAUA,CAACF,GAAQ;EAC1B,MAAMU,KAAK,GAAGb,SAAS,CAACG,GAAG,EAAE,IAAI,CAAC;EAClC,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAC,OAAA,CAAOC,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASI,YAAYA,CAACX,GAAQ;EAC5B,MAAMY,MAAM,GAAGf,SAAS,CAACG,GAAG,EAAE,IAAI,CAAC;EACnC,OAAO,CAACM,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOM,eAAA,CAAAC,KAAA,CAA8BC,OAAO,IAAI;MAC9C,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,OAAO,CAACI,MAAM,CAAC,CAAC;IACpD,CAAC,EAAAC,eAAA,CAAAC,QAAA,EAFMT,MAAM,CAACN,KAAK,EAAEC,OAAO,CAAC,CAER;EACvB,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUe,OAAOA,CAAIvB,MAAiB;EAC1C,OAAO,CAACO,KAAc,EAAEC,OAAsB,KAAwB;IACpEI,YAAY,CAAAR,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACM,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
@@ -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/ParseError";
7
- import * as tsplus_module_6 from "@fncts/base/collection/immutable/Vector/internal";
8
- import * as tsplus_module_7 from "@fncts/base/data/Either/api";
9
- import * as tsplus_module_8 from "@fncts/base/data/Maybe/definition";
10
- import * as tsplus_module_9 from "@fncts/schema/AST";
11
- import * as tsplus_module_10 from "@fncts/base/data/Maybe/constructors";
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 go = /*#__PURE__*/memoize(function go(ast) {
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 => go(e.type))(ast.elements);
54
- const rest = tsplus_module_4.map(rest => tsplus_module_3.map(go)(rest))(ast.rest);
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(tsplus_module_5.typeError(unknownArray, input));
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 + i) {
77
+ if (input.length < i + 1) {
65
78
  if (!tsplus_module_3.unsafeGet(i)(ast.elements).isOptional) {
66
- const e = tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.missingError));
67
- tsplus_module_6.push(e)(errors);
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
- } else {
74
- const parser = tsplus_module_3.unsafeGet(i)(elements);
75
- const t = parser(input[i], options);
76
- void 0;
77
- if (tsplus_module_7.isLeft(t)) {
78
- const e = tsplus_module_5.indexError(i, t.left);
79
- tsplus_module_6.push(e)(errors);
80
- if (allErrors) {
81
- continue;
82
- } else {
83
- return tsplus_module_2.failures(errors);
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 (tsplus_module_8.isJust(rest)) {
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 (tsplus_module_7.isLeft(t)) {
97
- const e = tsplus_module_5.indexError(i, t.left);
98
- tsplus_module_6.push(e)(errors);
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
- tsplus_module_6.push(tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.missingError)))(errors);
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 (tsplus_module_7.isLeft(t)) {
116
- const e = tsplus_module_5.indexError(i, t.left);
117
- tsplus_module_6.push(e)(errors);
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 = tsplus_module_5.indexError(i, tsplus_module_3.vector(tsplus_module_5.unexpectedError(input[i])));
143
+ const e = tsplus_module_6.indexError(i, tsplus_module_3.vector(tsplus_module_6.unexpectedError(input[i])));
131
144
  if (!isUnexpectedAllowed) {
132
- tsplus_module_6.push(e)(errors);
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 => go(f.type))(ast.propertySignatures);
150
- const indexSignatures = tsplus_module_3.map(is => [go(is.parameter), go(is.type)])(ast.indexSignatures);
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(tsplus_module_5.typeError(unknownRecord, input));
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 = tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.missingError));
167
- tsplus_module_6.push(e)(errors);
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 (tsplus_module_7.isLeft(t)) {
178
- const e = tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, t.left);
179
- tsplus_module_6.push(e)(errors);
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 (tsplus_module_7.isLeft(t)) {
200
- const e = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, t.left);
201
- tsplus_module_6.push(e)(errors);
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 (tsplus_module_7.isLeft(t)) {
211
- const e = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, t.left);
212
- tsplus_module_6.push(e)(errors);
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 = tsplus_module_5.keyError(tsplus_module_9.createKey(key), key, tsplus_module_3.vector(tsplus_module_5.unexpectedError(input[key])));
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
- tsplus_module_6.push(e)(errors);
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, go(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 (tsplus_module_7.isRight(t)) {
278
+ if (tsplus_module_8.isRight(t)) {
266
279
  return t;
267
280
  } else {
268
- tsplus_module_6.push(tsplus_module_5.unionMemberError(t.left))(errors);
281
+ tsplus_module_7.push(tsplus_module_6.unionMemberError(t.left.errors))(errors);
269
282
  }
270
283
  }
271
284
  } else {
272
- tsplus_module_6.push(tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.typeError(searchTree.keys[name].ast, input[name]))))(errors);
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
- tsplus_module_6.push(tsplus_module_5.keyError(tsplus_module_9.createKey(name), name, tsplus_module_3.vector(tsplus_module_5.missingError)))(errors);
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
- tsplus_module_6.push(tsplus_module_5.typeError(unknownRecord, input))(errors);
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 (tsplus_module_7.isRight(t)) {
298
+ if (tsplus_module_8.isRight(t)) {
286
299
  return t;
287
300
  } else {
288
- tsplus_module_6.push(tsplus_module_5.unionMemberError(t.left))(errors);
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(tsplus_module_5.typeError(tsplus_module_9.neverKeyword, input));
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 = () => go(ast.getAST());
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
- const from = go(ast.from);
303
- if (ast.isReversed) {
304
- const to = go(tsplus_module_9.getTo(ast.from));
305
- return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => from(a, options))(tsplus_module_7.flatMap(a => ast.decode(a, options))(to(input, options))));
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 from = go(ast.from);
312
- if (ast.isReversed) {
313
- const to = go(ast.to);
314
- return tsplus_module_1.make((input, options) => tsplus_module_7.flatMap(a => from(a, options))(tsplus_module_7.flatMap(a => ast.encode(a, options))(to(input, options))));
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
- tsplus_module_6.push(validation)(missedBrands);
338
+ tsplus_module_7.push(validation)(missedBrands);
326
339
  if (allErrors) {
327
340
  continue;
328
341
  } else {
329
- return tsplus_module_2.fail(tsplus_module_5.typeError(tsplus_module_9.createValidation(ast.from, missedBrands, ast.annotations), u));
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(tsplus_module_5.typeError(tsplus_module_9.createValidation(ast.from, missedBrands, ast.annotations), u)) : tsplus_module_2.succeed(u);
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
- const unknownArray = /*#__PURE__*/tsplus_module_9.createTuple( /*#__PURE__*/tsplus_module_3.empty(), /*#__PURE__*/tsplus_module_10.just( /*#__PURE__*/tsplus_module_3.vector(tsplus_module_9.unknownKeyword), fileName_1 + ":367:58"), true);
342
- const unknownRecord = /*#__PURE__*/tsplus_module_9.createTypeLiteral( /*#__PURE__*/tsplus_module_3.empty(), /*#__PURE__*/tsplus_module_3.vector( /*#__PURE__*/tsplus_module_9.createIndexSignature(tsplus_module_9.stringKeyword, tsplus_module_9.unknownKeyword, true), /*#__PURE__*/tsplus_module_9.createIndexSignature(tsplus_module_9.symbolKeyword, tsplus_module_9.unknownKeyword, true)));
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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"}
@@ -44,7 +44,7 @@ export function concParser(value) {
44
44
  const t = tsplus_module_9.decode(value)(v);
45
45
  void 0;
46
46
  if (tsplus_module_10.isLeft(t)) {
47
- tsplus_module_11.push(tsplus_module_7.indexError(i, t.left))(errors);
47
+ tsplus_module_11.push(tsplus_module_7.indexError(i, t.left.errors))(errors);
48
48
  if (!allErrors) {
49
49
  return tsplus_module_8.failures(errors);
50
50
  }