@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.
- 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
package/_cjs/Schema.cjs
CHANGED
|
@@ -3,243 +3,26 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
exports
|
|
10
|
-
exports
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
exports.number = void 0;
|
|
15
|
-
exports.partial = partial;
|
|
16
|
-
exports.record = record;
|
|
17
|
-
exports.string = void 0;
|
|
18
|
-
exports.struct = struct;
|
|
19
|
-
exports.tuple = tuple;
|
|
20
|
-
exports.union = union;
|
|
21
|
-
exports.unknown = void 0;
|
|
22
|
-
exports.validation = validation;
|
|
23
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/definition"));
|
|
24
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Dictionary/api"));
|
|
25
|
-
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); }
|
|
26
|
-
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; }
|
|
27
|
-
var _a;
|
|
28
|
-
const SchemaVariance = /*#__PURE__*/Symbol.for("fncts.schema.Schema.Variance");
|
|
29
|
-
exports.SchemaVariance = SchemaVariance;
|
|
30
|
-
const SchemaTypeId = /*#__PURE__*/Symbol.for("fncts.schema.Schema");
|
|
31
|
-
exports.SchemaTypeId = SchemaTypeId;
|
|
32
|
-
class Schema {
|
|
33
|
-
constructor() {
|
|
34
|
-
this[_a] = SchemaTypeId;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.Schema = Schema;
|
|
38
|
-
_a = SchemaTypeId;
|
|
39
|
-
class UnknownSchema extends Schema {
|
|
40
|
-
constructor() {
|
|
41
|
-
super(...arguments);
|
|
42
|
-
this._tag = 0 /* SchemaTag.Unknown */;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
exports.UnknownSchema = UnknownSchema;
|
|
46
|
-
class StringSchema extends Schema {
|
|
47
|
-
constructor() {
|
|
48
|
-
super(...arguments);
|
|
49
|
-
this._tag = 1 /* SchemaTag.String */;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.StringSchema = StringSchema;
|
|
53
|
-
class NumberSchema extends Schema {
|
|
54
|
-
constructor() {
|
|
55
|
-
super(...arguments);
|
|
56
|
-
this._tag = 2 /* SchemaTag.Number */;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
exports.NumberSchema = NumberSchema;
|
|
60
|
-
class BooleanSchema extends Schema {
|
|
61
|
-
constructor() {
|
|
62
|
-
super(...arguments);
|
|
63
|
-
this._tag = 3 /* SchemaTag.Boolean */;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.BooleanSchema = BooleanSchema;
|
|
67
|
-
class BigIntSchema extends Schema {
|
|
68
|
-
constructor() {
|
|
69
|
-
super(...arguments);
|
|
70
|
-
this._tag = 4 /* SchemaTag.BigInt */;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.BigIntSchema = BigIntSchema;
|
|
74
|
-
class LiteralSchema extends Schema {
|
|
75
|
-
constructor(value) {
|
|
76
|
-
super();
|
|
77
|
-
this.value = value;
|
|
78
|
-
this._tag = 5 /* SchemaTag.Literal */;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
exports.LiteralSchema = LiteralSchema;
|
|
82
|
-
class NullableSchema extends Schema {
|
|
83
|
-
constructor(base) {
|
|
84
|
-
super();
|
|
85
|
-
this.base = base;
|
|
86
|
-
this._tag = 6 /* SchemaTag.Nullable */;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
exports.NullableSchema = NullableSchema;
|
|
90
|
-
class StructSchema extends Schema {
|
|
91
|
-
constructor(fields) {
|
|
92
|
-
super();
|
|
93
|
-
this.fields = fields;
|
|
94
|
-
this._tag = 7 /* SchemaTag.Struct */;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
exports.StructSchema = StructSchema;
|
|
98
|
-
class PartialSchema extends Schema {
|
|
99
|
-
constructor(fields) {
|
|
100
|
-
super();
|
|
101
|
-
this.fields = fields;
|
|
102
|
-
this._tag = 8 /* SchemaTag.Partial */;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
exports.PartialSchema = PartialSchema;
|
|
106
|
-
class ArraySchema extends Schema {
|
|
107
|
-
constructor(base) {
|
|
108
|
-
super();
|
|
109
|
-
this.base = base;
|
|
110
|
-
this._tag = 9 /* SchemaTag.Array */;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
exports.ArraySchema = ArraySchema;
|
|
114
|
-
class RecordSchema extends Schema {
|
|
115
|
-
constructor(base) {
|
|
116
|
-
super();
|
|
117
|
-
this.base = base;
|
|
118
|
-
this._tag = 10 /* SchemaTag.Record */;
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
exports.RecordSchema = RecordSchema;
|
|
122
|
-
class TupleSchema extends Schema {
|
|
123
|
-
constructor(components) {
|
|
124
|
-
super();
|
|
125
|
-
this.components = components;
|
|
126
|
-
this._tag = 11 /* SchemaTag.Tuple */;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
exports.TupleSchema = TupleSchema;
|
|
130
|
-
class LazySchema extends Schema {
|
|
131
|
-
constructor(make) {
|
|
132
|
-
super();
|
|
133
|
-
this.make = make;
|
|
134
|
-
this._tag = 12 /* SchemaTag.Lazy */;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
exports.LazySchema = LazySchema;
|
|
138
|
-
class ValidationSchema extends Schema {
|
|
139
|
-
constructor(base, validations) {
|
|
140
|
-
super();
|
|
141
|
-
this.base = base;
|
|
142
|
-
this.validations = validations;
|
|
143
|
-
this._tag = 13 /* SchemaTag.Validation */;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
exports.ValidationSchema = ValidationSchema;
|
|
147
|
-
class UnionSchema extends Schema {
|
|
148
|
-
constructor(members) {
|
|
149
|
-
super();
|
|
150
|
-
this.members = members;
|
|
151
|
-
this._tag = 14 /* SchemaTag.Union */;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
exports.UnionSchema = UnionSchema;
|
|
155
|
-
const unknown = /*#__PURE__*/new UnknownSchema();
|
|
156
|
-
exports.unknown = unknown;
|
|
157
|
-
const string = /*#__PURE__*/new StringSchema();
|
|
158
|
-
exports.string = string;
|
|
159
|
-
const number = /*#__PURE__*/new NumberSchema();
|
|
160
|
-
exports.number = number;
|
|
161
|
-
const boolean = /*#__PURE__*/new BooleanSchema();
|
|
162
|
-
exports.boolean = boolean;
|
|
163
|
-
const bigint = /*#__PURE__*/new BigIntSchema();
|
|
164
|
-
exports.bigint = bigint;
|
|
165
|
-
function literal(value) {
|
|
166
|
-
return new LiteralSchema(value);
|
|
167
|
-
}
|
|
168
|
-
function nullable(base) {
|
|
169
|
-
return new NullableSchema(base);
|
|
170
|
-
}
|
|
171
|
-
function struct(fields) {
|
|
172
|
-
return new StructSchema(fields);
|
|
173
|
-
}
|
|
174
|
-
function partial(fields) {
|
|
175
|
-
return new PartialSchema(fields);
|
|
176
|
-
}
|
|
177
|
-
function array(base) {
|
|
178
|
-
return new ArraySchema(base);
|
|
179
|
-
}
|
|
180
|
-
function record(base) {
|
|
181
|
-
return new RecordSchema(base);
|
|
182
|
-
}
|
|
183
|
-
function tuple(...components) {
|
|
184
|
-
return new TupleSchema(components).unsafeCoerce();
|
|
185
|
-
}
|
|
186
|
-
function lazy(make) {
|
|
187
|
-
return new LazySchema(make);
|
|
188
|
-
}
|
|
189
|
-
function validation(...validations) {
|
|
190
|
-
return base => new ValidationSchema(base, validations).unsafeCoerce();
|
|
191
|
-
}
|
|
192
|
-
function union(...members) {
|
|
193
|
-
return new UnionSchema(members);
|
|
194
|
-
}
|
|
195
|
-
function concrete(_) {
|
|
196
|
-
//
|
|
197
|
-
}
|
|
198
|
-
function cacheThunk(f) {
|
|
199
|
-
let cached;
|
|
200
|
-
return () => {
|
|
201
|
-
if (!cached) {
|
|
202
|
-
cached = f();
|
|
6
|
+
var _api = /*#__PURE__*/require("./Schema/api.cjs");
|
|
7
|
+
Object.keys(_api).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _api[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _api[key];
|
|
203
14
|
}
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
function
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return S.string;
|
|
215
|
-
case 2 /* SchemaTag.Number */:
|
|
216
|
-
return S.number;
|
|
217
|
-
case 3 /* SchemaTag.Boolean */:
|
|
218
|
-
return S.boolean;
|
|
219
|
-
case 4 /* SchemaTag.BigInt */:
|
|
220
|
-
return S.bigint;
|
|
221
|
-
case 5 /* SchemaTag.Literal */:
|
|
222
|
-
return S.literal(schema.value);
|
|
223
|
-
case 12 /* SchemaTag.Lazy */:
|
|
224
|
-
const cached = cacheThunk(schema.make);
|
|
225
|
-
return S.lazy(() => interpret(S)(cached()));
|
|
226
|
-
case 6 /* SchemaTag.Nullable */:
|
|
227
|
-
return S.nullable(interpret(S)(schema.base));
|
|
228
|
-
case 7 /* SchemaTag.Struct */:
|
|
229
|
-
return S.struct(tsplus_module_1.Dictionary.reverseGet(tsplus_module_2.map(interpret(S))(tsplus_module_1.Dictionary.get(schema.fields))));
|
|
230
|
-
case 8 /* SchemaTag.Partial */:
|
|
231
|
-
return S.partial(tsplus_module_1.Dictionary.reverseGet(tsplus_module_2.map(interpret(S))(tsplus_module_1.Dictionary.get(schema.fields))));
|
|
232
|
-
case 9 /* SchemaTag.Array */:
|
|
233
|
-
return S.array(interpret(S)(schema.base));
|
|
234
|
-
case 10 /* SchemaTag.Record */:
|
|
235
|
-
return S.record(interpret(S)(schema.base));
|
|
236
|
-
case 11 /* SchemaTag.Tuple */:
|
|
237
|
-
return S.tuple(...schema.components.map(interpret(S)));
|
|
238
|
-
case 13 /* SchemaTag.Validation */:
|
|
239
|
-
return S.validation(...schema.validations)(interpret(S)(schema.base));
|
|
240
|
-
case 14 /* SchemaTag.Union */:
|
|
241
|
-
return S.union(schema.members.map(interpret(S)), schema);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
var _definition = /*#__PURE__*/require("./Schema/definition.cjs");
|
|
18
|
+
Object.keys(_definition).forEach(function (key) {
|
|
19
|
+
if (key === "default" || key === "__esModule") return;
|
|
20
|
+
if (key in exports && exports[key] === _definition[key]) return;
|
|
21
|
+
Object.defineProperty(exports, key, {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () {
|
|
24
|
+
return _definition[key];
|
|
242
25
|
}
|
|
243
|
-
};
|
|
244
|
-
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
245
28
|
//# sourceMappingURL=Schema.cjs.map
|
package/_cjs/Schema.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Schema.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"Schema.cjs","mappings":";;;;;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA;AACA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA","names":[],"sourceRoot":"","sources":["../_src/Schema.ts"],"sourcesContent":[null]}
|
package/_cjs/utils.cjs
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getKeysForIndexSignature = getKeysForIndexSignature;
|
|
7
|
+
exports.getTemplateLiteralRegex = getTemplateLiteralRegex;
|
|
8
|
+
exports.memoize = memoize;
|
|
9
|
+
exports.ownKeys = ownKeys;
|
|
10
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector/api"));
|
|
11
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/schema/AST"));
|
|
12
|
+
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); }
|
|
13
|
+
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; }
|
|
14
|
+
function memoize(f) {
|
|
15
|
+
const cache = new Map();
|
|
16
|
+
return a => {
|
|
17
|
+
if (!cache.has(a)) {
|
|
18
|
+
const b = f(a);
|
|
19
|
+
cache.set(a, b);
|
|
20
|
+
return b;
|
|
21
|
+
}
|
|
22
|
+
return cache.get(a);
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function ownKeys(o) {
|
|
26
|
+
return o ? tsplus_module_1.from(Reflect.ownKeys(o)) : tsplus_module_1.empty();
|
|
27
|
+
}
|
|
28
|
+
function getTemplateLiteralRegex(ast) {
|
|
29
|
+
let pattern = `^${ast.head}`;
|
|
30
|
+
for (const span of ast.spans) {
|
|
31
|
+
if (tsplus_module_2.isStringKeyword(span.type)) {
|
|
32
|
+
pattern += ".*";
|
|
33
|
+
} else if (tsplus_module_2.isNumberKeyword(span.type)) {
|
|
34
|
+
pattern += "-?\\d+(\\.\\d+)?";
|
|
35
|
+
}
|
|
36
|
+
pattern += span.literal;
|
|
37
|
+
}
|
|
38
|
+
pattern += "$";
|
|
39
|
+
return new RegExp(pattern);
|
|
40
|
+
}
|
|
41
|
+
function getKeysForIndexSignature(input, parameter) {
|
|
42
|
+
switch (parameter._tag) {
|
|
43
|
+
case 8 /* ASTTag.StringKeyword */:
|
|
44
|
+
case 15 /* ASTTag.TemplateLiteral */:
|
|
45
|
+
return tsplus_module_1.from(Object.keys(input));
|
|
46
|
+
case 12 /* ASTTag.SymbolKeyword */:
|
|
47
|
+
return tsplus_module_1.from(Object.getOwnPropertySymbols(input));
|
|
48
|
+
case 20 /* ASTTag.Refinement */:
|
|
49
|
+
return getKeysForIndexSignature(input, parameter.from);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.cjs","mappings":";;;;;;;;;;;;;AAIM,SAAUA,OAAO,CAAOC,CAAc;EAC1C,MAAMC,KAAK,GAAG,IAAIC,GAAG,EAAE;EACvB,OAAQC,CAAC,IAAI;IACX,IAAI,CAACF,KAAK,CAACG,GAAG,CAACD,CAAC,CAAC,EAAE;MACjB,MAAME,CAAC,GAAGL,CAAC,CAACG,CAAC,CAAC;MACdF,KAAK,CAACK,GAAG,CAACH,CAAC,EAAEE,CAAC,CAAC;MACf,OAAOA,CAAC;;IAEV,OAAOJ,KAAK,CAACM,GAAG,CAACJ,CAAC,CAAC;EACrB,CAAC;AACH;AAEM,SAAUK,OAAO,CAACC,CAAqB;EAC3C,OAAOA,CAAC,GAAGC,qBAAYC,OAAO,CAACH,OAAO,CAACC,CAAC,CAAC,CAAC,GAAGC,uBAAc;AAC7D;AAEM,SAAUE,uBAAuB,CAACC,GAAoB;EAC1D,IAAIC,OAAO,GAAG,IAAID,GAAG,CAACE,IAAI,EAAE;EAC5B,KAAK,MAAMC,IAAI,IAAIH,GAAG,CAACI,KAAK,EAAE;IAC5B,IAAIC,oCAAI,CAACC,IAAI,CAAkB,EAAE;MAC/BL,OAAO,IAAI,IAAI;KAChB,MAAM,IAAII,oCAAI,CAACC,IAAI,CAAkB,EAAE;MACtCL,OAAO,IAAI,kBAAkB;;IAE/BA,OAAO,IAAIE,IAAI,CAACI,OAAO;;EAEzBN,OAAO,IAAI,GAAG;EACd,OAAO,IAAIO,MAAM,CAACP,OAAO,CAAC;AAC5B;AAEM,SAAUQ,wBAAwB,CACtCC,KAA6C,EAC7CC,SAAsC;EAEtC,QAAQA,SAAS,CAACC,IAAI;IACpB;IACA;MACE,OAAOf,qBAAYgB,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAAC;IACxC;MACE,OAAOb,qBAAYgB,MAAM,CAACE,qBAAqB,CAACL,KAAK,CAAC,CAAC;IACzD;MACE,OAAOD,wBAAwB,CAACC,KAAK,EAAEC,SAAS,CAACK,IAAW,CAAC;EAAC;AAEpE","names":["memoize","f","cache","Map","a","has","b","set","get","ownKeys","o","tsplus_module_1","Reflect","getTemplateLiteralRegex","ast","pattern","head","span","spans","tsplus_module_2","type","literal","RegExp","getKeysForIndexSignature","input","parameter","_tag","Object","keys","getOwnPropertySymbols","from"],"sourceRoot":"","sources":["../_src/utils.ts"],"sourcesContent":[null]}
|