@fncts/schema 0.0.4 → 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,424 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.any = exports.annotate = exports._void = exports._undefined = exports._null = void 0;
7
+ exports.array = array;
8
+ exports.boolean = exports.bigint = void 0;
9
+ exports.brand = brand;
10
+ exports.declaration = declaration;
11
+ exports.enum = enum_1;
12
+ exports.enum_ = void 0;
13
+ exports.extend = extend;
14
+ exports.filter = void 0;
15
+ exports.instanceOf = instanceOf;
16
+ exports.isParseOptional = exports.isOptional = void 0;
17
+ exports.keyof = keyof;
18
+ exports.lazy = lazy;
19
+ exports.literal = literal;
20
+ exports.make = void 0;
21
+ exports.mutableArray = mutableArray;
22
+ exports.null = exports.never = void 0;
23
+ exports.nullable = nullable;
24
+ exports.object = exports.number = void 0;
25
+ exports.optional = optional;
26
+ exports.parseOptional = parseOptional;
27
+ exports.record = record;
28
+ exports.string = void 0;
29
+ exports.struct = struct;
30
+ exports.symbol = void 0;
31
+ exports.templateLiteral = templateLiteral;
32
+ exports.transformOrFail = exports.transform = void 0;
33
+ exports.tuple = tuple;
34
+ exports.union = exports.undefined = void 0;
35
+ exports.uniqueSymbol = uniqueSymbol;
36
+ exports.void = exports.unknown = void 0;
37
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/Schema/definition"));
38
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
39
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/AST"));
40
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/ParseResult"));
41
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/ParseError"));
42
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/ASTAnnotation"));
43
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
44
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/Schema/api/maybe"));
45
+ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
46
+ var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
47
+ var _Showable = /*#__PURE__*/require("@fncts/base/data/Showable");
48
+ var _AST2 = /*#__PURE__*/require("../AST.cjs");
49
+ var _utils = /*#__PURE__*/require("../utils.cjs");
50
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
52
+ const make = make_1;
53
+ exports.make = make;
54
+ const annotate = annotate_1;
55
+ exports.annotate = annotate;
56
+ const filter = filter_1;
57
+ exports.filter = filter;
58
+ const union = union_1;
59
+ exports.union = union;
60
+ const isOptional = isOptional_1;
61
+ exports.isOptional = isOptional;
62
+ const isParseOptional = isParseOptional_1;
63
+ exports.isParseOptional = isParseOptional;
64
+ const enum_ = enum_1;
65
+ exports.enum_ = enum_;
66
+ const transformOrFail = transformOrFail_1;
67
+ exports.transformOrFail = transformOrFail;
68
+ const transform = transform_1;
69
+ exports.transform = transform;
70
+ /**
71
+ * @tsplus static fncts.schema.SchemaOps fromAST
72
+ */
73
+ function make_1(ast) {
74
+ return new tsplus_module_1.Schema(ast);
75
+ }
76
+ /**
77
+ * @tsplus pipeable fncts.schema.Schema annotate
78
+ */
79
+ function annotate_1(annotation, value) {
80
+ return self => {
81
+ return make_1(self.ast.clone({
82
+ annotations: self.ast.annotations.annotate(annotation, value)
83
+ }));
84
+ };
85
+ }
86
+ /**
87
+ * @tsplus static fncts.schema.SchemaOps declaration
88
+ */
89
+ function declaration(typeParameters, type, decode, annotations) {
90
+ return make_1(tsplus_module_3.createDeclaration(tsplus_module_2.map(tp => tp.ast)(typeParameters), type.ast, (...typeParameters) => decode(...typeParameters.map(make_1)), annotations));
91
+ }
92
+ function filter_1(predicate) {
93
+ return self => {
94
+ const ast = tsplus_module_3.createRefinement(self.ast, a => predicate(a) ? tsplus_module_4.succeed(a) : tsplus_module_4.fail(tsplus_module_5.typeError(ast, a)), false);
95
+ return make_1(ast);
96
+ };
97
+ }
98
+ /**
99
+ * @tsplus pipeable fncts.schema.Schema brand
100
+ */
101
+ function brand(validation) {
102
+ return self => {
103
+ const ast = tsplus_module_3.createRefinement(self.ast, a => validation.validate(a) ? tsplus_module_4.succeed(a) : tsplus_module_4.fail(tsplus_module_5.typeError(ast, a)), false, self.ast.annotations.annotate(tsplus_module_6.Brand, tsplus_module_2.vector(validation)));
104
+ return make_1(ast);
105
+ };
106
+ }
107
+ function makeLiteral(value) {
108
+ return make_1(tsplus_module_3.createLiteral(value));
109
+ }
110
+ /**
111
+ * @tsplus static fncts.schema.SchemaOps literal
112
+ */
113
+ function literal(...literals) {
114
+ return union_1(...literals.map(makeLiteral));
115
+ }
116
+ /**
117
+ * @tsplus static fncts.schema.SchemaOps never
118
+ * @tsplus implicit
119
+ */
120
+ const never = /*#__PURE__*/make_1(tsplus_module_3.neverKeyword);
121
+ /**
122
+ * @tsplus static fncts.schema.SchemaOps unknown
123
+ * @tsplus implicit
124
+ */
125
+ exports.never = never;
126
+ const unknown = /*#__PURE__*/make_1(tsplus_module_3.unknownKeyword);
127
+ /**
128
+ * @tsplus static fncts.schema.SchemaOps any
129
+ */
130
+ exports.unknown = unknown;
131
+ const any = /*#__PURE__*/make_1(tsplus_module_3.anyKeyword);
132
+ /**
133
+ * @tsplus static fncts.schema.SchemaOps undefined
134
+ * @tsplus implicit
135
+ */
136
+ exports.any = any;
137
+ const _undefined_1 = /*#__PURE__*/make_1(tsplus_module_3.undefinedKeyword);
138
+ exports.undefined = _undefined_1;
139
+ const _undefined = _undefined_1;
140
+ exports._undefined = _undefined;
141
+ /**
142
+ * @tsplus static fncts.schema.SchemaOps null
143
+ * @tsplus implicit
144
+ */
145
+ const _null_1 = /*#__PURE__*/make_1( /*#__PURE__*/tsplus_module_3.createLiteral(null));
146
+ exports.null = _null_1;
147
+ const _null = _null_1;
148
+ exports._null = _null;
149
+ /**
150
+ * @tsplus static fncts.schema.SchemaOps void
151
+ * @tsplus implicit
152
+ */
153
+ const _void_1 = /*#__PURE__*/make_1(tsplus_module_3.voidKeyword);
154
+ exports.void = _void_1;
155
+ const _void = _void_1;
156
+ exports._void = _void;
157
+ /**
158
+ * @tsplus static fncts.schema.SchemaOps string
159
+ * @tsplus implicit
160
+ */
161
+ const string = /*#__PURE__*/make_1(tsplus_module_3.stringKeyword);
162
+ /**
163
+ * @tsplus static fncts.schema.SchemaOps number
164
+ * @tsplus implicit
165
+ */
166
+ exports.string = string;
167
+ const number = /*#__PURE__*/make_1(tsplus_module_3.numberKeyword);
168
+ /**
169
+ * @tsplus static fncts.schema.SchemaOps boolean
170
+ * @tsplus implicit
171
+ */
172
+ exports.number = number;
173
+ const boolean = /*#__PURE__*/make_1(tsplus_module_3.booleanKeyword);
174
+ /**
175
+ * @tsplus static fncts.schema.SchemaOps bigint
176
+ * @tsplus implicit
177
+ */
178
+ exports.boolean = boolean;
179
+ const bigint = /*#__PURE__*/make_1(tsplus_module_3.bigIntKeyword);
180
+ /**
181
+ * @tsplus static fncts.schema.SchemaOps symbol
182
+ * @tsplus implicit
183
+ */
184
+ exports.bigint = bigint;
185
+ const symbol = /*#__PURE__*/make_1(tsplus_module_3.symbolKeyword);
186
+ /**
187
+ * @tsplus static fncts.schema.SchemaOps object
188
+ * @tsplus implicit
189
+ */
190
+ exports.symbol = symbol;
191
+ const object = /*#__PURE__*/make_1(tsplus_module_3.objectKeyword);
192
+ /**
193
+ * @tsplus static fncts.schema.SchemaOps union
194
+ * @tsplus derive fncts.schema.Schema<|> 30
195
+ */
196
+ exports.object = object;
197
+ function union_1(...members) {
198
+ return make_1(tsplus_module_3.createUnion(tsplus_module_2.from(members.map(m => m.ast))));
199
+ }
200
+ /**
201
+ * @tsplus getter fncts.schema.Schema nullable
202
+ */
203
+ function nullable(self) {
204
+ return union_1(_null_1, self);
205
+ }
206
+ /**
207
+ * @tsplus static fncts.schema.SchemaOps uniqueSymbol
208
+ */
209
+ function uniqueSymbol(symbol, annotations) {
210
+ return make_1(tsplus_module_3.createUniqueSymbol(symbol, annotations));
211
+ }
212
+ /**
213
+ * @tsplus getter fncts.schema.Schema optional
214
+ */
215
+ function optional(self) {
216
+ return make_1(self.ast.clone({
217
+ annotations: self.ast.annotations.annotate(tsplus_module_6.Optional, true)
218
+ }));
219
+ }
220
+ /**
221
+ * @tsplus fluent fncts.schema.Schema isOptional
222
+ */
223
+ function isOptional_1(self) {
224
+ return tsplus_module_7.getOrElse(() => false)(self.ast.annotations.get(tsplus_module_6.Optional));
225
+ }
226
+ /**
227
+ * @tsplus getter fncts.schema.Schema parseOptional
228
+ */
229
+ function parseOptional(self) {
230
+ return make_1(self.ast.clone({
231
+ annotations: self.ast.annotations.annotate(tsplus_module_6.ParseOptional, true)
232
+ }));
233
+ }
234
+ /**
235
+ * @tsplus fluent fncts.schema.Schema isParseOptional
236
+ */
237
+ function isParseOptional_1(self) {
238
+ return tsplus_module_7.getOrElse(() => false)(self.ast.annotations.get(tsplus_module_6.ParseOptional));
239
+ }
240
+ /**
241
+ * @tsplus static fncts.schema.SchemaOps struct
242
+ */
243
+ function struct(fields) {
244
+ const parseOptionalKeys = tsplus_module_2.filter(key => isParseOptional_1(fields[key]))((0, _utils.ownKeys)(fields));
245
+ const struct = make_1(tsplus_module_3.createTypeLiteral(tsplus_module_2.map(key => tsplus_module_3.createPropertySignature(key, fields[key].ast, isOptional_1(fields[key]), true))((0, _utils.ownKeys)(fields)), tsplus_module_2.empty()));
246
+ if (tsplus_module_2.isEmpty(parseOptionalKeys)) {
247
+ return struct;
248
+ }
249
+ const propertySignatures = struct.ast.propertySignatures;
250
+ const from = make_1(tsplus_module_3.createTypeLiteral(tsplus_module_2.map(p => tsplus_module_2.includes(p.name)(parseOptionalKeys) ? tsplus_module_3.createPropertySignature(p.name, tsplus_module_3.createUnion(tsplus_module_2.vector(tsplus_module_3.undefinedKeyword, tsplus_module_3.createLiteral(null), p.type)), true, p.isReadonly) : p)(propertySignatures), tsplus_module_2.empty()));
251
+ const to = make_1(tsplus_module_3.createTypeLiteral(tsplus_module_2.map(p => {
252
+ if (tsplus_module_2.includes(p.name)(parseOptionalKeys)) {
253
+ if (tsplus_module_3.isLazy(fields[p.name].ast)) {
254
+ return tsplus_module_3.createPropertySignature(p.name, tsplus_module_3.createLazy(() => tsplus_module_8.maybe(fields[p.name]).ast), true, p.isReadonly);
255
+ }
256
+ return tsplus_module_3.createPropertySignature(p.name, tsplus_module_8.maybe(fields[p.name]).ast, true, p.isReadonly);
257
+ }
258
+ return p;
259
+ })(propertySignatures), tsplus_module_2.empty()));
260
+ return transform_1(to, input => {
261
+ const output = {
262
+ ...input
263
+ };
264
+ for (const key of parseOptionalKeys) {
265
+ output[key] = tsplus_module_9.fromNullable(input[key]);
266
+ }
267
+ return output;
268
+ }, input => {
269
+ const output = {
270
+ ...input
271
+ };
272
+ for (const key of parseOptionalKeys) {
273
+ const value = input[key];
274
+ if (tsplus_module_10.isNothing(value)) {
275
+ delete output[key];
276
+ continue;
277
+ }
278
+ output[key] = tsplus_module_7.toUndefined(value);
279
+ }
280
+ return output;
281
+ })(from);
282
+ }
283
+ /**
284
+ * @tsplus static fncts.schema.SchemaOps tuple
285
+ */
286
+ function tuple(...elements) {
287
+ return make_1(tsplus_module_3.createTuple(tsplus_module_2.from(elements.map(schema => tsplus_module_3.createElement(schema.ast, false))), tsplus_module_9.nothing(), true));
288
+ }
289
+ /**
290
+ * @tsplus static fncts.schema.SchemaOps lazy
291
+ */
292
+ function lazy(f, annotations) {
293
+ return make_1(tsplus_module_3.createLazy(() => f().ast, annotations));
294
+ }
295
+ /**
296
+ * @tsplus static fncts.schema.SchemaOps array
297
+ * @tsplus getter fncts.schema.Schema array
298
+ */
299
+ function array(item) {
300
+ return make_1(tsplus_module_3.createTuple(tsplus_module_2.empty(), tsplus_module_9.just(tsplus_module_2.vector(item.ast)), true));
301
+ }
302
+ /**
303
+ * @tsplus static fncts.schema.SchemaOps mutableArray
304
+ * @tsplus getter fncts.schema.Schema mutableArray
305
+ */
306
+ function mutableArray(item) {
307
+ return make_1(tsplus_module_3.createTuple(tsplus_module_2.empty(), tsplus_module_9.just(tsplus_module_2.vector(item.ast)), false));
308
+ }
309
+ /**
310
+ * @tsplus static fncts.schema.SchemaOps record
311
+ */
312
+ function record(key, value) {
313
+ return make_1(tsplus_module_3.createRecord(key.ast, value.ast, true));
314
+ }
315
+ /**
316
+ * @tsplus static fncts.schema.SchemaOps enum
317
+ */
318
+ function enum_1(enums) {
319
+ return make_1(tsplus_module_3.createEnum(tsplus_module_2.from(Object.keys(enums).filter(key => typeof enums[enums[key]] !== "number").map(key => [key, enums[key]]))));
320
+ }
321
+ function getTemplateLiterals(ast) {
322
+ void 0;
323
+ switch (ast._tag) {
324
+ case 1 /* ASTTag.Literal */:
325
+ return tsplus_module_2.vector(ast);
326
+ case 9 /* ASTTag.NumberKeyword */:
327
+ case 8 /* ASTTag.StringKeyword */:
328
+ return tsplus_module_2.vector(tsplus_module_3.createTemplateLiteral("", tsplus_module_2.vector(new _AST2.TemplateLiteralSpan(ast, ""))));
329
+ case 18 /* ASTTag.Union */:
330
+ return tsplus_module_2.flatMap(getTemplateLiterals)(ast.types);
331
+ default:
332
+ throw new Error(`Unsupported template literal span ${(0, _Showable.show)(ast)}`);
333
+ }
334
+ }
335
+ function combineTemplateLiterals(a, b) {
336
+ if (tsplus_module_3.isLiteral(a)) {
337
+ return tsplus_module_3.isLiteral(b) ? tsplus_module_3.createLiteral(String(a.literal) + String(b.literal)) : tsplus_module_3.createTemplateLiteral(String(a.literal) + b.head, b.spans);
338
+ }
339
+ if (tsplus_module_3.isLiteral(b)) {
340
+ if (!tsplus_module_2.isNonEmpty(a.spans)) {
341
+ throw new Error("Invalid template literal");
342
+ }
343
+ const last = tsplus_module_2.unsafeLast(a.spans);
344
+ return tsplus_module_3.createTemplateLiteral(a.head, tsplus_module_2.append(new _AST2.TemplateLiteralSpan(last.type, last.literal + String(b.literal)))(tsplus_module_2.slice(0, -1)(a.spans)));
345
+ }
346
+ if (!tsplus_module_2.isNonEmpty(a.spans)) {
347
+ throw new Error("Invalid template literal");
348
+ }
349
+ const last = tsplus_module_2.unsafeLast(a.spans);
350
+ return tsplus_module_3.createTemplateLiteral(a.head, tsplus_module_2.concat(b.spans)(tsplus_module_2.append(new _AST2.TemplateLiteralSpan(last.type, last.literal + String(b.head)))(tsplus_module_2.slice(0, -1)(a.spans))));
351
+ }
352
+ /**
353
+ * @tsplus static fncts.schema.SchemaOps templateLiteral
354
+ */
355
+ function templateLiteral(...[head, ...tail]) {
356
+ let types = getTemplateLiterals(head.ast);
357
+ for (const span of tail) {
358
+ types = tsplus_module_2.flatMap(a => tsplus_module_2.map(b => combineTemplateLiterals(a, b))(getTemplateLiterals(span.ast)))(types);
359
+ }
360
+ return make_1(tsplus_module_3.createUnion(types));
361
+ }
362
+ /**
363
+ * @tsplus static fncts.schema.SchemaOps keyof
364
+ * @tsplus getter fncts.schema.Schema keyof
365
+ */
366
+ function keyof(self) {
367
+ return make_1(tsplus_module_3.keyof(self.ast));
368
+ }
369
+ function isOverlappingPropertySignatures(x, y) {
370
+ return tsplus_module_2.some(px => tsplus_module_2.some(py => px.name === py.name)(y.propertySignatures))(x.propertySignatures);
371
+ }
372
+ function isOverlappingIndexSignatures(x, y) {
373
+ return tsplus_module_2.some(ix => tsplus_module_2.some(iy => {
374
+ const bx = (0, _AST2.getParameter)(ix.parameter);
375
+ const by = (0, _AST2.getParameter)(iy.parameter);
376
+ return tsplus_module_3.isStringKeyword(bx) && tsplus_module_3.isStringKeyword(by) || tsplus_module_3.isSymbolKeyword(bx) && tsplus_module_3.isSymbolKeyword(by);
377
+ })(y.indexSignatures))(x.indexSignatures);
378
+ }
379
+ /**
380
+ * @tsplus pipeable fncts.schema.Schema extend
381
+ */
382
+ function extend(that) {
383
+ return self => {
384
+ const selfTypes = tsplus_module_3.isUnion(self.ast) ? self.ast.types : tsplus_module_2.vector(self.ast);
385
+ const thatTypes = tsplus_module_3.isUnion(that.ast) ? that.ast.types : tsplus_module_2.vector(that.ast);
386
+ if (tsplus_module_2.every(tsplus_module_3.isTypeLiteral)(selfTypes) && tsplus_module_2.every(tsplus_module_3.isTypeLiteral)(thatTypes)) {
387
+ return make_1(tsplus_module_3.createUnion(tsplus_module_2.flatMap(x => tsplus_module_2.map(y => {
388
+ if (isOverlappingPropertySignatures(x, y)) {
389
+ throw new Error("`extend` cannot handle overlapping property signatures");
390
+ }
391
+ if (isOverlappingIndexSignatures(x, y)) {
392
+ throw new Error("`extend` cannot handle overlapping index signatures");
393
+ }
394
+ return tsplus_module_3.createTypeLiteral(tsplus_module_2.concat(y.propertySignatures)(x.propertySignatures), tsplus_module_2.concat(y.indexSignatures)(x.indexSignatures));
395
+ })(thatTypes))(selfTypes)));
396
+ }
397
+ throw new Error("`extend can only handle type literals or unions of type literals`");
398
+ };
399
+ }
400
+ /**
401
+ * @tsplus pipeable fncts.schema.Schema instanceOf
402
+ */
403
+ function instanceOf(constructor) {
404
+ return self => {
405
+ return annotate_1(tsplus_module_6.Description, `an instance of ${constructor.name}`)(filter_1(value => value instanceof constructor)(self));
406
+ };
407
+ }
408
+ /**
409
+ * @tsplus pipeable fncts.schema.Schema transformOrFail
410
+ */
411
+ function transformOrFail_1(to, decode, encode) {
412
+ return from => {
413
+ return make_1(tsplus_module_3.createTransform(from.ast, to.ast, decode, encode, false));
414
+ };
415
+ }
416
+ /**
417
+ * @tsplus pipeable fncts.schema.Schema transform
418
+ */
419
+ function transform_1(to, decode, encode) {
420
+ return from => {
421
+ return transformOrFail_1(to, (input, options) => tsplus_module_4.succeed(decode(input, options)), (input, options) => tsplus_module_4.succeed(encode(input, options)))(from);
422
+ };
423
+ }
424
+ //# sourceMappingURL=api.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.cjs","mappings":"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","names":["make","annotate","filter","union","isOptional","isParseOptional","enum_","transformOrFail","transform","ast","Schema","annotation","value","self","make_1","clone","annotations","declaration","typeParameters","type","decode","tsplus_module_3","tsplus_module_2","tp","map","predicate","a","tsplus_module_4","tsplus_module_5","brand","validation","validate","makeLiteral","literal","literals","union_1","never","unknown","any","_undefined_1","_undefined","_null_1","_null","_void_1","_void","string","number","boolean","bigint","symbol","object","members","m","nullable","uniqueSymbol","optional","tsplus_module_7","get","parseOptional","struct","fields","parseOptionalKeys","key","isParseOptional_1","isOptional_1","propertySignatures","from","p","name","isReadonly","to","tsplus_module_8","transform_1","input","output","tsplus_module_9","tsplus_module_10","tuple","elements","schema","lazy","f","array","item","mutableArray","record","enums","Object","keys","getTemplateLiterals","_tag","TemplateLiteralSpan","types","Error","combineTemplateLiterals","b","String","head","spans","last","templateLiteral","tail","span","keyof","isOverlappingPropertySignatures","x","y","px","py","isOverlappingIndexSignatures","ix","iy","bx","parameter","by","indexSignatures","extend","that","selfTypes","thatTypes","instanceOf","constructor","annotate_1","filter_1","encode","transformOrFail_1","options"],"sourceRoot":"","sources":["../../_src/Schema/api.ts"],"sourcesContent":[null]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SchemaVariance = exports.SchemaTypeId = exports.Schema = exports.OptionalSchemaSymbol = void 0;
7
+ var _a;
8
+ const SchemaVariance = /*#__PURE__*/Symbol.for("fncts.schema.Schema.Variance");
9
+ exports.SchemaVariance = SchemaVariance;
10
+ const SchemaTypeId = /*#__PURE__*/Symbol.for("fncts.schema.Schema");
11
+ exports.SchemaTypeId = SchemaTypeId;
12
+ const OptionalSchemaSymbol = /*#__PURE__*/Symbol.for("fncts.schema.Schema.OptionalSchema");
13
+ /**
14
+ * @tsplus type fncts.schema.Schema
15
+ * @tsplus companion fncts.schema.SchemaOps
16
+ */
17
+ exports.OptionalSchemaSymbol = OptionalSchemaSymbol;
18
+ class Schema {
19
+ constructor(ast) {
20
+ this.ast = ast;
21
+ this[_a] = SchemaTypeId;
22
+ }
23
+ }
24
+ exports.Schema = Schema;
25
+ _a = SchemaTypeId;
26
+ //# sourceMappingURL=definition.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definition.cjs","mappings":";;;;;;;AAAO,MAAMA,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAAC;AAGlE,MAAMC,YAAY,gBAAGF,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAAC;AAGvD,MAAME,oBAAoB,gBAAGH,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAOpF;;;;AAAA;AAIM,MAAOG,MAAM;EAKjBC,YAAqBC,GAAQ;IAAR,QAAG,GAAHA,GAAG;IAJf,QAAc,GAAiBJ,YAAY;EAIpB;;AACjC;KALWA,YAAY","names":["SchemaVariance","Symbol","for","SchemaTypeId","OptionalSchemaSymbol","Schema","constructor","ast"],"sourceRoot":"","sources":["../../_src/Schema/definition.ts"],"sourcesContent":[null]}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.deriveArray = deriveArray;
7
+ exports.deriveLazy = deriveLazy;
8
+ exports.deriveLiteral = deriveLiteral;
9
+ exports.deriveRecord = deriveRecord;
10
+ exports.deriveStruct = deriveStruct;
11
+ exports.deriveTuple = deriveTuple;
12
+ exports.deriveValidation = deriveValidation;
13
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
14
+ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/ASTAnnotation"));
15
+ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/AST"));
16
+ var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/Schema/api"));
17
+ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/Schema/api/maybe"));
18
+ var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
19
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
20
+ var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
21
+ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/function/api"));
22
+ var _utils = /*#__PURE__*/require("@fncts/schema/utils");
23
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+ /**
26
+ * @tsplus derive fncts.schema.Schema<_> 10
27
+ */
28
+ function deriveValidation(...[base, brands]) {
29
+ return tsplus_module_4.make(tsplus_module_3.createValidation(base.ast, tsplus_module_1.from(Object.values(brands)), base.ast.annotations.annotate(tsplus_module_2.Brand, tsplus_module_1.from(Object.values(brands)))));
30
+ }
31
+ /**
32
+ * @tsplus derive fncts.schema.Schema<_> 20
33
+ */
34
+ function deriveLiteral(...[value]) {
35
+ return tsplus_module_4.literal(value);
36
+ }
37
+ /**
38
+ * @tsplus derive fncts.schema.Schema<_> 20
39
+ */
40
+ function deriveStruct(...[requiredFields, optionalFields, maybeFields]) {
41
+ const maybeFieldsKeys = (0, _utils.ownKeys)(maybeFields);
42
+ let propertySignatures = tsplus_module_1.map(key => tsplus_module_3.createPropertySignature(key, requiredFields[key].ast, false, true))((0, _utils.ownKeys)(requiredFields));
43
+ if (optionalFields) {
44
+ propertySignatures = tsplus_module_1.concat(tsplus_module_1.map(key => tsplus_module_3.createPropertySignature(key, optionalFields[key].ast, true, true))((0, _utils.ownKeys)(optionalFields)))(propertySignatures);
45
+ }
46
+ const struct = tsplus_module_4.make(tsplus_module_3.createTypeLiteral(propertySignatures, tsplus_module_1.empty()));
47
+ if (tsplus_module_1.isEmpty(maybeFieldsKeys)) {
48
+ return struct;
49
+ }
50
+ propertySignatures = struct.ast.propertySignatures;
51
+ const from = tsplus_module_4.make(tsplus_module_3.createTypeLiteral(tsplus_module_1.concat(tsplus_module_1.map(key => tsplus_module_3.createPropertySignature(key, tsplus_module_3.createUnion(tsplus_module_1.vector(tsplus_module_3.undefinedKeyword, tsplus_module_3.createLiteral(null), maybeFields[key].ast)), true, true))(maybeFieldsKeys))(propertySignatures), tsplus_module_1.empty()));
52
+ const to = tsplus_module_4.make(tsplus_module_3.createTypeLiteral(tsplus_module_1.concat(tsplus_module_1.map(key => tsplus_module_3.createPropertySignature(key, tsplus_module_5.maybe(maybeFields[key]).ast, true, true))(maybeFieldsKeys))(propertySignatures), tsplus_module_1.empty()));
53
+ return tsplus_module_4.transform(to, input => {
54
+ const output = {
55
+ ...input
56
+ };
57
+ for (const key of maybeFieldsKeys) {
58
+ output[key] = tsplus_module_6.fromNullable(input[key]);
59
+ }
60
+ return output;
61
+ }, input => {
62
+ const output = {
63
+ ...input
64
+ };
65
+ for (const key of maybeFieldsKeys) {
66
+ const value = input[key];
67
+ if (tsplus_module_7.isNothing(value)) {
68
+ delete output[key];
69
+ continue;
70
+ }
71
+ output[key] = tsplus_module_8.toUndefined(value);
72
+ }
73
+ return output;
74
+ })(from);
75
+ }
76
+ /**
77
+ * @tsplus derive fncts.schema.Schema<_> 10
78
+ */
79
+ function deriveTuple(...[components]) {
80
+ return tsplus_module_4.tuple(...components);
81
+ }
82
+ /**
83
+ * @tsplus derive fncts.schema.Schema lazy
84
+ */
85
+ function deriveLazy(f) {
86
+ let cached;
87
+ const ast = tsplus_module_3.createLazy(() => {
88
+ if (!cached) {
89
+ cached = f(tsplus_module_4.make(ast)).ast;
90
+ }
91
+ return cached;
92
+ });
93
+ return tsplus_module_4.make(ast);
94
+ }
95
+ /**
96
+ * @tsplus derive fncts.schema.Schema[fncts.Array]<_> 10
97
+ * @tsplus derive fncts.schema.Schema[fncts.ReadonlyArray]<_> 10
98
+ */
99
+ function deriveArray(...[element]) {
100
+ return tsplus_module_4.array(element);
101
+ }
102
+ /**
103
+ * @tsplus derive fncts.schema.Schema<_> 15
104
+ */
105
+ function deriveRecord(...[keySchema, valueSchema]) {
106
+ return tsplus_module_4.record(keySchema, valueSchema);
107
+ }
108
+ //# sourceMappingURL=derivations.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derivations.cjs","mappings":"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","names":["deriveValidation","base","brands","tsplus_module_4","tsplus_module_3","ast","tsplus_module_1","Object","values","annotations","annotate","deriveLiteral","value","deriveStruct","requiredFields","optionalFields","maybeFields","maybeFieldsKeys","propertySignatures","key","struct","from","to","tsplus_module_5","input","output","tsplus_module_6","tsplus_module_7","deriveTuple","components","deriveLazy","f","cached","deriveArray","element","deriveRecord","keySchema","valueSchema"],"sourceRoot":"","sources":["../../_src/Schema/derivations.ts"],"sourcesContent":[null]}