@fncts/schema 0.0.5 → 0.0.6

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 (151) hide show
  1. package/AST.d.ts +528 -0
  2. package/ASTAnnotation.d.ts +82 -0
  3. package/ASTAnnotationMap.d.ts +14 -0
  4. package/Gen.d.ts +15 -0
  5. package/InvalidInterpretationError.d.ts +5 -0
  6. package/ParseError.d.ts +107 -0
  7. package/ParseResult.d.ts +24 -0
  8. package/Parser/api.d.ts +42 -0
  9. package/Parser/definition.d.ts +22 -0
  10. package/Parser/interpreter.d.ts +6 -0
  11. package/Parser.d.ts +2 -0
  12. package/Schema/api/conc.d.ts +18 -0
  13. package/Schema/api/hashMap.d.ts +21 -0
  14. package/Schema/api/immutableArray.d.ts +23 -0
  15. package/Schema/api/list.d.ts +23 -0
  16. package/Schema/api/maybe.d.ts +21 -0
  17. package/Schema/api.d.ts +243 -0
  18. package/Schema/definition.d.ts +29 -0
  19. package/Schema/derivations.d.ts +70 -0
  20. package/Schema.d.ts +2 -144
  21. package/_cjs/AST.cjs +1171 -0
  22. package/_cjs/AST.cjs.map +1 -0
  23. package/_cjs/ASTAnnotation.cjs +111 -0
  24. package/_cjs/ASTAnnotation.cjs.map +1 -0
  25. package/_cjs/ASTAnnotationMap.cjs +35 -0
  26. package/_cjs/ASTAnnotationMap.cjs.map +1 -0
  27. package/_cjs/Gen.cjs +185 -0
  28. package/_cjs/Gen.cjs.map +1 -0
  29. package/_cjs/InvalidInterpretationError.cjs +18 -0
  30. package/_cjs/InvalidInterpretationError.cjs.map +1 -0
  31. package/_cjs/ParseError.cjs +222 -0
  32. package/_cjs/ParseError.cjs.map +1 -0
  33. package/_cjs/{Decoder.cjs → ParseResult.cjs} +24 -22
  34. package/_cjs/ParseResult.cjs.map +1 -0
  35. package/_cjs/Parser/api.cjs +80 -0
  36. package/_cjs/Parser/api.cjs.map +1 -0
  37. package/_cjs/{Guard.cjs → Parser/definition.cjs} +17 -22
  38. package/_cjs/Parser/definition.cjs.map +1 -0
  39. package/_cjs/Parser/interpreter.cjs +409 -0
  40. package/_cjs/Parser/interpreter.cjs.map +1 -0
  41. package/_cjs/Parser.cjs +28 -0
  42. package/_cjs/Parser.cjs.map +1 -0
  43. package/_cjs/Schema/api/conc.cjs +84 -0
  44. package/_cjs/Schema/api/conc.cjs.map +1 -0
  45. package/_cjs/Schema/api/hashMap.cjs +161 -0
  46. package/_cjs/Schema/api/hashMap.cjs.map +1 -0
  47. package/_cjs/Schema/api/immutableArray.cjs +90 -0
  48. package/_cjs/Schema/api/immutableArray.cjs.map +1 -0
  49. package/_cjs/Schema/api/list.cjs +98 -0
  50. package/_cjs/Schema/api/list.cjs.map +1 -0
  51. package/_cjs/Schema/api/maybe.cjs +75 -0
  52. package/_cjs/Schema/api/maybe.cjs.map +1 -0
  53. package/_cjs/Schema/api.cjs +424 -0
  54. package/_cjs/Schema/api.cjs.map +1 -0
  55. package/_cjs/Schema/definition.cjs +26 -0
  56. package/_cjs/Schema/definition.cjs.map +1 -0
  57. package/_cjs/Schema/derivations.cjs +108 -0
  58. package/_cjs/Schema/derivations.cjs.map +1 -0
  59. package/_cjs/Schema.cjs +20 -237
  60. package/_cjs/Schema.cjs.map +1 -1
  61. package/_cjs/utils.cjs +52 -0
  62. package/_cjs/utils.cjs.map +1 -0
  63. package/_mjs/AST.mjs +1060 -0
  64. package/_mjs/AST.mjs.map +1 -0
  65. package/_mjs/ASTAnnotation.mjs +80 -0
  66. package/_mjs/ASTAnnotation.mjs.map +1 -0
  67. package/_mjs/ASTAnnotationMap.mjs +27 -0
  68. package/_mjs/ASTAnnotationMap.mjs.map +1 -0
  69. package/_mjs/Gen.mjs +176 -0
  70. package/_mjs/Gen.mjs.map +1 -0
  71. package/_mjs/InvalidInterpretationError.mjs +10 -0
  72. package/_mjs/InvalidInterpretationError.mjs.map +1 -0
  73. package/_mjs/ParseError.mjs +200 -0
  74. package/_mjs/ParseError.mjs.map +1 -0
  75. package/_mjs/ParseResult.mjs +21 -0
  76. package/_mjs/ParseResult.mjs.map +1 -0
  77. package/_mjs/Parser/api.mjs +67 -0
  78. package/_mjs/Parser/api.mjs.map +1 -0
  79. package/_mjs/Parser/definition.mjs +15 -0
  80. package/_mjs/Parser/definition.mjs.map +1 -0
  81. package/_mjs/Parser/interpreter.mjs +401 -0
  82. package/_mjs/Parser/interpreter.mjs.map +1 -0
  83. package/_mjs/Parser.mjs +4 -0
  84. package/_mjs/Parser.mjs.map +1 -0
  85. package/_mjs/Schema/api/conc.mjs +72 -0
  86. package/_mjs/Schema/api/conc.mjs.map +1 -0
  87. package/_mjs/Schema/api/hashMap.mjs +150 -0
  88. package/_mjs/Schema/api/hashMap.mjs.map +1 -0
  89. package/_mjs/Schema/api/immutableArray.mjs +79 -0
  90. package/_mjs/Schema/api/immutableArray.mjs.map +1 -0
  91. package/_mjs/Schema/api/list.mjs +87 -0
  92. package/_mjs/Schema/api/list.mjs.map +1 -0
  93. package/_mjs/Schema/api/maybe.mjs +64 -0
  94. package/_mjs/Schema/api/maybe.mjs.map +1 -0
  95. package/_mjs/Schema/api.mjs +367 -0
  96. package/_mjs/Schema/api.mjs.map +1 -0
  97. package/_mjs/Schema/definition.mjs +16 -0
  98. package/_mjs/Schema/definition.mjs.map +1 -0
  99. package/_mjs/Schema/derivations.mjs +94 -0
  100. package/_mjs/Schema/derivations.mjs.map +1 -0
  101. package/_mjs/Schema.mjs +3 -212
  102. package/_mjs/Schema.mjs.map +1 -1
  103. package/_mjs/utils.mjs +41 -0
  104. package/_mjs/utils.mjs.map +1 -0
  105. package/_src/AST.ts +1353 -0
  106. package/_src/ASTAnnotation.ts +98 -0
  107. package/_src/ASTAnnotationMap.ts +38 -0
  108. package/_src/Gen.ts +171 -0
  109. package/_src/InvalidInterpretationError.ts +6 -0
  110. package/_src/ParseError.ts +237 -0
  111. package/_src/ParseResult.ts +26 -0
  112. package/_src/Parser/api.ts +71 -0
  113. package/_src/Parser/definition.ts +24 -0
  114. package/_src/Parser/interpreter.ts +442 -0
  115. package/_src/Parser.ts +4 -0
  116. package/_src/Schema/api/conc.ts +78 -0
  117. package/_src/Schema/api/hashMap.ts +184 -0
  118. package/_src/Schema/api/immutableArray.ts +88 -0
  119. package/_src/Schema/api/list.ts +96 -0
  120. package/_src/Schema/api/maybe.ts +68 -0
  121. package/_src/Schema/api.ts +530 -0
  122. package/_src/Schema/definition.ts +32 -0
  123. package/_src/Schema/derivations.ts +185 -0
  124. package/_src/Schema.ts +4 -254
  125. package/_src/global.ts +53 -0
  126. package/_src/utils.ts +48 -0
  127. package/global.d.ts +52 -0
  128. package/package.json +2 -2
  129. package/utils.d.ts +8 -0
  130. package/Decoder.d.ts +0 -3
  131. package/Encoder.d.ts +0 -4
  132. package/Guard.d.ts +0 -3
  133. package/Schemable.d.ts +0 -39
  134. package/_cjs/Decoder.cjs.map +0 -1
  135. package/_cjs/Encoder.cjs +0 -45
  136. package/_cjs/Encoder.cjs.map +0 -1
  137. package/_cjs/Guard.cjs.map +0 -1
  138. package/_cjs/Schemable.cjs +0 -6
  139. package/_cjs/Schemable.cjs.map +0 -1
  140. package/_mjs/Decoder.mjs +0 -20
  141. package/_mjs/Decoder.mjs.map +0 -1
  142. package/_mjs/Encoder.mjs +0 -36
  143. package/_mjs/Encoder.mjs.map +0 -1
  144. package/_mjs/Guard.mjs +0 -20
  145. package/_mjs/Guard.mjs.map +0 -1
  146. package/_mjs/Schemable.mjs +0 -2
  147. package/_mjs/Schemable.mjs.map +0 -1
  148. package/_src/Decoder.ts +0 -20
  149. package/_src/Encoder.ts +0 -38
  150. package/_src/Guard.ts +0 -20
  151. package/_src/Schemable.ts +0 -46
@@ -0,0 +1,150 @@
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";
4
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/HashMap/api";
6
+ import * as tsplus_module_6 from "@fncts/base/data/function/api";
7
+ import * as tsplus_module_7 from "@fncts/base/collection/immutable/HashMap/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/schema/Parser/api";
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/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";
18
+ export const hashMap = hashMap_1;
19
+ export const hashMapFromRecord = hashMapFromRecord_1;
20
+ import { HashMapTypeId, HashMapVariance } from "@fncts/base/collection/immutable/HashMap";
21
+ /**
22
+ * @tsplus static fncts.schema.SchemaOps hashMap
23
+ */
24
+ 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));
26
+ }
27
+ /**
28
+ * @tsplus static fncts.schema.SchemaOps hashMapFromRecord
29
+ */
30
+ function hashMapFromRecord_1(key, value) {
31
+ return tsplus_module_4.transform(hashMap_1(key, value), input => {
32
+ const out = tsplus_module_5.beginMutation(tsplus_module_5.empty());
33
+ for (const [k, v] of Object.entries(input)) {
34
+ tsplus_module_5.set(k, v)(out);
35
+ }
36
+ return tsplus_module_5.endMutation(out);
37
+ }, input => {
38
+ const out = {};
39
+ tsplus_module_5.forEachWithIndex((k, v) => {
40
+ out[k] = v;
41
+ })(input);
42
+ return out;
43
+ })(tsplus_module_4.record(key, value));
44
+ }
45
+ /**
46
+ * @tsplus derive fncts.schema.Schema[fncts.HashMap]<_> 10
47
+ */
48
+ export function deriveHashMap(
49
+ // @ts-expect-error
50
+ ...[key, value]) {
51
+ return hashMapFromRecord_1(key, value);
52
+ }
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);
67
+ if (!allErrors) {
68
+ return tsplus_module_9.failures(errors);
69
+ }
70
+ }
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.keyError(key.ast, k, tv.left))(errors);
75
+ if (!allErrors) {
76
+ return tsplus_module_9.failures(errors);
77
+ }
78
+ }
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
+ });
146
+ }
147
+ 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)));
149
+ }
150
+ //# sourceMappingURL=hashMap.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashMap.mjs","mappings":"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","names":["hashMap","hashMapFromRecord","HashMapTypeId","HashMapVariance","key","value","tsplus_module_4","tsplus_module_1","inline","hashMapParser","tsplus_module_3","empty","annotate","gen","hashMap_1","input","out","tsplus_module_5","k","v","Object","entries","deriveHashMap","hashMapFromRecord_1","schema","tsplus_module_13","u","options","tsplus_module_7","tsplus_module_9","tsplus_module_8","ast","allErrors","errors","tk","tsplus_module_10","tsplus_module_11","tsplus_module_12","left","tv","right","emptyNodeSchema","_key","_value","_tag","modify","leafNodeSchema","edit","hash","collisionNodeSchema","children","nodeSchema","indexedNodeSchema","mask","arrayNodeSchema","size","editable","config","root","Symbol","iterator","tsplus_module_17","pairs"],"sourceRoot":"","sources":["../../../_src/Schema/api/hashMap.ts"],"sourcesContent":[null]}
@@ -0,0 +1,79 @@
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";
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/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";
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";
16
+ export const immutableArray = immutableArray_1;
17
+ export const immutableArrayFromArray = immutableArrayFromArray_1;
18
+ import { ImmutableArray, ImmutableArrayTypeId, ImmutableArrayVariance } from "@fncts/base/collection/immutable/ImmutableArray";
19
+ import { Vector } from "@fncts/base/collection/immutable/Vector";
20
+ /**
21
+ * @tsplus getter fncts.schema.Schema immutableArray
22
+ * @tsplus static fncts.schema.SchemaOps immutableArray
23
+ */
24
+ 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));
26
+ }
27
+ /**
28
+ * @tsplus getter fncts.schema.Schema immutableArrayFromArray
29
+ * @tsplus static fncts.schema.SchemaOps immutableArrayFromArray
30
+ */
31
+ function immutableArrayFromArray_1(value) {
32
+ return tsplus_module_4.transform(immutableArray_1(value), input => new ImmutableArray(input), input => input._array)(tsplus_module_4.array(value));
33
+ }
34
+ /**
35
+ * @tsplus derive fncts.schema.Schema[fncts.ImmutableArray]<_> 10
36
+ */
37
+ export function deriveImmutableArray(...[value]) {
38
+ return immutableArrayFromArray_1(value);
39
+ }
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);
55
+ if (allErrors) {
56
+ continue;
57
+ }
58
+ return tsplus_module_8.failures(errors);
59
+ } else {
60
+ out.push(t.right);
61
+ }
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
+ });
75
+ }
76
+ function gen(value) {
77
+ return tsplus_module_15.map(array => new ImmutableArray(array))(tsplus_module_15.array(value));
78
+ }
79
+ //# sourceMappingURL=immutableArray.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"immutableArray.mjs","mappings":";;;;;;;;;;;;;;;aAagBA,cAAc;aAadC,uBAAuB;AAxBvC,SACEC,cAAc,EACdC,oBAAoB,EACpBC,sBAAsB,QACjB,iDAAiD;AACxD,SAASC,MAAM,QAAQ,yCAAyC;AAEhE;;;;AAIA,0BAAkCC,KAAgB;EAChD,OAAOC,4BACLC,uBAAOF,KAAK,CAAC,EACbG,MAAM,CAACH,KAAK,CAAC,EACbI,MAAM,EACNC,gCAAgB,CAACC,KAAK,CAACC,QAAQ,6BAA2B,gBAAgB,CAAC,CAACA,QAAQ,0BAAwBC,GAAG,CAAC,CACjH;AACH;AAEA;;;;AAIA,mCAA2CR,KAAgB;EACzD,OAAOC,0BACLQ,iBAAeT,KAAK,CAAC,EACpBU,KAAK,IAAK,IAAId,cAAc,CAACc,KAAK,CAAC,EACnCA,KAAK,IAAKA,KAAK,CAACC,MAAM,EAHlBV,sBAAaD,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUY,oBAAoB,CAClC,GAAG,CAACZ,KAAK,CAIA;EAET,OAAoBa,0BAAwBb,KAAK,CAAC;AACpD;AAEA,SAASI,MAAM,CAAIJ,KAAgB;EACjC,MAAMc,MAAM,GAAGL,iBAAeT,KAAK,CAAC;EACpC,OAAOe,sBAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;IAChC,IAAI,CAACC,iCAAkBF,CAAC,CAAC,EAAE;MACzB,OAAOG,qBAAiBC,0BAAqBN,MAAM,CAACO,GAAG,EAAEL,CAAC,CAAC,CAAC;;IAE9D,MAAMM,GAAG,GAAa,EAAE;IACxB,MAAMC,MAAM,GAAUrB,+BAAkC;IACxD,MAAMsB,SAAS,GAAOP,OAAO,EAAEO,SAAS;IACxC,MAAMC,KAAK,GAAW,CAAC;IACvB,KAAK,MAAMC,CAAC,IAAIV,CAAC,EAAE;MACjB,MAAMW,CAAC,GAAGC,4BAAK,EAAQF,CAAC,EAAET,OAAO,CAAC;MAClC;MACA,IAAIY,yBAAC,CAAS,EAAE;QACdC,sBAAYV,2BAAsBK,KAAK,EAAEE,CAAC,CAACI,IAAI,CAAC,EAAhDR,MAAM,CAA2C;QACjD,IAAIC,SAAS,EAAE;UACb;;QAEF,OAAOL,yBAAqBI,MAAM,CAAC;OACpC,MAAM;QACLD,GAAG,CAACU,IAAI,CAACL,CAAC,CAACM,KAAK,CAAC;;;IAGrB,OAAO/B,iCAAM,CAAa,GAAGiB,yBAAqBI,MAAM,CAAC,GAAGJ,wBAAoB,IAAIvB,cAAc,CAAC0B,GAAG,CAAC,CAAC;EAC1G,CAAC,CAAC;AACJ;AAEA,SAASnB,MAAM,CAAIH,KAAgB;EACjC,OAAOC,uBAAc;IACnB,CAACJ,oBAAoB,GAAGI,6BAAoBJ,oBAAoB,CAAC;IACjE,CAACC,sBAAsB,GAACG,mBAAY;IACpCU,MAAM,EAAEV,sBAAaD,KAAK,CAAC;IAC3B,iCAAeC,mBAAY;IAC3B,+BAAaA,mBAAY;IACzB,CAACiC,MAAM,CAACC,QAAQ,GAAClC;GAClB,CAAC;AACJ;AAEA,SAASO,GAAG,CAAIR,KAAoB;EAClC,OAAOoC,qBAAsBC,KAAK,IAAK,IAAIzC,cAAc,CAACyC,KAAK,CAAC,EAAzDD,uBAAUpC,KAAK,CAAC,CAA0C;AACnE","names":["immutableArray","immutableArrayFromArray","ImmutableArray","ImmutableArrayTypeId","ImmutableArrayVariance","Vector","value","tsplus_module_4","tsplus_module_1","inline","parser","tsplus_module_3","empty","annotate","gen","immutableArray_1","input","_array","deriveImmutableArray","immutableArrayFromArray_1","schema","tsplus_module_12","u","options","tsplus_module_6","tsplus_module_8","tsplus_module_7","ast","out","errors","allErrors","index","v","t","tsplus_module_9","tsplus_module_10","tsplus_module_11","left","push","right","Symbol","iterator","tsplus_module_15","array"],"sourceRoot":"","sources":["../../../_src/Schema/api/immutableArray.ts"],"sourcesContent":[null]}
@@ -0,0 +1,87 @@
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";
4
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/collection/immutable/List/constructors";
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";
12
+ import * as tsplus_module_12 from "@fncts/base/data/Either/api";
13
+ import * as tsplus_module_13 from "@fncts/base/collection/immutable/Vector/internal";
14
+ import * as tsplus_module_14 from "@fncts/schema/Parser/definition";
15
+ import * as tsplus_module_15 from "@fncts/test/control/Gen/api";
16
+ export const list = list_1;
17
+ export const listFromArray = listFromArray_1;
18
+ import { ListTypeId } from "@fncts/base/collection/immutable/List";
19
+ /**
20
+ * @tsplus static fncts.schema.SchemaOps list
21
+ * @tsplus getter fncts.Schema.Schema list
22
+ */
23
+ 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));
25
+ }
26
+ /**
27
+ * @tsplus static fncts.schema.SchemaOps listFromArray
28
+ * @tsplus getter fncts.Schema.Schema listFromArray
29
+ */
30
+ function listFromArray_1(value) {
31
+ return tsplus_module_4.transform(list_1(value), input => tsplus_module_5.from(input), input => Array.from(input))(tsplus_module_4.array(value));
32
+ }
33
+ /**
34
+ * @tsplus derive fncts.schema.Schema[fncts.List]<_> 10
35
+ */
36
+ export function deriveList(...[value]) {
37
+ return listFromArray_1(value);
38
+ }
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);
54
+ if (allErrors) {
55
+ continue;
56
+ }
57
+ return tsplus_module_9.failures(errors);
58
+ } else {
59
+ out.append(t.right);
60
+ }
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)));
83
+ }
84
+ function gen(value) {
85
+ return tsplus_module_15.map(array => tsplus_module_5.from(array))(tsplus_module_15.array(value));
86
+ }
87
+ //# sourceMappingURL=list.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.mjs","mappings":";;;;;;;;;;;;;;;aAQgBA,IAAI;aAaJC,aAAa;AAnB7B,SAASC,UAAU,QAAQ,uCAAuC;AAElE;;;;AAIA,gBAAwBC,KAAgB;EACtC,OAAOC,4BACLC,uBAAOF,KAAK,CAAC,EACbG,MAAM,CAACH,KAAK,CAAC,EACbI,MAAM,EACNC,gCAAgB,CAACC,KAAK,CAACC,QAAQ,6BAA2B,MAAM,CAAC,CAACA,QAAQ,0BAAwBC,GAAG,CAAC,CACvG;AACH;AAEA;;;;AAIA,yBAAiCR,KAAgB;EAC/C,OAAOC,0BACLQ,OAAKT,KAAK,CAAC,EACVU,KAAK,IAAKC,qBAAUD,KAAK,CAAC,EAC1BA,KAAK,IAAKE,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC,EAHvBT,sBAAaD,KAAK,CAAC,CAIzB;AACH;AAEA;;;AAGA,OAAM,SAAUc,UAAU,CACxB,GAAG,CAACd,KAAK,CAIA;EAET,OAAoBe,gBAAcf,KAAK,CAAC;AAC1C;AAEA,SAASI,MAAM,CAAIJ,KAAgB;EACjC,MAAMgB,MAAM,GAAGP,OAAKT,KAAK,CAAC;EAC1B,OAAOiB,sBAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;IAChC,IAAI,CAACC,uBAAQF,CAAC,CAAC,EAAE;MACf,OAAOG,qBAAiBC,0BAAqBN,MAAM,CAACO,GAAG,EAAEL,CAAC,CAAC,CAAC;;IAE9D,MAAMM,GAAG,GAAS,qBAAIC,UAAU,EAAK;IACrC,MAAMC,MAAM,GAAMxB,+BAAkC;IACpD,MAAMyB,SAAS,GAAGR,OAAO,EAAEQ,SAAS;IACpC,MAAMC,KAAK,GAAO,CAAC;IACnB,KAAK,MAAMC,CAAC,IAAIX,CAAC,EAAE;MACjB,MAAMY,CAAC,GAAGC,6BAAK,EAAQF,CAAC,EAAEV,OAAO,CAAC;MAClC;MACA,IAAIa,yBAAC,CAAS,EAAE;QACdC,sBAAYX,2BAAsBM,KAAK,EAAEE,CAAC,CAACI,IAAI,CAAC,EAAhDR,MAAM,CAA2C;QACjD,IAAIC,SAAS,EAAE;UACb;;QAEF,OAAON,yBAAqBK,MAAM,CAAC;OACpC,MAAM;QACLF,GAAG,CAACW,MAAM,CAACL,CAAC,CAACM,KAAK,CAAC;;;IAGvB,OAAOlC,iCAAM,CAAa,GAAGmB,yBAAqBK,MAAM,CAAC,GAAGL,wBAAoBG,GAAG,CAACa,MAAM,CAAC;EAC7F,CAAC,CAAC;AACJ;AAEA,SAASC,GAAG,CAAIC,MAAiB;EAC/B,OAAOtC,uBAAc;IACnBuC,IAAI,EAAEvC,wBAAe,KAAK,CAAC;IAC3B,CAACF,UAAU,GAAGE,6BAAoBF,UAAU,CAAC;IAC7C,CAAC0C,MAAM,CAACC,QAAQ,GAACzC;GAClB,CAAC;AACJ;AAEA,SAAS0C,IAAI,CAAI3C,KAAgB;EAC/B,OAAOC,qBAAY,MACjBA,uBAAc;IACZuC,IAAI,EAAEvC,wBAAe,MAAM,CAAC;IAC5B,CAACF,UAAU,GAAGE,6BAAoBF,UAAU,CAAC;IAC7C,CAAC0C,MAAM,CAACC,QAAQ,GAACzC,mBAAY;IAC7B2C,IAAI,EAAE5C,KAAK;IACX6C,IAAI,EAAE1C,MAAM,CAACH,KAAK;GACnB,CAAC,CACH;AACH;AAEA,SAASG,MAAM,CAAIH,KAAgB;EACjC,OAAOC,qBAAY,MAAMA,sBAAaqC,GAAG,CAACtC,KAAK,CAAC,EAAE2C,IAAI,CAAC3C,KAAK,CAAC,CAAC,CAAC;AACjE;AAEA,SAASQ,GAAG,CAAIR,KAAoB;EAClC,OAAO8C,qBAAsBC,KAAK,IAAKpC,qBAAUoC,KAAK,CAAC,EAAhDD,uBAAU9C,KAAK,CAAC,CAAiC;AAC1D","names":["list","listFromArray","ListTypeId","value","tsplus_module_4","tsplus_module_1","inline","parser","tsplus_module_3","empty","annotate","gen","list_1","input","tsplus_module_5","Array","from","deriveList","listFromArray_1","schema","tsplus_module_14","u","options","tsplus_module_7","tsplus_module_9","tsplus_module_8","ast","out","ListBuffer","errors","allErrors","index","v","t","tsplus_module_11","tsplus_module_12","tsplus_module_13","left","append","right","toList","nil","_value","_tag","Symbol","iterator","cons","head","tail","tsplus_module_15","array"],"sourceRoot":"","sources":["../../../_src/Schema/api/list.ts"],"sourcesContent":[null]}
@@ -0,0 +1,64 @@
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";
4
+ import * as tsplus_module_4 from "@fncts/schema/Schema/api";
5
+ import * as tsplus_module_5 from "@fncts/base/data/Maybe/constructors";
6
+ import * as tsplus_module_6 from "@fncts/base/data/Maybe/api";
7
+ import * as tsplus_module_7 from "@fncts/base/data/function/api";
8
+ import * as tsplus_module_8 from "@fncts/base/data/Maybe/definition";
9
+ import * as tsplus_module_9 from "@fncts/schema/ParseError";
10
+ import * as tsplus_module_10 from "@fncts/schema/ParseResult";
11
+ import * as tsplus_module_11 from "@fncts/schema/Parser/api";
12
+ import * as tsplus_module_12 from "@fncts/base/data/Either/api";
13
+ import * as tsplus_module_13 from "@fncts/schema/Parser/definition";
14
+ import * as tsplus_module_14 from "@fncts/base/data/Equatable/definition";
15
+ import * as tsplus_module_15 from "@fncts/base/data/Hashable/definition";
16
+ export const maybe = maybe_1;
17
+ export const maybeFromNullable = maybeFromNullable_1;
18
+ /**
19
+ * @tsplus static fncts.schema.SchemaOps maybe
20
+ * @tsplus getter fncts.schema.Schema maybe
21
+ */
22
+ function maybe_1(value) {
23
+ return tsplus_module_4.declaration(tsplus_module_1.vector(value), maybeInline(value), maybeParser, tsplus_module_3.ASTAnnotationMap.empty.annotate(tsplus_module_2.Identifier, "Maybe"));
24
+ }
25
+ /**
26
+ * @tsplus static fncts.schema.SchemaOps maybeFromNullable
27
+ * @tsplus getter fncts.schema.Schema maybeFromNullable
28
+ */
29
+ function maybeFromNullable_1(value) {
30
+ return tsplus_module_4.transform(maybe_1(value), tsplus_module_5.fromNullable, input => tsplus_module_6.getOrElse(() => null)(input))(tsplus_module_4.union(tsplus_module_4._undefined, tsplus_module_4.nullable(value)));
31
+ }
32
+ /**
33
+ * @tsplus derive fncts.schema.Schema[fncts.Maybe]<_> 10
34
+ */
35
+ export function deriveMaybe(...[value]) {
36
+ return maybeFromNullable_1(value);
37
+ }
38
+ function maybeParser(value) {
39
+ const schema = maybe_1(value);
40
+ return tsplus_module_13.make((u, options) => {
41
+ if (!tsplus_module_8.isMaybe(u)) {
42
+ return tsplus_module_10.fail(tsplus_module_9.typeError(schema.ast, u));
43
+ }
44
+ void 0;
45
+ if (tsplus_module_8.isNothing(u)) {
46
+ return tsplus_module_10.succeed(tsplus_module_5.nothing());
47
+ } else {
48
+ return tsplus_module_12.map(a => tsplus_module_5.just(a))(tsplus_module_11.decode(value)(u.value, options));
49
+ }
50
+ });
51
+ }
52
+ function maybeInline(value) {
53
+ return tsplus_module_4.union(tsplus_module_4.struct({
54
+ _tag: tsplus_module_4.literal("Nothing"),
55
+ [tsplus_module_14.equalsSymbol]: tsplus_module_4.any,
56
+ [tsplus_module_15.hashSymbol]: tsplus_module_4.any
57
+ }), tsplus_module_4.struct({
58
+ _tag: tsplus_module_4.literal("Just"),
59
+ value,
60
+ [tsplus_module_14.equalsSymbol]: tsplus_module_4.any,
61
+ [tsplus_module_15.hashSymbol]: tsplus_module_4.any
62
+ }));
63
+ }
64
+ //# sourceMappingURL=maybe.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maybe.mjs","mappings":";;;;;;;;;;;;;;;aAMgBA,KAAK;aAaLC,iBAAiB;AAjBjC;;;;AAIA,iBAAyBC,KAAgB;EACvC,OAAOC,4BACLC,uBAAOF,KAAK,CAAC,EACbG,WAAW,CAACH,KAAK,CAAC,EAClBI,WAAW,EACXC,gCAAgB,CAACC,KAAK,CAACC,QAAQ,6BAA2B,OAAO,CAAC,CACnE;AACH;AAEA;;;;AAIA,6BAAqCP,KAAgB;EACnD,OAAOC,kCAAyDD,KAAK,iCAA6BQ,KAAK,IACrGC,gCAAgB,IAAI,EAApBD,KAAK,CAAgB,EADhBP,2EAA+BD,KAAK,EAAU,CAEpD;AACH;AAEA;;;AAGA,OAAM,SAAUU,WAAW,CACzB,GAAG,CAACV,KAAK,CAIA;EAET,OAAoBW,oBAAkBX,KAAK,CAAC;AAC9C;AAEA,SAASI,WAAW,CAAIJ,KAAgB;EACtC,MAAMY,MAAM,GAAGC,QAAMb,KAAK,CAAC;EAC3B,OAAOc,sBAAY,CAACC,CAAC,EAAEC,OAAO,KAAI;IAChC,IAAI,CAACC,wBAAcF,CAAC,CAAC,EAAE;MACrB,OAAOG,sBAAiBC,0BAAqBP,MAAM,CAACQ,GAAG,EAAEL,CAAC,CAAC,CAAC;;IAE9D;IACA,IAAIE,2BAAC,CAAY,EAAE;MACjB,OAAOC,yBAAoBG,yBAAS,CAAC;KACtC,MAAM;MACL,OAAOC,qBAAoCC,CAAC,IAAKF,qBAAKE,CAAC,CAAC,EAAjDC,6BAAK,EAAQT,CAAC,CAACf,KAAK,EAAEgB,OAAO,CAAC,CAAoB;;EAE7D,CAAC,CAAC;AACJ;AAEA,SAASb,WAAW,CAAIH,KAAgB;EACtC,OAAOC,sBACLA,uBAAc;IACZwB,IAAI,EAAExB,wBAAe,SAAS,CAAC;IAC/B,iCAAeA,mBAAY;IAC3B,+BAAaA;GACd,CAAC,EACFA,uBAAc;IACZwB,IAAI,EAAExB,wBAAe,MAAM,CAAC;IAC5BD,KAAK;IACL,iCAAeC,mBAAY;IAC3B,+BAAaA;GACd,CAAC,CAC4B;AAClC","names":["maybe","maybeFromNullable","value","tsplus_module_4","tsplus_module_1","maybeInline","maybeParser","tsplus_module_3","empty","annotate","input","tsplus_module_6","deriveMaybe","maybeFromNullable_1","schema","maybe_1","tsplus_module_13","u","options","tsplus_module_8","tsplus_module_10","tsplus_module_9","ast","tsplus_module_5","tsplus_module_12","a","tsplus_module_11","_tag"],"sourceRoot":"","sources":["../../../_src/Schema/api/maybe.ts"],"sourcesContent":[null]}