@fncts/schema 0.0.16 → 0.0.18

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 (173) hide show
  1. package/AST.d.ts +19 -6
  2. package/ASTAnnotation.d.ts +10 -2
  3. package/ParseError/ParseError.d.ts +231 -0
  4. package/ParseError/ParseErrorFormatter.d.ts +2 -0
  5. package/ParseError/PathFormatter.d.ts +13 -0
  6. package/ParseError/TreeFormatter.d.ts +14 -0
  7. package/ParseError.d.ts +4 -144
  8. package/ParseResult.d.ts +1 -8
  9. package/Parser/interpreter.d.ts +0 -1
  10. package/Schema/api/conc.d.ts +0 -2
  11. package/Schema/api/hashMap.d.ts +0 -1
  12. package/Schema/api/hashSet.d.ts +0 -1
  13. package/Schema/api/immutableArray.d.ts +0 -1
  14. package/Schema/api/list.d.ts +1 -2
  15. package/Schema/api/map.d.ts +19 -0
  16. package/Schema/api/set.d.ts +19 -0
  17. package/Schema/api.d.ts +11 -1
  18. package/Schema.d.ts +2 -0
  19. package/Show.d.ts +7 -3
  20. package/_cjs/AST.cjs +181 -114
  21. package/_cjs/AST.cjs.map +1 -1
  22. package/_cjs/ASTAnnotation.cjs +7 -2
  23. package/_cjs/ASTAnnotation.cjs.map +1 -1
  24. package/_cjs/ASTAnnotationMap.cjs +1 -1
  25. package/_cjs/ASTAnnotationMap.cjs.map +1 -1
  26. package/_cjs/Gen.cjs +25 -25
  27. package/_cjs/Gen.cjs.map +1 -1
  28. package/_cjs/Guard.cjs +1 -1
  29. package/_cjs/Guard.cjs.map +1 -1
  30. package/_cjs/InvalidInterpretationError.cjs.map +1 -1
  31. package/_cjs/ParseError/ParseError.cjs +260 -0
  32. package/_cjs/ParseError/ParseError.cjs.map +1 -0
  33. package/_cjs/ParseError/ParseErrorFormatter.cjs +6 -0
  34. package/_cjs/ParseError/ParseErrorFormatter.cjs.map +1 -0
  35. package/_cjs/ParseError/PathFormatter.cjs +94 -0
  36. package/_cjs/ParseError/PathFormatter.cjs.map +1 -0
  37. package/_cjs/ParseError/TreeFormatter.cjs +123 -0
  38. package/_cjs/ParseError/TreeFormatter.cjs.map +1 -0
  39. package/_cjs/ParseError.cjs +43 -289
  40. package/_cjs/ParseError.cjs.map +1 -1
  41. package/_cjs/ParseResult.cjs +2 -11
  42. package/_cjs/ParseResult.cjs.map +1 -1
  43. package/_cjs/Parser/api.cjs +3 -3
  44. package/_cjs/Parser/api.cjs.map +1 -1
  45. package/_cjs/Parser/definition.cjs +2 -2
  46. package/_cjs/Parser/definition.cjs.map +1 -1
  47. package/_cjs/Parser/interpreter.cjs +122 -118
  48. package/_cjs/Parser/interpreter.cjs.map +1 -1
  49. package/_cjs/Parser.cjs.map +1 -1
  50. package/_cjs/Schema/api/conc.cjs +36 -46
  51. package/_cjs/Schema/api/conc.cjs.map +1 -1
  52. package/_cjs/Schema/api/either.cjs +25 -31
  53. package/_cjs/Schema/api/either.cjs.map +1 -1
  54. package/_cjs/Schema/api/hashMap.cjs +42 -102
  55. package/_cjs/Schema/api/hashMap.cjs.map +1 -1
  56. package/_cjs/Schema/api/hashSet.cjs +47 -107
  57. package/_cjs/Schema/api/hashSet.cjs.map +1 -1
  58. package/_cjs/Schema/api/immutableArray.cjs +23 -49
  59. package/_cjs/Schema/api/immutableArray.cjs.map +1 -1
  60. package/_cjs/Schema/api/list.cjs +36 -53
  61. package/_cjs/Schema/api/list.cjs.map +1 -1
  62. package/_cjs/Schema/api/map.cjs +97 -0
  63. package/_cjs/Schema/api/map.cjs.map +1 -0
  64. package/_cjs/Schema/api/maybe.cjs +25 -36
  65. package/_cjs/Schema/api/maybe.cjs.map +1 -1
  66. package/_cjs/Schema/api/set.cjs +76 -0
  67. package/_cjs/Schema/api/set.cjs.map +1 -0
  68. package/_cjs/Schema/api.cjs +21 -3
  69. package/_cjs/Schema/api.cjs.map +1 -1
  70. package/_cjs/Schema/definition.cjs +1 -1
  71. package/_cjs/Schema/definition.cjs.map +1 -1
  72. package/_cjs/Schema/derivations.cjs +1 -1
  73. package/_cjs/Schema/derivations.cjs.map +1 -1
  74. package/_cjs/Schema.cjs +22 -0
  75. package/_cjs/Schema.cjs.map +1 -1
  76. package/_cjs/Show.cjs +107 -90
  77. package/_cjs/Show.cjs.map +1 -1
  78. package/_cjs/global.cjs.map +1 -1
  79. package/_cjs/index.cjs.map +1 -1
  80. package/_cjs/utils.cjs +6 -1
  81. package/_cjs/utils.cjs.map +1 -1
  82. package/_mjs/AST.mjs +177 -112
  83. package/_mjs/AST.mjs.map +1 -1
  84. package/_mjs/ASTAnnotation.mjs +5 -0
  85. package/_mjs/ASTAnnotation.mjs.map +1 -1
  86. package/_mjs/ASTAnnotationMap.mjs.map +1 -1
  87. package/_mjs/Gen.mjs +24 -24
  88. package/_mjs/Gen.mjs.map +1 -1
  89. package/_mjs/Guard.mjs.map +1 -1
  90. package/_mjs/InvalidInterpretationError.mjs.map +1 -1
  91. package/_mjs/ParseError/ParseError.mjs +228 -0
  92. package/_mjs/ParseError/ParseError.mjs.map +1 -0
  93. package/_mjs/ParseError/ParseErrorFormatter.mjs +2 -0
  94. package/_mjs/ParseError/ParseErrorFormatter.mjs.map +1 -0
  95. package/_mjs/ParseError/PathFormatter.mjs +86 -0
  96. package/_mjs/ParseError/PathFormatter.mjs.map +1 -0
  97. package/_mjs/ParseError/TreeFormatter.mjs +113 -0
  98. package/_mjs/ParseError/TreeFormatter.mjs.map +1 -0
  99. package/_mjs/ParseError.mjs +6 -270
  100. package/_mjs/ParseError.mjs.map +1 -1
  101. package/_mjs/ParseResult.mjs +1 -9
  102. package/_mjs/ParseResult.mjs.map +1 -1
  103. package/_mjs/Parser/api.mjs +2 -2
  104. package/_mjs/Parser/api.mjs.map +1 -1
  105. package/_mjs/Parser/definition.mjs +1 -1
  106. package/_mjs/Parser/definition.mjs.map +1 -1
  107. package/_mjs/Parser/interpreter.mjs +121 -117
  108. package/_mjs/Parser/interpreter.mjs.map +1 -1
  109. package/_mjs/Parser.mjs.map +1 -1
  110. package/_mjs/Schema/api/conc.mjs +35 -44
  111. package/_mjs/Schema/api/conc.mjs.map +1 -1
  112. package/_mjs/Schema/api/either.mjs +24 -30
  113. package/_mjs/Schema/api/either.mjs.map +1 -1
  114. package/_mjs/Schema/api/hashMap.mjs +41 -101
  115. package/_mjs/Schema/api/hashMap.mjs.map +1 -1
  116. package/_mjs/Schema/api/hashSet.mjs +46 -106
  117. package/_mjs/Schema/api/hashSet.mjs.map +1 -1
  118. package/_mjs/Schema/api/immutableArray.mjs +23 -49
  119. package/_mjs/Schema/api/immutableArray.mjs.map +1 -1
  120. package/_mjs/Schema/api/list.mjs +35 -52
  121. package/_mjs/Schema/api/list.mjs.map +1 -1
  122. package/_mjs/Schema/api/map.mjs +88 -0
  123. package/_mjs/Schema/api/map.mjs.map +1 -0
  124. package/_mjs/Schema/api/maybe.mjs +24 -35
  125. package/_mjs/Schema/api/maybe.mjs.map +1 -1
  126. package/_mjs/Schema/api/set.mjs +67 -0
  127. package/_mjs/Schema/api/set.mjs.map +1 -0
  128. package/_mjs/Schema/api.mjs +18 -2
  129. package/_mjs/Schema/api.mjs.map +1 -1
  130. package/_mjs/Schema/definition.mjs.map +1 -1
  131. package/_mjs/Schema/derivations.mjs.map +1 -1
  132. package/_mjs/Schema.mjs +2 -0
  133. package/_mjs/Schema.mjs.map +1 -1
  134. package/_mjs/Show.mjs +106 -90
  135. package/_mjs/Show.mjs.map +1 -1
  136. package/_mjs/global.mjs.map +1 -1
  137. package/_mjs/index.mjs.map +1 -1
  138. package/_mjs/utils.mjs +4 -0
  139. package/_mjs/utils.mjs.map +1 -1
  140. package/_src/AST.ts +139 -38
  141. package/_src/ASTAnnotation.ts +8 -1
  142. package/_src/Gen.ts +4 -1
  143. package/_src/ParseError/ParseError.ts +304 -0
  144. package/_src/ParseError/ParseErrorFormatter.ts +1 -0
  145. package/_src/ParseError/PathFormatter.ts +117 -0
  146. package/_src/ParseError/TreeFormatter.ts +127 -0
  147. package/_src/ParseError.ts +7 -331
  148. package/_src/ParseResult.ts +2 -9
  149. package/_src/Parser/api.ts +1 -1
  150. package/_src/Parser/interpreter.ts +98 -75
  151. package/_src/Schema/api/conc.ts +33 -42
  152. package/_src/Schema/api/either.ts +20 -30
  153. package/_src/Schema/api/hashMap.ts +40 -124
  154. package/_src/Schema/api/hashSet.ts +31 -117
  155. package/_src/Schema/api/immutableArray.ts +15 -45
  156. package/_src/Schema/api/list.ts +32 -55
  157. package/_src/Schema/api/map.ts +93 -0
  158. package/_src/Schema/api/maybe.ts +19 -34
  159. package/_src/Schema/api/set.ts +74 -0
  160. package/_src/Schema/api.ts +20 -2
  161. package/_src/Schema.ts +2 -0
  162. package/_src/Show.ts +156 -128
  163. package/_src/global.ts +0 -4
  164. package/_src/utils.ts +6 -0
  165. package/global.d.ts +0 -4
  166. package/package.json +3 -3
  167. package/utils.d.ts +1 -0
  168. package/ParseFailure.d.ts +0 -18
  169. package/_cjs/ParseFailure.cjs +0 -28
  170. package/_cjs/ParseFailure.cjs.map +0 -1
  171. package/_mjs/ParseFailure.mjs +0 -20
  172. package/_mjs/ParseFailure.mjs.map +0 -1
  173. package/_src/ParseFailure.ts +0 -18
@@ -1,22 +1,20 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector/api";
2
- import * as tsplus_module_2 from "@fncts/schema/ASTAnnotation";
3
- import * as tsplus_module_3 from "@fncts/schema/ASTAnnotationMap";
1
+ import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
2
+ import * as tsplus_module_2 from "@fncts/schema/Show";
3
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
4
4
  import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
5
  import * as tsplus_module_5 from "@fncts/base/collection/immutable/Conc/definition";
6
6
  import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
- import * as tsplus_module_7 from "@fncts/schema/ParseError";
7
+ import * as tsplus_module_7 from "@fncts/schema/ParseError/ParseError";
8
8
  import * as tsplus_module_8 from "@fncts/schema/ParseResult";
9
9
  import * as tsplus_module_9 from "@fncts/schema/Parser/api";
10
10
  import * as tsplus_module_10 from "@fncts/base/data/Either/api";
11
11
  import * as tsplus_module_11 from "@fncts/base/collection/immutable/Vector/internal";
12
- import * as tsplus_module_12 from "@fncts/schema/Parser/definition";
13
- import * as tsplus_module_13 from "@fncts/base/data/Hashable/definition";
14
- import * as tsplus_module_14 from "@fncts/base/data/Equatable/definition";
15
- import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
12
+ import * as tsplus_module_12 from "@fncts/base/collection/immutable/Conc/constructors";
13
+ import * as tsplus_module_13 from "@fncts/schema/Parser/definition";
14
+ import * as tsplus_module_14 from "@fncts/test/control/Gen/api";
16
15
  export const concFromArray = concFromArray_1;
17
- import { ConcTypeId } from "@fncts/base/collection/immutable/Conc";
18
16
  export function conc(value) {
19
- return tsplus_module_4.declaration(tsplus_module_1.vector(value), inline(value), concParser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "Conc").annotate(tsplus_module_2.GenHook, gen));
17
+ return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `Conc<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), concParser(true), concParser(false))));
20
18
  }
21
19
  /**
22
20
  * @tsplus static fncts.schema.SchemaOps concFromArray
@@ -30,43 +28,36 @@ function concFromArray_1(value) {
30
28
  export function deriveConc(...[value]) {
31
29
  return concFromArray_1(value);
32
30
  }
33
- export function concParser(value) {
34
- const schema = conc(value);
35
- return tsplus_module_12.make((u, options) => {
36
- if (!tsplus_module_5.isConc(u)) {
37
- return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
38
- }
39
- const allErrors = options?.allErrors;
40
- const errors = tsplus_module_1.emptyPushable();
41
- const out = [];
42
- let i = 0;
43
- for (const v of u) {
44
- const t = tsplus_module_9.decode(value)(v);
45
- void 0;
46
- if (tsplus_module_10.isLeft(t)) {
47
- tsplus_module_11.push(tsplus_module_7.indexError(i, t.left.errors))(errors);
48
- if (!allErrors) {
49
- return tsplus_module_8.failures(errors);
31
+ function concParser(isDecoding) {
32
+ return value => {
33
+ const schema = conc(value);
34
+ return tsplus_module_13.make((u, options) => {
35
+ if (!tsplus_module_5.isConc(u)) {
36
+ return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
37
+ }
38
+ const allErrors = options?.allErrors;
39
+ const errors = tsplus_module_3.emptyPushable();
40
+ const out = [];
41
+ let i = 0;
42
+ for (const v of u) {
43
+ const parser = isDecoding ? tsplus_module_9.decode(value) : tsplus_module_9.encode(value);
44
+ const t = parser(v, options);
45
+ void 0;
46
+ if (tsplus_module_10.isLeft(t)) {
47
+ tsplus_module_11.push(tsplus_module_7.indexError(i, t.left))(errors);
48
+ if (!allErrors) {
49
+ return tsplus_module_8.fail(tsplus_module_7.iterableError(schema.ast, u, errors));
50
+ }
51
+ } else {
52
+ out.push(t.right);
50
53
  }
51
- } else {
52
- out.push(t.right);
54
+ i++;
53
55
  }
54
- i++;
55
- }
56
- return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_8.failures(errors) : tsplus_module_8.succeed(tsplus_module_5.fromArray(out));
57
- });
58
- }
59
- function inline(_value) {
60
- return tsplus_module_4.struct({
61
- _A: tsplus_module_4.any,
62
- [ConcTypeId]: tsplus_module_4.uniqueSymbol(ConcTypeId),
63
- length: tsplus_module_4.number,
64
- [Symbol.iterator]: tsplus_module_4.any,
65
- [tsplus_module_13.hashSymbol]: tsplus_module_4.any,
66
- [tsplus_module_14.equalsSymbol]: tsplus_module_4.any
67
- });
56
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_8.fail(tsplus_module_7.iterableError(schema.ast, u, errors)) : tsplus_module_8.succeed(tsplus_module_12.from(out));
57
+ });
58
+ };
68
59
  }
69
60
  function gen(value) {
70
- return tsplus_module_15.conc(value);
61
+ return tsplus_module_14.conc(value);
71
62
  }
72
63
  //# sourceMappingURL=conc.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"conc.mjs","names":["concFromArray","concFromArray_1","ConcTypeId","conc","value","tsplus_module_4","declaration","tsplus_module_1","vector","inline","concParser","tsplus_module_3","ASTAnnotationMap","empty","annotate","tsplus_module_2","Identifier","GenHook","gen","transform","input","tsplus_module_5","fromArray","toArray","array","deriveConc","schema","tsplus_module_12","make","u","options","isConc","tsplus_module_8","fail","tsplus_module_7","typeError","ast","allErrors","errors","emptyPushable","out","i","v","t","tsplus_module_9","decode","tsplus_module_10","isLeft","tsplus_module_11","push","indexError","left","failures","right","isNonEmpty","succeed","_value","struct","_A","any","uniqueSymbol","length","number","Symbol","iterator","tsplus_module_13","hashSymbol","tsplus_module_14","equalsSymbol","tsplus_module_15"],"sources":["../../../_src/Schema/api/conc.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"conc.mjs","names":["concFromArray","concFromArray_1","conc","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","concParser","transform","input","tsplus_module_5","fromArray","toArray","array","deriveConc","isDecoding","schema","tsplus_module_13","make","u","options","isConc","tsplus_module_8","fail","tsplus_module_7","typeError","ast","allErrors","errors","emptyPushable","out","i","v","parser","tsplus_module_9","decode","encode","t","tsplus_module_10","isLeft","tsplus_module_11","push","indexError","left","iterableError","right","isNonEmpty","succeed","tsplus_module_12","from","tsplus_module_14"],"sources":["../../../_src/Schema/api/conc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,24 +1,22 @@
1
1
  const fileName_1 = "(@fncts/schema) src/Schema/api/either.ts";
2
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector/api";
3
- import * as tsplus_module_2 from "@fncts/schema/ASTAnnotation";
4
- import * as tsplus_module_3 from "@fncts/schema/ASTAnnotationMap";
2
+ import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
3
+ import * as tsplus_module_2 from "@fncts/schema/Show";
4
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
5
5
  import * as tsplus_module_4 from "@fncts/schema/Schema/api";
6
6
  import * as tsplus_module_5 from "@fncts/base/data/Either/constructors";
7
7
  import * as tsplus_module_6 from "@fncts/base/data/Either/api";
8
8
  import * as tsplus_module_7 from "@fncts/base/data/function/api";
9
- import * as tsplus_module_8 from "@fncts/schema/ParseError";
9
+ import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
10
10
  import * as tsplus_module_9 from "@fncts/schema/ParseResult";
11
11
  import * as tsplus_module_10 from "@fncts/schema/Parser/api";
12
12
  import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
13
13
  export const either = either_1;
14
14
  export const eitherFromJson = eitherFromJson_1;
15
- import { EitherTypeId, EitherVariance } from "@fncts/base/data/Either";
16
- import { IOTypeId } from "@fncts/io/IO";
17
15
  /**
18
16
  * @tsplus static fncts.schema.SchemaOps either
19
17
  */
20
18
  function either_1(left, right) {
21
- return tsplus_module_4.declaration(tsplus_module_1.vector(left, right), eitherInline(left, right), eitherParser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "Either"));
19
+ return tsplus_module_4.annotate(tsplus_module_1.Identifier, `Either<${tsplus_module_2.show()(left)}, ${tsplus_module_2.show()(right)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(left, right), eitherParser(true), eitherParser(false)));
22
20
  }
23
21
  function eitherJson(left, right) {
24
22
  return tsplus_module_4.union(tsplus_module_4.struct({
@@ -35,9 +33,9 @@ function eitherJson(left, right) {
35
33
  function eitherFromJson_1(left, right) {
36
34
  return tsplus_module_4.transform(either_1(left, right), input => {
37
35
  if (input._tag === "Left") {
38
- return tsplus_module_5.left(input.left, fileName_1 + ":39:27");
36
+ return tsplus_module_5.left(input.left, fileName_1 + ":34:27");
39
37
  } else {
40
- return tsplus_module_5.right(input.right, fileName_1 + ":41:28");
38
+ return tsplus_module_5.right(input.right, fileName_1 + ":36:28");
41
39
  }
42
40
  }, input => {
43
41
  void 0;
@@ -60,26 +58,22 @@ function eitherFromJson_1(left, right) {
60
58
  export function deriveEither(...[left, right]) {
61
59
  return eitherFromJson_1(left, right);
62
60
  }
63
- function eitherParser(left, right) {
64
- const schema = either_1(left, right);
65
- return tsplus_module_11.make((u, options) => {
66
- if (!tsplus_module_6.isEither(u)) {
67
- return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
68
- }
69
- void 0;
70
- if (tsplus_module_6.isLeft(u)) {
71
- return tsplus_module_6.map(tsplus_module_5.left)(tsplus_module_10.decode(left)(u.left, options));
72
- } else {
73
- return tsplus_module_6.map(tsplus_module_5.right)(tsplus_module_10.decode(right)(u.right, options));
74
- }
75
- });
76
- }
77
- function eitherInline(_left, _right) {
78
- return tsplus_module_4.struct({
79
- [EitherTypeId]: tsplus_module_4.uniqueSymbol(EitherTypeId),
80
- [EitherVariance]: tsplus_module_4.any,
81
- [IOTypeId]: tsplus_module_4.uniqueSymbol(IOTypeId),
82
- trace: tsplus_module_4._undefined
83
- });
61
+ function eitherParser(isDecoding) {
62
+ return (left, right) => {
63
+ const schema = either_1(left, right);
64
+ return tsplus_module_11.make((u, options) => {
65
+ if (!tsplus_module_6.isEither(u)) {
66
+ return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
67
+ }
68
+ void 0;
69
+ if (tsplus_module_6.isLeft(u)) {
70
+ const parse = isDecoding ? tsplus_module_10.decode(left) : tsplus_module_10.encode(left);
71
+ return tsplus_module_6.map(tsplus_module_5.left)(parse(u.left, options));
72
+ } else {
73
+ const parse = isDecoding ? tsplus_module_10.decode(right) : tsplus_module_10.encode(right);
74
+ return tsplus_module_6.map(tsplus_module_5.right)(parse(u.right, options));
75
+ }
76
+ });
77
+ };
84
78
  }
85
79
  //# sourceMappingURL=either.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"either.mjs","names":["either","either_1","eitherFromJson","eitherFromJson_1","EitherTypeId","EitherVariance","IOTypeId","left","right","tsplus_module_4","declaration","tsplus_module_1","vector","eitherInline","eitherParser","tsplus_module_3","ASTAnnotationMap","empty","annotate","tsplus_module_2","Identifier","eitherJson","union","struct","_tag","literal","transform","input","tsplus_module_5","fileName_1","tsplus_module_6","isLeft","deriveEither","schema","tsplus_module_11","make","u","options","isEither","tsplus_module_9","fail","tsplus_module_8","typeError","ast","map","tsplus_module_10","decode","_left","_right","uniqueSymbol","any","trace","_undefined"],"sources":["../../../_src/Schema/api/either.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"either.mjs","names":["either","either_1","eitherFromJson","eitherFromJson_1","left","right","tsplus_module_4","annotate","tsplus_module_1","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","eitherParser","eitherJson","union","struct","_tag","literal","transform","input","tsplus_module_5","fileName_1","tsplus_module_6","isLeft","deriveEither","isDecoding","schema","tsplus_module_11","make","u","options","isEither","tsplus_module_9","fail","tsplus_module_8","typeError","ast","parse","tsplus_module_10","decode","encode","map"],"sources":["../../../_src/Schema/api/either.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,28 +1,24 @@
1
- import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector/api";
2
- import * as tsplus_module_2 from "@fncts/schema/ASTAnnotation";
3
- import * as tsplus_module_3 from "@fncts/schema/ASTAnnotationMap";
1
+ import * as tsplus_module_1 from "@fncts/schema/ASTAnnotation";
2
+ import * as tsplus_module_2 from "@fncts/schema/Show";
3
+ import * as tsplus_module_3 from "@fncts/base/collection/immutable/Vector/api";
4
4
  import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
5
  import * as tsplus_module_5 from "@fncts/base/collection/immutable/HashMap/api";
6
6
  import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
7
  import * as tsplus_module_7 from "@fncts/base/collection/immutable/HashMap/definition";
8
- import * as tsplus_module_8 from "@fncts/schema/ParseError";
8
+ import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
9
9
  import * as tsplus_module_9 from "@fncts/schema/ParseResult";
10
10
  import * as tsplus_module_10 from "@fncts/schema/Parser/api";
11
11
  import * as tsplus_module_11 from "@fncts/base/data/Either/api";
12
12
  import * as tsplus_module_12 from "@fncts/base/collection/immutable/Vector/internal";
13
13
  import * as tsplus_module_13 from "@fncts/schema/Parser/definition";
14
- import * as tsplus_module_14 from "@fncts/schema/Schema/api/maybe";
15
- import * as tsplus_module_15 from "@fncts/base/data/Hashable/definition";
16
- import * as tsplus_module_16 from "@fncts/base/data/Equatable/definition";
17
- import * as tsplus_module_17 from "@fncts/test/control/Gen/api";
14
+ import * as tsplus_module_14 from "@fncts/test/control/Gen/api";
18
15
  export const hashMap = hashMap_1;
19
16
  export const hashMapFromRecord = hashMapFromRecord_1;
20
- import { HashMapTypeId, HashMapVariance } from "@fncts/base/collection/immutable/HashMap";
21
17
  /**
22
18
  * @tsplus static fncts.schema.SchemaOps hashMap
23
19
  */
24
20
  function hashMap_1(key, value) {
25
- return tsplus_module_4.declaration(tsplus_module_1.vector(key, value), inline(key, value), hashMapParser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "HashMap").annotate(tsplus_module_2.GenHook, gen));
21
+ return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `HashMap<${tsplus_module_2.show()(key)}, ${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(key, value), hashMapParser(true), hashMapParser(false))));
26
22
  }
27
23
  /**
28
24
  * @tsplus static fncts.schema.SchemaOps hashMapFromRecord
@@ -50,101 +46,45 @@ export function deriveHashMap(
50
46
  ...[key, value]) {
51
47
  return hashMapFromRecord_1(key, value);
52
48
  }
53
- function hashMapParser(key, value) {
54
- const schema = hashMap_1(key, value);
55
- return tsplus_module_13.make((u, options) => {
56
- if (!tsplus_module_7.isHashMap(u)) {
57
- return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
58
- }
59
- const allErrors = options?.allErrors;
60
- const errors = tsplus_module_1.emptyPushable();
61
- const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
62
- for (const [k, v] of u) {
63
- const tk = tsplus_module_10.decode(key)(k, options);
64
- void 0;
65
- if (tsplus_module_11.isLeft(tk)) {
66
- tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tk.left.errors))(errors);
67
- if (!allErrors) {
68
- return tsplus_module_9.failures(errors);
69
- }
49
+ function hashMapParser(isDecoding) {
50
+ return (key, value) => {
51
+ const schema = hashMap_1(key, value);
52
+ return tsplus_module_13.make((u, options) => {
53
+ if (!tsplus_module_7.isHashMap(u)) {
54
+ return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
70
55
  }
71
- const tv = tsplus_module_10.decode(value)(v, options);
72
- void 0;
73
- if (tsplus_module_11.isLeft(tv)) {
74
- tsplus_module_12.push(tsplus_module_8.typeError(value.ast, tv.left))(errors);
75
- if (!allErrors) {
76
- return tsplus_module_9.failures(errors);
56
+ const allErrors = options?.allErrors;
57
+ const errors = tsplus_module_3.emptyPushable();
58
+ const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
59
+ const keyParser = isDecoding ? tsplus_module_10.decode(key) : tsplus_module_10.encode(key);
60
+ const valueParser = isDecoding ? tsplus_module_10.decode(value) : tsplus_module_10.encode(value);
61
+ for (const [k, v] of u) {
62
+ const tk = keyParser(k, options);
63
+ void 0;
64
+ if (tsplus_module_11.isLeft(tk)) {
65
+ tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tk.left))(errors);
66
+ if (!allErrors) {
67
+ return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));
68
+ }
77
69
  }
70
+ const tv = valueParser(v, options);
71
+ void 0;
72
+ if (tsplus_module_11.isLeft(tv)) {
73
+ tsplus_module_12.push(tsplus_module_8.keyError(key.ast, k, tsplus_module_8.typeError(value.ast, tv.left)))(errors);
74
+ if (!allErrors) {
75
+ return tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors));
76
+ }
77
+ }
78
+ if (tsplus_module_11.isLeft(tk) || tsplus_module_11.isLeft(tv)) {
79
+ continue;
80
+ }
81
+ tsplus_module_5.set(tk.right, tv.right)(out);
78
82
  }
79
- if (tsplus_module_11.isLeft(tk) || tsplus_module_11.isLeft(tv)) {
80
- continue;
81
- }
82
- tsplus_module_5.set(tk.right, tv.right)(out);
83
- }
84
- return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_9.failures(errors) : tsplus_module_9.succeed(tsplus_module_5.endMutation(out));
85
- });
86
- }
87
- function emptyNodeSchema(_key, _value) {
88
- return tsplus_module_4.struct({
89
- _tag: tsplus_module_4.literal("EmptyNode"),
90
- modify: tsplus_module_4.any
91
- });
92
- }
93
- function leafNodeSchema(key, value) {
94
- return tsplus_module_4.struct({
95
- _tag: tsplus_module_4.literal("LeafNode"),
96
- edit: tsplus_module_4.number,
97
- hash: tsplus_module_4.number,
98
- key,
99
- value: tsplus_module_14.maybe(value),
100
- modify: tsplus_module_4.any
101
- });
102
- }
103
- function collisionNodeSchema(key, value) {
104
- return tsplus_module_4.lazy(() => tsplus_module_4.struct({
105
- _tag: tsplus_module_4.literal("CollisionNode"),
106
- edit: tsplus_module_4.number,
107
- hash: tsplus_module_4.number,
108
- children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
109
- modify: tsplus_module_4.any
110
- }));
111
- }
112
- function indexedNodeSchema(key, value) {
113
- return tsplus_module_4.lazy(() => tsplus_module_4.struct({
114
- _tag: tsplus_module_4.literal("IndexedNode"),
115
- edit: tsplus_module_4.number,
116
- mask: tsplus_module_4.number,
117
- children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
118
- modify: tsplus_module_4.any
119
- }));
120
- }
121
- function arrayNodeSchema(key, value) {
122
- return tsplus_module_4.lazy(() => tsplus_module_4.struct({
123
- _tag: tsplus_module_4.literal("ArrayNode"),
124
- edit: tsplus_module_4.number,
125
- size: tsplus_module_4.number,
126
- children: tsplus_module_4.mutableArray(nodeSchema(key, value)),
127
- modify: tsplus_module_4.any
128
- }));
129
- }
130
- function nodeSchema(key, value) {
131
- return tsplus_module_4.union(emptyNodeSchema(key, value), leafNodeSchema(key, value), collisionNodeSchema(key, value), indexedNodeSchema(key, value), arrayNodeSchema(key, value));
132
- }
133
- function inline(key, value) {
134
- return tsplus_module_4.struct({
135
- [HashMapTypeId]: tsplus_module_4.uniqueSymbol(HashMapTypeId),
136
- [HashMapVariance]: tsplus_module_4.any,
137
- editable: tsplus_module_4.boolean,
138
- edit: tsplus_module_4.number,
139
- config: tsplus_module_4.any,
140
- root: nodeSchema(key, value),
141
- size: tsplus_module_4.number,
142
- [Symbol.iterator]: tsplus_module_4.any,
143
- [tsplus_module_15.hashSymbol]: tsplus_module_4.any,
144
- [tsplus_module_16.equalsSymbol]: tsplus_module_4.any
145
- });
83
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_9.fail(tsplus_module_8.iterableError(schema.ast, u, errors)) : tsplus_module_9.succeed(tsplus_module_5.endMutation(out));
84
+ });
85
+ };
146
86
  }
147
87
  function gen(key, value) {
148
- return tsplus_module_17.map(pairs => tsplus_module_5.from(pairs))(tsplus_module_17.array(tsplus_module_17.tuple(key, value)));
88
+ return tsplus_module_14.map(pairs => tsplus_module_5.from(pairs))(tsplus_module_14.array(tsplus_module_14.tuple(key, value)));
149
89
  }
150
90
  //# sourceMappingURL=hashMap.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashMap.mjs","names":["hashMap","hashMap_1","hashMapFromRecord","hashMapFromRecord_1","HashMapTypeId","HashMapVariance","key","value","tsplus_module_4","declaration","tsplus_module_1","vector","inline","hashMapParser","tsplus_module_3","ASTAnnotationMap","empty","annotate","tsplus_module_2","Identifier","GenHook","gen","transform","input","out","tsplus_module_5","beginMutation","k","v","Object","entries","set","endMutation","forEachWithIndex","record","deriveHashMap","schema","tsplus_module_13","make","u","options","tsplus_module_7","isHashMap","tsplus_module_9","fail","tsplus_module_8","typeError","ast","allErrors","errors","emptyPushable","tk","tsplus_module_10","decode","tsplus_module_11","isLeft","tsplus_module_12","push","keyError","left","failures","tv","right","isNonEmpty","succeed","emptyNodeSchema","_key","_value","struct","_tag","literal","modify","any","leafNodeSchema","edit","number","hash","tsplus_module_14","maybe","collisionNodeSchema","lazy","children","mutableArray","nodeSchema","indexedNodeSchema","mask","arrayNodeSchema","size","union","uniqueSymbol","editable","boolean","config","root","Symbol","iterator","tsplus_module_15","hashSymbol","tsplus_module_16","equalsSymbol","tsplus_module_17","map","pairs","from","array","tuple"],"sources":["../../../_src/Schema/api/hashMap.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"hashMap.mjs","names":["hashMap","hashMap_1","hashMapFromRecord","hashMapFromRecord_1","key","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","hashMapParser","transform","input","out","tsplus_module_5","beginMutation","empty","k","v","Object","entries","set","endMutation","forEachWithIndex","record","deriveHashMap","isDecoding","schema","tsplus_module_13","make","u","options","tsplus_module_7","isHashMap","tsplus_module_9","fail","tsplus_module_8","typeError","ast","allErrors","errors","emptyPushable","keyParser","tsplus_module_10","decode","encode","valueParser","tk","tsplus_module_11","isLeft","tsplus_module_12","push","keyError","left","iterableError","tv","right","isNonEmpty","succeed","tsplus_module_14","map","pairs","from","array","tuple"],"sources":["../../../_src/Schema/api/hashMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}