@strictly/define 0.0.1 → 0.0.2
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/.out/index.d.ts +17 -11
- package/.out/index.js +17 -11
- package/.out/transformers/copies/copy.d.ts +3 -3
- package/.out/transformers/copies/copy_to.d.ts +3 -3
- package/.out/transformers/copies/copy_to.js +4 -0
- package/.out/transformers/copies/mobx_copy.d.ts +4 -4
- package/.out/transformers/copies/mobx_copy.js +1 -1
- package/.out/transformers/copies/specs/copy_to.tests.js +8 -8
- package/.out/transformers/copies/specs/mobx_copy.tests.js +1 -1
- package/.out/transformers/flatteners/flatten_accessors_of_type.d.ts +5 -0
- package/.out/transformers/flatteners/flatten_accessors_of_type.js +11 -0
- package/.out/transformers/flatteners/flatten_json_value_to_type_paths_of.d.ts +2 -2
- package/.out/transformers/flatteners/flatten_json_value_to_type_paths_of.js +2 -2
- package/.out/transformers/flatteners/{flatten_type_def_to.d.ts → flatten_type_to.d.ts} +1 -1
- package/.out/transformers/flatteners/{flatten_type_def_to.js → flatten_type_to.js} +1 -1
- package/.out/transformers/flatteners/{flatten_type_defs_of.d.ts → flatten_types_of_type.d.ts} +1 -1
- package/.out/transformers/flatteners/flatten_types_of_type.js +7 -0
- package/.out/transformers/flatteners/flatten_validation_errors_of_type.d.ts +22 -0
- package/.out/transformers/flatteners/flatten_validation_errors_of_type.js +10 -0
- package/.out/transformers/flatteners/flatten_validators_of_validating_type.d.ts +4 -0
- package/.out/transformers/flatteners/flatten_validators_of_validating_type.js +17 -0
- package/.out/transformers/flatteners/{flatten_value_type_to.d.ts → flatten_value_to.d.ts} +4 -4
- package/.out/transformers/flatteners/{flatten_value_type_to.js → flatten_value_to.js} +7 -2
- package/.out/transformers/flatteners/flatten_values_of_type.d.ts +3 -0
- package/.out/transformers/flatteners/flatten_values_of_type.js +7 -0
- package/.out/transformers/flatteners/specs/{flatten_accessors_of.tests.js → flatten_accessors_of_type.tests.js} +5 -6
- package/.out/transformers/flatteners/specs/flatten_json_value_to_type_paths_of.tests.js +6 -6
- package/.out/transformers/flatteners/specs/{flatten_type_def_to.tests.js → flatten_type_to.tests.js} +15 -13
- package/.out/transformers/flatteners/specs/flatten_types_of_type.tests.js +18 -0
- package/.out/transformers/flatteners/specs/flatten_validation_errors_of_type.tests.js +25 -0
- package/.out/transformers/flatteners/specs/{flatten_value_type_to.tests.js → flatten_value_to.tests.js} +81 -58
- package/.out/transformers/flatteners/specs/{flatten_value_types_of.tests.js → flatten_values_of_type.tests.js} +4 -4
- package/.out/transformers/flatteners/specs/value_path_to_type_path.tests.js +5 -3
- package/.out/transformers/flatteners/value_path_to_type_path.d.ts +1 -1
- package/.out/tsconfig.tsbuildinfo +1 -1
- package/.out/types/builders.d.ts +55 -29
- package/.out/types/builders.js +116 -32
- package/.out/types/definitions.d.ts +1 -1
- package/.out/types/flattened_accessors_of_type.d.ts +9 -0
- package/.out/types/{flattened_type_defs_of.d.ts → flattened_types_of_type.d.ts} +9 -6
- package/.out/types/flattened_types_of_validating_type.d.ts +25 -0
- package/.out/types/flattened_validators_of_validating_type.d.ts +10 -0
- package/.out/types/flattened_values_of_type.d.ts +6 -0
- package/.out/types/{mobx_value_type_of.d.ts → mobx_value_of_type.d.ts} +2 -2
- package/.out/types/{partial_type_def_of.d.ts → partial_type_of_type.d.ts} +1 -1
- package/.out/types/path_of.d.ts +1 -0
- package/.out/types/{json_paths_of.d.ts → paths_of_type.d.ts} +5 -5
- package/.out/types/readonly_type_of_type.d.ts +29 -0
- package/.out/types/specs/builder.tests.js +73 -23
- package/.out/types/specs/{flattened_accessors_of.tests.js → flattened_accessors_of_type.tests.js} +1 -1
- package/.out/types/specs/{flattened_type_defs_of.tests.js → flattened_types_of_type.tests.js} +22 -15
- package/.out/types/specs/flattened_validators_of_validating_type.tests.js +24 -0
- package/.out/types/specs/flattened_values_of_type.tests.js +18 -0
- package/.out/types/specs/{partial_type_def_of.tests.js → partial_type_of_type.tests.js} +4 -4
- package/.out/types/specs/{json_paths_of.tests.js → paths_of_type.tests.js} +19 -19
- package/.out/types/specs/{readonly_type_def_of.tests.js → readonly_type_of_type.tests.js} +6 -6
- package/.out/types/specs/type_of_type.tests.d.ts +1 -0
- package/.out/types/specs/type_of_type.tests.js +27 -0
- package/.out/types/specs/value_of_type.tests.d.ts +1 -0
- package/.out/types/specs/{value_type_of.tests.js → value_of_type.tests.js} +1 -1
- package/.out/types/specs/value_to_type_paths_of_type.tests.d.ts +1 -0
- package/.out/types/specs/{value_to_type_paths_of.tests.js → value_to_type_paths_of_type.tests.js} +9 -9
- package/.out/types/specs/value_types_of_discriminated_union.tests.js +2 -2
- package/.out/types/strict_definitions.d.ts +2 -2
- package/.out/types/type_of_type.d.ts +49 -0
- package/.out/types/type_of_type.js +70 -0
- package/.out/types/validating_definitions.d.ts +49 -0
- package/.out/types/validating_definitions.js +1 -0
- package/.out/types/validating_type_def_with_error.d.ts +55 -0
- package/.out/types/validating_type_def_with_error.js +1 -0
- package/.out/types/value_of_type.d.ts +24 -0
- package/.out/types/value_of_type.js +1 -0
- package/.out/types/{value_to_type_paths_of.d.ts → value_to_type_paths_of_type.d.ts} +13 -13
- package/.out/types/value_to_type_paths_of_type.js +1 -0
- package/.out/types/value_types_of_discriminated_union.d.ts +5 -4
- package/.out/validation/errors_of_validators.d.ts +4 -0
- package/.out/validation/errors_of_validators.js +1 -0
- package/.out/validation/specs/errors_of_validators.tests.d.ts +1 -0
- package/.out/validation/specs/errors_of_validators.tests.js +9 -0
- package/.out/validation/specs/validators_of_values.tests.d.ts +1 -0
- package/.out/validation/specs/validators_of_values.tests.js +21 -0
- package/.out/validation/validator.d.ts +21 -0
- package/.out/validation/validator.js +26 -0
- package/.out/validation/validators/defined_validator.d.ts +10 -0
- package/.out/validation/validators/defined_validator.js +18 -0
- package/.out/validation/validators/minimum_string_length_validator.d.ts +16 -0
- package/.out/validation/validators/minimum_string_length_validator.js +23 -0
- package/.out/validation/validators_of_values.d.ts +4 -0
- package/.out/validation/validators_of_values.js +1 -0
- package/.turbo/turbo-build.log +9 -9
- package/.turbo/turbo-check-types.log +1 -1
- package/.turbo/turbo-release$colon$exports.log +1 -1
- package/README.md +16 -2
- package/dist/index.cjs +364 -76
- package/dist/index.d.cts +365 -114
- package/dist/index.d.ts +365 -114
- package/dist/index.js +355 -73
- package/index.ts +17 -11
- package/package.json +11 -3
- package/transformers/copies/copy.ts +4 -4
- package/transformers/copies/copy_to.ts +11 -7
- package/transformers/copies/mobx_copy.ts +6 -6
- package/transformers/copies/specs/copy_to.tests.ts +8 -8
- package/transformers/copies/specs/mobx_copy.tests.ts +3 -3
- package/transformers/flatteners/{flatten_accessors_of.ts → flatten_accessors_of_type.ts} +10 -10
- package/transformers/flatteners/flatten_json_value_to_type_paths_of.ts +5 -5
- package/transformers/flatteners/{flatten_type_def_to.ts → flatten_type_to.ts} +1 -1
- package/transformers/flatteners/{flatten_type_defs_of.ts → flatten_types_of_type.ts} +3 -3
- package/transformers/flatteners/flatten_validation_errors_of_type.ts +93 -0
- package/transformers/flatteners/flatten_validators_of_validating_type.ts +32 -0
- package/transformers/flatteners/{flatten_value_type_to.ts → flatten_value_to.ts} +12 -7
- package/transformers/flatteners/{flatten_value_types_of.ts → flatten_values_of_type.ts} +6 -6
- package/transformers/flatteners/specs/{flatten_accessors_of.tests.ts → flatten_accessors_of_type.tests.ts} +10 -11
- package/transformers/flatteners/specs/flatten_json_value_to_type_paths_of.tests.ts +6 -6
- package/transformers/flatteners/specs/{flatten_type_def_to.tests.ts → flatten_type_to.tests.ts} +15 -13
- package/transformers/flatteners/specs/flatten_types_of_type.tests.ts +27 -0
- package/transformers/flatteners/specs/flatten_validation_errors_of_type.tests.ts +48 -0
- package/transformers/flatteners/specs/{flatten_value_type_to.tests.ts → flatten_value_to.tests.ts} +124 -91
- package/transformers/flatteners/specs/{flatten_value_types_of.tests.ts → flatten_values_of_type.tests.ts} +4 -4
- package/transformers/flatteners/specs/value_path_to_type_path.tests.ts +20 -18
- package/transformers/flatteners/value_path_to_type_path.ts +4 -4
- package/types/builders.ts +239 -71
- package/types/definitions.ts +2 -2
- package/types/{flattened_accessors_of.ts → flattened_accessors_of_type.ts} +3 -3
- package/types/{flattened_type_defs_of.ts → flattened_types_of_type.ts} +22 -12
- package/types/flattened_types_of_validating_type.ts +152 -0
- package/types/flattened_validators_of_validating_type.ts +33 -0
- package/types/flattened_values_of_type.ts +11 -0
- package/types/{mobx_value_type_of.ts → mobx_value_of_type.ts} +2 -2
- package/types/{partial_type_def_of.ts → partial_type_of_type.ts} +3 -1
- package/types/{json_path_of.ts → path_of.ts} +1 -1
- package/types/{json_paths_of.ts → paths_of_type.ts} +5 -5
- package/types/readonly_type_of_type.ts +54 -0
- package/types/specs/builder.tests.ts +205 -54
- package/types/specs/{flattened_accessors_of.tests.ts → flattened_accessors_of_type.tests.ts} +3 -3
- package/types/specs/{flattened_type_defs_of.tests.ts → flattened_types_of_type.tests.ts} +82 -34
- package/types/specs/flattened_validators_of_validating_type.tests.ts +47 -0
- package/types/specs/flattened_values_of_type.tests.ts +39 -0
- package/types/specs/{partial_type_def_of.tests.ts → partial_type_of_type.tests.ts} +11 -11
- package/types/specs/{json_paths_of.tests.ts → paths_of_type.tests.ts} +47 -47
- package/types/specs/{readonly_type_def_of.tests.ts → readonly_type_of_type.tests.ts} +14 -14
- package/types/specs/type_of_type.tests.ts +60 -0
- package/types/specs/{value_type_of.tests.ts → value_of_type.tests.ts} +15 -15
- package/types/specs/{value_to_type_paths_of.tests.ts → value_to_type_paths_of_type.tests.ts} +26 -25
- package/types/specs/value_types_of_discriminated_union.tests.ts +6 -6
- package/types/strict_definitions.ts +3 -3
- package/types/type_of_type.ts +178 -0
- package/types/validating_definitions.ts +109 -0
- package/types/validating_type_def_with_error.ts +93 -0
- package/types/value_of_type.ts +84 -0
- package/types/{value_to_type_paths_of.ts → value_to_type_paths_of_type.ts} +30 -29
- package/types/value_types_of_discriminated_union.ts +4 -3
- package/validation/errors_of_validators.ts +10 -0
- package/validation/specs/errors_of_validators.tests.ts +20 -0
- package/validation/specs/validators_of_values.tests.ts +68 -0
- package/validation/validator.ts +103 -0
- package/validation/validators/defined_validator.ts +22 -0
- package/validation/validators/minimum_string_length_validator.ts +36 -0
- package/validation/validators_of_values.ts +17 -0
- package/.out/transformers/flatteners/flatten_accessors_of.d.ts +0 -5
- package/.out/transformers/flatteners/flatten_accessors_of.js +0 -11
- package/.out/transformers/flatteners/flatten_type_defs_of.js +0 -7
- package/.out/transformers/flatteners/flatten_value_types_of.d.ts +0 -3
- package/.out/transformers/flatteners/flatten_value_types_of.js +0 -7
- package/.out/transformers/flatteners/specs/flatten_type_defs_of.tests.js +0 -17
- package/.out/types/flattened_accessors_of.d.ts +0 -9
- package/.out/types/flattened_value_types_of.d.ts +0 -6
- package/.out/types/json_path_of.d.ts +0 -1
- package/.out/types/readonly_type_def_of.d.ts +0 -29
- package/.out/types/specs/flattened_value_types_of.tests.js +0 -11
- package/.out/types/value_type_of.d.ts +0 -24
- package/transformers/flatteners/specs/flatten_type_defs_of.tests.ts +0 -26
- package/types/flattened_value_types_of.ts +0 -11
- package/types/readonly_type_def_of.ts +0 -53
- package/types/specs/flattened_value_types_of.tests.ts +0 -21
- package/types/value_type_of.ts +0 -84
- /package/.out/transformers/flatteners/specs/{flatten_accessors_of.tests.d.ts → flatten_accessors_of_type.tests.d.ts} +0 -0
- /package/.out/transformers/flatteners/specs/{flatten_type_def_to.tests.d.ts → flatten_type_to.tests.d.ts} +0 -0
- /package/.out/transformers/flatteners/specs/{flatten_type_defs_of.tests.d.ts → flatten_types_of_type.tests.d.ts} +0 -0
- /package/.out/transformers/flatteners/specs/{flatten_value_type_to.tests.d.ts → flatten_validation_errors_of_type.tests.d.ts} +0 -0
- /package/.out/transformers/flatteners/specs/{flatten_value_types_of.tests.d.ts → flatten_value_to.tests.d.ts} +0 -0
- /package/.out/{types/flattened_accessors_of.js → transformers/flatteners/specs/flatten_values_of_type.tests.d.ts} +0 -0
- /package/.out/types/{flattened_type_defs_of.js → flattened_accessors_of_type.js} +0 -0
- /package/.out/types/{flattened_value_types_of.js → flattened_types_of_type.js} +0 -0
- /package/.out/types/{json_path_of.js → flattened_types_of_validating_type.js} +0 -0
- /package/.out/types/{json_paths_of.js → flattened_validators_of_validating_type.js} +0 -0
- /package/.out/types/{partial_type_def_of.js → flattened_values_of_type.js} +0 -0
- /package/.out/types/{mobx_value_type_of.js → mobx_value_of_type.js} +0 -0
- /package/.out/types/{readonly_type_def_of.js → partial_type_of_type.js} +0 -0
- /package/.out/types/{specs/flattened_accessors_of.tests.d.ts → path_of.js} +0 -0
- /package/.out/types/{specs/flattened_type_defs_of.tests.d.ts → paths_of_type.js} +0 -0
- /package/.out/types/{specs/flattened_value_types_of.tests.d.ts → readonly_type_of_type.js} +0 -0
- /package/.out/types/specs/{json_paths_of.tests.d.ts → flattened_accessors_of_type.tests.d.ts} +0 -0
- /package/.out/types/specs/{partial_type_def_of.tests.d.ts → flattened_types_of_type.tests.d.ts} +0 -0
- /package/.out/types/specs/{readonly_type_def_of.tests.d.ts → flattened_validators_of_validating_type.tests.d.ts} +0 -0
- /package/.out/types/specs/{value_to_type_paths_of.tests.d.ts → flattened_values_of_type.tests.d.ts} +0 -0
- /package/.out/types/specs/{value_type_of.tests.d.ts → partial_type_of_type.tests.d.ts} +0 -0
- /package/.out/types/{value_to_type_paths_of.js → specs/paths_of_type.tests.d.ts} +0 -0
- /package/.out/types/{value_type_of.js → specs/readonly_type_of_type.tests.d.ts} +0 -0
package/dist/index.cjs
CHANGED
|
@@ -20,14 +20,22 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
+
DefinedValidator: () => DefinedValidator,
|
|
24
|
+
MinimumStringLengthValidationErrorType: () => MinimumStringLengthValidationErrorType,
|
|
25
|
+
MinimumStringLengthValidator: () => MinimumStringLengthValidator,
|
|
23
26
|
TypeDefType: () => TypeDefType,
|
|
27
|
+
annotations: () => annotations,
|
|
24
28
|
booleanType: () => booleanType,
|
|
25
29
|
copy: () => copy,
|
|
26
|
-
|
|
30
|
+
flattenAccessorsOfType: () => flattenAccessorsOfType,
|
|
27
31
|
flattenJsonValueToTypePathsOf: () => flattenJsonValueToTypePathsOf,
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
flattenTypesOfType: () => flattenTypesOfType,
|
|
33
|
+
flattenValidatorsOfValidatingType: () => flattenValidatorsOfValidatingType,
|
|
34
|
+
flattenValueTo: () => flattenValueTo,
|
|
35
|
+
flattenValuesOfType: () => flattenValuesOfType,
|
|
30
36
|
getUnionTypeDef: () => getUnionTypeDef,
|
|
37
|
+
isAnnotatedValidator: () => isAnnotatedValidator,
|
|
38
|
+
isFunctionalValidator: () => isFunctionalValidator,
|
|
31
39
|
jsonPath: () => jsonPath,
|
|
32
40
|
jsonPathPop: () => jsonPathPop,
|
|
33
41
|
list: () => list,
|
|
@@ -40,6 +48,7 @@ __export(index_exports, {
|
|
|
40
48
|
record: () => record,
|
|
41
49
|
stringType: () => stringType,
|
|
42
50
|
union: () => union,
|
|
51
|
+
validate: () => validate,
|
|
43
52
|
valuePathToTypePath: () => valuePathToTypePath
|
|
44
53
|
});
|
|
45
54
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -66,6 +75,9 @@ function copyTo({ definition }, value, copier) {
|
|
|
66
75
|
);
|
|
67
76
|
}
|
|
68
77
|
function internalCopyTo(definition, value, copier) {
|
|
78
|
+
if (value === void 0) {
|
|
79
|
+
return void 0;
|
|
80
|
+
}
|
|
69
81
|
switch (definition.type) {
|
|
70
82
|
case 1 /* Literal */:
|
|
71
83
|
return copyLiteral(
|
|
@@ -190,7 +202,7 @@ function copy(t, proto) {
|
|
|
190
202
|
var import_base3 = require("@strictly/base");
|
|
191
203
|
var import_mobx = require("mobx");
|
|
192
204
|
|
|
193
|
-
// transformers/flatteners/
|
|
205
|
+
// transformers/flatteners/flatten_value_to.ts
|
|
194
206
|
var import_base2 = require("@strictly/base");
|
|
195
207
|
|
|
196
208
|
// transformers/flatteners/json_path.ts
|
|
@@ -209,8 +221,8 @@ function jsonPathPop(path) {
|
|
|
209
221
|
];
|
|
210
222
|
}
|
|
211
223
|
|
|
212
|
-
// transformers/flatteners/
|
|
213
|
-
function
|
|
224
|
+
// transformers/flatteners/flatten_value_to.ts
|
|
225
|
+
function flattenValueTo({ definition }, v, setter, mapper2) {
|
|
214
226
|
const r = {};
|
|
215
227
|
internalFlattenValue(
|
|
216
228
|
"$",
|
|
@@ -218,32 +230,35 @@ function flattenValueTypeTo({ definition }, v, setter, mapper) {
|
|
|
218
230
|
definition,
|
|
219
231
|
v,
|
|
220
232
|
setter,
|
|
221
|
-
|
|
233
|
+
mapper2,
|
|
222
234
|
r
|
|
223
235
|
);
|
|
224
236
|
return r;
|
|
225
237
|
}
|
|
226
|
-
function internalFlattenValue(valuePath, typePath, typeDef, v, setter,
|
|
227
|
-
r[valuePath] =
|
|
228
|
-
|
|
238
|
+
function internalFlattenValue(valuePath, typePath, typeDef, v, setter, mapper2, r) {
|
|
239
|
+
r[valuePath] = mapper2(typeDef, v, setter, typePath, valuePath);
|
|
240
|
+
if (v !== void 0) {
|
|
241
|
+
return internalFlattenValueChildren(valuePath, typePath, "", typeDef, v, mapper2, r);
|
|
242
|
+
}
|
|
243
|
+
return r;
|
|
229
244
|
}
|
|
230
|
-
function internalFlattenValueChildren(valuePath, typePath, qualifier, typeDef, v,
|
|
245
|
+
function internalFlattenValueChildren(valuePath, typePath, qualifier, typeDef, v, mapper2, r) {
|
|
231
246
|
switch (typeDef.type) {
|
|
232
247
|
case 1 /* Literal */:
|
|
233
248
|
return r;
|
|
234
249
|
case 2 /* List */:
|
|
235
|
-
return internalFlattenListChildren(valuePath, typePath, typeDef, v,
|
|
250
|
+
return internalFlattenListChildren(valuePath, typePath, typeDef, v, mapper2, r);
|
|
236
251
|
case 3 /* Record */:
|
|
237
|
-
return internalFlattenRecordChildren(valuePath, typePath, typeDef, v,
|
|
252
|
+
return internalFlattenRecordChildren(valuePath, typePath, typeDef, v, mapper2, r);
|
|
238
253
|
case 4 /* Object */:
|
|
239
|
-
return internalFlattenObjectChildren(valuePath, typePath, qualifier, typeDef, v,
|
|
254
|
+
return internalFlattenObjectChildren(valuePath, typePath, qualifier, typeDef, v, mapper2, r);
|
|
240
255
|
case 5 /* Union */:
|
|
241
|
-
return internalFlattenUnionChildren(valuePath, typePath, qualifier, typeDef, v,
|
|
256
|
+
return internalFlattenUnionChildren(valuePath, typePath, qualifier, typeDef, v, mapper2, r);
|
|
242
257
|
default:
|
|
243
258
|
throw new import_base2.UnreachableError(typeDef);
|
|
244
259
|
}
|
|
245
260
|
}
|
|
246
|
-
function internalFlattenListChildren(valuePath, typePath, { elements }, v,
|
|
261
|
+
function internalFlattenListChildren(valuePath, typePath, { elements }, v, mapper2, r) {
|
|
247
262
|
const newTypePath = jsonPath(typePath, "*");
|
|
248
263
|
return v.reduce(function(r2, e, i) {
|
|
249
264
|
return internalFlattenValue(
|
|
@@ -254,12 +269,12 @@ function internalFlattenListChildren(valuePath, typePath, { elements }, v, mappe
|
|
|
254
269
|
(e2) => {
|
|
255
270
|
v[i] = e2;
|
|
256
271
|
},
|
|
257
|
-
|
|
272
|
+
mapper2,
|
|
258
273
|
r2
|
|
259
274
|
);
|
|
260
275
|
}, r);
|
|
261
276
|
}
|
|
262
|
-
function internalFlattenRecordChildren(valuePath, typePath, { valueTypeDef }, v,
|
|
277
|
+
function internalFlattenRecordChildren(valuePath, typePath, { valueTypeDef }, v, mapper2, r) {
|
|
263
278
|
const newTypePath = jsonPath(typePath, "*");
|
|
264
279
|
return (0, import_base2.reduce)(
|
|
265
280
|
v,
|
|
@@ -272,14 +287,14 @@ function internalFlattenRecordChildren(valuePath, typePath, { valueTypeDef }, v,
|
|
|
272
287
|
(value2) => {
|
|
273
288
|
v[k] = value2;
|
|
274
289
|
},
|
|
275
|
-
|
|
290
|
+
mapper2,
|
|
276
291
|
r2
|
|
277
292
|
);
|
|
278
293
|
},
|
|
279
294
|
r
|
|
280
295
|
);
|
|
281
296
|
}
|
|
282
|
-
function internalFlattenObjectChildren(valuePath, typePath, qualifier, { fields }, v,
|
|
297
|
+
function internalFlattenObjectChildren(valuePath, typePath, qualifier, { fields }, v, mapper2, r) {
|
|
283
298
|
return (0, import_base2.reduce)(
|
|
284
299
|
fields,
|
|
285
300
|
function(r2, k, fieldTypeDef) {
|
|
@@ -292,14 +307,14 @@ function internalFlattenObjectChildren(valuePath, typePath, qualifier, { fields
|
|
|
292
307
|
(value) => {
|
|
293
308
|
v[k] = value;
|
|
294
309
|
},
|
|
295
|
-
|
|
310
|
+
mapper2,
|
|
296
311
|
r2
|
|
297
312
|
);
|
|
298
313
|
},
|
|
299
314
|
r
|
|
300
315
|
);
|
|
301
316
|
}
|
|
302
|
-
function internalFlattenUnionChildren(valuePath, typePath, qualifier, typeDef, v,
|
|
317
|
+
function internalFlattenUnionChildren(valuePath, typePath, qualifier, typeDef, v, mapper2, r) {
|
|
303
318
|
const childTypeDef = getUnionTypeDef(typeDef, v);
|
|
304
319
|
const newQualifier = typeDef.discriminator != null ? `${qualifier}${v[typeDef.discriminator]}:` : qualifier;
|
|
305
320
|
return internalFlattenValueChildren(
|
|
@@ -308,7 +323,7 @@ function internalFlattenUnionChildren(valuePath, typePath, qualifier, typeDef, v
|
|
|
308
323
|
newQualifier,
|
|
309
324
|
childTypeDef,
|
|
310
325
|
v,
|
|
311
|
-
|
|
326
|
+
mapper2,
|
|
312
327
|
r
|
|
313
328
|
);
|
|
314
329
|
}
|
|
@@ -378,15 +393,15 @@ function mobxCopy(t, proto) {
|
|
|
378
393
|
return copyTo(t, proto, observeValue);
|
|
379
394
|
}
|
|
380
395
|
|
|
381
|
-
// transformers/flatteners/
|
|
396
|
+
// transformers/flatteners/flatten_accessors_of_type.ts
|
|
382
397
|
function mapAccessor(_t, value, set) {
|
|
383
398
|
return {
|
|
384
399
|
value,
|
|
385
400
|
set
|
|
386
401
|
};
|
|
387
402
|
}
|
|
388
|
-
function
|
|
389
|
-
return
|
|
403
|
+
function flattenAccessorsOfType(t, value, setValue) {
|
|
404
|
+
return flattenValueTo(
|
|
390
405
|
t,
|
|
391
406
|
value,
|
|
392
407
|
setValue,
|
|
@@ -399,7 +414,7 @@ function mapTypePaths(_t, _value, _set, typePath) {
|
|
|
399
414
|
return typePath;
|
|
400
415
|
}
|
|
401
416
|
function flattenJsonValueToTypePathsOf(t, value) {
|
|
402
|
-
return
|
|
417
|
+
return flattenValueTo(
|
|
403
418
|
t,
|
|
404
419
|
value,
|
|
405
420
|
function() {
|
|
@@ -408,14 +423,14 @@ function flattenJsonValueToTypePathsOf(t, value) {
|
|
|
408
423
|
);
|
|
409
424
|
}
|
|
410
425
|
|
|
411
|
-
// transformers/flatteners/
|
|
426
|
+
// transformers/flatteners/flatten_type_to.ts
|
|
412
427
|
var import_base4 = require("@strictly/base");
|
|
413
|
-
function
|
|
428
|
+
function flattenTypeTo({ definition }, mapper2) {
|
|
414
429
|
const typeDefs = internalFlattenTypeDef("$", definition, {});
|
|
415
430
|
return (0, import_base4.reduce)(
|
|
416
431
|
typeDefs,
|
|
417
432
|
function(acc, key, typeDef) {
|
|
418
|
-
acc[key] =
|
|
433
|
+
acc[key] = mapper2(typeDef);
|
|
419
434
|
return acc;
|
|
420
435
|
},
|
|
421
436
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
@@ -479,9 +494,9 @@ function internalFlattenUnionTypeDefChildren(path, qualifier, {
|
|
|
479
494
|
);
|
|
480
495
|
}
|
|
481
496
|
|
|
482
|
-
// transformers/flatteners/
|
|
483
|
-
function
|
|
484
|
-
return
|
|
497
|
+
// transformers/flatteners/flatten_types_of_type.ts
|
|
498
|
+
function flattenTypesOfType(t) {
|
|
499
|
+
return flattenTypeTo(
|
|
485
500
|
t,
|
|
486
501
|
function(definition) {
|
|
487
502
|
return { definition };
|
|
@@ -489,6 +504,41 @@ function flattenTypeDefsOf(t) {
|
|
|
489
504
|
);
|
|
490
505
|
}
|
|
491
506
|
|
|
507
|
+
// transformers/flatteners/flatten_validators_of_validating_type.ts
|
|
508
|
+
function flattenValidatorsOfValidatingType(type) {
|
|
509
|
+
return flattenTypeTo(type, function(definition) {
|
|
510
|
+
const {
|
|
511
|
+
rule,
|
|
512
|
+
readonly,
|
|
513
|
+
required
|
|
514
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
515
|
+
} = definition;
|
|
516
|
+
return {
|
|
517
|
+
annotations: function() {
|
|
518
|
+
return {
|
|
519
|
+
readonly,
|
|
520
|
+
required
|
|
521
|
+
};
|
|
522
|
+
},
|
|
523
|
+
validate: rule
|
|
524
|
+
};
|
|
525
|
+
});
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// transformers/flatteners/flatten_values_of_type.ts
|
|
529
|
+
function mapper(_t, v) {
|
|
530
|
+
return v;
|
|
531
|
+
}
|
|
532
|
+
function flattenValuesOfType(typeDef, value) {
|
|
533
|
+
return flattenValueTo(
|
|
534
|
+
typeDef,
|
|
535
|
+
value,
|
|
536
|
+
() => {
|
|
537
|
+
},
|
|
538
|
+
mapper
|
|
539
|
+
);
|
|
540
|
+
}
|
|
541
|
+
|
|
492
542
|
// transformers/flatteners/value_path_to_type_path.ts
|
|
493
543
|
var import_base5 = require("@strictly/base");
|
|
494
544
|
function valuePathToTypePath({ definition: typeDef }, valuePath, allowMissingPaths = false) {
|
|
@@ -621,77 +671,222 @@ function internalJsonValuePathToTypePath(typeDef, valueSteps, allowMissingPaths,
|
|
|
621
671
|
}
|
|
622
672
|
}
|
|
623
673
|
|
|
674
|
+
// types/type_of_type.ts
|
|
675
|
+
var import_base6 = require("@strictly/base");
|
|
676
|
+
function typeOfType({ definition }) {
|
|
677
|
+
return {
|
|
678
|
+
definition: typeDefOfTypeDef(definition)
|
|
679
|
+
};
|
|
680
|
+
}
|
|
681
|
+
function typeDefOfTypeDef(t) {
|
|
682
|
+
switch (t.type) {
|
|
683
|
+
case 1 /* Literal */:
|
|
684
|
+
return typeDefOfLiteralTypeDef(t);
|
|
685
|
+
case 2 /* List */:
|
|
686
|
+
return typeDefOfListTypeDef(t);
|
|
687
|
+
case 3 /* Record */:
|
|
688
|
+
return typeDefOfRecordTypeDef(t);
|
|
689
|
+
case 4 /* Object */:
|
|
690
|
+
return typeDefOfObjectTypeDef(t);
|
|
691
|
+
case 5 /* Union */:
|
|
692
|
+
return typeDefOfUnionTypeDef(t);
|
|
693
|
+
default:
|
|
694
|
+
throw new import_base6.UnreachableError(t);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
function typeDefOfLiteralTypeDef({
|
|
698
|
+
type,
|
|
699
|
+
valuePrototype
|
|
700
|
+
}) {
|
|
701
|
+
return {
|
|
702
|
+
type,
|
|
703
|
+
valuePrototype
|
|
704
|
+
};
|
|
705
|
+
}
|
|
706
|
+
function typeDefOfListTypeDef({
|
|
707
|
+
type,
|
|
708
|
+
elements
|
|
709
|
+
}) {
|
|
710
|
+
return {
|
|
711
|
+
type,
|
|
712
|
+
elements: typeDefOfTypeDef(elements)
|
|
713
|
+
};
|
|
714
|
+
}
|
|
715
|
+
function typeDefOfRecordTypeDef({
|
|
716
|
+
type,
|
|
717
|
+
keyPrototype,
|
|
718
|
+
valueTypeDef
|
|
719
|
+
}) {
|
|
720
|
+
return {
|
|
721
|
+
type,
|
|
722
|
+
keyPrototype,
|
|
723
|
+
valueTypeDef: typeDefOfTypeDef(valueTypeDef)
|
|
724
|
+
};
|
|
725
|
+
}
|
|
726
|
+
function typeDefOfObjectTypeDef({
|
|
727
|
+
type,
|
|
728
|
+
fields
|
|
729
|
+
}) {
|
|
730
|
+
return {
|
|
731
|
+
type,
|
|
732
|
+
fields: (0, import_base6.map)(fields, function(_k, v) {
|
|
733
|
+
return typeDefOfTypeDef(v);
|
|
734
|
+
})
|
|
735
|
+
};
|
|
736
|
+
}
|
|
737
|
+
function typeDefOfUnionTypeDef({
|
|
738
|
+
type,
|
|
739
|
+
discriminator,
|
|
740
|
+
unions
|
|
741
|
+
}) {
|
|
742
|
+
return {
|
|
743
|
+
type,
|
|
744
|
+
discriminator,
|
|
745
|
+
unions: (0, import_base6.map)(unions, function(_k, v) {
|
|
746
|
+
return typeDefOfTypeDef(v);
|
|
747
|
+
})
|
|
748
|
+
};
|
|
749
|
+
}
|
|
750
|
+
|
|
624
751
|
// types/builders.ts
|
|
625
|
-
|
|
752
|
+
function emptyRule() {
|
|
753
|
+
return null;
|
|
754
|
+
}
|
|
755
|
+
var TypeDefBuilder = class _TypeDefBuilder {
|
|
626
756
|
constructor(definition) {
|
|
627
757
|
this.definition = definition;
|
|
628
758
|
}
|
|
629
|
-
|
|
630
|
-
|
|
759
|
+
enforce(rule) {
|
|
760
|
+
return new _TypeDefBuilder(
|
|
761
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
762
|
+
{
|
|
763
|
+
...this.definition,
|
|
764
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
765
|
+
rule: (value) => {
|
|
766
|
+
return this.definition.rule(value) || rule(value);
|
|
767
|
+
}
|
|
768
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
769
|
+
}
|
|
770
|
+
);
|
|
771
|
+
}
|
|
772
|
+
required(rule) {
|
|
773
|
+
return new _TypeDefBuilder(
|
|
774
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
775
|
+
{
|
|
776
|
+
...this.definition,
|
|
777
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
778
|
+
rule: (v) => {
|
|
779
|
+
return this.definition.rule(v) || rule?.(v);
|
|
780
|
+
},
|
|
781
|
+
required: true
|
|
782
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
783
|
+
}
|
|
784
|
+
);
|
|
785
|
+
}
|
|
786
|
+
readonly() {
|
|
787
|
+
return new _TypeDefBuilder(
|
|
788
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
789
|
+
{
|
|
790
|
+
...this.definition,
|
|
791
|
+
readonly: true
|
|
792
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
793
|
+
}
|
|
794
|
+
);
|
|
795
|
+
}
|
|
796
|
+
// should only be used in tests requiring Types, client code should be happy with validating types
|
|
797
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
798
|
+
get _type() {
|
|
799
|
+
return typeOfType(this);
|
|
800
|
+
}
|
|
631
801
|
get narrow() {
|
|
632
802
|
return {
|
|
633
803
|
definition: this.definition
|
|
804
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
634
805
|
};
|
|
635
806
|
}
|
|
636
807
|
};
|
|
637
|
-
var
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
808
|
+
var ListTypeDefBuilder = class _ListTypeDefBuilder extends TypeDefBuilder {
|
|
809
|
+
readonlyElements() {
|
|
810
|
+
return new _ListTypeDefBuilder({
|
|
811
|
+
...this.definition,
|
|
812
|
+
elements: {
|
|
813
|
+
...this.definition.elements,
|
|
814
|
+
readonly: true
|
|
815
|
+
}
|
|
816
|
+
});
|
|
642
817
|
}
|
|
643
818
|
};
|
|
644
|
-
var RecordTypeDefBuilder = class extends TypeDefBuilder {
|
|
645
|
-
|
|
819
|
+
var RecordTypeDefBuilder = class _RecordTypeDefBuilder extends TypeDefBuilder {
|
|
820
|
+
partialKeys() {
|
|
646
821
|
return this;
|
|
647
822
|
}
|
|
648
|
-
|
|
649
|
-
return
|
|
823
|
+
readonlyKeys() {
|
|
824
|
+
return new _RecordTypeDefBuilder({
|
|
825
|
+
...this.definition,
|
|
826
|
+
valueTypeDef: {
|
|
827
|
+
...this.definition.valueTypeDef,
|
|
828
|
+
readonly: true
|
|
829
|
+
}
|
|
830
|
+
});
|
|
650
831
|
}
|
|
651
832
|
};
|
|
652
833
|
var ObjectTypeDefBuilder = class _ObjectTypeDefBuilder extends TypeDefBuilder {
|
|
653
|
-
|
|
654
|
-
const newFields = {
|
|
655
|
-
[name]: typeDef
|
|
656
|
-
};
|
|
834
|
+
field(name, { definition }, rule) {
|
|
657
835
|
return new _ObjectTypeDefBuilder({
|
|
658
|
-
|
|
836
|
+
...this.definition,
|
|
837
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
659
838
|
fields: {
|
|
660
839
|
...this.definition.fields,
|
|
661
|
-
|
|
840
|
+
[name]: {
|
|
841
|
+
...definition,
|
|
842
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
843
|
+
rule: function(v) {
|
|
844
|
+
return definition.rule(v) || rule?.(v);
|
|
845
|
+
},
|
|
846
|
+
required: true
|
|
847
|
+
}
|
|
662
848
|
}
|
|
663
849
|
});
|
|
664
850
|
}
|
|
665
|
-
|
|
851
|
+
readonlyField(name, { definition }) {
|
|
666
852
|
const newFields = {
|
|
667
|
-
[name]:
|
|
853
|
+
[name]: {
|
|
854
|
+
...definition,
|
|
855
|
+
required: true,
|
|
856
|
+
readonly: true
|
|
857
|
+
}
|
|
668
858
|
};
|
|
669
859
|
return new _ObjectTypeDefBuilder({
|
|
670
|
-
|
|
860
|
+
...this.definition,
|
|
671
861
|
fields: {
|
|
672
862
|
...this.definition.fields,
|
|
673
863
|
...newFields
|
|
674
864
|
}
|
|
675
865
|
});
|
|
676
866
|
}
|
|
677
|
-
|
|
867
|
+
optionalField(name, { definition }) {
|
|
678
868
|
const newFields = {
|
|
679
|
-
[name]:
|
|
869
|
+
[name]: {
|
|
870
|
+
...definition
|
|
871
|
+
}
|
|
680
872
|
};
|
|
681
873
|
return new _ObjectTypeDefBuilder({
|
|
682
|
-
|
|
874
|
+
...this.definition,
|
|
683
875
|
fields: {
|
|
684
876
|
...this.definition.fields,
|
|
685
877
|
...newFields
|
|
686
878
|
}
|
|
687
879
|
});
|
|
688
880
|
}
|
|
689
|
-
|
|
881
|
+
readonlyOptionalField(name, { definition }) {
|
|
690
882
|
const newFields = {
|
|
691
|
-
[name]:
|
|
883
|
+
[name]: {
|
|
884
|
+
...definition,
|
|
885
|
+
readonly: true
|
|
886
|
+
}
|
|
692
887
|
};
|
|
693
888
|
return new _ObjectTypeDefBuilder({
|
|
694
|
-
|
|
889
|
+
...this.definition,
|
|
695
890
|
fields: {
|
|
696
891
|
...this.definition.fields,
|
|
697
892
|
...newFields
|
|
@@ -700,17 +895,15 @@ var ObjectTypeDefBuilder = class _ObjectTypeDefBuilder extends TypeDefBuilder {
|
|
|
700
895
|
}
|
|
701
896
|
};
|
|
702
897
|
var UnionTypeDefBuilder = class _UnionTypeDefBuilder extends TypeDefBuilder {
|
|
703
|
-
|
|
898
|
+
or(k, {
|
|
704
899
|
definition: typeDef
|
|
705
900
|
}) {
|
|
706
901
|
const {
|
|
707
|
-
discriminator,
|
|
708
902
|
unions
|
|
709
903
|
} = this.definition;
|
|
710
904
|
return new _UnionTypeDefBuilder(
|
|
711
905
|
{
|
|
712
|
-
|
|
713
|
-
discriminator,
|
|
906
|
+
...this.definition,
|
|
714
907
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
715
908
|
unions: {
|
|
716
909
|
...unions,
|
|
@@ -721,9 +914,12 @@ var UnionTypeDefBuilder = class _UnionTypeDefBuilder extends TypeDefBuilder {
|
|
|
721
914
|
}
|
|
722
915
|
};
|
|
723
916
|
function literal(value) {
|
|
724
|
-
return new
|
|
917
|
+
return new TypeDefBuilder({
|
|
725
918
|
type: 1 /* Literal */,
|
|
726
|
-
valuePrototype: value
|
|
919
|
+
valuePrototype: value,
|
|
920
|
+
rule: emptyRule,
|
|
921
|
+
readonly: false,
|
|
922
|
+
required: false
|
|
727
923
|
});
|
|
728
924
|
}
|
|
729
925
|
var stringType = literal();
|
|
@@ -738,28 +934,40 @@ function nullable(nonNullable) {
|
|
|
738
934
|
unions: {
|
|
739
935
|
["0"]: nonNullable.definition,
|
|
740
936
|
["1"]: nullType.definition
|
|
741
|
-
}
|
|
937
|
+
},
|
|
938
|
+
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
939
|
+
rule: emptyRule,
|
|
940
|
+
readonly: false,
|
|
941
|
+
required: false
|
|
742
942
|
}
|
|
743
943
|
);
|
|
744
944
|
}
|
|
745
945
|
function list(elements) {
|
|
746
946
|
return new ListTypeDefBuilder({
|
|
747
947
|
type: 2 /* List */,
|
|
748
|
-
elements: elements.definition
|
|
948
|
+
elements: elements.definition,
|
|
949
|
+
rule: emptyRule,
|
|
950
|
+
readonly: false,
|
|
951
|
+
required: false
|
|
749
952
|
});
|
|
750
953
|
}
|
|
751
|
-
function record({ definition:
|
|
954
|
+
function record({ definition: valueTypeDef }) {
|
|
752
955
|
return new RecordTypeDefBuilder({
|
|
753
956
|
type: 3 /* Record */,
|
|
754
|
-
// eslint-disable-next-line no-undefined
|
|
755
957
|
keyPrototype: void 0,
|
|
756
|
-
valueTypeDef
|
|
958
|
+
valueTypeDef,
|
|
959
|
+
rule: emptyRule,
|
|
960
|
+
readonly: false,
|
|
961
|
+
required: false
|
|
757
962
|
});
|
|
758
963
|
}
|
|
759
964
|
function object() {
|
|
760
965
|
return new ObjectTypeDefBuilder({
|
|
761
966
|
type: 4 /* Object */,
|
|
762
|
-
fields: {}
|
|
967
|
+
fields: {},
|
|
968
|
+
rule: emptyRule,
|
|
969
|
+
readonly: false,
|
|
970
|
+
required: false
|
|
763
971
|
});
|
|
764
972
|
}
|
|
765
973
|
function union(discriminator) {
|
|
@@ -768,20 +976,99 @@ function union(discriminator) {
|
|
|
768
976
|
type: 5 /* Union */,
|
|
769
977
|
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
|
|
770
978
|
discriminator: discriminator ?? null,
|
|
771
|
-
unions: {}
|
|
979
|
+
unions: {},
|
|
980
|
+
rule: emptyRule,
|
|
981
|
+
readonly: false,
|
|
982
|
+
required: false
|
|
772
983
|
}
|
|
773
984
|
);
|
|
774
985
|
}
|
|
986
|
+
|
|
987
|
+
// validation/validator.ts
|
|
988
|
+
function isFunctionalValidator(v) {
|
|
989
|
+
return typeof v === "function";
|
|
990
|
+
}
|
|
991
|
+
function isAnnotatedValidator(v) {
|
|
992
|
+
return typeof v !== "function";
|
|
993
|
+
}
|
|
994
|
+
function validate(validator, v, valuePath, context) {
|
|
995
|
+
if (isAnnotatedValidator(validator)) {
|
|
996
|
+
return validator.validate(v, valuePath, context);
|
|
997
|
+
} else {
|
|
998
|
+
return validator(v, valuePath, context);
|
|
999
|
+
}
|
|
1000
|
+
}
|
|
1001
|
+
function annotations(validator, valuePath, context) {
|
|
1002
|
+
if (isAnnotatedValidator(validator)) {
|
|
1003
|
+
return validator.annotations(valuePath, context);
|
|
1004
|
+
} else {
|
|
1005
|
+
return {
|
|
1006
|
+
required: false,
|
|
1007
|
+
readonly: false
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
|
|
1012
|
+
// validation/validators/defined_validator.ts
|
|
1013
|
+
var DefinedValidator = class {
|
|
1014
|
+
constructor(error) {
|
|
1015
|
+
this.error = error;
|
|
1016
|
+
}
|
|
1017
|
+
validate(v) {
|
|
1018
|
+
if (v == null) {
|
|
1019
|
+
return this.error;
|
|
1020
|
+
}
|
|
1021
|
+
return null;
|
|
1022
|
+
}
|
|
1023
|
+
annotations() {
|
|
1024
|
+
return {
|
|
1025
|
+
required: true,
|
|
1026
|
+
readonly: false
|
|
1027
|
+
};
|
|
1028
|
+
}
|
|
1029
|
+
};
|
|
1030
|
+
|
|
1031
|
+
// validation/validators/minimum_string_length_validator.ts
|
|
1032
|
+
var MinimumStringLengthValidationErrorType = "minimum_string_length";
|
|
1033
|
+
var MinimumStringLengthValidator = class {
|
|
1034
|
+
constructor(minimumLength) {
|
|
1035
|
+
this.minimumLength = minimumLength;
|
|
1036
|
+
}
|
|
1037
|
+
validate(value) {
|
|
1038
|
+
if (value.length < this.minimumLength) {
|
|
1039
|
+
return {
|
|
1040
|
+
type: MinimumStringLengthValidationErrorType,
|
|
1041
|
+
minimumLength: this.minimumLength,
|
|
1042
|
+
receivedLength: value.length
|
|
1043
|
+
};
|
|
1044
|
+
}
|
|
1045
|
+
return null;
|
|
1046
|
+
}
|
|
1047
|
+
annotations() {
|
|
1048
|
+
return {
|
|
1049
|
+
required: true,
|
|
1050
|
+
readonly: false
|
|
1051
|
+
};
|
|
1052
|
+
}
|
|
1053
|
+
};
|
|
775
1054
|
// Annotate the CommonJS export names for ESM import in node:
|
|
776
1055
|
0 && (module.exports = {
|
|
1056
|
+
DefinedValidator,
|
|
1057
|
+
MinimumStringLengthValidationErrorType,
|
|
1058
|
+
MinimumStringLengthValidator,
|
|
777
1059
|
TypeDefType,
|
|
1060
|
+
annotations,
|
|
778
1061
|
booleanType,
|
|
779
1062
|
copy,
|
|
780
|
-
|
|
1063
|
+
flattenAccessorsOfType,
|
|
781
1064
|
flattenJsonValueToTypePathsOf,
|
|
782
|
-
|
|
783
|
-
|
|
1065
|
+
flattenTypesOfType,
|
|
1066
|
+
flattenValidatorsOfValidatingType,
|
|
1067
|
+
flattenValueTo,
|
|
1068
|
+
flattenValuesOfType,
|
|
784
1069
|
getUnionTypeDef,
|
|
1070
|
+
isAnnotatedValidator,
|
|
1071
|
+
isFunctionalValidator,
|
|
785
1072
|
jsonPath,
|
|
786
1073
|
jsonPathPop,
|
|
787
1074
|
list,
|
|
@@ -794,5 +1081,6 @@ function union(discriminator) {
|
|
|
794
1081
|
record,
|
|
795
1082
|
stringType,
|
|
796
1083
|
union,
|
|
1084
|
+
validate,
|
|
797
1085
|
valuePathToTypePath
|
|
798
1086
|
});
|