@tstdl/base 0.78.0-beta4 → 0.78.0-beta42
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/api/client/client.d.ts +2 -1
- package/api/client/client.js +6 -13
- package/api/client/client.js.map +1 -1
- package/api/response.js.map +1 -1
- package/api/server/gateway.js +7 -5
- package/api/server/gateway.js.map +1 -1
- package/api/types.d.ts +22 -9
- package/api/types.js +1 -2
- package/api/types.js.map +1 -1
- package/api/utils.d.ts +9 -0
- package/api/utils.js +15 -0
- package/api/utils.js.map +1 -0
- package/application/application.js.map +1 -1
- package/container/container.js.map +1 -1
- package/container/decorators.d.ts +1 -1
- package/container/decorators.js.map +1 -1
- package/css/theme/theme.service.js.map +1 -1
- package/data-structures/iterable-weak-map.js +1 -1
- package/data-structures/iterable-weak-map.js.map +1 -1
- package/data-structures/linked-list.js.map +1 -1
- package/data-structures/sorted-array-list.js.map +1 -1
- package/database/mongo/classes.js.map +1 -1
- package/database/mongo/mongo-entity-repository.js +2 -2
- package/database/mongo/mongo-entity-repository.js.map +1 -1
- package/distributed-loop/distributed-loop.js.map +1 -1
- package/distributed-loop/provider.js.map +1 -1
- package/enumerable/async-enumerable.d.ts +2 -1
- package/enumerable/async-enumerable.js +3 -0
- package/enumerable/async-enumerable.js.map +1 -1
- package/enumerable/enumerable-methods.d.ts +1 -0
- package/enumerable/enumerable.d.ts +1 -0
- package/enumerable/enumerable.js +12 -18
- package/enumerable/enumerable.js.map +1 -1
- package/error/custom.error.d.ts +1 -1
- package/error/custom.error.js +8 -6
- package/error/custom.error.js.map +1 -1
- package/examples/api/basic-overview.js +0 -1
- package/examples/api/basic-overview.js.map +1 -1
- package/examples/mail/basic.js +12 -7
- package/examples/mail/basic.js.map +1 -1
- package/examples/mail/templates/hello-name.d.ts +2 -0
- package/examples/mail/templates/hello-name.js +11 -0
- package/examples/mail/templates/hello-name.js.map +1 -0
- package/examples/pdf/basic.js +6 -3
- package/examples/pdf/basic.js.map +1 -1
- package/examples/pdf/templates/hello-name.d.ts +1 -4
- package/examples/pdf/templates/hello-name.js +16 -4
- package/examples/pdf/templates/hello-name.js.map +1 -1
- package/examples/reflection/basic.js +1 -1
- package/examples/reflection/basic.js.map +1 -1
- package/http/client/adapters/got-http-client.adapter.js.map +1 -1
- package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
- package/http/client/adapters/utils.js +20 -8
- package/http/client/adapters/utils.js.map +1 -1
- package/http/client/http-client-request.d.ts +13 -3
- package/http/client/http-client-request.js +4 -0
- package/http/client/http-client-request.js.map +1 -1
- package/http/client/http-client.d.ts +0 -3
- package/http/client/http-client.js +31 -24
- package/http/client/http-client.js.map +1 -1
- package/http/http-headers.d.ts +2 -0
- package/http/http-headers.js +6 -0
- package/http/http-headers.js.map +1 -1
- package/http/server/node/node-http-server.js.map +1 -1
- package/image-service/image-service.js.map +1 -1
- package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
- package/key-value-store/mongo/mongo-key-value-store.provider.js.map +1 -1
- package/key-value-store/mongo/mongo-key-value.repository.js.map +1 -1
- package/key-value-store/mongo/mongo-key-value.store.js.map +1 -1
- package/lock/mongo/lock.js.map +1 -1
- package/lock/mongo/mongo-lock-repository.js.map +1 -1
- package/lock/mongo/provider.js.map +1 -1
- package/logger/console/logger.js.map +1 -1
- package/mail/clients/nodemailer.mail-client.js.map +1 -1
- package/mail/index.d.ts +0 -3
- package/mail/index.js +0 -3
- package/mail/index.js.map +1 -1
- package/mail/mail.service.d.ts +3 -5
- package/mail/mail.service.js +8 -14
- package/mail/mail.service.js.map +1 -1
- package/mail/models/mail-template.model.d.ts +11 -10
- package/mail/models/mail-template.model.js +7 -0
- package/mail/models/mail-template.model.js.map +1 -1
- package/mail/module.d.ts +1 -5
- package/mail/module.js +2 -11
- package/mail/module.js.map +1 -1
- package/mail/repositories/mongo-mail-log.repository.js.map +1 -1
- package/mail/tokens.d.ts +0 -3
- package/mail/tokens.js +1 -2
- package/mail/tokens.js.map +1 -1
- package/message-bus/local/local-message-bus-provider.js.map +1 -1
- package/message-bus/local/local-message-bus.js.map +1 -1
- package/migration/migrator.js.map +1 -1
- package/migration/mongo/migration-state-repository.js.map +1 -1
- package/module/modules/web-server.module.js.map +1 -1
- package/object-storage/s3/s3.object-storage-provider.js.map +1 -1
- package/object-storage/s3/s3.object-storage.js.map +1 -1
- package/openid-connect/cached-oidc-configuration.service.js.map +1 -1
- package/openid-connect/mongo-oidc-state.repository.js.map +1 -1
- package/openid-connect/oidc-configuration.service.d.ts +2 -1
- package/openid-connect/oidc-configuration.service.js +5 -3
- package/openid-connect/oidc-configuration.service.js.map +1 -1
- package/openid-connect/oidc.service-model.d.ts +11 -3
- package/openid-connect/oidc.service.d.ts +6 -3
- package/openid-connect/oidc.service.js +69 -23
- package/openid-connect/oidc.service.js.map +1 -1
- package/package.json +7 -8
- package/pdf/pdf.service.d.ts +48 -10
- package/pdf/pdf.service.js +114 -4
- package/pdf/pdf.service.js.map +1 -1
- package/promise/deferred-promise.d.ts +2 -15
- package/promise/deferred-promise.js +5 -10
- package/promise/deferred-promise.js.map +1 -1
- package/promise/index.d.ts +1 -0
- package/promise/index.js +1 -0
- package/promise/index.js.map +1 -1
- package/promise/lazy-promise.d.ts +11 -0
- package/promise/lazy-promise.js +31 -0
- package/promise/lazy-promise.js.map +1 -0
- package/queue/mongo/mongo-job.repository.js +1 -1
- package/queue/mongo/mongo-job.repository.js.map +1 -1
- package/queue/mongo/queue.js.map +1 -1
- package/queue/mongo/queue.provider.js.map +1 -1
- package/reflection/decorator-data.js +1 -1
- package/reflection/decorator-data.js.map +1 -1
- package/reflection/decorators.d.ts +2 -2
- package/reflection/decorators.js +7 -7
- package/reflection/decorators.js.map +1 -1
- package/reflection/registry.d.ts +8 -8
- package/reflection/registry.js +1 -1
- package/reflection/registry.js.map +1 -1
- package/reflection/types.d.ts +3 -2
- package/reflection/utils.d.ts +7 -2
- package/reflection/utils.js +38 -12
- package/reflection/utils.js.map +1 -1
- package/schema/array-constraints/maximum-length.js +2 -2
- package/schema/array-constraints/maximum-length.js.map +1 -1
- package/schema/array-constraints/minimum-length.js +2 -2
- package/schema/array-constraints/minimum-length.js.map +1 -1
- package/schema/coercers/default-value.coercer.d.ts +1 -1
- package/schema/coercers/default-value.coercer.js +1 -1
- package/schema/coercers/default-value.coercer.js.map +1 -1
- package/schema/coercers/uint8-array.coercer.js +4 -3
- package/schema/coercers/uint8-array.coercer.js.map +1 -1
- package/schema/constraints/enumeration.js +2 -2
- package/schema/constraints/enumeration.js.map +1 -1
- package/schema/constraints/generic.js +2 -2
- package/schema/constraints/generic.js.map +1 -1
- package/schema/constraints/integer.js +3 -3
- package/schema/constraints/integer.js.map +1 -1
- package/schema/constraints/literal.js +2 -2
- package/schema/constraints/literal.js.map +1 -1
- package/schema/constraints/maximum-date.js +3 -3
- package/schema/constraints/maximum-date.js.map +1 -1
- package/schema/constraints/maximum-length.js +2 -2
- package/schema/constraints/maximum-length.js.map +1 -1
- package/schema/constraints/maximum.js +3 -3
- package/schema/constraints/maximum.js.map +1 -1
- package/schema/constraints/minimum-date.js +3 -3
- package/schema/constraints/minimum-date.js.map +1 -1
- package/schema/constraints/minimum-length.js +2 -2
- package/schema/constraints/minimum-length.js.map +1 -1
- package/schema/constraints/minimum.js +3 -3
- package/schema/constraints/minimum.js.map +1 -1
- package/schema/constraints/pattern.js +3 -3
- package/schema/constraints/pattern.js.map +1 -1
- package/schema/decorators/array.d.ts +2 -2
- package/schema/decorators/array.js +1 -1
- package/schema/decorators/array.js.map +1 -1
- package/schema/decorators/defaulted.d.ts +2 -2
- package/schema/decorators/defaulted.js +1 -1
- package/schema/decorators/defaulted.js.map +1 -1
- package/schema/decorators/optional.d.ts +3 -1
- package/schema/decorators/optional.js +2 -2
- package/schema/decorators/optional.js.map +1 -1
- package/schema/decorators/property.d.ts +1 -1
- package/schema/decorators/property.js +3 -1
- package/schema/decorators/property.js.map +1 -1
- package/schema/decorators/types.d.ts +4 -4
- package/schema/decorators/utils.d.ts +3 -2
- package/schema/decorators/utils.js +4 -8
- package/schema/decorators/utils.js.map +1 -1
- package/schema/schema.d.ts +8 -10
- package/schema/schema.error.d.ts +1 -0
- package/schema/schema.error.js +1 -1
- package/schema/schema.error.js.map +1 -1
- package/schema/schema.js +131 -164
- package/schema/schema.js.map +1 -1
- package/schema/schemas/any.d.ts +2 -2
- package/schema/schemas/any.js +2 -2
- package/schema/schemas/any.js.map +1 -1
- package/schema/schemas/array.d.ts +2 -1
- package/schema/schemas/array.js +1 -1
- package/schema/schemas/array.js.map +1 -1
- package/schema/schemas/assign.d.ts +5 -5
- package/schema/schemas/boolean.js +2 -2
- package/schema/schemas/boolean.js.map +1 -1
- package/schema/schemas/date.js +2 -2
- package/schema/schemas/date.js.map +1 -1
- package/schema/schemas/defaulted.d.ts +3 -2
- package/schema/schemas/defaulted.js.map +1 -1
- package/schema/schemas/enumeration.js +2 -2
- package/schema/schemas/enumeration.js.map +1 -1
- package/schema/schemas/exclude.d.ts +4 -1
- package/schema/schemas/exclude.js +6 -11
- package/schema/schemas/exclude.js.map +1 -1
- package/schema/schemas/index.d.ts +2 -0
- package/schema/schemas/index.js +2 -0
- package/schema/schemas/index.js.map +1 -1
- package/schema/schemas/instance.d.ts +2 -2
- package/schema/schemas/instance.js +1 -1
- package/schema/schemas/instance.js.map +1 -1
- package/schema/schemas/literal.js +2 -2
- package/schema/schemas/literal.js.map +1 -1
- package/schema/schemas/nullable.d.ts +3 -2
- package/schema/schemas/nullable.js.map +1 -1
- package/schema/schemas/number.d.ts +1 -1
- package/schema/schemas/number.js +2 -2
- package/schema/schemas/number.js.map +1 -1
- package/schema/schemas/object.d.ts +2 -3
- package/schema/schemas/object.js.map +1 -1
- package/schema/schemas/omit.d.ts +4 -0
- package/schema/schemas/omit.js +17 -0
- package/schema/schemas/omit.js.map +1 -0
- package/schema/schemas/readable-stream.d.ts +2 -2
- package/schema/schemas/readable-stream.js +2 -2
- package/schema/schemas/readable-stream.js.map +1 -1
- package/schema/schemas/record.d.ts +3 -2
- package/schema/schemas/record.js.map +1 -1
- package/schema/schemas/regexp.js +2 -2
- package/schema/schemas/regexp.js.map +1 -1
- package/schema/schemas/string.js +2 -2
- package/schema/schemas/string.js.map +1 -1
- package/schema/schemas/transform.d.ts +3 -2
- package/schema/schemas/transform.js.map +1 -1
- package/schema/schemas/uint8-array.d.ts +2 -3
- package/schema/schemas/uint8-array.js +3 -3
- package/schema/schemas/uint8-array.js.map +1 -1
- package/schema/schemas/union.d.ts +9 -8
- package/schema/schemas/union.js +1 -1
- package/schema/schemas/union.js.map +1 -1
- package/schema/schemas/unknown.d.ts +2 -2
- package/schema/schemas/unknown.js +2 -2
- package/schema/schemas/unknown.js.map +1 -1
- package/schema/transformers/generic.d.ts +4 -4
- package/schema/transformers/generic.js.map +1 -1
- package/schema/transformers/lowercase.js +1 -1
- package/schema/transformers/lowercase.js.map +1 -1
- package/schema/transformers/trim.js +1 -1
- package/schema/transformers/trim.js.map +1 -1
- package/schema/transformers/uppercase.js +1 -1
- package/schema/transformers/uppercase.js.map +1 -1
- package/schema/types.d.ts +53 -39
- package/schema/types.js +49 -34
- package/schema/types.js.map +1 -1
- package/schema/utils/schema.d.ts +13 -5
- package/schema/utils/schema.js +86 -26
- package/schema/utils/schema.js.map +1 -1
- package/schema/utils/value-type.d.ts +3 -1
- package/schema/utils/value-type.js +32 -2
- package/schema/utils/value-type.js.map +1 -1
- package/search-index/elastic/config.js.map +1 -1
- package/search-index/elastic/model/index-mapping.d.ts +2 -1
- package/search-index/elastic/model/index-mapping.js.map +1 -1
- package/search-index/elastic/search-index.js +1 -1
- package/search-index/elastic/search-index.js.map +1 -1
- package/serializer/serializable.d.ts +4 -4
- package/serializer/serializable.js.map +1 -1
- package/templates/index.d.ts +2 -0
- package/templates/index.js +2 -0
- package/templates/index.js.map +1 -1
- package/templates/module.d.ts +3 -1
- package/templates/module.js +31 -8
- package/templates/module.js.map +1 -1
- package/templates/providers/file.provider-template.d.ts +16 -0
- package/templates/providers/{file-template.provider.js → file.provider-template.js} +22 -15
- package/templates/providers/file.provider-template.js.map +1 -0
- package/templates/providers/memory.template-provider.d.ts +8 -0
- package/templates/providers/{memory-template.provider.base.js → memory.template-provider.js} +8 -6
- package/templates/providers/memory.template-provider.js.map +1 -0
- package/templates/renderers/handlebars.template-renderer.d.ts +38 -6
- package/templates/renderers/handlebars.template-renderer.js +47 -3
- package/templates/renderers/handlebars.template-renderer.js.map +1 -1
- package/templates/renderers/mjml.template-renderer.d.ts +6 -6
- package/templates/renderers/mjml.template-renderer.js +8 -9
- package/templates/renderers/mjml.template-renderer.js.map +1 -1
- package/templates/renderers/string.template-renderer.d.ts +8 -0
- package/{mail/template-providers/memory-mail-template.provider.js → templates/renderers/string.template-renderer.js} +13 -7
- package/templates/renderers/string.template-renderer.js.map +1 -0
- package/templates/resolvers/file.template-resolver.d.ts +23 -0
- package/templates/resolvers/file.template-resolver.js +63 -0
- package/templates/resolvers/file.template-resolver.js.map +1 -0
- package/templates/resolvers/string.template-resolver.d.ts +13 -0
- package/templates/resolvers/string.template-resolver.js +44 -0
- package/templates/resolvers/string.template-resolver.js.map +1 -0
- package/templates/template-renderer.provider.js +7 -19
- package/templates/template-renderer.provider.js.map +1 -1
- package/templates/template-resolver.provider.d.ts +8 -0
- package/templates/template-resolver.provider.js +48 -0
- package/templates/template-resolver.provider.js.map +1 -0
- package/templates/template.model.d.ts +14 -4
- package/templates/template.model.js +42 -0
- package/templates/template.model.js.map +1 -1
- package/templates/template.renderer.d.ts +14 -3
- package/templates/template.renderer.js +3 -0
- package/templates/template.renderer.js.map +1 -1
- package/templates/template.resolver.d.ts +5 -0
- package/templates/template.resolver.js +7 -0
- package/templates/template.resolver.js.map +1 -0
- package/templates/template.service.d.ts +10 -4
- package/templates/template.service.js +19 -6
- package/templates/template.service.js.map +1 -1
- package/templates/tokens.d.ts +3 -2
- package/templates/tokens.js +2 -1
- package/templates/tokens.js.map +1 -1
- package/types.d.ts +6 -4
- package/utils/array/array.d.ts +1 -2
- package/utils/array/array.js.map +1 -1
- package/utils/async-iterable-helpers/includes.d.ts +2 -0
- package/utils/async-iterable-helpers/includes.js +13 -0
- package/utils/async-iterable-helpers/includes.js.map +1 -0
- package/utils/async-iterable-helpers/index.d.ts +1 -0
- package/utils/async-iterable-helpers/index.js +1 -0
- package/utils/async-iterable-helpers/index.js.map +1 -1
- package/utils/clone.js +4 -0
- package/utils/clone.js.map +1 -1
- package/utils/compression.d.ts +13 -13
- package/utils/compression.js +10 -9
- package/utils/compression.js.map +1 -1
- package/utils/encoding.js +1 -1
- package/utils/encoding.js.map +1 -1
- package/utils/enum.js +3 -3
- package/utils/enum.js.map +1 -1
- package/utils/function/memoize.d.ts +1 -0
- package/utils/function/memoize.js +7 -4
- package/utils/function/memoize.js.map +1 -1
- package/utils/helpers.d.ts +0 -2
- package/utils/helpers.js +1 -12
- package/utils/helpers.js.map +1 -1
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
- package/utils/index.js.map +1 -1
- package/utils/iterable-helpers/includes.d.ts +1 -0
- package/utils/iterable-helpers/includes.js +9 -0
- package/utils/iterable-helpers/includes.js.map +1 -0
- package/utils/iterable-helpers/index.d.ts +1 -0
- package/utils/iterable-helpers/index.js +1 -0
- package/utils/iterable-helpers/index.js.map +1 -1
- package/utils/object/property-name.d.ts +2 -2
- package/utils/throw.d.ts +2 -0
- package/utils/throw.js +15 -0
- package/utils/throw.js.map +1 -0
- package/utils/type-guards.d.ts +13 -1
- package/utils/type-guards.js +29 -5
- package/utils/type-guards.js.map +1 -1
- package/web-types.d.ts +28 -0
- package/web-types.js +3 -0
- package/web-types.js.map +1 -0
- package/mail/mail-template-renderer.provider.d.ts +0 -8
- package/mail/mail-template-renderer.provider.js +0 -60
- package/mail/mail-template-renderer.provider.js.map +0 -1
- package/mail/mail-template.provider.d.ts +0 -4
- package/mail/mail-template.provider.js +0 -7
- package/mail/mail-template.provider.js.map +0 -1
- package/mail/mail-template.renderer.d.ts +0 -10
- package/mail/mail-template.renderer.js +0 -7
- package/mail/mail-template.renderer.js.map +0 -1
- package/mail/template-providers/file-mail-template.provider.d.ts +0 -24
- package/mail/template-providers/file-mail-template.provider.js +0 -51
- package/mail/template-providers/file-mail-template.provider.js.map +0 -1
- package/mail/template-providers/memory-mail-template.provider.d.ts +0 -6
- package/mail/template-providers/memory-mail-template.provider.js.map +0 -1
- package/mail/template-renderers/handlebars.mail-template-renderer.d.ts +0 -13
- package/mail/template-renderers/handlebars.mail-template-renderer.js +0 -49
- package/mail/template-renderers/handlebars.mail-template-renderer.js.map +0 -1
- package/mail/template-renderers/mjml.mail-template-renderer.d.ts +0 -14
- package/mail/template-renderers/mjml.mail-template-renderer.js +0 -63
- package/mail/template-renderers/mjml.mail-template-renderer.js.map +0 -1
- package/templates/providers/file-template.provider.base.d.ts +0 -12
- package/templates/providers/file-template.provider.base.js +0 -50
- package/templates/providers/file-template.provider.base.js.map +0 -1
- package/templates/providers/file-template.provider.d.ts +0 -22
- package/templates/providers/file-template.provider.js.map +0 -1
- package/templates/providers/memory-template.provider.base.d.ts +0 -9
- package/templates/providers/memory-template.provider.base.js.map +0 -1
- package/templates/providers/memory-template.provider.d.ts +0 -4
- package/templates/providers/memory-template.provider.js +0 -18
- package/templates/providers/memory-template.provider.js.map +0 -1
package/schema/types.d.ts
CHANGED
|
@@ -1,33 +1,40 @@
|
|
|
1
1
|
import type { JsonPath } from "../json-path/json-path";
|
|
2
2
|
import type { AbstractConstructor, OneOrMany, Record, Type, TypedOmit } from "../types";
|
|
3
|
-
import type { Schema, SchemaTestable } from './schema';
|
|
3
|
+
import type { NormalizedSchema, Schema, SchemaTestable } from './schema';
|
|
4
4
|
import type { SchemaError } from './schema.error';
|
|
5
5
|
declare const schemaOutputTypeSymbol: unique symbol;
|
|
6
|
-
export declare type SchemaFactoryFunction<T
|
|
7
|
-
export declare type SchemaFactory<T
|
|
6
|
+
export declare type SchemaFactoryFunction<T, O = T> = (data: T) => NormalizeValueType<O>;
|
|
7
|
+
export declare type SchemaFactory<T, O = T> = {
|
|
8
8
|
type: Type<T>;
|
|
9
9
|
builder?: undefined;
|
|
10
10
|
} | {
|
|
11
11
|
type?: undefined;
|
|
12
12
|
builder: SchemaFactoryFunction<T, O>;
|
|
13
13
|
};
|
|
14
|
-
export declare type ObjectSchemaProperties<T
|
|
15
|
-
[K in keyof T]-?: OneOrMany<
|
|
14
|
+
export declare type ObjectSchemaProperties<T> = {
|
|
15
|
+
[K in keyof T]-?: OneOrMany<Schema<any, T[K]>>;
|
|
16
16
|
};
|
|
17
17
|
export declare type NormalizedObjectSchemaProperties<T> = {
|
|
18
|
-
[K in keyof T]
|
|
18
|
+
[K in keyof T]-?: Schema<any, T[K]>;
|
|
19
19
|
};
|
|
20
|
-
export declare type SchemaOutput<T extends
|
|
21
|
-
export declare type ObjectSchema<T
|
|
20
|
+
export declare type SchemaOutput<T extends Schema> = T extends ObjectSchema<any, infer O> ? O : T extends ValueSchema<any, infer O> ? O : T extends TypeSchema<infer O> ? O : never;
|
|
21
|
+
export declare type ObjectSchema<T = any, O = T> = {
|
|
22
22
|
[schemaOutputTypeSymbol]?: O;
|
|
23
|
+
sourceType?: ValueType;
|
|
23
24
|
factory?: SchemaFactory<T, O>;
|
|
24
25
|
properties: ObjectSchemaProperties<T>;
|
|
25
26
|
mask?: boolean;
|
|
26
|
-
allowUnknownProperties?: OneOrMany<
|
|
27
|
+
allowUnknownProperties?: OneOrMany<SchemaTestable>;
|
|
28
|
+
};
|
|
29
|
+
export declare type TypeSchema<T = any> = {
|
|
30
|
+
type: ValueType<T>;
|
|
31
|
+
};
|
|
32
|
+
export declare type NormalizedTypeSchema<T = any> = {
|
|
33
|
+
foo: ResolvedValueType<T>;
|
|
27
34
|
};
|
|
28
|
-
export declare type TypeSchema<T = any, O = T> = AbstractConstructor<T & O>;
|
|
29
35
|
export declare type ValueSchema<T = unknown, O = T> = {
|
|
30
|
-
|
|
36
|
+
[schemaOutputTypeSymbol]?: O;
|
|
37
|
+
schema: OneOrMany<SchemaTestable<T, O>>;
|
|
31
38
|
array?: boolean;
|
|
32
39
|
optional?: boolean;
|
|
33
40
|
nullable?: boolean;
|
|
@@ -39,7 +46,7 @@ export declare type ValueSchema<T = unknown, O = T> = {
|
|
|
39
46
|
arrayConstraints?: OneOrMany<SchemaArrayConstraint>;
|
|
40
47
|
valueConstraints?: OneOrMany<SchemaValueConstraint>;
|
|
41
48
|
};
|
|
42
|
-
export declare type NormalizedObjectSchema<T
|
|
49
|
+
export declare type NormalizedObjectSchema<T = any, O = T> = {
|
|
43
50
|
[schemaOutputTypeSymbol]?: O;
|
|
44
51
|
factory?: SchemaFactory<T, O>;
|
|
45
52
|
properties: NormalizedObjectSchemaProperties<T>;
|
|
@@ -48,7 +55,7 @@ export declare type NormalizedObjectSchema<T extends Record = any, O extends Rec
|
|
|
48
55
|
};
|
|
49
56
|
export declare type NormalizedValueSchema<T = any, O = T> = {
|
|
50
57
|
[schemaOutputTypeSymbol]?: O;
|
|
51
|
-
|
|
58
|
+
schema: Set<Schema<T, O>>;
|
|
52
59
|
array: boolean;
|
|
53
60
|
optional: boolean;
|
|
54
61
|
nullable: boolean;
|
|
@@ -59,25 +66,25 @@ export declare type NormalizedValueSchema<T = any, O = T> = {
|
|
|
59
66
|
valueConstraints: readonly SchemaValueConstraint[];
|
|
60
67
|
};
|
|
61
68
|
export declare type SchemaContext = {
|
|
62
|
-
schema:
|
|
69
|
+
schema: NormalizedSchema;
|
|
63
70
|
options: SchemaTestOptions;
|
|
64
71
|
};
|
|
65
72
|
export declare type ConstraintContext = SchemaContext;
|
|
66
73
|
export declare type TransformerContext = SchemaContext;
|
|
67
74
|
export declare type CoercerContext = SchemaContext;
|
|
68
|
-
export declare type NormalizeValueType<T> = T extends String ? string : T extends Number ? number : T extends Boolean ? boolean : T extends BigInt ? bigint : T extends Symbol ? symbol : T extends 'undefined' ? undefined : T extends 'null' ? null : T;
|
|
69
|
-
export declare type NormalizeToValueType<T> = T extends string ? typeof String : T extends number ? typeof Number : T extends boolean ? typeof Boolean : T extends bigint ? typeof BigInt : T extends symbol ? typeof Symbol : T extends undefined ? 'undefined' : T extends null ? 'null' : never;
|
|
70
|
-
export declare type ValueType<T = any
|
|
71
|
-
export declare type DeferredValueType<T = unknown
|
|
72
|
-
deferred: () => ValueType<T
|
|
73
|
-
};
|
|
74
|
-
export declare type ResolvedValueType<T = unknown
|
|
75
|
-
export declare type ValueTypeOutput<T extends ValueType
|
|
75
|
+
export declare type NormalizeValueType<T> = T extends String ? string : T extends Number ? number : T extends Boolean ? boolean : T extends BigInt ? bigint : T extends Symbol ? symbol : T extends 'undefined' ? undefined : T extends 'null' ? null : T extends 'any' ? any : T;
|
|
76
|
+
export declare type NormalizeToValueType<T> = T extends string | String ? typeof String : T extends number ? typeof Number : T extends boolean ? typeof Boolean : T extends bigint ? typeof BigInt : T extends symbol ? typeof Symbol : T extends undefined ? 'undefined' : T extends null ? 'null' : T extends any ? 'any' : never;
|
|
77
|
+
export declare type ValueType<T = any> = AbstractConstructor<T> | NormalizeToValueType<T> | DeferredValueType<T>;
|
|
78
|
+
export declare type DeferredValueType<T = unknown> = {
|
|
79
|
+
deferred: () => ValueType<T>;
|
|
80
|
+
};
|
|
81
|
+
export declare type ResolvedValueType<T = unknown> = Exclude<ValueType<T>, DeferredValueType>;
|
|
82
|
+
export declare type ValueTypeOutput<T extends ValueType> = T extends ValueType<infer U> ? NormalizeValueType<U> : never;
|
|
76
83
|
export declare type Coercible = {
|
|
77
84
|
coerce?: boolean;
|
|
78
85
|
};
|
|
79
|
-
export declare const
|
|
80
|
-
export declare const
|
|
86
|
+
export declare const primitiveConstructors: ValueType[];
|
|
87
|
+
export declare const primitiveConstructorSet: Set<ValueType<any>>;
|
|
81
88
|
export declare abstract class SchemaArrayConstraint {
|
|
82
89
|
abstract validate(value: readonly unknown[], path: JsonPath, context: ConstraintContext): ConstraintResult;
|
|
83
90
|
}
|
|
@@ -88,7 +95,7 @@ export declare abstract class SchemaValueConstraint {
|
|
|
88
95
|
abstract validate(value: unknown, path: JsonPath, context: ConstraintContext): ConstraintResult;
|
|
89
96
|
}
|
|
90
97
|
export declare abstract class SchemaValueTransformer<T = any, O = T, TransformOutput = O> {
|
|
91
|
-
abstract readonly sourceType: OneOrMany<ValueType<T
|
|
98
|
+
abstract readonly sourceType: OneOrMany<ValueType<T>>;
|
|
92
99
|
abstract readonly targetType: ValueType<TransformOutput>;
|
|
93
100
|
abstract transform(value: O, path: JsonPath, context: TransformerContext): TransformResult<TransformOutput>;
|
|
94
101
|
}
|
|
@@ -110,19 +117,19 @@ export declare type SchemaTestOptions = {
|
|
|
110
117
|
mask?: boolean;
|
|
111
118
|
};
|
|
112
119
|
export declare type SchemaTestResult<T> = {
|
|
113
|
-
|
|
120
|
+
valid: true;
|
|
114
121
|
value: T;
|
|
115
122
|
error?: undefined;
|
|
116
123
|
} | {
|
|
117
|
-
|
|
124
|
+
valid: false;
|
|
118
125
|
value?: undefined;
|
|
119
126
|
error: SchemaError;
|
|
120
127
|
};
|
|
121
128
|
export declare type ConstraintResult = {
|
|
122
|
-
|
|
129
|
+
valid: true;
|
|
123
130
|
error?: undefined;
|
|
124
131
|
} | {
|
|
125
|
-
|
|
132
|
+
valid: false;
|
|
126
133
|
error: SchemaError;
|
|
127
134
|
};
|
|
128
135
|
export declare type CoerceResult = {
|
|
@@ -143,14 +150,21 @@ export declare type TransformResult<T> = {
|
|
|
143
150
|
value?: undefined;
|
|
144
151
|
error: SchemaError;
|
|
145
152
|
};
|
|
146
|
-
export declare function
|
|
147
|
-
export declare function
|
|
148
|
-
export declare function
|
|
149
|
-
export declare function
|
|
150
|
-
export declare function
|
|
151
|
-
export declare function
|
|
152
|
-
export declare function
|
|
153
|
-
export declare function
|
|
154
|
-
export declare function
|
|
155
|
-
export declare function
|
|
153
|
+
export declare function objectSchemaProperties<T extends Record>(properties: ObjectSchemaProperties<T>): ObjectSchemaProperties<T>;
|
|
154
|
+
export declare function objectSchema<T extends Record, O extends Record = T>(schema: ObjectSchema<T, O>): ObjectSchema<T, O>;
|
|
155
|
+
export declare function valueSchema<T, O = T>(schema: OneOrMany<Schema<T, O>>, options?: TypedOmit<ValueSchema<T, O>, 'schema'>): ValueSchema<T, O>;
|
|
156
|
+
export declare function typeSchema<T>(type: ValueType<T>): TypeSchema<NormalizeValueType<T>>;
|
|
157
|
+
export declare function isSchema<T, O>(value: any): value is Schema<T, O>;
|
|
158
|
+
export declare function isObjectSchema<T extends Record, O extends Record>(schema: Schema<T, O>): schema is ObjectSchema<T, O>;
|
|
159
|
+
export declare function isObjectSchema<T extends Record, O extends Record>(schema: any): schema is ObjectSchema<T, O>;
|
|
160
|
+
export declare function isValueSchema<T, O>(schema: Schema<T, O>): schema is ValueSchema<T, O>;
|
|
161
|
+
export declare function isValueSchema<T, O>(schema: any): schema is ValueSchema<T, O>;
|
|
162
|
+
export declare function isTypeSchema<T, O>(schema: Schema<T, O>): schema is TypeSchema<O>;
|
|
163
|
+
export declare function isTypeSchema<T, O>(schema: any): schema is TypeSchema<O>;
|
|
164
|
+
export declare function isDeferredValueType<T>(value: ValueType<T>): value is DeferredValueType<T>;
|
|
165
|
+
export declare function isDeferredValueType(value: any): value is DeferredValueType;
|
|
166
|
+
export declare function resolveValueTypes<T>(valueTypes: OneOrMany<ValueType<T>>): OneOrMany<ResolvedValueType<T>>;
|
|
167
|
+
export declare function resolveValueType<T>(valueType: ValueType<T>): ResolvedValueType<T>;
|
|
168
|
+
export declare function valueTypesOrSchemasToSchemas<T, O>(valueTypesOrSchemas: OneOrMany<ValueType<O> | Schema<T, O>>): OneOrMany<Schema<T, O>>;
|
|
169
|
+
export declare function valueTypeOrSchemaToSchema<T, O>(valueTypeOrSchema: ValueType<O> | Schema<T, O>): Schema<T, O>;
|
|
156
170
|
export {};
|
package/schema/types.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
4
|
+
exports.valueTypeOrSchemaToSchema = exports.valueTypesOrSchemasToSchemas = exports.resolveValueType = exports.resolveValueTypes = exports.isDeferredValueType = exports.isTypeSchema = exports.isValueSchema = exports.isObjectSchema = exports.isSchema = exports.typeSchema = exports.valueSchema = exports.objectSchema = exports.objectSchemaProperties = exports.SchemaValueCoercer = exports.SchemaValueTransformer = exports.SchemaValueConstraint = exports.SchemaArrayConstraint = exports.primitiveConstructorSet = exports.primitiveConstructors = void 0;
|
|
5
|
+
const object_1 = require("../utils/object/object");
|
|
5
6
|
const type_guards_1 = require("../utils/type-guards");
|
|
6
|
-
exports.
|
|
7
|
-
exports.
|
|
7
|
+
exports.primitiveConstructors = [String, Number, Boolean, Symbol, BigInt, Function, 'undefined', 'null'];
|
|
8
|
+
exports.primitiveConstructorSet = new Set(exports.primitiveConstructors);
|
|
8
9
|
class SchemaArrayConstraint {
|
|
9
10
|
}
|
|
10
11
|
exports.SchemaArrayConstraint = SchemaArrayConstraint;
|
|
@@ -17,61 +18,75 @@ exports.SchemaValueTransformer = SchemaValueTransformer;
|
|
|
17
18
|
class SchemaValueCoercer {
|
|
18
19
|
}
|
|
19
20
|
exports.SchemaValueCoercer = SchemaValueCoercer;
|
|
21
|
+
function objectSchemaProperties(properties) {
|
|
22
|
+
return (0, object_1.filterObject)(properties, type_guards_1.isDefined);
|
|
23
|
+
}
|
|
24
|
+
exports.objectSchemaProperties = objectSchemaProperties;
|
|
20
25
|
function objectSchema(schema) {
|
|
21
|
-
return schema;
|
|
26
|
+
return (0, object_1.filterObject)(schema, type_guards_1.isDefined);
|
|
22
27
|
}
|
|
23
28
|
exports.objectSchema = objectSchema;
|
|
24
|
-
function valueSchema(
|
|
25
|
-
return {
|
|
29
|
+
function valueSchema(schema, options) {
|
|
30
|
+
return (0, object_1.filterObject)({ schema, ...options }, type_guards_1.isDefined);
|
|
26
31
|
}
|
|
27
32
|
exports.valueSchema = valueSchema;
|
|
33
|
+
function typeSchema(type) {
|
|
34
|
+
return { type };
|
|
35
|
+
}
|
|
36
|
+
exports.typeSchema = typeSchema;
|
|
28
37
|
function isSchema(value) {
|
|
29
|
-
return isObjectSchema(value) || isValueSchema(value);
|
|
38
|
+
return isObjectSchema(value) || isValueSchema(value) || isTypeSchema(value);
|
|
30
39
|
}
|
|
31
40
|
exports.isSchema = isSchema;
|
|
32
|
-
function isObjectSchema(
|
|
33
|
-
return (0, type_guards_1.isObject)(
|
|
41
|
+
function isObjectSchema(schema) {
|
|
42
|
+
return (0, type_guards_1.isObject)(schema?.properties);
|
|
34
43
|
}
|
|
35
44
|
exports.isObjectSchema = isObjectSchema;
|
|
36
|
-
function isValueSchema(
|
|
37
|
-
return (0, type_guards_1.isObject)(
|
|
45
|
+
function isValueSchema(schema) {
|
|
46
|
+
return (0, type_guards_1.isObject)(schema) && (0, type_guards_1.isDefined)(schema?.schema);
|
|
38
47
|
}
|
|
39
48
|
exports.isValueSchema = isValueSchema;
|
|
49
|
+
function isTypeSchema(schema) {
|
|
50
|
+
if (!(0, type_guards_1.isObject)(schema)) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
const type = schema.type;
|
|
54
|
+
return (0, type_guards_1.isObject)(schema)
|
|
55
|
+
&& ((0, type_guards_1.isFunction)(type)
|
|
56
|
+
|| (type == 'undefined')
|
|
57
|
+
|| (type == 'null')
|
|
58
|
+
|| (type == 'any'));
|
|
59
|
+
}
|
|
60
|
+
exports.isTypeSchema = isTypeSchema;
|
|
40
61
|
function isDeferredValueType(value) {
|
|
41
62
|
return (0, type_guards_1.isObject)(value) && (0, type_guards_1.isFunction)(value.deferred);
|
|
42
63
|
}
|
|
43
64
|
exports.isDeferredValueType = isDeferredValueType;
|
|
44
|
-
function
|
|
65
|
+
function resolveValueTypes(valueTypes) {
|
|
45
66
|
if ((0, type_guards_1.isArray)(valueTypes)) {
|
|
46
|
-
return valueTypes.flatMap((valueType) =>
|
|
67
|
+
return valueTypes.flatMap((valueType) => resolveValueTypes(valueType));
|
|
47
68
|
}
|
|
48
|
-
return
|
|
69
|
+
return resolveValueType(valueTypes);
|
|
49
70
|
}
|
|
50
|
-
exports.
|
|
51
|
-
function
|
|
71
|
+
exports.resolveValueTypes = resolveValueTypes;
|
|
72
|
+
function resolveValueType(valueType) {
|
|
52
73
|
return isDeferredValueType(valueType)
|
|
53
|
-
?
|
|
74
|
+
? resolveValueType(valueType.deferred())
|
|
54
75
|
: valueType;
|
|
55
76
|
}
|
|
56
|
-
exports.
|
|
57
|
-
function
|
|
58
|
-
if ((0, type_guards_1.
|
|
59
|
-
return
|
|
60
|
-
}
|
|
61
|
-
if (isDeferredValueType(valueType)) {
|
|
62
|
-
return valueTypeToSchema(valueType.deferred());
|
|
77
|
+
exports.resolveValueType = resolveValueType;
|
|
78
|
+
function valueTypesOrSchemasToSchemas(valueTypesOrSchemas) {
|
|
79
|
+
if ((0, type_guards_1.isArray)(valueTypesOrSchemas)) {
|
|
80
|
+
return valueTypesOrSchemas.map(valueTypeOrSchemaToSchema);
|
|
63
81
|
}
|
|
64
|
-
return
|
|
82
|
+
return valueTypeOrSchemaToSchema(valueTypesOrSchemas);
|
|
65
83
|
}
|
|
66
|
-
exports.
|
|
67
|
-
function
|
|
68
|
-
if ((
|
|
69
|
-
return
|
|
70
|
-
}
|
|
71
|
-
if (isDeferredValueType(valueType)) {
|
|
72
|
-
return valueTypeToSchema(valueType);
|
|
84
|
+
exports.valueTypesOrSchemasToSchemas = valueTypesOrSchemasToSchemas;
|
|
85
|
+
function valueTypeOrSchemaToSchema(valueTypeOrSchema) {
|
|
86
|
+
if (isSchema(valueTypeOrSchema)) {
|
|
87
|
+
return valueTypeOrSchema;
|
|
73
88
|
}
|
|
74
|
-
return
|
|
89
|
+
return typeSchema(valueTypeOrSchema);
|
|
75
90
|
}
|
|
76
|
-
exports.
|
|
91
|
+
exports.valueTypeOrSchemaToSchema = valueTypeOrSchemaToSchema;
|
|
77
92
|
//# sourceMappingURL=types.js.map
|
package/schema/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;AAIjD,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/schema/types.ts"],"names":[],"mappings":"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"}
|
package/schema/utils/schema.d.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { AbstractConstructor } from "../../types";
|
|
2
|
+
import type { NormalizedSchema, Schema } from '../schema';
|
|
3
|
+
import type { NormalizedObjectSchema, NormalizedTypeSchema, NormalizedValueSchema, ObjectSchema, TypeSchema, ValueSchema } from '../types';
|
|
4
|
+
export declare const normalizeSchema: typeof _normalizeSchema;
|
|
5
|
+
export declare const normalizeObjectSchema: typeof _normalizeObjectSchema;
|
|
3
6
|
export declare const normalizeValueSchema: typeof _normalizeValueSchema;
|
|
7
|
+
export declare const normalizeTypeSchema: typeof _normalizeTypeSchema;
|
|
4
8
|
export declare const getArrayItemSchema: typeof _getArrayItemSchema;
|
|
5
|
-
export declare
|
|
6
|
-
|
|
7
|
-
declare function
|
|
9
|
+
export declare const getSchemaFromReflection: typeof _getObjectSchemaFromReflection;
|
|
10
|
+
declare function _normalizeSchema<T, O>(schema: Schema<T, O>): NormalizedSchema<T, O>;
|
|
11
|
+
declare function _normalizeObjectSchema<T, O>(schema: ObjectSchema<T, O>): NormalizedObjectSchema<T, O>;
|
|
12
|
+
declare function _normalizeValueSchema<T, O>(schema: ValueSchema<T, O>): NormalizedValueSchema<T, O>;
|
|
13
|
+
declare function _normalizeTypeSchema<T>(schema: TypeSchema<T>): NormalizedTypeSchema<T>;
|
|
14
|
+
declare function _getArrayItemSchema<T, O>(schema: ValueSchema<T, O>): ValueSchema<T, O>;
|
|
15
|
+
declare function _getObjectSchemaFromReflection<T>(type: AbstractConstructor<T>): ObjectSchema<T> | null;
|
|
8
16
|
export {};
|
package/schema/utils/schema.js
CHANGED
|
@@ -1,37 +1,53 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getSchemaFromReflection = exports.getArrayItemSchema = exports.normalizeTypeSchema = exports.normalizeValueSchema = exports.normalizeObjectSchema = exports.normalizeSchema = void 0;
|
|
4
|
+
const registry_1 = require("../../reflection/registry");
|
|
4
5
|
const array_1 = require("../../utils/array/array");
|
|
5
6
|
const memoize_1 = require("../../utils/function/memoize");
|
|
6
7
|
const object_1 = require("../../utils/object/object");
|
|
8
|
+
const type_guards_1 = require("../../utils/type-guards");
|
|
9
|
+
const assign_1 = require("../schemas/assign");
|
|
7
10
|
const types_1 = require("../types");
|
|
8
|
-
exports.normalizeSchema = (0, memoize_1.memoizeSingle)(
|
|
11
|
+
exports.normalizeSchema = (0, memoize_1.memoizeSingle)(_normalizeSchema, { weak: true });
|
|
12
|
+
exports.normalizeObjectSchema = (0, memoize_1.memoizeSingle)(_normalizeObjectSchema, { weak: true });
|
|
9
13
|
exports.normalizeValueSchema = (0, memoize_1.memoizeSingle)(_normalizeValueSchema, { weak: true });
|
|
14
|
+
exports.normalizeTypeSchema = (0, memoize_1.memoizeSingle)(_normalizeTypeSchema, { weak: true });
|
|
10
15
|
exports.getArrayItemSchema = (0, memoize_1.memoizeSingle)(_getArrayItemSchema, { weak: true });
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
exports.getSchemaFromReflection = (0, memoize_1.memoizeSingle)(_getObjectSchemaFromReflection, { weak: true });
|
|
17
|
+
function _normalizeSchema(schema) {
|
|
18
|
+
if ((0, types_1.isObjectSchema)(schema)) {
|
|
19
|
+
return (0, exports.normalizeObjectSchema)(schema);
|
|
20
|
+
}
|
|
21
|
+
if ((0, types_1.isValueSchema)(schema)) {
|
|
22
|
+
return (0, exports.normalizeValueSchema)(schema);
|
|
23
|
+
}
|
|
24
|
+
if ((0, types_1.isTypeSchema)(schema)) {
|
|
25
|
+
return (0, exports.normalizeTypeSchema)(schema);
|
|
26
|
+
}
|
|
27
|
+
throw new Error('Unsupported schema.');
|
|
28
|
+
}
|
|
29
|
+
function _normalizeObjectSchema(schema) {
|
|
30
|
+
const normalizedSchema = {
|
|
31
|
+
factory: schema.factory,
|
|
32
|
+
properties: (0, object_1.mapObjectValues)(schema.properties, (propertyValueType) => ((0, type_guards_1.isArray)(propertyValueType) ? (0, types_1.valueSchema)(propertyValueType) : propertyValueType)),
|
|
33
|
+
mask: schema.mask,
|
|
34
|
+
allowUnknownProperties: new Set((0, array_1.toArray)(schema.allowUnknownProperties ?? []).map(types_1.valueTypeOrSchemaToSchema))
|
|
17
35
|
};
|
|
18
|
-
return
|
|
36
|
+
return normalizedSchema;
|
|
19
37
|
}
|
|
20
|
-
|
|
21
|
-
function _normalizeValueSchema(valueSchema) {
|
|
22
|
-
const valueTypes = (0, array_1.toArray)((0, types_1.deferrableValueTypesToValueTypes)(valueSchema.type));
|
|
38
|
+
function _normalizeValueSchema(schema) {
|
|
23
39
|
const normalizedValueSchema = {
|
|
24
|
-
|
|
25
|
-
array:
|
|
26
|
-
optional:
|
|
27
|
-
nullable:
|
|
28
|
-
coerce:
|
|
40
|
+
schema: new Set((0, array_1.toArray)(schema.schema).map(types_1.valueTypeOrSchemaToSchema)),
|
|
41
|
+
array: schema.array ?? false,
|
|
42
|
+
optional: schema.optional ?? false,
|
|
43
|
+
nullable: schema.nullable ?? false,
|
|
44
|
+
coerce: schema.coerce ?? false,
|
|
29
45
|
coercers: new Map(),
|
|
30
|
-
transformers: (0, array_1.toArray)(
|
|
31
|
-
arrayConstraints: (0, array_1.toArray)(
|
|
32
|
-
valueConstraints: (0, array_1.toArray)(
|
|
46
|
+
transformers: (0, array_1.toArray)(schema.transformers ?? []),
|
|
47
|
+
arrayConstraints: (0, array_1.toArray)(schema.arrayConstraints ?? []),
|
|
48
|
+
valueConstraints: (0, array_1.toArray)(schema.valueConstraints ?? [])
|
|
33
49
|
};
|
|
34
|
-
for (const coercer of (0, array_1.toArray)(
|
|
50
|
+
for (const coercer of (0, array_1.toArray)(schema.coercers ?? [])) {
|
|
35
51
|
for (const sourceType of (0, array_1.toArray)(coercer.sourceType)) {
|
|
36
52
|
if (!normalizedValueSchema.coercers.has(sourceType)) {
|
|
37
53
|
normalizedValueSchema.coercers.set(sourceType, []);
|
|
@@ -41,16 +57,60 @@ function _normalizeValueSchema(valueSchema) {
|
|
|
41
57
|
}
|
|
42
58
|
return normalizedValueSchema;
|
|
43
59
|
}
|
|
44
|
-
|
|
45
|
-
|
|
60
|
+
function _normalizeTypeSchema(schema) {
|
|
61
|
+
const normalizedSchema = {
|
|
62
|
+
foo: (0, types_1.resolveValueType)(schema.type)
|
|
63
|
+
};
|
|
64
|
+
return normalizedSchema;
|
|
65
|
+
}
|
|
66
|
+
function _getArrayItemSchema(schema) {
|
|
46
67
|
const itemSchema = {
|
|
47
|
-
|
|
68
|
+
schema: schema.schema,
|
|
48
69
|
array: false,
|
|
49
70
|
optional: false,
|
|
50
71
|
nullable: false,
|
|
51
|
-
transformers:
|
|
52
|
-
valueConstraints:
|
|
72
|
+
transformers: schema.transformers,
|
|
73
|
+
valueConstraints: schema.valueConstraints
|
|
53
74
|
};
|
|
54
75
|
return itemSchema;
|
|
55
76
|
}
|
|
77
|
+
function _getObjectSchemaFromReflection(type) {
|
|
78
|
+
const metadata = registry_1.reflectionRegistry.getMetadata(type);
|
|
79
|
+
if (!metadata.registered) {
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
const typeData = metadata.data.tryGet('schema');
|
|
83
|
+
const properties = {};
|
|
84
|
+
for (const [key, propertyMetadata] of metadata.properties) {
|
|
85
|
+
const reflectionData = propertyMetadata.data.tryGet('schema');
|
|
86
|
+
const itemType = reflectionData?.schema;
|
|
87
|
+
const array = (reflectionData?.array == true) ? true : undefined;
|
|
88
|
+
if (array && ((0, type_guards_1.isUndefined)(itemType) || ((0, type_guards_1.isArray)(itemType) && (itemType.length == 0)))) {
|
|
89
|
+
throw new Error(`Item type missing on type ${type.name} at property "${String(key)}"`);
|
|
90
|
+
}
|
|
91
|
+
properties[key] = (0, types_1.valueSchema)((0, types_1.valueTypesOrSchemasToSchemas)(itemType ?? propertyMetadata.type), {
|
|
92
|
+
array,
|
|
93
|
+
optional: reflectionData?.optional,
|
|
94
|
+
nullable: reflectionData?.nullable,
|
|
95
|
+
coerce: reflectionData?.coerce,
|
|
96
|
+
coercers: reflectionData?.coercers,
|
|
97
|
+
transformers: reflectionData?.transformers,
|
|
98
|
+
arrayConstraints: reflectionData?.arrayConstraints,
|
|
99
|
+
valueConstraints: reflectionData?.valueConstraints
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
const schema = (0, types_1.objectSchema)({
|
|
103
|
+
sourceType: type,
|
|
104
|
+
factory: (0, type_guards_1.isDefined)(typeData?.factory) ? { builder: typeData.factory } : { type: type },
|
|
105
|
+
properties,
|
|
106
|
+
mask: typeData?.mask,
|
|
107
|
+
allowUnknownProperties: ((0, type_guards_1.isUndefined)(typeData?.allowUnknownProperties) || ((0, type_guards_1.isArray)(typeData?.allowUnknownProperties) && (typeData?.allowUnknownProperties.length == 0))) ? undefined : typeData?.allowUnknownProperties
|
|
108
|
+
});
|
|
109
|
+
const prototype = Reflect.getPrototypeOf(type);
|
|
110
|
+
if ((0, type_guards_1.isNotNull)(prototype) && registry_1.reflectionRegistry.hasType(prototype)) {
|
|
111
|
+
const parentSchema = (0, exports.getSchemaFromReflection)(prototype);
|
|
112
|
+
return (0, assign_1.assign)(parentSchema, schema);
|
|
113
|
+
}
|
|
114
|
+
return schema;
|
|
115
|
+
}
|
|
56
116
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../source/schema/utils/schema.ts"],"names":[],"mappings":";;;AAAA,mDAA8C;AAC9C,0DAAyD;AACzD,sDAAwD;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../source/schema/utils/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { SchemaTestable } from '../schema';
|
|
1
2
|
import type { ResolvedValueType, ValueType } from '../types';
|
|
2
|
-
export declare function getValueType(value: unknown): ResolvedValueType
|
|
3
|
+
export declare function getValueType(value: unknown): ResolvedValueType<any>;
|
|
3
4
|
export declare function getValueTypeName(valueType: ValueType): string;
|
|
5
|
+
export declare function getSchemaTypeNames(schema: SchemaTestable): string[];
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getValueTypeName = exports.getValueType = void 0;
|
|
3
|
+
exports.getSchemaTypeNames = exports.getValueTypeName = exports.getValueType = void 0;
|
|
4
|
+
const array_1 = require("../../utils/array/array");
|
|
4
5
|
const type_guards_1 = require("../../utils/type-guards");
|
|
6
|
+
const types_1 = require("../types");
|
|
5
7
|
function getValueType(value) {
|
|
6
8
|
if ((0, type_guards_1.isUndefined)(value)) {
|
|
7
9
|
return 'undefined';
|
|
@@ -13,7 +15,35 @@ function getValueType(value) {
|
|
|
13
15
|
}
|
|
14
16
|
exports.getValueType = getValueType;
|
|
15
17
|
function getValueTypeName(valueType) {
|
|
16
|
-
|
|
18
|
+
const resolvedValueType = (0, types_1.resolveValueType)(valueType);
|
|
19
|
+
return (0, type_guards_1.isString)(resolvedValueType)
|
|
20
|
+
? resolvedValueType
|
|
21
|
+
: resolvedValueType.name;
|
|
17
22
|
}
|
|
18
23
|
exports.getValueTypeName = getValueTypeName;
|
|
24
|
+
function getSchemaTypeNames(schema) {
|
|
25
|
+
if ((0, types_1.isTypeSchema)(schema)) {
|
|
26
|
+
const name = getValueTypeName(schema.type);
|
|
27
|
+
return [name];
|
|
28
|
+
}
|
|
29
|
+
if ((0, type_guards_1.isFunction)(schema)) {
|
|
30
|
+
const name = getValueTypeName(schema);
|
|
31
|
+
return [name];
|
|
32
|
+
}
|
|
33
|
+
if ((0, type_guards_1.isString)(schema)) {
|
|
34
|
+
return [schema];
|
|
35
|
+
}
|
|
36
|
+
if ((0, types_1.isObjectSchema)(schema)) {
|
|
37
|
+
const name = getValueTypeName(schema.sourceType ?? Object);
|
|
38
|
+
return [name];
|
|
39
|
+
}
|
|
40
|
+
if ((0, types_1.isValueSchema)(schema)) {
|
|
41
|
+
return [...new Set((0, array_1.toArray)(schema.schema).flatMap(getSchemaTypeNames))];
|
|
42
|
+
}
|
|
43
|
+
if ((0, types_1.isDeferredValueType)(schema)) {
|
|
44
|
+
return getSchemaTypeNames((0, types_1.resolveValueType)(schema));
|
|
45
|
+
}
|
|
46
|
+
throw new Error('Unsupported schema');
|
|
47
|
+
}
|
|
48
|
+
exports.getSchemaTypeNames = getSchemaTypeNames;
|
|
19
49
|
//# sourceMappingURL=value-type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-type.js","sourceRoot":"","sources":["../../../source/schema/utils/value-type.ts"],"names":[],"mappings":";;;AACA,yDAAgF;AAGhF,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,WAAW,CAAC;KACpB;IAED,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,EAAE;QACjB,OAAO,MAAM,CAAC;KACf;IAED,OAAQ,KAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"value-type.js","sourceRoot":"","sources":["../../../source/schema/utils/value-type.ts"],"names":[],"mappings":";;;AACA,mDAA8C;AAC9C,yDAAgF;AAGhF,oCAA8G;AAE9G,SAAgB,YAAY,CAAC,KAAc;IACzC,IAAI,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE;QACtB,OAAO,WAAW,CAAC;KACpB;IAED,IAAI,IAAA,oBAAM,EAAC,KAAK,CAAC,EAAE;QACjB,OAAO,MAAM,CAAC;KACf;IAED,OAAQ,KAAgB,CAAC,WAAkC,CAAC;AAC9D,CAAC;AAVD,oCAUC;AAED,SAAgB,gBAAgB,CAAC,SAAoB;IACnD,MAAM,iBAAiB,GAAG,IAAA,wBAAgB,EAAC,SAAS,CAAC,CAAC;IAEtD,OAAO,IAAA,sBAAQ,EAAC,iBAAiB,CAAC;QAChC,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC;AAC7B,CAAC;AAND,4CAMC;AAED,SAAgB,kBAAkB,CAAC,MAAsB;IACvD,IAAI,IAAA,oBAAY,EAAC,MAAM,CAAC,EAAE;QACxB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,IAAA,wBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,IAAA,sBAAQ,EAAC,MAAM,CAAC,EAAE;QACpB,OAAO,CAAC,MAAM,CAAC,CAAC;KACjB;IAED,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,IAAI,GAAG,gBAAgB,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;IAED,IAAI,IAAA,qBAAa,EAAC,MAAM,CAAC,EAAE;QACzB,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,IAAA,eAAO,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;KACzE;IAED,IAAI,IAAA,2BAAmB,EAAC,MAAM,CAAC,EAAE;QAC/B,OAAO,kBAAkB,CAAC,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC,CAAC;KACrD;IAED,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;AACxC,CAAC;AA7BD,gDA6BC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../source/search-index/elastic/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAyE;AAEzE,yDAA+C;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../source/search-index/elastic/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,+CAAyE;AAEzE,yDAA+C;AAKxC,IAAe,wBAAwB,GAAvC,MAAe,wBAAwB;IAI5C,YAAyB,iBAAuD;QAC9E,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAQ,EAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC;IACjG,CAAC;CACF,CAAA;AAPqB,wBAAwB;IAD7C,IAAA,sBAAU,GAAE;IAKE,WAAA,IAAA,qBAAS,GAAE,CAAA;;GAJJ,wBAAwB,CAO7C;AAPqB,4DAAwB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Entity } from "../../../database";
|
|
2
2
|
import type { DeepFlatten, StringMap, TypedOmit } from "../../../types";
|
|
3
|
-
import type { MappingBooleanProperty, MappingDateProperty, MappingGeoPointProperty, MappingKeywordProperty,
|
|
3
|
+
import type { MappingBooleanProperty, MappingByteNumberProperty, MappingDateProperty, MappingDoubleNumberProperty, MappingFloatNumberProperty, MappingGeoPointProperty, MappingHalfFloatNumberProperty, MappingIntegerNumberProperty, MappingKeywordProperty, MappingLongNumberProperty, MappingNestedProperty, MappingObjectProperty, MappingPropertyBase, MappingScaledFloatNumberProperty, MappingShortNumberProperty, MappingTextProperty, MappingTypeMapping, MappingUnsignedLongNumberProperty } from '@elastic/elasticsearch/lib/api/types';
|
|
4
4
|
export declare type ElasticIndexMapping<T extends Entity = Entity> = TypedOmit<MappingTypeMapping, 'properties'> & ElasticNestedIndexMapping<TypedOmit<T, 'id'>>;
|
|
5
5
|
export declare type ElasticNestedIndexMapping<T> = {
|
|
6
6
|
properties: {
|
|
@@ -12,6 +12,7 @@ declare type ElasticIndexMappingItemBase = {
|
|
|
12
12
|
index?: boolean;
|
|
13
13
|
fields?: StringMap<ElasticIndexMappingItem>;
|
|
14
14
|
};
|
|
15
|
+
export declare type MappingNumberProperty = MappingByteNumberProperty | MappingDoubleNumberProperty | MappingFloatNumberProperty | MappingHalfFloatNumberProperty | MappingIntegerNumberProperty | MappingLongNumberProperty | MappingShortNumberProperty | MappingScaledFloatNumberProperty | MappingUnsignedLongNumberProperty;
|
|
15
16
|
export declare type ElasticKeywordIndexMappingItem = ElasticIndexMappingItemBase & StrippedBaseType<MappingKeywordProperty>;
|
|
16
17
|
export declare type ElasticTextIndexMappingItem = ElasticIndexMappingItemBase & StrippedBaseType<MappingTextProperty>;
|
|
17
18
|
export declare type ElasticNumberIndexMappingItem = ElasticIndexMappingItemBase & StrippedBaseType<MappingNumberProperty>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-mapping.js","sourceRoot":"","sources":["../../../../source/search-index/elastic/model/index-mapping.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uDAAoD;
|
|
1
|
+
{"version":3,"file":"index-mapping.js","sourceRoot":"","sources":["../../../../source/search-index/elastic/model/index-mapping.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAIzD,uDAAoD;AAqDpD,SAAgB,0BAA0B,CAAmB,QAAkC;IAC7F,OAAO,IAAA,oBAAY,EAAC,QAAQ,CAAC,CAAC;AAChC,CAAC;AAFD,gEAEC"}
|
|
@@ -138,6 +138,6 @@ function deserializeCursor(cursor) {
|
|
|
138
138
|
}
|
|
139
139
|
function convertError(error, raw) {
|
|
140
140
|
const cause = ((0, type_guards_1.isDefined)(error.caused_by)) ? convertError(error.caused_by) : undefined;
|
|
141
|
-
return new search_index_1.SearchIndexError(error.type, error.reason, { raw, cause });
|
|
141
|
+
return new search_index_1.SearchIndexError(error.type, error.reason ?? 'No error message provided.', { raw, cause });
|
|
142
142
|
}
|
|
143
143
|
//# sourceMappingURL=search-index.js.map
|