@tstdl/base 0.71.87 → 0.78.0-beta1
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/.eslintrc.js +2 -4
- package/api/client/client.js +2 -12
- package/api/client/client.js.map +1 -1
- package/api/default-error-handlers.d.ts +0 -4
- package/api/default-error-handlers.js +1 -6
- package/api/default-error-handlers.js.map +1 -1
- package/api/server/error-handler.js +2 -2
- package/api/server/error-handler.js.map +1 -1
- package/api/server/gateway.js +12 -18
- package/api/server/gateway.js.map +1 -1
- package/api/server/module.d.ts +0 -4
- package/api/server/module.js +1 -12
- package/api/server/module.js.map +1 -1
- package/api/types.d.ts +8 -32
- package/api/types.js.map +1 -1
- package/container/container.js +2 -2
- package/container/container.js.map +1 -1
- package/data-structures/index.d.ts +1 -0
- package/data-structures/index.js +1 -0
- package/data-structures/index.js.map +1 -1
- package/data-structures/iterable-weak-map.d.ts +29 -0
- package/data-structures/iterable-weak-map.js +128 -0
- package/data-structures/iterable-weak-map.js.map +1 -0
- package/data-structures/multi-key-map.d.ts +12 -1
- package/data-structures/multi-key-map.js +22 -11
- package/data-structures/multi-key-map.js.map +1 -1
- package/error/custom.error.d.ts +3 -1
- package/error/custom.error.js +16 -7
- package/error/custom.error.js.map +1 -1
- package/examples/api/basic-overview.js +16 -8
- package/examples/api/basic-overview.js.map +1 -1
- package/http/http.error.d.ts +4 -2
- package/http/http.error.js +6 -0
- package/http/http.error.js.map +1 -1
- package/image-service/image-service.d.ts +32 -65
- package/image-service/image-service.js +73 -15
- package/image-service/image-service.js.map +1 -1
- package/json-path/json-path.d.ts +8 -3
- package/json-path/json-path.js +24 -7
- package/json-path/json-path.js.map +1 -1
- package/logger/console/logger.js +2 -2
- package/logger/console/logger.js.map +1 -1
- package/mail/mail.service.js +2 -2
- package/mail/mail.service.js.map +1 -1
- package/module/modules/index.d.ts +0 -1
- package/module/modules/index.js +0 -1
- package/module/modules/index.js.map +1 -1
- package/openid-connect/oidc-configuration.service.js +7 -7
- package/openid-connect/oidc-configuration.service.js.map +1 -1
- package/openid-connect/oidc.service.js +7 -7
- package/openid-connect/oidc.service.js.map +1 -1
- package/package.json +3 -4
- package/process-shutdown.js +3 -2
- package/process-shutdown.js.map +1 -1
- package/reflection/decorators.js +1 -0
- package/reflection/decorators.js.map +1 -1
- package/reflection/reflection-data-map.d.ts +10 -0
- package/reflection/reflection-data-map.js +40 -0
- package/reflection/reflection-data-map.js.map +1 -0
- package/reflection/registry.d.ts +7 -7
- package/reflection/registry.js +7 -6
- package/reflection/registry.js.map +1 -1
- package/reflection/types.d.ts +1 -0
- package/reflection/utils.d.ts +6 -3
- package/reflection/utils.js +9 -35
- package/reflection/utils.js.map +1 -1
- package/schema/array-constraints/index.d.ts +2 -0
- package/{old-api/validation/validators → schema/array-constraints}/index.js +2 -1
- package/schema/array-constraints/index.js.map +1 -0
- package/schema/array-constraints/maximum-length.d.ts +11 -0
- package/schema/array-constraints/maximum-length.js +26 -0
- package/schema/array-constraints/maximum-length.js.map +1 -0
- package/schema/array-constraints/minimum-length.d.ts +11 -0
- package/schema/array-constraints/minimum-length.js +26 -0
- package/schema/array-constraints/minimum-length.js.map +1 -0
- package/schema/coercers/boolean.coercer.d.ts +9 -0
- package/schema/coercers/boolean.coercer.js +35 -0
- package/schema/coercers/boolean.coercer.js.map +1 -0
- package/schema/coercers/date.coercer.d.ts +9 -0
- package/schema/coercers/date.coercer.js +24 -0
- package/schema/coercers/date.coercer.js.map +1 -0
- package/schema/coercers/default-value.coercer.d.ts +9 -0
- package/schema/coercers/default-value.coercer.js +16 -0
- package/schema/coercers/default-value.coercer.js.map +1 -0
- package/schema/coercers/index.d.ts +7 -0
- package/schema/coercers/index.js +24 -0
- package/schema/coercers/index.js.map +1 -0
- package/schema/coercers/number.coercer.d.ts +9 -0
- package/schema/coercers/number.coercer.js +22 -0
- package/schema/coercers/number.coercer.js.map +1 -0
- package/schema/coercers/regexp.coercer.d.ts +11 -0
- package/schema/coercers/regexp.coercer.js +24 -0
- package/schema/coercers/regexp.coercer.js.map +1 -0
- package/schema/coercers/string.coercer.d.ts +9 -0
- package/schema/coercers/string.coercer.js +22 -0
- package/schema/coercers/string.coercer.js.map +1 -0
- package/schema/coercers/uint8-array.coercer.d.ts +9 -0
- package/schema/coercers/uint8-array.coercer.js +31 -0
- package/schema/coercers/uint8-array.coercer.js.map +1 -0
- package/schema/constraints/enumeration.d.ts +13 -0
- package/schema/constraints/enumeration.js +29 -0
- package/schema/constraints/enumeration.js.map +1 -0
- package/schema/constraints/generic.d.ts +22 -0
- package/schema/constraints/generic.js +32 -0
- package/schema/constraints/generic.js.map +1 -0
- package/schema/constraints/index.d.ts +12 -0
- package/schema/constraints/index.js +29 -0
- package/schema/constraints/index.js.map +1 -0
- package/schema/constraints/integer.d.ts +12 -0
- package/schema/constraints/integer.js +27 -0
- package/schema/constraints/integer.js.map +1 -0
- package/schema/constraints/length.d.ts +6 -0
- package/schema/constraints/length.js +20 -0
- package/schema/constraints/length.js.map +1 -0
- package/schema/constraints/literal.d.ts +10 -0
- package/schema/constraints/literal.js +26 -0
- package/schema/constraints/literal.js.map +1 -0
- package/schema/constraints/maximum-date.d.ts +12 -0
- package/schema/constraints/maximum-date.js +29 -0
- package/schema/constraints/maximum-date.js.map +1 -0
- package/schema/constraints/maximum-length.d.ts +12 -0
- package/schema/constraints/maximum-length.js +29 -0
- package/schema/constraints/maximum-length.js.map +1 -0
- package/schema/constraints/maximum.d.ts +12 -0
- package/schema/constraints/maximum.js +27 -0
- package/schema/constraints/maximum.js.map +1 -0
- package/schema/constraints/minimum-date.d.ts +12 -0
- package/schema/constraints/minimum-date.js +29 -0
- package/schema/constraints/minimum-date.js.map +1 -0
- package/schema/constraints/minimum-length.d.ts +12 -0
- package/schema/constraints/minimum-length.js +29 -0
- package/schema/constraints/minimum-length.js.map +1 -0
- package/schema/constraints/minimum.d.ts +12 -0
- package/schema/constraints/minimum.js +27 -0
- package/schema/constraints/minimum.js.map +1 -0
- package/schema/constraints/pattern.d.ts +13 -0
- package/schema/constraints/pattern.js +28 -0
- package/schema/constraints/pattern.js.map +1 -0
- package/schema/decorators/array.d.ts +4 -0
- package/schema/decorators/array.js +11 -0
- package/schema/decorators/array.js.map +1 -0
- package/schema/decorators/coerce.d.ts +2 -0
- package/schema/decorators/coerce.js +10 -0
- package/schema/decorators/coerce.js.map +1 -0
- package/schema/decorators/defaulted.d.ts +3 -0
- package/schema/decorators/defaulted.js +11 -0
- package/schema/decorators/defaulted.js.map +1 -0
- package/schema/decorators/index.d.ts +8 -0
- package/{old-api → schema/decorators}/index.js +8 -3
- package/schema/decorators/index.js.map +1 -0
- package/schema/decorators/nullable.d.ts +2 -0
- package/schema/decorators/nullable.js +10 -0
- package/schema/decorators/nullable.js.map +1 -0
- package/schema/decorators/optional.d.ts +2 -0
- package/schema/decorators/optional.js +10 -0
- package/schema/decorators/optional.js.map +1 -0
- package/schema/decorators/property.d.ts +6 -0
- package/schema/decorators/property.js +19 -0
- package/schema/decorators/property.js.map +1 -0
- package/schema/decorators/type.d.ts +3 -0
- package/schema/decorators/type.js +10 -0
- package/schema/decorators/type.js.map +1 -0
- package/schema/decorators/types.d.ts +18 -0
- package/schema/decorators/types.js +3 -0
- package/schema/decorators/types.js.map +1 -0
- package/schema/decorators/utils.d.ts +10 -0
- package/schema/decorators/utils.js +59 -0
- package/schema/decorators/utils.js.map +1 -0
- package/schema/index.d.ts +7 -1
- package/schema/index.js +7 -1
- package/schema/index.js.map +1 -1
- package/schema/schema.d.ts +19 -0
- package/schema/schema.error.d.ts +13 -7
- package/schema/schema.error.js +45 -13
- package/schema/schema.error.js.map +1 -1
- package/schema/schema.js +286 -0
- package/schema/schema.js.map +1 -0
- package/schema/schemas/any.d.ts +4 -8
- package/schema/schemas/any.js +9 -14
- package/schema/schemas/any.js.map +1 -1
- package/schema/schemas/array.d.ts +7 -13
- package/schema/schemas/array.js +14 -43
- package/schema/schemas/array.js.map +1 -1
- package/schema/schemas/assign.d.ts +8 -0
- package/schema/schemas/assign.js +28 -0
- package/schema/schemas/assign.js.map +1 -0
- package/schema/schemas/boolean.d.ts +5 -9
- package/schema/schemas/boolean.js +11 -38
- package/schema/schemas/boolean.js.map +1 -1
- package/schema/schemas/constraint.d.ts +4 -0
- package/schema/schemas/constraint.js +14 -0
- package/schema/schemas/constraint.js.map +1 -0
- package/schema/schemas/date.d.ts +7 -11
- package/schema/schemas/date.js +18 -53
- package/schema/schemas/date.js.map +1 -1
- package/schema/schemas/defaulted.d.ts +2 -15
- package/schema/schemas/defaulted.js +7 -23
- package/schema/schemas/defaulted.js.map +1 -1
- package/schema/schemas/enumeration.d.ts +6 -18
- package/schema/schemas/enumeration.js +13 -50
- package/schema/schemas/enumeration.js.map +1 -1
- package/schema/schemas/exclude.d.ts +4 -0
- package/schema/schemas/exclude.js +17 -0
- package/schema/schemas/exclude.js.map +1 -0
- package/schema/schemas/index.d.ts +5 -6
- package/schema/schemas/index.js +5 -6
- package/schema/schemas/index.js.map +1 -1
- package/schema/schemas/instance.d.ts +2 -12
- package/schema/schemas/instance.js +4 -20
- package/schema/schemas/instance.js.map +1 -1
- package/schema/schemas/literal.d.ts +4 -11
- package/schema/schemas/literal.js +13 -18
- package/schema/schemas/literal.js.map +1 -1
- package/schema/schemas/nullable.d.ts +3 -13
- package/schema/schemas/nullable.js +3 -26
- package/schema/schemas/nullable.js.map +1 -1
- package/schema/schemas/number.d.ts +7 -14
- package/schema/schemas/number.js +23 -44
- package/schema/schemas/number.js.map +1 -1
- package/schema/schemas/object.d.ts +6 -34
- package/schema/schemas/object.js +8 -112
- package/schema/schemas/object.js.map +1 -1
- package/schema/schemas/optional.d.ts +3 -13
- package/schema/schemas/optional.js +3 -26
- package/schema/schemas/optional.js.map +1 -1
- package/schema/schemas/pick.d.ts +4 -0
- package/schema/schemas/pick.js +17 -0
- package/schema/schemas/pick.js.map +1 -0
- package/schema/schemas/readable-stream.d.ts +4 -9
- package/schema/schemas/readable-stream.js +9 -15
- package/schema/schemas/readable-stream.js.map +1 -1
- package/schema/schemas/record.d.ts +4 -0
- package/schema/schemas/record.js +14 -0
- package/schema/schemas/record.js.map +1 -0
- package/schema/schemas/regexp.d.ts +6 -9
- package/schema/schemas/regexp.js +10 -27
- package/schema/schemas/regexp.js.map +1 -1
- package/schema/schemas/string.d.ts +9 -13
- package/schema/schemas/string.js +34 -46
- package/schema/schemas/string.js.map +1 -1
- package/schema/schemas/transform.d.ts +4 -16
- package/schema/schemas/transform.js +7 -36
- package/schema/schemas/transform.js.map +1 -1
- package/schema/schemas/uint8-array.d.ts +8 -11
- package/schema/schemas/uint8-array.js +20 -32
- package/schema/schemas/uint8-array.js.map +1 -1
- package/schema/schemas/union.d.ts +5 -17
- package/schema/schemas/union.js +9 -35
- package/schema/schemas/union.js.map +1 -1
- package/schema/schemas/unknown.d.ts +4 -8
- package/schema/schemas/unknown.js +9 -14
- package/schema/schemas/unknown.js.map +1 -1
- package/schema/transformers/generic.d.ts +13 -0
- package/schema/transformers/generic.js +28 -0
- package/schema/transformers/generic.js.map +1 -0
- package/schema/transformers/index.d.ts +3 -0
- package/{old-api/endpoints → schema/transformers}/index.js +3 -1
- package/schema/transformers/index.js.map +1 -0
- package/schema/transformers/lowercase.d.ts +9 -0
- package/schema/transformers/lowercase.js +22 -0
- package/schema/transformers/lowercase.js.map +1 -0
- package/schema/transformers/trim.d.ts +9 -0
- package/schema/transformers/trim.js +22 -0
- package/schema/transformers/trim.js.map +1 -0
- package/schema/transformers/uppercase.d.ts +9 -0
- package/schema/transformers/uppercase.js +22 -0
- package/schema/transformers/uppercase.js.map +1 -0
- package/schema/types.d.ts +135 -15
- package/schema/types.js +39 -3
- package/schema/types.js.map +1 -1
- package/schema/utils/index.d.ts +2 -0
- package/{old-api/validation → schema/utils}/index.js +2 -1
- package/schema/utils/index.js.map +1 -0
- package/schema/utils/schema.d.ts +12 -0
- package/schema/utils/schema.js +78 -0
- package/schema/utils/schema.js.map +1 -0
- package/schema/utils/value-type.d.ts +4 -0
- package/schema/utils/value-type.js +35 -0
- package/schema/utils/value-type.js.map +1 -0
- package/templates/providers/file-template.provider.base.d.ts +1 -1
- package/templates/providers/file-template.provider.base.js +3 -2
- package/templates/providers/file-template.provider.base.js.map +1 -1
- package/types.d.ts +5 -1
- package/utils/clone.d.ts +1 -0
- package/utils/clone.js +45 -0
- package/utils/clone.js.map +1 -0
- package/utils/enum.d.ts +1 -1
- package/utils/format-error.d.ts +20 -0
- package/utils/format-error.js +42 -0
- package/utils/format-error.js.map +1 -0
- package/utils/function/memoize.d.ts +6 -2
- package/utils/function/memoize.js +28 -20
- package/utils/function/memoize.js.map +1 -1
- package/utils/helpers.d.ts +1 -32
- package/utils/helpers.js +3 -158
- package/utils/helpers.js.map +1 -1
- package/utils/index.d.ts +3 -0
- package/utils/index.js +3 -0
- package/utils/index.js.map +1 -1
- package/utils/merge.d.ts +5 -0
- package/utils/merge.js +32 -0
- package/utils/merge.js.map +1 -0
- package/utils/object/decycle.d.ts +16 -0
- package/utils/object/decycle.js +81 -0
- package/utils/object/decycle.js.map +1 -0
- package/utils/object/dereference.js.map +1 -1
- package/utils/object/index.d.ts +1 -0
- package/utils/object/index.js +1 -0
- package/utils/object/index.js.map +1 -1
- package/utils/object/object.d.ts +4 -0
- package/utils/object/object.js +9 -2
- package/utils/object/object.js.map +1 -1
- package/utils/patterns.d.ts +1 -1
- package/utils/patterns.js +3 -3
- package/utils/patterns.js.map +1 -1
- package/utils/timing.d.ts +0 -8
- package/utils/timing.js.map +1 -1
- package/utils/type-guards.d.ts +6 -0
- package/utils/type-guards.js +16 -4
- package/utils/type-guards.js.map +1 -1
- package/instance-provider.d.ts +0 -17
- package/instance-provider.js +0 -55
- package/instance-provider.js.map +0 -1
- package/module/modules/old-web-server.module.d.ts +0 -22
- package/module/modules/old-web-server.module.js +0 -37
- package/module/modules/old-web-server.module.js.map +0 -1
- package/old-api/endpoint.d.ts +0 -5
- package/old-api/endpoint.js +0 -20
- package/old-api/endpoint.js.map +0 -1
- package/old-api/endpoints/echo.endpoint.d.ts +0 -2
- package/old-api/endpoints/echo.endpoint.js +0 -6
- package/old-api/endpoints/echo.endpoint.js.map +0 -1
- package/old-api/endpoints/index.d.ts +0 -1
- package/old-api/endpoints/index.js.map +0 -1
- package/old-api/http-api.d.ts +0 -63
- package/old-api/http-api.js +0 -269
- package/old-api/http-api.js.map +0 -1
- package/old-api/index.d.ts +0 -3
- package/old-api/index.js.map +0 -1
- package/old-api/validation/index.d.ts +0 -1
- package/old-api/validation/index.js.map +0 -1
- package/old-api/validation/types.d.ts +0 -6
- package/old-api/validation/types.js +0 -6
- package/old-api/validation/types.js.map +0 -1
- package/old-api/validation/validators/index.d.ts +0 -1
- package/old-api/validation/validators/index.js.map +0 -1
- package/old-api/validation/validators/noop.d.ts +0 -2
- package/old-api/validation/validators/noop.js +0 -8
- package/old-api/validation/validators/noop.js.map +0 -1
- package/old-api/validation/validators/superstruct.d.ts +0 -14
- package/old-api/validation/validators/superstruct.js +0 -66
- package/old-api/validation/validators/superstruct.js.map +0 -1
- package/old-api/validation/validators/yup.d.ts +0 -7
- package/old-api/validation/validators/yup.js +0 -60
- package/old-api/validation/validators/yup.js.map +0 -1
- package/schema/schema.validator.d.ts +0 -40
- package/schema/schema.validator.js +0 -75
- package/schema/schema.validator.js.map +0 -1
- package/schema/schemas/async-iterable.d.ts +0 -13
- package/schema/schemas/async-iterable.js +0 -40
- package/schema/schemas/async-iterable.js.map +0 -1
- package/schema/schemas/iterable.d.ts +0 -13
- package/schema/schemas/iterable.js +0 -40
- package/schema/schemas/iterable.js.map +0 -1
- package/schema/schemas/never.d.ts +0 -9
- package/schema/schemas/never.js +0 -22
- package/schema/schemas/never.js.map +0 -1
- package/schema/schemas/preprocess.d.ts +0 -16
- package/schema/schemas/preprocess.js +0 -35
- package/schema/schemas/preprocess.js.map +0 -1
- package/schema/schemas/refine.d.ts +0 -24
- package/schema/schemas/refine.js +0 -52
- package/schema/schemas/refine.js.map +0 -1
|
@@ -14,7 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("
|
|
18
|
-
__exportStar(require("
|
|
19
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./array"), exports);
|
|
18
|
+
__exportStar(require("./coerce"), exports);
|
|
19
|
+
__exportStar(require("./nullable"), exports);
|
|
20
|
+
__exportStar(require("./optional"), exports);
|
|
21
|
+
__exportStar(require("./property"), exports);
|
|
22
|
+
__exportStar(require("./type"), exports);
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
24
|
+
__exportStar(require("./utils"), exports);
|
|
20
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/schema/decorators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B;AAC3B,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Nullable = void 0;
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
function Nullable() {
|
|
7
|
+
return (0, utils_1.createSchemaPropertyDecorator)({ nullable: true });
|
|
8
|
+
}
|
|
9
|
+
exports.Nullable = Nullable;
|
|
10
|
+
//# sourceMappingURL=nullable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nullable.js","sourceRoot":"","sources":["../../../source/schema/decorators/nullable.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,mCAAwD;AAExD,SAAgB,QAAQ;IACtB,OAAO,IAAA,qCAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Optional = void 0;
|
|
5
|
+
const utils_1 = require("./utils");
|
|
6
|
+
function Optional() {
|
|
7
|
+
return (0, utils_1.createSchemaPropertyDecorator)({ optional: true });
|
|
8
|
+
}
|
|
9
|
+
exports.Optional = Optional;
|
|
10
|
+
//# sourceMappingURL=optional.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optional.js","sourceRoot":"","sources":["../../../source/schema/decorators/optional.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,mCAAwD;AAExD,SAAgB,QAAQ;IACtB,OAAO,IAAA,qCAA6B,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3D,CAAC;AAFD,4BAEC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Decorator } from "../../reflection";
|
|
2
|
+
import type { TypedOmit } from "../../types";
|
|
3
|
+
import type { ValueTypes } from '../types';
|
|
4
|
+
import type { PropertyOptions } from './types';
|
|
5
|
+
export declare function Property(options?: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
6
|
+
export declare function Property(types?: () => ValueTypes, options?: TypedOmit<PropertyOptions, 'type'>): Decorator<'property' | 'accessor'>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Property = void 0;
|
|
5
|
+
const array_1 = require("../../utils/array/array");
|
|
6
|
+
const type_guards_1 = require("../../utils/type-guards");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
8
|
+
function Property(optionsOrTypes = {}, optionsOrNothing) {
|
|
9
|
+
const options = (0, type_guards_1.isFunction)(optionsOrTypes) ? { type: { deferred: optionsOrTypes }, ...optionsOrNothing } : optionsOrTypes;
|
|
10
|
+
return (0, utils_1.createSchemaPropertyDecorator)({
|
|
11
|
+
...options,
|
|
12
|
+
coercers: (0, type_guards_1.isDefined)(options.coercers) ? (0, array_1.toArray)(options.coercers) : undefined,
|
|
13
|
+
transformers: (0, type_guards_1.isDefined)(options.transformers) ? (0, array_1.toArray)(options.transformers) : undefined,
|
|
14
|
+
arrayConstraints: (0, type_guards_1.isDefined)(options.arrayConstraints) ? (0, array_1.toArray)(options.arrayConstraints) : undefined,
|
|
15
|
+
valueConstraints: (0, type_guards_1.isDefined)(options.valueConstraints) ? (0, array_1.toArray)(options.valueConstraints) : undefined
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
exports.Property = Property;
|
|
19
|
+
//# sourceMappingURL=property.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property.js","sourceRoot":"","sources":["../../../source/schema/decorators/property.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,mDAA8C;AAC9C,yDAA4D;AAG5D,mCAAwD;AAIxD,SAAgB,QAAQ,CAAC,iBAAuD,EAAE,EAAE,gBAAkC;IACpH,MAAM,OAAO,GAAoB,IAAA,wBAAU,EAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAE3I,OAAO,IAAA,qCAA6B,EAAC;QACnC,GAAG,OAAO;QACV,QAAQ,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7E,YAAY,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACzF,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;QACrG,gBAAgB,EAAE,IAAA,uBAAS,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAA,eAAO,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;KACtG,CAAC,CAAC;AACL,CAAC;AAVD,4BAUC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Type = void 0;
|
|
5
|
+
const reflection_1 = require("../../reflection");
|
|
6
|
+
function Type(options = {}) {
|
|
7
|
+
return (0, reflection_1.createClassDecorator)({ data: { schema: options }, mergeData: true });
|
|
8
|
+
}
|
|
9
|
+
exports.Type = Type;
|
|
10
|
+
//# sourceMappingURL=type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.js","sourceRoot":"","sources":["../../../source/schema/decorators/type.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,iDAAoD;AAGpD,SAAgB,IAAI,CAAC,UAAoC,EAAE;IACzD,OAAO,IAAA,iCAAoB,EAAC,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9E,CAAC;AAFD,oBAEC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { OneOrMany } from "../../types";
|
|
2
|
+
import type { MaybeDeferredValueTypes, ObjectSchema, SchemaArrayConstraint, SchemaFactoryFunction, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueSchema, ValueType } from '../types';
|
|
3
|
+
export declare type SchemaTypeReflectionData = Partial<Pick<ObjectSchema, 'mask' | 'allowUnknownProperties'>> & {
|
|
4
|
+
factory?: SchemaFactoryFunction<any>;
|
|
5
|
+
};
|
|
6
|
+
export declare type TypesProvider = () => OneOrMany<ValueType>;
|
|
7
|
+
export declare type SchemaPropertyReflectionData = {
|
|
8
|
+
type?: MaybeDeferredValueTypes;
|
|
9
|
+
array?: boolean;
|
|
10
|
+
optional?: boolean;
|
|
11
|
+
nullable?: boolean;
|
|
12
|
+
coerce?: boolean;
|
|
13
|
+
coercers?: readonly SchemaValueCoercer[];
|
|
14
|
+
transformers?: readonly SchemaValueTransformer[];
|
|
15
|
+
arrayConstraints?: readonly SchemaArrayConstraint[];
|
|
16
|
+
valueConstraints?: readonly SchemaValueConstraint[];
|
|
17
|
+
};
|
|
18
|
+
export declare type PropertyOptions = Partial<ValueSchema>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../source/schema/decorators/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Decorator } from "../../reflection";
|
|
2
|
+
import type { OneOrMany } from "../../types";
|
|
3
|
+
import type { SchemaArrayConstraint, SchemaValueCoercer, SchemaValueConstraint, SchemaValueTransformer, ValueType } from '../types';
|
|
4
|
+
import type { PropertyOptions } from './types';
|
|
5
|
+
export declare function createSchemaPropertyDecorator(options: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
6
|
+
export declare function createSchemaPropertyDecoratorFromValueType(valueType: ValueType): Decorator<'property' | 'accessor'>;
|
|
7
|
+
export declare function createSchemaValueCoercerDecorator(coercer: SchemaValueCoercer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
8
|
+
export declare function createSchemaValueTransformerDecorator(transformer: SchemaValueTransformer, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
9
|
+
export declare function createSchemaArrayConstraintDecorator(constraint: SchemaArrayConstraint, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
10
|
+
export declare function createSchemaValueConstraintDecorator(constraints: OneOrMany<SchemaValueConstraint>, options?: PropertyOptions): Decorator<'property' | 'accessor'>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.createSchemaValueConstraintDecorator = exports.createSchemaArrayConstraintDecorator = exports.createSchemaValueTransformerDecorator = exports.createSchemaValueCoercerDecorator = exports.createSchemaPropertyDecoratorFromValueType = exports.createSchemaPropertyDecorator = void 0;
|
|
5
|
+
const reflection_1 = require("../../reflection");
|
|
6
|
+
const array_1 = require("../../utils/array/array");
|
|
7
|
+
const merge_1 = require("../../utils/merge");
|
|
8
|
+
const object_1 = require("../../utils/object");
|
|
9
|
+
const type_guards_1 = require("../../utils/type-guards");
|
|
10
|
+
const types_1 = require("../types");
|
|
11
|
+
function createSchemaPropertyDecorator(options) {
|
|
12
|
+
return (0, reflection_1.createPropertyOrAccessorDecorator)({
|
|
13
|
+
handler(_, metadata) {
|
|
14
|
+
const schemaData = getSchemaPropertyReflectionData(metadata);
|
|
15
|
+
const newSchemaData = {
|
|
16
|
+
...options,
|
|
17
|
+
coercers: ((0, type_guards_1.isDefined)(options.coercers) && (!(0, type_guards_1.isArray)(options.coercers) || options.coercers.length > 0)) ? (0, merge_1.merge)((0, array_1.toArray)(options.coercers), schemaData.coercers) : undefined,
|
|
18
|
+
transformers: ((0, type_guards_1.isDefined)(options.transformers) && (!(0, type_guards_1.isArray)(options.transformers) || options.transformers.length > 0)) ? (0, merge_1.merge)((0, array_1.toArray)(options.transformers), schemaData.transformers) : undefined,
|
|
19
|
+
arrayConstraints: ((0, type_guards_1.isDefined)(options.arrayConstraints) && (!(0, type_guards_1.isArray)(options.arrayConstraints) || options.arrayConstraints.length > 0)) ? (0, merge_1.merge)((0, array_1.toArray)(options.arrayConstraints), schemaData.arrayConstraints) : undefined,
|
|
20
|
+
valueConstraints: ((0, type_guards_1.isDefined)(options.valueConstraints) && (!(0, type_guards_1.isArray)(options.valueConstraints) || options.valueConstraints.length > 0)) ? (0, merge_1.merge)((0, array_1.toArray)(options.valueConstraints), schemaData.valueConstraints) : undefined
|
|
21
|
+
};
|
|
22
|
+
metadata.data.set('schema', (0, object_1.filterObject)(newSchemaData, type_guards_1.isDefined), true);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
exports.createSchemaPropertyDecorator = createSchemaPropertyDecorator;
|
|
27
|
+
function createSchemaPropertyDecoratorFromValueType(valueType) {
|
|
28
|
+
const schema = (0, types_1.isValueSchema)(valueType) ? valueType : (0, types_1.valueSchema)({ type: valueType });
|
|
29
|
+
return createSchemaPropertyDecorator({
|
|
30
|
+
...schema,
|
|
31
|
+
type: schema.type
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.createSchemaPropertyDecoratorFromValueType = createSchemaPropertyDecoratorFromValueType;
|
|
35
|
+
function createSchemaValueCoercerDecorator(coercer, options) {
|
|
36
|
+
return createSchemaPropertyDecorator({ ...options, coercers: coercer });
|
|
37
|
+
}
|
|
38
|
+
exports.createSchemaValueCoercerDecorator = createSchemaValueCoercerDecorator;
|
|
39
|
+
function createSchemaValueTransformerDecorator(transformer, options) {
|
|
40
|
+
return createSchemaPropertyDecorator({ ...options, transformers: transformer });
|
|
41
|
+
}
|
|
42
|
+
exports.createSchemaValueTransformerDecorator = createSchemaValueTransformerDecorator;
|
|
43
|
+
function createSchemaArrayConstraintDecorator(constraint, options) {
|
|
44
|
+
return createSchemaPropertyDecorator({ ...options, arrayConstraints: constraint });
|
|
45
|
+
}
|
|
46
|
+
exports.createSchemaArrayConstraintDecorator = createSchemaArrayConstraintDecorator;
|
|
47
|
+
function createSchemaValueConstraintDecorator(constraints, options) {
|
|
48
|
+
return createSchemaPropertyDecorator({ ...options, valueConstraints: constraints });
|
|
49
|
+
}
|
|
50
|
+
exports.createSchemaValueConstraintDecorator = createSchemaValueConstraintDecorator;
|
|
51
|
+
function getSchemaPropertyReflectionData(metadata) {
|
|
52
|
+
let schemaData = metadata.data.tryGet('schema');
|
|
53
|
+
if ((0, type_guards_1.isUndefined)(schemaData)) {
|
|
54
|
+
schemaData = {};
|
|
55
|
+
metadata.data.set('schema', schemaData);
|
|
56
|
+
}
|
|
57
|
+
return schemaData;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../source/schema/decorators/utils.ts"],"names":[],"mappings":"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"}
|
package/schema/index.d.ts
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
+
export * from './array-constraints';
|
|
2
|
+
export * from './coercers';
|
|
3
|
+
export * from './constraints';
|
|
4
|
+
export * from './decorators';
|
|
5
|
+
export * from './schema';
|
|
1
6
|
export * from './schema.error';
|
|
2
|
-
export * from './schema.validator';
|
|
3
7
|
export * from './schemas';
|
|
8
|
+
export * from './transformers';
|
|
4
9
|
export * from './types';
|
|
10
|
+
export * from './utils';
|
package/schema/index.js
CHANGED
|
@@ -14,8 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./array-constraints"), exports);
|
|
18
|
+
__exportStar(require("./coercers"), exports);
|
|
19
|
+
__exportStar(require("./constraints"), exports);
|
|
20
|
+
__exportStar(require("./decorators"), exports);
|
|
21
|
+
__exportStar(require("./schema"), exports);
|
|
17
22
|
__exportStar(require("./schema.error"), exports);
|
|
18
|
-
__exportStar(require("./schema.validator"), exports);
|
|
19
23
|
__exportStar(require("./schemas"), exports);
|
|
24
|
+
__exportStar(require("./transformers"), exports);
|
|
20
25
|
__exportStar(require("./types"), exports);
|
|
26
|
+
__exportStar(require("./utils"), exports);
|
|
21
27
|
//# sourceMappingURL=index.js.map
|
package/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/schema/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,6CAA2B;AAC3B,gDAA8B;AAC9B,+CAA6B;AAC7B,2CAAyB;AACzB,iDAA+B;AAC/B,4CAA0B;AAC1B,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { JsonPath } from "../json-path";
|
|
2
|
+
import type { Type } from "../types";
|
|
3
|
+
import type { ObjectSchema, SchemaTestOptions, SchemaTestResult, SchemaValueCoercer, ValueSchema } from './types';
|
|
4
|
+
export declare type Schema<T = any> = ObjectSchema<T> | ValueSchema<T>;
|
|
5
|
+
export declare const getSchemaFromReflection: typeof _getObjectSchemaFromReflection;
|
|
6
|
+
export declare type SchemaTestable<T = any> = Schema<T> | Type<T>;
|
|
7
|
+
export declare const Schema: {
|
|
8
|
+
registerDefaultCoercer(coercer: SchemaValueCoercer): void;
|
|
9
|
+
test<T>(schema: SchemaTestable<T>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<T>;
|
|
10
|
+
validate<T_1>(schema: SchemaTestable<T_1>, value: unknown, options?: SchemaTestOptions): boolean;
|
|
11
|
+
parse<T_2>(schema: SchemaTestable<T_2>, value: unknown, options?: SchemaTestOptions): T_2;
|
|
12
|
+
/**
|
|
13
|
+
* disables stack traces for errors
|
|
14
|
+
* @deprecated for internal use only
|
|
15
|
+
*/
|
|
16
|
+
testWithFastError<T_3>(schema: SchemaTestable<T_3>, value: unknown, options?: SchemaTestOptions, path?: JsonPath): SchemaTestResult<T_3>;
|
|
17
|
+
};
|
|
18
|
+
declare function _getObjectSchemaFromReflection<T>(type: Type<T>): ObjectSchema<T> | null;
|
|
19
|
+
export {};
|
package/schema/schema.error.d.ts
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
|
+
import type { CustomErrorOptions } from "../error";
|
|
1
2
|
import { CustomError } from "../error";
|
|
2
3
|
import type { JsonPath } from "../json-path";
|
|
3
|
-
|
|
4
|
+
import type { OneOrMany, TypedOmit, UndefinableJson } from "../types";
|
|
5
|
+
import type { ErrorExtraInfo } from "../utils/format-error";
|
|
6
|
+
import type { ValueType } from './types';
|
|
7
|
+
export declare type SchemaErrorOptions = Pick<CustomErrorOptions, 'fast'> & {
|
|
4
8
|
path: string | JsonPath;
|
|
5
|
-
|
|
9
|
+
inner?: OneOrMany<SchemaError>;
|
|
10
|
+
details?: UndefinableJson;
|
|
6
11
|
};
|
|
7
|
-
export declare class SchemaError extends CustomError {
|
|
12
|
+
export declare class SchemaError extends CustomError implements ErrorExtraInfo {
|
|
8
13
|
static readonly errorName = "SchemaError";
|
|
9
14
|
readonly path: string;
|
|
10
|
-
readonly
|
|
15
|
+
readonly inner?: SchemaError[];
|
|
16
|
+
readonly details?: UndefinableJson;
|
|
11
17
|
constructor(message: string, options: SchemaErrorOptions, cause?: any);
|
|
12
|
-
static expectedButGot(expected: string
|
|
13
|
-
static couldNotCoerce(expected: string
|
|
18
|
+
static expectedButGot(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
|
|
19
|
+
static couldNotCoerce(expected: OneOrMany<string | ValueType>, got: string | ValueType, path: string | JsonPath, customMessage?: string | undefined, options?: TypedOmit<SchemaErrorOptions, 'path'>): SchemaError;
|
|
20
|
+
getExtraInfo(includeMessage?: boolean): UndefinableJson | undefined;
|
|
14
21
|
}
|
|
15
|
-
export declare function schemaError(message: string, path: string | JsonPath): SchemaError;
|
package/schema/schema.error.js
CHANGED
|
@@ -1,29 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.SchemaError = void 0;
|
|
4
4
|
const error_1 = require("../error");
|
|
5
|
+
const array_1 = require("../utils/array/array");
|
|
5
6
|
const type_guards_1 = require("../utils/type-guards");
|
|
7
|
+
const utils_1 = require("./utils");
|
|
6
8
|
class SchemaError extends error_1.CustomError {
|
|
7
9
|
constructor(message, options, cause) {
|
|
8
|
-
super({ message, cause });
|
|
10
|
+
super({ message, cause, fast: options.fast ?? true });
|
|
9
11
|
this.path = (0, type_guards_1.isString)(options.path) ? options.path : options.path.path;
|
|
10
|
-
if ((0, type_guards_1.
|
|
12
|
+
if ((0, type_guards_1.isDefined)(options.inner)) {
|
|
13
|
+
const errors = (0, array_1.toArray)(options.inner);
|
|
14
|
+
if (errors.length > 0) {
|
|
15
|
+
this.inner = errors;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if ((0, type_guards_1.isNotNullOrUndefined)(options.details)) {
|
|
11
19
|
this.details = options.details;
|
|
12
20
|
}
|
|
13
21
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
22
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
23
|
+
static expectedButGot(expected, got, path, options) {
|
|
24
|
+
const expectedNames = (0, array_1.toArray)(expected).map((exp) => ((0, type_guards_1.isString)(exp) ? exp : (0, utils_1.getValueTypeName)(exp)));
|
|
25
|
+
const gotName = (0, type_guards_1.isString)(got) ? got : (0, utils_1.getValueTypeName)(got);
|
|
26
|
+
const expectedString = expectedNames.length == 1
|
|
27
|
+
? expectedNames[0]
|
|
28
|
+
: `[${expectedNames.join(', ')}]`;
|
|
29
|
+
const message = `Expected ${expectedString} but got ${gotName}.`;
|
|
30
|
+
return new SchemaError(message, { path, ...options });
|
|
17
31
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
32
|
+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
|
|
33
|
+
static couldNotCoerce(expected, got, path, customMessage, options) {
|
|
34
|
+
const expectedNames = (0, array_1.toArray)(expected).map((exp) => ((0, type_guards_1.isString)(exp) ? exp : (0, utils_1.getValueTypeName)(exp)));
|
|
35
|
+
const gotText = (0, type_guards_1.isString)(got) ? got : (0, utils_1.getValueTypeName)(got);
|
|
36
|
+
const expectedString = expectedNames.length == 1
|
|
37
|
+
? expectedNames[0]
|
|
38
|
+
: `[${expectedNames.join(', ')}]`;
|
|
39
|
+
const customMessageString = (0, type_guards_1.isDefined)(customMessage) ? `: ${customMessage}` : '.';
|
|
40
|
+
const errorMessage = `Could not coerce ${gotText} to ${expectedString}${customMessageString}`;
|
|
41
|
+
return new SchemaError(errorMessage, { path, ...options });
|
|
42
|
+
}
|
|
43
|
+
getExtraInfo(includeMessage = false) {
|
|
44
|
+
const obj = {
|
|
45
|
+
path: this.path
|
|
46
|
+
};
|
|
47
|
+
if (includeMessage) {
|
|
48
|
+
obj['message'] = this.message;
|
|
49
|
+
}
|
|
50
|
+
if ((0, type_guards_1.isDefined)(this.inner) && (this.inner.length > 0)) {
|
|
51
|
+
obj['inner'] = this.inner.map((error) => error.getExtraInfo(true));
|
|
52
|
+
}
|
|
53
|
+
if ((0, type_guards_1.isNotNullOrUndefined)(this.details)) {
|
|
54
|
+
obj['details'] = this.details;
|
|
55
|
+
}
|
|
56
|
+
return obj;
|
|
21
57
|
}
|
|
22
58
|
}
|
|
23
59
|
exports.SchemaError = SchemaError;
|
|
24
60
|
SchemaError.errorName = 'SchemaError';
|
|
25
|
-
function schemaError(message, path) {
|
|
26
|
-
return new SchemaError(message, { path });
|
|
27
|
-
}
|
|
28
|
-
exports.schemaError = schemaError;
|
|
29
61
|
//# sourceMappingURL=schema.error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"schema.error.js","sourceRoot":"","sources":["../../source/schema/schema.error.ts"],"names":[],"mappings":";;;AACA,oCAAsC;AAGtC,gDAA8C;AAE9C,sDAAgF;AAEhF,mCAA2C;AAQ3C,MAAa,WAAY,SAAQ,mBAAW;IAO1C,YAAY,OAAe,EAAE,OAA2B,EAAE,KAAW;QACnE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAA,sBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QAEtE,IAAI,IAAA,uBAAS,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAA,eAAO,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAEtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACrB,IAAI,CAAC,KAAK,GAAG,MAAuB,CAAC;aACtC;SACF;QAED,IAAI,IAAA,kCAAoB,EAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;SAChC;IACH,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,OAA+C;QAC9J,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,OAAO,GAAG,YAAY,cAAc,YAAY,OAAO,GAAG,CAAC;QACjE,OAAO,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,MAAM,CAAC,cAAc,CAAC,QAAuC,EAAE,GAAuB,EAAE,IAAuB,EAAE,aAAkC,EAAE,OAA+C;QAClM,MAAM,aAAa,GAAG,IAAA,eAAO,EAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,OAAO,GAAG,IAAA,sBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,IAAI,CAAC;YAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAE;YACnB,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAEpC,MAAM,mBAAmB,GAAG,IAAA,uBAAS,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,MAAM,YAAY,GAAG,oBAAoB,OAAO,OAAO,cAAc,GAAG,mBAAmB,EAAE,CAAC;QAC9F,OAAO,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,YAAY,CAAC,iBAA0B,KAAK;QAC1C,MAAM,GAAG,GAAoB;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;QAEF,IAAI,cAAc,EAAE;YAClB,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,IAAI,IAAA,uBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACpD,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;SACpE;QAED,IAAI,IAAA,kCAAoB,EAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACtC,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;SAC/B;QAED,OAAO,GAAG,CAAC;IACb,CAAC;;AAtEH,kCAuEC;AAtEiB,qBAAS,GAAG,aAAa,CAAC"}
|