@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.
- package/AST.d.ts +528 -0
- package/ASTAnnotation.d.ts +82 -0
- package/ASTAnnotationMap.d.ts +14 -0
- package/Gen.d.ts +15 -0
- package/InvalidInterpretationError.d.ts +5 -0
- package/ParseError.d.ts +107 -0
- package/ParseResult.d.ts +24 -0
- package/Parser/api.d.ts +42 -0
- package/Parser/definition.d.ts +22 -0
- package/Parser/interpreter.d.ts +6 -0
- package/Parser.d.ts +2 -0
- package/Schema/api/conc.d.ts +18 -0
- package/Schema/api/hashMap.d.ts +21 -0
- package/Schema/api/immutableArray.d.ts +23 -0
- package/Schema/api/list.d.ts +23 -0
- package/Schema/api/maybe.d.ts +21 -0
- package/Schema/api.d.ts +243 -0
- package/Schema/definition.d.ts +29 -0
- package/Schema/derivations.d.ts +70 -0
- package/Schema.d.ts +2 -144
- package/_cjs/AST.cjs +1171 -0
- package/_cjs/AST.cjs.map +1 -0
- package/_cjs/ASTAnnotation.cjs +111 -0
- package/_cjs/ASTAnnotation.cjs.map +1 -0
- package/_cjs/ASTAnnotationMap.cjs +35 -0
- package/_cjs/ASTAnnotationMap.cjs.map +1 -0
- package/_cjs/Gen.cjs +185 -0
- package/_cjs/Gen.cjs.map +1 -0
- package/_cjs/InvalidInterpretationError.cjs +18 -0
- package/_cjs/InvalidInterpretationError.cjs.map +1 -0
- package/_cjs/ParseError.cjs +222 -0
- package/_cjs/ParseError.cjs.map +1 -0
- package/_cjs/{Decoder.cjs → ParseResult.cjs} +24 -22
- package/_cjs/ParseResult.cjs.map +1 -0
- package/_cjs/Parser/api.cjs +80 -0
- package/_cjs/Parser/api.cjs.map +1 -0
- package/_cjs/{Guard.cjs → Parser/definition.cjs} +17 -22
- package/_cjs/Parser/definition.cjs.map +1 -0
- package/_cjs/Parser/interpreter.cjs +409 -0
- package/_cjs/Parser/interpreter.cjs.map +1 -0
- package/_cjs/Parser.cjs +28 -0
- package/_cjs/Parser.cjs.map +1 -0
- package/_cjs/Schema/api/conc.cjs +84 -0
- package/_cjs/Schema/api/conc.cjs.map +1 -0
- package/_cjs/Schema/api/hashMap.cjs +161 -0
- package/_cjs/Schema/api/hashMap.cjs.map +1 -0
- package/_cjs/Schema/api/immutableArray.cjs +90 -0
- package/_cjs/Schema/api/immutableArray.cjs.map +1 -0
- package/_cjs/Schema/api/list.cjs +98 -0
- package/_cjs/Schema/api/list.cjs.map +1 -0
- package/_cjs/Schema/api/maybe.cjs +75 -0
- package/_cjs/Schema/api/maybe.cjs.map +1 -0
- package/_cjs/Schema/api.cjs +424 -0
- package/_cjs/Schema/api.cjs.map +1 -0
- package/_cjs/Schema/definition.cjs +26 -0
- package/_cjs/Schema/definition.cjs.map +1 -0
- package/_cjs/Schema/derivations.cjs +108 -0
- package/_cjs/Schema/derivations.cjs.map +1 -0
- package/_cjs/Schema.cjs +20 -237
- package/_cjs/Schema.cjs.map +1 -1
- package/_cjs/utils.cjs +52 -0
- package/_cjs/utils.cjs.map +1 -0
- package/_mjs/AST.mjs +1060 -0
- package/_mjs/AST.mjs.map +1 -0
- package/_mjs/ASTAnnotation.mjs +80 -0
- package/_mjs/ASTAnnotation.mjs.map +1 -0
- package/_mjs/ASTAnnotationMap.mjs +27 -0
- package/_mjs/ASTAnnotationMap.mjs.map +1 -0
- package/_mjs/Gen.mjs +176 -0
- package/_mjs/Gen.mjs.map +1 -0
- package/_mjs/InvalidInterpretationError.mjs +10 -0
- package/_mjs/InvalidInterpretationError.mjs.map +1 -0
- package/_mjs/ParseError.mjs +200 -0
- package/_mjs/ParseError.mjs.map +1 -0
- package/_mjs/ParseResult.mjs +21 -0
- package/_mjs/ParseResult.mjs.map +1 -0
- package/_mjs/Parser/api.mjs +67 -0
- package/_mjs/Parser/api.mjs.map +1 -0
- package/_mjs/Parser/definition.mjs +15 -0
- package/_mjs/Parser/definition.mjs.map +1 -0
- package/_mjs/Parser/interpreter.mjs +401 -0
- package/_mjs/Parser/interpreter.mjs.map +1 -0
- package/_mjs/Parser.mjs +4 -0
- package/_mjs/Parser.mjs.map +1 -0
- package/_mjs/Schema/api/conc.mjs +72 -0
- package/_mjs/Schema/api/conc.mjs.map +1 -0
- package/_mjs/Schema/api/hashMap.mjs +150 -0
- package/_mjs/Schema/api/hashMap.mjs.map +1 -0
- package/_mjs/Schema/api/immutableArray.mjs +79 -0
- package/_mjs/Schema/api/immutableArray.mjs.map +1 -0
- package/_mjs/Schema/api/list.mjs +87 -0
- package/_mjs/Schema/api/list.mjs.map +1 -0
- package/_mjs/Schema/api/maybe.mjs +64 -0
- package/_mjs/Schema/api/maybe.mjs.map +1 -0
- package/_mjs/Schema/api.mjs +367 -0
- package/_mjs/Schema/api.mjs.map +1 -0
- package/_mjs/Schema/definition.mjs +16 -0
- package/_mjs/Schema/definition.mjs.map +1 -0
- package/_mjs/Schema/derivations.mjs +94 -0
- package/_mjs/Schema/derivations.mjs.map +1 -0
- package/_mjs/Schema.mjs +3 -212
- package/_mjs/Schema.mjs.map +1 -1
- package/_mjs/utils.mjs +41 -0
- package/_mjs/utils.mjs.map +1 -0
- package/_src/AST.ts +1353 -0
- package/_src/ASTAnnotation.ts +98 -0
- package/_src/ASTAnnotationMap.ts +38 -0
- package/_src/Gen.ts +171 -0
- package/_src/InvalidInterpretationError.ts +6 -0
- package/_src/ParseError.ts +237 -0
- package/_src/ParseResult.ts +26 -0
- package/_src/Parser/api.ts +71 -0
- package/_src/Parser/definition.ts +24 -0
- package/_src/Parser/interpreter.ts +442 -0
- package/_src/Parser.ts +4 -0
- package/_src/Schema/api/conc.ts +78 -0
- package/_src/Schema/api/hashMap.ts +184 -0
- package/_src/Schema/api/immutableArray.ts +88 -0
- package/_src/Schema/api/list.ts +96 -0
- package/_src/Schema/api/maybe.ts +68 -0
- package/_src/Schema/api.ts +530 -0
- package/_src/Schema/definition.ts +32 -0
- package/_src/Schema/derivations.ts +185 -0
- package/_src/Schema.ts +4 -254
- package/_src/global.ts +53 -0
- package/_src/utils.ts +48 -0
- package/global.d.ts +52 -0
- package/package.json +2 -2
- package/utils.d.ts +8 -0
- package/Decoder.d.ts +0 -3
- package/Encoder.d.ts +0 -4
- package/Guard.d.ts +0 -3
- package/Schemable.d.ts +0 -39
- package/_cjs/Decoder.cjs.map +0 -1
- package/_cjs/Encoder.cjs +0 -45
- package/_cjs/Encoder.cjs.map +0 -1
- package/_cjs/Guard.cjs.map +0 -1
- package/_cjs/Schemable.cjs +0 -6
- package/_cjs/Schemable.cjs.map +0 -1
- package/_mjs/Decoder.mjs +0 -20
- package/_mjs/Decoder.mjs.map +0 -1
- package/_mjs/Encoder.mjs +0 -36
- package/_mjs/Encoder.mjs.map +0 -1
- package/_mjs/Guard.mjs +0 -20
- package/_mjs/Guard.mjs.map +0 -1
- package/_mjs/Schemable.mjs +0 -2
- package/_mjs/Schemable.mjs.map +0 -1
- package/_src/Decoder.ts +0 -20
- package/_src/Encoder.ts +0 -38
- package/_src/Guard.ts +0 -20
- 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]}
|