@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,41 +1,38 @@
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/Schema/api";
4
- import * as tsplus_module_4 from "@fncts/base/collection/immutable/HashSet/api";
5
- import * as tsplus_module_5 from "@fncts/base/data/function/api";
6
- import * as tsplus_module_6 from "@fncts/base/collection/immutable/HashSet/definition";
7
- import * as tsplus_module_7 from "@fncts/schema/ParseError";
8
- import * as tsplus_module_8 from "@fncts/schema/ParseResult";
9
- import * as tsplus_module_9 from "@fncts/schema/Parser/api";
10
- import * as tsplus_module_10 from "@fncts/base/data/Either/api";
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";
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
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/HashSet/api";
6
+ import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
+ import * as tsplus_module_7 from "@fncts/schema/Parser/api";
8
+ import * as tsplus_module_8 from "@fncts/base/collection/immutable/HashSet/definition";
9
+ import * as tsplus_module_9 from "@fncts/schema/ParseError/ParseError";
10
+ import * as tsplus_module_10 from "@fncts/schema/ParseResult";
11
+ import * as tsplus_module_11 from "@fncts/base/data/Either/api";
12
+ import * as tsplus_module_12 from "@fncts/base/collection/immutable/Vector/internal";
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 hashSetFromArray = hashSetFromArray_1;
17
- import { HashSetTypeId, HashSetVariance } from "@fncts/base/collection/immutable/HashSet/definition";
18
- import { ASTAnnotationMap } from "@fncts/schema/ASTAnnotationMap";
19
16
  export function hashSet(value) {
20
- return tsplus_module_3.declaration(tsplus_module_1.vector(value), inline(value), hashSetParser, ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "HashMap").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, `HashSet<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), hashSetParser(true), hashSetParser(false))));
21
18
  }
22
19
  /**
23
20
  * @tsplus static fncts.schema.SchemaOps hashSetFromArray
24
21
  */
25
22
  function hashSetFromArray_1(value) {
26
- return tsplus_module_3.transform(hashSet(value), input => {
27
- const out = tsplus_module_4.beginMutation(tsplus_module_4.empty());
23
+ return tsplus_module_4.transform(hashSet(value), input => {
24
+ const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
28
25
  for (const v of input) {
29
- tsplus_module_4.add(v)(out);
26
+ tsplus_module_5.add(v)(out);
30
27
  }
31
- return tsplus_module_4.endMutation(out);
28
+ return tsplus_module_5.endMutation(out);
32
29
  }, input => {
33
30
  const out = [];
34
- tsplus_module_4.forEach(v => {
31
+ tsplus_module_5.forEach(v => {
35
32
  out.push(v);
36
33
  })(input);
37
34
  return out;
38
- })(tsplus_module_3.array(value));
35
+ })(tsplus_module_4.array(value));
39
36
  }
40
37
  /**
41
38
  * @tsplus derive fncts.schema.Schema[fncts.HashSet]<_> 10
@@ -43,91 +40,34 @@ function hashSetFromArray_1(value) {
43
40
  export function deriveHashSet(...[value]) {
44
41
  return hashSetFromArray_1(value);
45
42
  }
46
- function hashSetParser(value) {
47
- const schema = hashSet(value);
48
- return tsplus_module_12.make((u, options) => {
49
- if (!tsplus_module_6.isHashSet(u)) {
50
- return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
51
- }
52
- const allErrors = options?.allErrors;
53
- const errors = tsplus_module_1.emptyPushable();
54
- const out = tsplus_module_4.beginMutation(tsplus_module_4.empty());
55
- for (const v of u) {
56
- const tv = tsplus_module_9.decode(value)(v, options);
57
- void 0;
58
- if (tsplus_module_10.isLeft(tv)) {
59
- tsplus_module_11.push(tsplus_module_7.typeError(value.ast, tv.left))(errors);
60
- if (!allErrors) {
61
- return tsplus_module_8.failures(errors);
43
+ function hashSetParser(isDecoding) {
44
+ return value => {
45
+ const schema = hashSet(value);
46
+ const parseValue = isDecoding ? tsplus_module_7.decode(value) : tsplus_module_7.encode(value);
47
+ return tsplus_module_13.make((u, options) => {
48
+ if (!tsplus_module_8.isHashSet(u)) {
49
+ return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));
50
+ }
51
+ const allErrors = options?.allErrors;
52
+ const errors = tsplus_module_3.emptyPushable();
53
+ const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
54
+ for (const v of u) {
55
+ const tv = parseValue(v, options);
56
+ void 0;
57
+ if (tsplus_module_11.isLeft(tv)) {
58
+ tsplus_module_12.push(tsplus_module_9.keyError(value.ast, value, tv.left))(errors);
59
+ if (!allErrors) {
60
+ return tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors));
61
+ }
62
+ continue;
62
63
  }
63
- continue;
64
+ tsplus_module_5.add(tv.right)(out);
64
65
  }
65
- tsplus_module_4.add(tv.right)(out);
66
- }
67
- return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_8.failures(errors) : tsplus_module_8.succeed(tsplus_module_4.endMutation(out));
68
- });
69
- }
70
- function emptyNodeSchema(_value) {
71
- return tsplus_module_3.struct({
72
- _tag: tsplus_module_3.literal("EmptyNode"),
73
- modify: tsplus_module_3.any
74
- });
75
- }
76
- function leafNodeSchema(value) {
77
- return tsplus_module_3.struct({
78
- _tag: tsplus_module_3.literal("LeafNode"),
79
- edit: tsplus_module_3.number,
80
- hash: tsplus_module_3.number,
81
- value: value,
82
- modify: tsplus_module_3.any
83
- });
84
- }
85
- function collisionNodeSchema(value) {
86
- return tsplus_module_3.lazy(() => tsplus_module_3.struct({
87
- _tag: tsplus_module_3.literal("CollisionNode"),
88
- edit: tsplus_module_3.number,
89
- hash: tsplus_module_3.number,
90
- children: tsplus_module_3.mutableArray(nodeSchema(value)),
91
- modify: tsplus_module_3.any
92
- }));
93
- }
94
- function indexedNodeSchema(value) {
95
- return tsplus_module_3.lazy(() => tsplus_module_3.struct({
96
- _tag: tsplus_module_3.literal("IndexedNode"),
97
- edit: tsplus_module_3.number,
98
- mask: tsplus_module_3.number,
99
- children: tsplus_module_3.mutableArray(nodeSchema(value)),
100
- modify: tsplus_module_3.any
101
- }));
102
- }
103
- function arrayNodeSchema(value) {
104
- return tsplus_module_3.lazy(() => tsplus_module_3.struct({
105
- _tag: tsplus_module_3.literal("ArrayNode"),
106
- edit: tsplus_module_3.number,
107
- size: tsplus_module_3.number,
108
- children: tsplus_module_3.mutableArray(nodeSchema(value)),
109
- modify: tsplus_module_3.any
110
- }));
111
- }
112
- function nodeSchema(value) {
113
- return tsplus_module_3.union(emptyNodeSchema(value), leafNodeSchema(value), collisionNodeSchema(value), indexedNodeSchema(value), arrayNodeSchema(value));
114
- }
115
- function inline(value) {
116
- return tsplus_module_3.struct({
117
- [HashSetTypeId]: tsplus_module_3.uniqueSymbol(HashSetTypeId),
118
- [HashSetVariance]: tsplus_module_3.any,
119
- _editable: tsplus_module_3.boolean,
120
- _edit: tsplus_module_3.number,
121
- config: tsplus_module_3.any,
122
- _root: nodeSchema(value),
123
- _size: tsplus_module_3.number,
124
- size: tsplus_module_3.number,
125
- [Symbol.iterator]: tsplus_module_3.any,
126
- [tsplus_module_13.hashSymbol]: tsplus_module_3.any,
127
- [tsplus_module_14.equalsSymbol]: tsplus_module_3.any
128
- });
66
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors)) : tsplus_module_10.succeed(tsplus_module_5.endMutation(out));
67
+ });
68
+ };
129
69
  }
130
70
  function gen(value) {
131
- return tsplus_module_15.map(tsplus_module_4.from)(tsplus_module_15.array(value));
71
+ return tsplus_module_14.map(tsplus_module_5.from)(tsplus_module_14.array(value));
132
72
  }
133
73
  //# sourceMappingURL=hashSet.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"hashSet.mjs","names":["hashSetFromArray","hashSetFromArray_1","HashSetTypeId","HashSetVariance","ASTAnnotationMap","hashSet","value","tsplus_module_3","declaration","tsplus_module_1","vector","inline","hashSetParser","empty","annotate","tsplus_module_2","Identifier","GenHook","gen","transform","input","out","tsplus_module_4","beginMutation","v","add","endMutation","forEach","push","array","deriveHashSet","schema","tsplus_module_12","make","u","options","tsplus_module_6","isHashSet","tsplus_module_8","fail","tsplus_module_7","typeError","ast","allErrors","errors","emptyPushable","tv","tsplus_module_9","decode","tsplus_module_10","isLeft","tsplus_module_11","left","failures","right","isNonEmpty","succeed","emptyNodeSchema","_value","struct","_tag","literal","modify","any","leafNodeSchema","edit","number","hash","collisionNodeSchema","lazy","children","mutableArray","nodeSchema","indexedNodeSchema","mask","arrayNodeSchema","size","union","uniqueSymbol","_editable","boolean","_edit","config","_root","_size","Symbol","iterator","tsplus_module_13","hashSymbol","tsplus_module_14","equalsSymbol","tsplus_module_15","map","from"],"sources":["../../../_src/Schema/api/hashSet.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"hashSet.mjs","names":["hashSetFromArray","hashSetFromArray_1","hashSet","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","hashSetParser","transform","input","out","tsplus_module_5","beginMutation","empty","v","add","endMutation","forEach","push","array","deriveHashSet","isDecoding","schema","parseValue","tsplus_module_7","decode","encode","tsplus_module_13","make","u","options","tsplus_module_8","isHashSet","tsplus_module_10","fail","tsplus_module_9","typeError","ast","allErrors","errors","emptyPushable","tv","tsplus_module_11","isLeft","tsplus_module_12","keyError","left","iterableError","right","isNonEmpty","succeed","tsplus_module_14","map","from"],"sources":["../../../_src/Schema/api/hashSet.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,28 +1,25 @@
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/data/function/api";
6
- import * as tsplus_module_6 from "@fncts/base/collection/immutable/ImmutableArray/definition";
7
- import * as tsplus_module_7 from "@fncts/schema/ParseError";
8
- import * as tsplus_module_8 from "@fncts/schema/ParseResult";
9
- import * as tsplus_module_9 from "@fncts/schema/Parser/api";
6
+ import * as tsplus_module_6 from "@fncts/schema/Parser/api";
7
+ import * as tsplus_module_7 from "@fncts/base/collection/immutable/ImmutableArray/definition";
8
+ import * as tsplus_module_8 from "@fncts/schema/ParseError/ParseError";
9
+ import * as tsplus_module_9 from "@fncts/schema/ParseResult";
10
10
  import * as tsplus_module_10 from "@fncts/base/data/Either/api";
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/Equatable/definition";
14
- import * as tsplus_module_14 from "@fncts/base/data/Hashable/definition";
15
- import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
11
+ import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
12
+ import * as tsplus_module_12 from "@fncts/test/control/Gen/api";
16
13
  export const immutableArray = immutableArray_1;
17
14
  export const immutableArrayFromArray = immutableArrayFromArray_1;
18
- import { ImmutableArray, ImmutableArrayTypeId, ImmutableArrayVariance } from "@fncts/base/collection/immutable/ImmutableArray";
15
+ import { ImmutableArray } from "@fncts/base/collection/immutable/ImmutableArray";
19
16
  import { Vector } from "@fncts/base/collection/immutable/Vector";
20
17
  /**
21
18
  * @tsplus getter fncts.schema.Schema immutableArray
22
19
  * @tsplus static fncts.schema.SchemaOps immutableArray
23
20
  */
24
21
  function immutableArray_1(value) {
25
- return tsplus_module_4.declaration(tsplus_module_1.vector(value), inline(value), parser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "ImmutableArray").annotate(tsplus_module_2.GenHook, gen));
22
+ return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `ImmutableArray<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), parser(true), parser(false))));
26
23
  }
27
24
  /**
28
25
  * @tsplus getter fncts.schema.Schema immutableArrayFromArray
@@ -37,43 +34,20 @@ function immutableArrayFromArray_1(value) {
37
34
  export function deriveImmutableArray(...[value]) {
38
35
  return immutableArrayFromArray_1(value);
39
36
  }
40
- function parser(value) {
41
- const schema = immutableArray_1(value);
42
- return tsplus_module_12.make((u, options) => {
43
- if (!tsplus_module_6.isImmutableArray(u)) {
44
- return tsplus_module_8.fail(tsplus_module_7.typeError(schema.ast, u));
45
- }
46
- const out = [];
47
- const errors = tsplus_module_1.emptyPushable();
48
- const allErrors = options?.allErrors;
49
- const index = 0;
50
- for (const v of u) {
51
- const t = tsplus_module_9.decode(value)(v, options);
52
- void 0;
53
- if (tsplus_module_10.isLeft(t)) {
54
- tsplus_module_11.push(tsplus_module_7.indexError(index, t.left.errors))(errors);
55
- if (allErrors) {
56
- continue;
57
- }
58
- return tsplus_module_8.failures(errors);
59
- } else {
60
- out.push(t.right);
37
+ function parser(isDecoding) {
38
+ return value => {
39
+ const schema = immutableArray_1(value);
40
+ const arraySchema = tsplus_module_4.array(value);
41
+ const parse = isDecoding ? tsplus_module_6.decode(arraySchema) : tsplus_module_6.encode(arraySchema);
42
+ return tsplus_module_11.make((u, options) => {
43
+ if (!tsplus_module_7.isImmutableArray(u)) {
44
+ return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
61
45
  }
62
- }
63
- return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_8.failures(errors) : tsplus_module_8.succeed(new ImmutableArray(out));
64
- });
65
- }
66
- function inline(value) {
67
- return tsplus_module_4.struct({
68
- [ImmutableArrayTypeId]: tsplus_module_4.uniqueSymbol(ImmutableArrayTypeId),
69
- [ImmutableArrayVariance]: tsplus_module_4.any,
70
- _array: tsplus_module_4.array(value),
71
- [tsplus_module_13.equalsSymbol]: tsplus_module_4.any,
72
- [tsplus_module_14.hashSymbol]: tsplus_module_4.any,
73
- [Symbol.iterator]: tsplus_module_4.any
74
- });
46
+ return tsplus_module_10.map(out => new ImmutableArray(out))(parse(u, options));
47
+ });
48
+ };
75
49
  }
76
50
  function gen(value) {
77
- return tsplus_module_15.map(array => new ImmutableArray(array))(tsplus_module_15.array(value));
51
+ return tsplus_module_12.map(array => new ImmutableArray(array))(tsplus_module_12.array(value));
78
52
  }
79
53
  //# sourceMappingURL=immutableArray.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"immutableArray.mjs","names":["immutableArray","immutableArray_1","immutableArrayFromArray","immutableArrayFromArray_1","ImmutableArray","ImmutableArrayTypeId","ImmutableArrayVariance","Vector","value","tsplus_module_4","declaration","tsplus_module_1","vector","inline","parser","tsplus_module_3","ASTAnnotationMap","empty","annotate","tsplus_module_2","Identifier","GenHook","gen","transform","input","_array","array","deriveImmutableArray","schema","tsplus_module_12","make","u","options","tsplus_module_6","isImmutableArray","tsplus_module_8","fail","tsplus_module_7","typeError","ast","out","errors","emptyPushable","allErrors","index","v","t","tsplus_module_9","decode","tsplus_module_10","isLeft","tsplus_module_11","push","indexError","left","failures","right","isNonEmpty","succeed","struct","uniqueSymbol","any","tsplus_module_13","equalsSymbol","tsplus_module_14","hashSymbol","Symbol","iterator","tsplus_module_15","map"],"sources":["../../../_src/Schema/api/immutableArray.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"immutableArray.mjs","names":["immutableArray","immutableArray_1","immutableArrayFromArray","immutableArrayFromArray_1","ImmutableArray","Vector","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","parser","transform","input","_array","array","deriveImmutableArray","isDecoding","schema","arraySchema","parse","tsplus_module_6","decode","encode","tsplus_module_11","make","u","options","tsplus_module_7","isImmutableArray","tsplus_module_9","fail","tsplus_module_8","typeError","ast","tsplus_module_10","map","out","tsplus_module_12"],"sources":["../../../_src/Schema/api/immutableArray.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;aASgBA,cAAc,GAAAC,gBAAA;aAUdC,uBAAuB,GAAAC,yBAAA;AAjBvC,SAASC,cAAc,QAAQ,iDAAiD;AAChF,SAASC,MAAM,QAAQ,yCAAyC;AAEhE;;;;AAIA,SAAAJ,iBAAkCK,KAAgB;EAChD,OAAOC,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAC,OAAA,EAE4BC,GAAG,EAF/BJ,eAAA,CAAAC,QAAA,CAAAC,eAAA,CAAAG,UAAA,EAC+B,kBAAkBC,eAAA,CAAAC,IAAA,GAAAR,KAAK,CAAO,GAAG,EADhEC,eAAA,CAAAQ,WAAA,CAAmBC,eAAA,CAAAC,MAAA,CAAOX,KAAK,CAAC,EAAEY,MAAM,CAAC,IAAI,CAAC,EAAEA,MAAM,CAAC,KAAK,CAAC,CAAC,CACG,CACjC;AACzC;AAEA;;;;AAIA,SAAAf,0BAA2CG,KAAgB;EACzD,OAAOC,eAAA,CAAAY,SAAA,CACLlB,gBAAA,CAAeK,KAAK,CAAC,EACpBc,KAAK,IAAK,IAAIhB,cAAc,CAACgB,KAAK,CAAC,EACnCA,KAAK,IAAKA,KAAK,CAACC,MAAM,EAHlBd,eAAA,CAAAe,KAAA,CAAahB,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUiB,oBAAoBA,CAClC,GAAG,CAACjB,KAAK,CAIA;EAET,OAAoBH,yBAAA,CAAwBG,KAAK,CAAC;AACpD;AAEA,SAASY,MAAMA,CAACM,UAAmB;EACjC,OAAWlB,KAAgB,IAAqC;IAC9D,MAAMmB,MAAM,GAAQxB,gBAAA,CAAeK,KAAK,CAAC;IACzC,MAAMoB,WAAW,GAAAnB,eAAA,CAAAe,KAAA,CAAGhB,KAAK,CAAM;IAC/B,MAAMqB,KAAK,GAASH,UAAU,GAAEI,eAAA,CAAAC,MAAA,CAACH,WAAW,IAASE,eAAA,CAAAE,MAAA,CAACJ,WAAW,CAAO;IACxE,OAAOK,gBAAA,CAAAC,IAAA,CAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;MAChC,IAAI,CAACC,eAAA,CAAAC,gBAAA,CAAkBH,CAAC,CAAC,EAAE;QACzB,OAAOI,eAAA,CAAAC,IAAA,CAAiBC,eAAA,CAAAC,SAAA,CAAqBf,MAAM,CAACgB,GAAG,EAAER,CAAC,CAAC,CAAC;MAC9D;MAEA,OAAOS,gBAAA,CAAAC,GAAA,CAAuBC,GAAG,IAAK,IAAIxC,cAAc,CAACwC,GAAqB,CAAC,EAAxEjB,KAAK,CAACM,CAAC,EAAEC,OAAO,CAAC,CAAwD;IAClF,CAAC,CAAC;EACJ,CAAC;AACH;AAEA,SAASvB,GAAGA,CAAIL,KAAoB;EAClC,OAAOuC,gBAAA,CAAAF,GAAA,CAAsBrB,KAAK,IAAK,IAAIlB,cAAc,CAACkB,KAAK,CAAC,EAAzDuB,gBAAA,CAAAvB,KAAA,CAAUhB,KAAK,CAAC,CAA0C;AACnE","ignoreList":[]}
@@ -1,27 +1,26 @@
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/List/constructors";
6
6
  import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
- import * as tsplus_module_7 from "@fncts/base/collection/immutable/List/definition";
8
- import * as tsplus_module_8 from "@fncts/schema/ParseError";
9
- import * as tsplus_module_9 from "@fncts/schema/ParseResult";
10
- import * as tsplus_module_10 from "@fncts/base/collection/mutable/ListBuffer";
11
- import * as tsplus_module_11 from "@fncts/schema/Parser/api";
7
+ import * as tsplus_module_7 from "@fncts/schema/Parser/api";
8
+ import * as tsplus_module_8 from "@fncts/base/collection/immutable/List/definition";
9
+ import * as tsplus_module_9 from "@fncts/schema/ParseError/ParseError";
10
+ import * as tsplus_module_10 from "@fncts/schema/ParseResult";
11
+ import * as tsplus_module_11 from "@fncts/base/collection/mutable/ListBuffer";
12
12
  import * as tsplus_module_12 from "@fncts/base/data/Either/api";
13
13
  import * as tsplus_module_13 from "@fncts/base/collection/immutable/Vector/internal";
14
14
  import * as tsplus_module_14 from "@fncts/schema/Parser/definition";
15
15
  import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
16
16
  export const list = list_1;
17
17
  export const listFromArray = listFromArray_1;
18
- import { ListTypeId } from "@fncts/base/collection/immutable/List";
19
18
  /**
20
19
  * @tsplus static fncts.schema.SchemaOps list
21
20
  * @tsplus getter fncts.Schema.Schema list
22
21
  */
23
22
  function list_1(value) {
24
- return tsplus_module_4.declaration(tsplus_module_1.vector(value), inline(value), parser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "List").annotate(tsplus_module_2.GenHook, gen));
23
+ return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `List<${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(value), parser(true), parser(false))));
25
24
  }
26
25
  /**
27
26
  * @tsplus static fncts.schema.SchemaOps listFromArray
@@ -36,50 +35,34 @@ function listFromArray_1(value) {
36
35
  export function deriveList(...[value]) {
37
36
  return listFromArray_1(value);
38
37
  }
39
- function parser(value) {
40
- const schema = list_1(value);
41
- return tsplus_module_14.make((u, options) => {
42
- if (!tsplus_module_7.isList(u)) {
43
- return tsplus_module_9.fail(tsplus_module_8.typeError(schema.ast, u));
44
- }
45
- const out = new tsplus_module_10.ListBuffer();
46
- const errors = tsplus_module_1.emptyPushable();
47
- const allErrors = options?.allErrors;
48
- const index = 0;
49
- for (const v of u) {
50
- const t = tsplus_module_11.decode(value)(v, options);
51
- void 0;
52
- if (tsplus_module_12.isLeft(t)) {
53
- tsplus_module_13.push(tsplus_module_8.indexError(index, t.left.errors))(errors);
54
- if (allErrors) {
55
- continue;
38
+ function parser(isDecoding) {
39
+ return value => {
40
+ const schema = list_1(value);
41
+ const parseValue = isDecoding ? tsplus_module_7.decode(value) : tsplus_module_7.encode(value);
42
+ return tsplus_module_14.make((u, options) => {
43
+ if (!tsplus_module_8.isList(u)) {
44
+ return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));
45
+ }
46
+ const out = new tsplus_module_11.ListBuffer();
47
+ const errors = tsplus_module_3.emptyPushable();
48
+ const allErrors = options?.allErrors;
49
+ const index = 0;
50
+ for (const v of u) {
51
+ const t = parseValue(v, options);
52
+ void 0;
53
+ if (tsplus_module_12.isLeft(t)) {
54
+ tsplus_module_13.push(tsplus_module_9.indexError(index, t.left))(errors);
55
+ if (allErrors) {
56
+ continue;
57
+ }
58
+ return tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors));
59
+ } else {
60
+ out.append(t.right);
56
61
  }
57
- return tsplus_module_9.failures(errors);
58
- } else {
59
- out.append(t.right);
60
62
  }
61
- }
62
- return tsplus_module_1.isNonEmpty(errors) ? tsplus_module_9.failures(errors) : tsplus_module_9.succeed(out.toList);
63
- });
64
- }
65
- function nil(_value) {
66
- return tsplus_module_4.struct({
67
- _tag: tsplus_module_4.literal("Nil"),
68
- [ListTypeId]: tsplus_module_4.uniqueSymbol(ListTypeId),
69
- [Symbol.iterator]: tsplus_module_4.any
70
- });
71
- }
72
- function cons(value) {
73
- return tsplus_module_4.lazy(() => tsplus_module_4.struct({
74
- _tag: tsplus_module_4.literal("Cons"),
75
- [ListTypeId]: tsplus_module_4.uniqueSymbol(ListTypeId),
76
- [Symbol.iterator]: tsplus_module_4.any,
77
- head: value,
78
- tail: inline(value)
79
- }));
80
- }
81
- function inline(value) {
82
- return tsplus_module_4.lazy(() => tsplus_module_4.union(nil(value), cons(value)));
63
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_10.fail(tsplus_module_9.iterableError(schema.ast, u, errors)) : tsplus_module_10.succeed(out.toList);
64
+ });
65
+ };
83
66
  }
84
67
  function gen(value) {
85
68
  return tsplus_module_15.map(array => tsplus_module_5.from(array))(tsplus_module_15.array(value));
@@ -1 +1 @@
1
- {"version":3,"file":"list.mjs","names":["list","list_1","listFromArray","listFromArray_1","ListTypeId","value","tsplus_module_4","declaration","tsplus_module_1","vector","inline","parser","tsplus_module_3","ASTAnnotationMap","empty","annotate","tsplus_module_2","Identifier","GenHook","gen","transform","input","tsplus_module_5","from","Array","array","deriveList","schema","tsplus_module_14","make","u","options","tsplus_module_7","isList","tsplus_module_9","fail","tsplus_module_8","typeError","ast","out","tsplus_module_10","ListBuffer","errors","emptyPushable","allErrors","index","v","t","tsplus_module_11","decode","tsplus_module_12","isLeft","tsplus_module_13","push","indexError","left","failures","append","right","isNonEmpty","succeed","toList","nil","_value","struct","_tag","literal","uniqueSymbol","Symbol","iterator","any","cons","lazy","head","tail","union","tsplus_module_15","map"],"sources":["../../../_src/Schema/api/list.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"list.mjs","names":["list","list_1","listFromArray","listFromArray_1","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","parser","transform","input","tsplus_module_5","from","Array","array","deriveList","isDecoding","schema","parseValue","tsplus_module_7","decode","encode","tsplus_module_14","make","u","options","tsplus_module_8","isList","tsplus_module_10","fail","tsplus_module_9","typeError","ast","out","tsplus_module_11","ListBuffer","errors","emptyPushable","allErrors","index","v","t","tsplus_module_12","isLeft","tsplus_module_13","push","indexError","left","iterableError","append","right","isNonEmpty","succeed","toList","tsplus_module_15","map"],"sources":["../../../_src/Schema/api/list.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,88 @@
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
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/data/function/api";
6
+ import * as tsplus_module_6 from "@fncts/schema/ParseError/ParseError";
7
+ import * as tsplus_module_7 from "@fncts/schema/ParseResult";
8
+ import * as tsplus_module_8 from "@fncts/schema/Parser/api";
9
+ import * as tsplus_module_9 from "@fncts/base/data/Either/api";
10
+ import * as tsplus_module_10 from "@fncts/base/collection/immutable/Vector/internal";
11
+ import * as tsplus_module_11 from "@fncts/schema/Parser/definition";
12
+ import * as tsplus_module_12 from "@fncts/test/control/Gen/api";
13
+ export const map = map_1;
14
+ export const mapFromRecord = mapFromRecord_1;
15
+ /**
16
+ * @tsplus static fncts.schema.SchemaOps map
17
+ */
18
+ function map_1(key, value) {
19
+ return tsplus_module_4.annotate(tsplus_module_1.GenHook, gen)(tsplus_module_4.annotate(tsplus_module_1.Identifier, `Map<${tsplus_module_2.show()(key)}, ${tsplus_module_2.show()(value)}>`)(tsplus_module_4.declaration(tsplus_module_3.vector(key, value), mapParser(true), mapParser(false))));
20
+ }
21
+ /**
22
+ * @tsplus static fncts.schema.SchemaOps mapFromRecord
23
+ */
24
+ function mapFromRecord_1(key, value) {
25
+ return tsplus_module_4.transform(map_1(key, value), input => {
26
+ const out = new Map();
27
+ for (const [k, v] of Object.entries(input)) {
28
+ out.set(k, v);
29
+ }
30
+ return out;
31
+ }, input => {
32
+ const out = {};
33
+ input.forEach((v, k) => {
34
+ out[k] = v;
35
+ });
36
+ return out;
37
+ })(tsplus_module_4.record(key, value));
38
+ }
39
+ /**
40
+ * @tsplus derive fncts.schema.Schema[fncts.Map]<_> 10
41
+ */
42
+ export function deriveMap(
43
+ // @ts-expect-error
44
+ ...[key, value]) {
45
+ return mapFromRecord_1(key, value);
46
+ }
47
+ function mapParser(isDecoding) {
48
+ return (key, value) => {
49
+ const schema = map_1(key, value);
50
+ return tsplus_module_11.make((u, options) => {
51
+ if (!(u instanceof Map)) {
52
+ return tsplus_module_7.fail(tsplus_module_6.typeError(schema.ast, u));
53
+ }
54
+ const allErrors = options?.allErrors;
55
+ const errors = tsplus_module_3.emptyPushable();
56
+ const out = new Map();
57
+ const keyParser = isDecoding ? tsplus_module_8.decode(key) : tsplus_module_8.encode(key);
58
+ const valueParser = isDecoding ? tsplus_module_8.decode(value) : tsplus_module_8.encode(value);
59
+ for (const [k, v] of u) {
60
+ const tk = keyParser(k, options);
61
+ void 0;
62
+ if (tsplus_module_9.isLeft(tk)) {
63
+ tsplus_module_10.push(tsplus_module_6.keyError(key.ast, k, tk.left))(errors);
64
+ if (!allErrors) {
65
+ return tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors));
66
+ }
67
+ }
68
+ const tv = valueParser(v, options);
69
+ void 0;
70
+ if (tsplus_module_9.isLeft(tv)) {
71
+ tsplus_module_10.push(tsplus_module_6.keyError(key.ast, k, tsplus_module_6.typeError(value.ast, tv.left)))(errors);
72
+ if (!allErrors) {
73
+ return tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors));
74
+ }
75
+ }
76
+ if (tsplus_module_9.isLeft(tk) || tsplus_module_9.isLeft(tv)) {
77
+ continue;
78
+ }
79
+ out.set(tk.right, tv.right);
80
+ }
81
+ return tsplus_module_3.isNonEmpty(errors) ? tsplus_module_7.fail(tsplus_module_6.iterableError(schema.ast, u, errors)) : tsplus_module_7.succeed(out);
82
+ });
83
+ };
84
+ }
85
+ function gen(key, value) {
86
+ return tsplus_module_12.map(pairs => new Map(pairs))(tsplus_module_12.array(tsplus_module_12.tuple(key, value)));
87
+ }
88
+ //# sourceMappingURL=map.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"map.mjs","names":["map","map_1","mapFromRecord","mapFromRecord_1","key","value","tsplus_module_4","annotate","tsplus_module_1","GenHook","gen","Identifier","tsplus_module_2","show","declaration","tsplus_module_3","vector","mapParser","transform","input","out","Map","k","v","Object","entries","set","forEach","record","deriveMap","isDecoding","schema","tsplus_module_11","make","u","options","tsplus_module_7","fail","tsplus_module_6","typeError","ast","allErrors","errors","emptyPushable","keyParser","tsplus_module_8","decode","encode","valueParser","tk","tsplus_module_9","isLeft","tsplus_module_10","push","keyError","left","iterableError","tv","right","isNonEmpty","succeed","tsplus_module_12","pairs","array","tuple"],"sources":["../../../_src/Schema/api/map.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}