@tstdl/base 0.78.0-beta9 → 0.78.1
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 +38 -16
- package/api/client/client.js.map +1 -1
- package/api/response.js +4 -3
- package/api/response.js.map +1 -1
- package/api/server/api-controller.d.ts +3 -1
- package/api/server/api-controller.js +7 -2
- package/api/server/api-controller.js.map +1 -1
- package/api/server/gateway.d.ts +15 -3
- package/api/server/gateway.js +53 -37
- package/api/server/gateway.js.map +1 -1
- package/api/server/middlewares/allowed-methods.middleware.js +1 -1
- package/api/server/middlewares/allowed-methods.middleware.js.map +1 -1
- package/api/server/middlewares/cors.middleware.d.ts +6 -4
- package/api/server/middlewares/cors.middleware.js +30 -30
- package/api/server/middlewares/cors.middleware.js.map +1 -1
- package/api/types.d.ts +36 -14
- 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.d.ts +17 -4
- package/application/application.js +97 -48
- package/application/application.js.map +1 -1
- package/collections/awaitable/awaitable-list.js +10 -11
- package/collections/awaitable/awaitable-list.js.map +1 -1
- package/collections/observable/observable-array.js +1 -1
- package/collections/observable/observable-array.js.map +1 -1
- package/collections/observable/observable-collection-base.js +12 -14
- package/collections/observable/observable-collection-base.js.map +1 -1
- package/collections/observable/observable-list-base.js +6 -8
- package/collections/observable/observable-list-base.js.map +1 -1
- package/collections/observable/observable-sorted-array-list.js +3 -3
- package/collections/observable/observable-sorted-array-list.js.map +1 -1
- package/collections/sorted-array-list.js +3 -3
- package/collections/sorted-array-list.js.map +1 -1
- package/collections/sorted-map.js +1 -1
- package/collections/sorted-map.js.map +1 -1
- package/container/container.js +19 -21
- package/container/container.js.map +1 -1
- package/container/decorators.d.ts +1 -1
- package/container/decorators.js.map +1 -1
- package/container/resolve-chain.d.ts +2 -1
- package/container/resolve-chain.js +6 -2
- package/container/resolve-chain.js.map +1 -1
- package/core.js +4 -3
- package/core.js.map +1 -1
- package/css/theme/theme.service.js.map +1 -1
- package/data-structures/circular-buffer.js +5 -6
- package/data-structures/circular-buffer.js.map +1 -1
- package/data-structures/collection.js +4 -5
- package/data-structures/collection.js.map +1 -1
- package/data-structures/index-out-of-bounds.error.d.ts +1 -1
- package/data-structures/index-out-of-bounds.error.js +2 -2
- package/data-structures/index-out-of-bounds.error.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.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/map.d.ts +20 -0
- package/data-structures/map.js +65 -0
- package/data-structures/map.js.map +1 -0
- package/data-structures/sorted-array-list.js +2 -2
- package/data-structures/sorted-array-list.js.map +1 -1
- package/database/mongo/classes.js.map +1 -1
- package/database/mongo/mongo-base.repository.d.ts +1 -0
- package/database/mongo/mongo-base.repository.js +6 -3
- package/database/mongo/mongo-base.repository.js.map +1 -1
- package/database/mongo/mongo-entity-repository.js +18 -25
- 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/environment.d.ts +10 -0
- package/environment.js +26 -0
- package/environment.js.map +1 -0
- package/error/custom.error.d.ts +7 -3
- package/error/custom.error.js +17 -8
- package/error/custom.error.js.map +1 -1
- package/error/index.d.ts +1 -0
- package/error/index.js +1 -0
- package/error/index.js.map +1 -1
- package/error/max-bytes-exceeded.error.d.ts +1 -0
- package/error/max-bytes-exceeded.error.js +3 -0
- package/error/max-bytes-exceeded.error.js.map +1 -1
- package/error/not-implemented.error.js +1 -1
- package/error/not-implemented.error.js.map +1 -1
- package/error/not-supported.error.d.ts +7 -0
- package/error/not-supported.error.js +17 -0
- package/error/not-supported.error.js.map +1 -0
- package/error/unsupported-media-type.error.js +1 -1
- package/error/unsupported-media-type.error.js.map +1 -1
- package/examples/api/basic-overview.js +17 -25
- package/examples/api/basic-overview.js.map +1 -1
- package/examples/api/streaming.d.ts +1 -0
- package/examples/api/streaming.js +79 -0
- package/examples/api/streaming.js.map +1 -0
- 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 +9 -6
- 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 +30 -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/examples/template/basic.d.ts +1 -0
- package/examples/template/basic.js +25 -0
- package/examples/template/basic.js.map +1 -0
- package/examples/template/templates/hello-name.d.ts +2 -0
- package/examples/template/templates/hello-name.js +23 -0
- package/examples/template/templates/hello-name.js.map +1 -0
- package/http/client/adapters/undici-http-client.adapter.d.ts +1 -2
- package/http/client/adapters/undici-http-client.adapter.js +11 -12
- package/http/client/adapters/undici-http-client.adapter.js.map +1 -1
- package/http/client/http-client-request.d.ts +24 -14
- package/http/client/http-client-request.js +4 -2
- package/http/client/http-client-request.js.map +1 -1
- package/http/client/http-client-response.d.ts +10 -12
- package/http/client/http-client-response.js +5 -1
- package/http/client/http-client-response.js.map +1 -1
- package/http/client/http-client.adapter.d.ts +1 -2
- package/http/client/http-client.adapter.js.map +1 -1
- package/http/client/http-client.d.ts +30 -31
- package/http/client/http-client.js +107 -74
- package/http/client/http-client.js.map +1 -1
- package/http/http-body.d.ts +19 -0
- package/http/http-body.js +52 -0
- package/http/http-body.js.map +1 -0
- package/http/http-headers.d.ts +3 -0
- package/http/http-headers.js +6 -0
- package/http/http-headers.js.map +1 -1
- package/http/http-value-map.js +2 -2
- package/http/http-value-map.js.map +1 -1
- package/http/http.error.d.ts +5 -2
- package/http/http.error.js +27 -5
- package/http/http.error.js.map +1 -1
- package/http/index.d.ts +2 -0
- package/http/index.js +2 -0
- package/http/index.js.map +1 -1
- package/http/server/http-server-request.d.ts +5 -10
- package/http/server/http-server-request.js +3 -30
- package/http/server/http-server-request.js.map +1 -1
- package/http/server/http-server-response.d.ts +4 -4
- package/http/server/node/node-http-server.js +6 -5
- package/http/server/node/node-http-server.js.map +1 -1
- package/http/types.d.ts +1 -11
- package/http/types.js +1 -2
- package/http/types.js.map +1 -1
- package/http/utils.d.ts +15 -0
- package/http/utils.js +113 -0
- package/http/utils.js.map +1 -0
- package/image-service/image-service.js.map +1 -1
- package/image-service/imgproxy/imgproxy-image-service.js.map +1 -1
- package/json-path/json-path.d.ts +8 -5
- package/json-path/json-path.js +15 -1
- package/json-path/json-path.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 +1 -1
- package/logger/console/logger.js.map +1 -1
- package/logger/logger.d.ts +2 -2
- 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/message-bus/message-bus-base.js +1 -2
- package/message-bus/message-bus-base.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/notification/api.d.ts +20 -0
- package/notification/api.js +35 -0
- package/notification/api.js.map +1 -0
- package/notification/model.d.ts +18 -0
- package/notification/model.js +36 -0
- package/notification/model.js.map +1 -0
- package/notification/module.d.ts +9 -0
- package/notification/module.js +15 -0
- package/notification/module.js.map +1 -0
- 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 +72 -25
- package/openid-connect/oidc.service.js.map +1 -1
- package/package.json +13 -12
- package/pdf/pdf.service.d.ts +92 -12
- package/pdf/pdf.service.js +234 -34
- package/pdf/pdf.service.js.map +1 -1
- package/pool/pool.d.ts +23 -4
- package/pool/pool.js +76 -40
- package/pool/pool.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/require.d.ts +1 -0
- package/require.js +9 -0
- package/require.js.map +1 -0
- package/rpc/endpoints/message-port.rpc-endpoint.d.ts +19 -0
- package/rpc/endpoints/message-port.rpc-endpoint.js +34 -0
- package/rpc/endpoints/message-port.rpc-endpoint.js.map +1 -0
- package/rpc/index.d.ts +4 -0
- package/rpc/index.js +21 -0
- package/rpc/index.js.map +1 -0
- package/rpc/model.d.ts +72 -0
- package/rpc/model.js +13 -0
- package/rpc/model.js.map +1 -0
- package/rpc/rpc-endpoint.d.ts +11 -0
- package/rpc/rpc-endpoint.js +23 -0
- package/rpc/rpc-endpoint.js.map +1 -0
- package/rpc/rpc-error.d.ts +8 -0
- package/rpc/rpc-error.js +26 -0
- package/rpc/rpc-error.js.map +1 -0
- package/rpc/rpc.d.ts +19 -0
- package/rpc/rpc.js +263 -0
- package/rpc/rpc.js.map +1 -0
- package/rxjs/retry-backoff.js +4 -5
- package/rxjs/retry-backoff.js.map +1 -1
- package/schema/array-constraints/maximum-length.d.ts +2 -2
- 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.d.ts +2 -2
- package/schema/array-constraints/minimum-length.js +2 -2
- package/schema/array-constraints/minimum-length.js.map +1 -1
- package/schema/coercers/boolean.coercer.d.ts +2 -2
- package/schema/coercers/boolean.coercer.js +2 -2
- package/schema/coercers/boolean.coercer.js.map +1 -1
- package/schema/coercers/date.coercer.d.ts +2 -2
- package/schema/coercers/date.coercer.js +2 -2
- package/schema/coercers/date.coercer.js.map +1 -1
- package/schema/coercers/number.coercer.d.ts +3 -3
- package/schema/coercers/number.coercer.js +2 -2
- package/schema/coercers/number.coercer.js.map +1 -1
- package/schema/coercers/regexp.coercer.d.ts +2 -2
- package/schema/coercers/regexp.coercer.js +2 -2
- package/schema/coercers/regexp.coercer.js.map +1 -1
- package/schema/coercers/string.coercer.d.ts +3 -3
- package/schema/coercers/string.coercer.js +2 -2
- package/schema/coercers/string.coercer.js.map +1 -1
- package/schema/coercers/uint8-array.coercer.js +2 -2
- package/schema/coercers/uint8-array.coercer.js.map +1 -1
- package/schema/constraints/enumeration.d.ts +5 -5
- package/schema/constraints/enumeration.js +6 -6
- package/schema/constraints/enumeration.js.map +1 -1
- package/schema/constraints/generic.d.ts +2 -2
- package/schema/constraints/generic.js +2 -2
- package/schema/constraints/generic.js.map +1 -1
- package/schema/constraints/integer.d.ts +2 -2
- package/schema/constraints/integer.js +2 -2
- package/schema/constraints/integer.js.map +1 -1
- package/schema/constraints/literal.d.ts +2 -2
- package/schema/constraints/literal.js +2 -2
- package/schema/constraints/literal.js.map +1 -1
- package/schema/constraints/maximum-date.d.ts +2 -2
- package/schema/constraints/maximum-date.js +2 -2
- package/schema/constraints/maximum-date.js.map +1 -1
- package/schema/constraints/maximum-length.d.ts +3 -3
- package/schema/constraints/maximum-length.js +2 -2
- package/schema/constraints/maximum-length.js.map +1 -1
- package/schema/constraints/maximum.d.ts +2 -2
- package/schema/constraints/maximum.js +2 -2
- package/schema/constraints/maximum.js.map +1 -1
- package/schema/constraints/minimum-date.d.ts +2 -2
- package/schema/constraints/minimum-date.js +2 -2
- package/schema/constraints/minimum-date.js.map +1 -1
- package/schema/constraints/minimum-length.d.ts +3 -3
- package/schema/constraints/minimum-length.js +2 -2
- package/schema/constraints/minimum-length.js.map +1 -1
- package/schema/constraints/minimum.d.ts +2 -2
- package/schema/constraints/minimum.js +2 -2
- package/schema/constraints/minimum.js.map +1 -1
- package/schema/constraints/pattern.d.ts +2 -2
- package/schema/constraints/pattern.js +2 -2
- package/schema/constraints/pattern.js.map +1 -1
- package/schema/decorators/array.d.ts +2 -2
- package/schema/decorators/array.js.map +1 -1
- package/schema/decorators/defaulted.d.ts +2 -2
- package/schema/decorators/defaulted.js.map +1 -1
- package/schema/decorators/index.d.ts +1 -0
- package/schema/decorators/index.js +1 -0
- package/schema/decorators/index.js.map +1 -1
- package/schema/decorators/one-or-many.d.ts +6 -0
- package/schema/decorators/one-or-many.js +12 -0
- package/schema/decorators/one-or-many.js.map +1 -0
- 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/types.d.ts +3 -3
- package/schema/decorators/utils.d.ts +3 -2
- package/schema/decorators/utils.js +8 -4
- package/schema/decorators/utils.js.map +1 -1
- package/schema/schema.d.ts +4 -10
- package/schema/schema.error.d.ts +6 -5
- package/schema/schema.error.js +13 -10
- package/schema/schema.error.js.map +1 -1
- package/schema/schema.js +113 -104
- package/schema/schema.js.map +1 -1
- package/schema/schemas/array.d.ts +3 -3
- package/schema/schemas/array.js +1 -1
- package/schema/schemas/array.js.map +1 -1
- package/schema/schemas/assign.d.ts +6 -6
- package/schema/schemas/assign.js +3 -1
- package/schema/schemas/assign.js.map +1 -1
- package/schema/schemas/constraint.d.ts +3 -2
- package/schema/schemas/constraint.js.map +1 -1
- package/schema/schemas/defaulted.d.ts +2 -2
- package/schema/schemas/defaulted.js.map +1 -1
- package/schema/schemas/enumeration.js +1 -1
- package/schema/schemas/enumeration.js.map +1 -1
- package/schema/schemas/index.d.ts +3 -1
- package/schema/schemas/index.js +3 -1
- package/schema/schemas/index.js.map +1 -1
- package/schema/schemas/nullable.d.ts +2 -2
- package/schema/schemas/nullable.js.map +1 -1
- package/schema/schemas/number.d.ts +1 -1
- package/schema/schemas/number.js +0 -3
- package/schema/schemas/number.js.map +1 -1
- package/schema/schemas/omit.d.ts +4 -0
- package/schema/schemas/{exclude.js → omit.js} +8 -6
- package/schema/schemas/omit.js.map +1 -0
- package/schema/schemas/one-or-many.d.ts +10 -0
- package/schema/schemas/one-or-many.js +12 -0
- package/schema/schemas/one-or-many.js.map +1 -0
- package/schema/schemas/optional.d.ts +3 -2
- package/schema/schemas/optional.js.map +1 -1
- package/schema/schemas/partial.d.ts +4 -0
- package/schema/schemas/partial.js +22 -0
- package/schema/schemas/partial.js.map +1 -0
- package/schema/schemas/pick.d.ts +2 -2
- package/schema/schemas/pick.js +3 -1
- package/schema/schemas/pick.js.map +1 -1
- package/schema/schemas/record.d.ts +2 -2
- package/schema/schemas/record.js.map +1 -1
- package/schema/schemas/union.d.ts +4 -9
- package/schema/schemas/union.js.map +1 -1
- package/schema/types.d.ts +30 -20
- package/schema/types.js +22 -8
- package/schema/types.js.map +1 -1
- package/schema/utils/schema.d.ts +6 -1
- package/schema/utils/schema.js +60 -7
- package/schema/utils/schema.js.map +1 -1
- package/schema/utils/value-type.d.ts +5 -3
- package/schema/utils/value-type.js +22 -7
- 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/module.js +15 -1
- package/search-index/elastic/module.js.map +1 -1
- package/search-index/elastic/search-index.js +5 -4
- package/search-index/elastic/search-index.js.map +1 -1
- package/search-index/error.d.ts +1 -1
- package/search-index/error.js +2 -2
- package/search-index/error.js.map +1 -1
- package/serializer/handlers/register.d.ts +2 -2
- package/serializer/handlers/register.js +6 -2
- package/serializer/handlers/register.js.map +1 -1
- package/serializer/serializable.d.ts +11 -8
- package/serializer/serializable.js +13 -4
- package/serializer/serializable.js.map +1 -1
- package/serializer/serializer.js +21 -8
- package/serializer/serializer.js.map +1 -1
- package/serializer/types.d.ts +21 -6
- package/serializer/types.js +2 -1
- package/serializer/types.js.map +1 -1
- package/supports.d.ts +5 -0
- package/supports.js +9 -0
- package/supports.js.map +1 -0
- 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 +70 -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 +15 -4
- package/templates/template.model.js +50 -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/threading/index.d.ts +2 -0
- package/{rxjs/compat → threading}/index.js +2 -1
- package/threading/index.js.map +1 -0
- package/threading/thread-pool.d.ts +20 -0
- package/threading/thread-pool.js +50 -0
- package/threading/thread-pool.js.map +1 -0
- package/threading/thread-worker.d.ts +3 -0
- package/threading/thread-worker.js +9 -0
- package/threading/thread-worker.js.map +1 -0
- package/types.d.ts +27 -9
- package/utils/alphabet.d.ts +3 -1
- package/utils/alphabet.js +2 -0
- package/utils/alphabet.js.map +1 -1
- package/utils/array/array.d.ts +1 -2
- package/utils/array/array.js.map +1 -1
- package/utils/async-iterable-helpers/observable-iterable.js +1 -2
- package/utils/async-iterable-helpers/observable-iterable.js.map +1 -1
- package/utils/async-iterable-helpers/take-until.js +2 -3
- package/utils/async-iterable-helpers/take-until.js.map +1 -1
- package/utils/base64.js +3 -2
- package/utils/base64.js.map +1 -1
- package/utils/binary.js +3 -2
- package/utils/binary.js.map +1 -1
- package/utils/cancellation-token.d.ts +28 -28
- package/utils/cancellation-token.js +14 -14
- package/utils/cancellation-token.js.map +1 -1
- package/utils/clone.js +4 -0
- package/utils/clone.js.map +1 -1
- package/utils/compression.d.ts +19 -15
- package/utils/compression.js +43 -10
- package/utils/compression.js.map +1 -1
- package/utils/encoding.d.ts +10 -0
- package/utils/encoding.js +20 -4
- package/utils/encoding.js.map +1 -1
- package/utils/enum.d.ts +5 -8
- package/utils/enum.js +15 -13
- package/utils/enum.js.map +1 -1
- package/utils/feedable-async-iterable.js +1 -2
- package/utils/feedable-async-iterable.js.map +1 -1
- package/utils/function/memoize.js +4 -4
- package/utils/function/memoize.js.map +1 -1
- package/utils/helpers.d.ts +0 -2
- package/utils/helpers.js +3 -14
- package/utils/helpers.js.map +1 -1
- package/utils/image.js +7 -8
- package/utils/image.js.map +1 -1
- package/utils/index.d.ts +2 -0
- package/utils/index.js +2 -0
- package/utils/index.js.map +1 -1
- package/utils/math.d.ts +37 -10
- package/utils/math.js +57 -12
- package/utils/math.js.map +1 -1
- package/utils/object/decycle.js +10 -21
- package/utils/object/decycle.js.map +1 -1
- package/utils/object/dereference.d.ts +7 -5
- package/utils/object/dereference.js +4 -4
- package/utils/object/dereference.js.map +1 -1
- package/utils/object/forward-ref.js +3 -19
- package/utils/object/forward-ref.js.map +1 -1
- package/utils/object/merge.js +3 -3
- package/utils/object/merge.js.map +1 -1
- package/utils/object/object.js +3 -3
- package/utils/object/object.js.map +1 -1
- package/utils/object/property-name.d.ts +2 -2
- package/utils/patch-worker.js +1 -2
- package/utils/patch-worker.js.map +1 -1
- package/utils/periodic-sampler.js +2 -2
- package/utils/periodic-sampler.js.map +1 -1
- package/utils/proxy.d.ts +6 -0
- package/utils/proxy.js +21 -0
- package/utils/proxy.js.map +1 -0
- package/utils/stream/finalize-stream.d.ts +1 -0
- package/utils/stream/finalize-stream.js +38 -0
- package/utils/stream/finalize-stream.js.map +1 -0
- package/utils/stream/index.d.ts +4 -3
- package/utils/stream/index.js +4 -3
- package/utils/stream/index.js.map +1 -1
- package/utils/stream/readable-stream-adapter.d.ts +5 -0
- package/utils/stream/readable-stream-adapter.js +45 -0
- package/utils/stream/readable-stream-adapter.js.map +1 -0
- package/utils/stream/readable-stream-from-promise.d.ts +1 -0
- package/utils/stream/readable-stream-from-promise.js +12 -0
- package/utils/stream/readable-stream-from-promise.js.map +1 -0
- package/utils/stream/size-limited-stream.d.ts +2 -0
- package/utils/stream/size-limited-stream.js +18 -0
- package/utils/stream/size-limited-stream.js.map +1 -0
- package/utils/stream/stream-reader.d.ts +2 -1
- package/utils/stream/stream-reader.js +7 -10
- package/utils/stream/stream-reader.js.map +1 -1
- package/utils/throw.d.ts +2 -0
- package/utils/throw.js +15 -0
- package/utils/throw.js.map +1 -0
- package/utils/timer.js +2 -2
- package/utils/timer.js.map +1 -1
- package/utils/timing.js +2 -2
- package/utils/timing.js.map +1 -1
- package/utils/type-guards.d.ts +34 -16
- package/utils/type-guards.js +112 -75
- 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/http/client/adapters/got-http-client.adapter.d.ts +0 -10
- package/http/client/adapters/got-http-client.adapter.js +0 -141
- package/http/client/adapters/got-http-client.adapter.js.map +0 -1
- package/http/client/adapters/utils.d.ts +0 -11
- package/http/client/adapters/utils.js +0 -79
- package/http/client/adapters/utils.js.map +0 -1
- 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/rxjs/compat/first-value-from.d.ts +0 -2
- package/rxjs/compat/first-value-from.js +0 -9
- package/rxjs/compat/first-value-from.js.map +0 -1
- package/rxjs/compat/index.d.ts +0 -1
- package/rxjs/compat/index.js.map +0 -1
- package/schema/schemas/exclude.d.ts +0 -4
- package/schema/schemas/exclude.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/utils/stream/async-iterable-readable.d.ts +0 -13
- package/utils/stream/async-iterable-readable.js +0 -40
- package/utils/stream/async-iterable-readable.js.map +0 -1
- package/utils/stream/async-writable-stream.d.ts +0 -16
- package/utils/stream/async-writable-stream.js +0 -41
- package/utils/stream/async-writable-stream.js.map +0 -1
- package/utils/stream/typed-readable.d.ts +0 -58
- package/utils/stream/typed-readable.js +0 -9
- package/utils/stream/typed-readable.js.map +0 -1
package/api/types.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { HttpServerRequest, HttpServerResponse } from "../http/server";
|
|
2
2
|
import type { HttpMethod } from "../http/types";
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { SchemaOutput, SchemaTestable } from "../schema";
|
|
4
|
+
import type { NonUndefinable, OneOrMany, Record, ReturnTypeOrT } from "../types";
|
|
5
5
|
import type { ApiGatewayMiddlewareContext } from './server';
|
|
6
|
-
export declare const rootResource = "$";
|
|
7
6
|
export declare type ApiRegistrationOptions = {
|
|
8
7
|
name?: string;
|
|
9
8
|
prefix?: string;
|
|
@@ -20,8 +19,8 @@ export declare type EndpointRegistrationOptions = {
|
|
|
20
19
|
};
|
|
21
20
|
export declare type ApiEndpointMethod = HttpMethod;
|
|
22
21
|
export declare type ApiEndpointDefinitionParameters = SchemaTestable;
|
|
23
|
-
export declare type ApiEndpointDefinitionBody = SchemaTestable
|
|
24
|
-
export declare type ApiEndpointDefinitionResult = SchemaTestable;
|
|
22
|
+
export declare type ApiEndpointDefinitionBody = SchemaTestable | typeof String | typeof Uint8Array | typeof Blob | typeof ReadableStream;
|
|
23
|
+
export declare type ApiEndpointDefinitionResult = SchemaTestable | typeof String | typeof Uint8Array | typeof Blob | typeof ReadableStream;
|
|
25
24
|
export declare type ApiEndpointDataProvider<T> = T | ((request: HttpServerRequest, context: ApiGatewayMiddlewareContext) => T | Promise<T>);
|
|
26
25
|
export declare type ApiEndpointDefinitionCors = {
|
|
27
26
|
accessControlAllowCredentials?: ApiEndpointDataProvider<boolean>;
|
|
@@ -32,12 +31,33 @@ export declare type ApiEndpointDefinitionCors = {
|
|
|
32
31
|
accessControlMaxAge?: ApiEndpointDataProvider<number>;
|
|
33
32
|
};
|
|
34
33
|
export declare type ApiEndpointDefinition = {
|
|
34
|
+
/**
|
|
35
|
+
* Http Method
|
|
36
|
+
* @default GET
|
|
37
|
+
*/
|
|
35
38
|
method?: OneOrMany<ApiEndpointMethod>;
|
|
36
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Root resource path. Overwrites default from {@link ApiDefinition}.
|
|
41
|
+
*/
|
|
42
|
+
rootResource?: string;
|
|
43
|
+
/**
|
|
44
|
+
* sub resource in api
|
|
45
|
+
*
|
|
46
|
+
* results in
|
|
47
|
+
* ```ts
|
|
48
|
+
* ${endpoint.rootResource ?? api.ressource}/${endpoint.resource}
|
|
49
|
+
* ```
|
|
50
|
+
* @default name of endpoint property
|
|
51
|
+
*/
|
|
52
|
+
resource?: string;
|
|
37
53
|
version?: OneOrMany<number | null>;
|
|
38
54
|
parameters?: ApiEndpointDefinitionParameters;
|
|
39
55
|
body?: ApiEndpointDefinitionBody;
|
|
40
56
|
result?: ApiEndpointDefinitionResult;
|
|
57
|
+
/**
|
|
58
|
+
* Maximum size of request body. Useful to prevent harmful requests.
|
|
59
|
+
*/
|
|
60
|
+
maxBytes?: number;
|
|
41
61
|
description?: string;
|
|
42
62
|
data?: any;
|
|
43
63
|
cors?: ApiEndpointDefinitionCors;
|
|
@@ -54,18 +74,21 @@ export declare type ApiEndpoint<T extends ApiDefinition, K extends ApiEndpointKe
|
|
|
54
74
|
export declare type ApiEndpointParametersSchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['parameters']>;
|
|
55
75
|
export declare type ApiEndpointBodySchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['body']>;
|
|
56
76
|
export declare type ApiEndpointResultSchema<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = NonUndefinable<ApiEndpoint<T, K>['result']>;
|
|
57
|
-
declare type
|
|
58
|
-
export declare type
|
|
59
|
-
export declare type
|
|
60
|
-
export declare type
|
|
61
|
-
export declare type
|
|
77
|
+
export declare type ApiBinaryType = typeof Uint8Array | typeof Blob | typeof ReadableStream;
|
|
78
|
+
export declare type ApiInputType<T extends SchemaTestable> = T extends ApiBinaryType ? (Uint8Array | Blob | ReadableStream<Uint8Array>) : T extends SchemaTestable ? SchemaOutput<T> : never;
|
|
79
|
+
export declare type ApiOutputType<T extends SchemaTestable> = T extends typeof ReadableStream ? ReadableStream<Uint8Array> : T extends SchemaTestable ? SchemaOutput<T> : never;
|
|
80
|
+
export declare type ApiParameters<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiInputType<ApiEndpointParametersSchema<T, K>>;
|
|
81
|
+
export declare type ApiClientBody<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiInputType<ApiEndpointBodySchema<T, K>>;
|
|
82
|
+
export declare type ApiServerBody<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiOutputType<ApiEndpointBodySchema<T, K>>;
|
|
83
|
+
export declare type ApiServerResult<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiInputType<ApiEndpointResultSchema<T, K>> | HttpServerResponse;
|
|
84
|
+
export declare type ApiClientResult<T extends ApiDefinition, K extends ApiEndpointKeys<T>> = ApiOutputType<ApiEndpointResultSchema<T, K>>;
|
|
62
85
|
export declare type ApiRequestData<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = {
|
|
63
86
|
parameters: ApiParameters<T, K>;
|
|
64
|
-
body:
|
|
87
|
+
body: ApiServerBody<T, K>;
|
|
65
88
|
request: HttpServerRequest;
|
|
66
89
|
};
|
|
67
90
|
export declare type ApiEndpointServerImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = (requestData: ApiRequestData<T, K>) => ApiServerResult<T, K> | Promise<ApiServerResult<T, K>>;
|
|
68
|
-
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> =
|
|
91
|
+
export declare type ApiEndpointClientImplementation<T extends ApiDefinition = ApiDefinition, K extends ApiEndpointKeys<T> = ApiEndpointKeys<T>> = ApiClientBody<T, K> extends never ? ApiParameters<T, K> extends never ? () => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K>) => Promise<ApiClientResult<T, K>> : (parameters: ApiParameters<T, K> extends never ? undefined | Record<never, never> : ApiParameters<T, K>, body: ApiClientBody<T, K>) => Promise<ApiClientResult<T, K>>;
|
|
69
92
|
export declare type ApiController<T extends ApiDefinition = any> = {
|
|
70
93
|
[P in ApiEndpointKeys<T>]: ApiEndpointServerImplementation<T, P>;
|
|
71
94
|
};
|
|
@@ -76,4 +99,3 @@ export declare function defineApi<T extends ApiDefinition>(definition: T): T;
|
|
|
76
99
|
export declare function resolveApiEndpointDataProvider<T>(request: HttpServerRequest, context: ApiGatewayMiddlewareContext, provider: ApiEndpointDataProvider<T>): Promise<T>;
|
|
77
100
|
export declare function normalizedApiDefinitionEndpoints<T extends ApiDefinition['endpoints']>(apiDefinitionEndpoints: T): NormalizedApiEndpoints<T>;
|
|
78
101
|
export declare function normalizedApiDefinitionEndpointsEntries<T extends ApiDefinition['endpoints']>(apiDefinition: T): [keyof T, ApiEndpointDefinition][];
|
|
79
|
-
export {};
|
package/api/types.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizedApiDefinitionEndpointsEntries = exports.normalizedApiDefinitionEndpoints = exports.resolveApiEndpointDataProvider = exports.defineApi =
|
|
3
|
+
exports.normalizedApiDefinitionEndpointsEntries = exports.normalizedApiDefinitionEndpoints = exports.resolveApiEndpointDataProvider = exports.defineApi = void 0;
|
|
4
4
|
const type_guards_1 = require("../utils/type-guards");
|
|
5
|
-
exports.rootResource = '$';
|
|
6
5
|
function defineApi(definition) {
|
|
7
6
|
return definition;
|
|
8
7
|
}
|
package/api/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAIA,sDAAiD;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/api/types.ts"],"names":[],"mappings":";;;AAIA,sDAAiD;AAmIjD,SAAgB,SAAS,CAA0B,UAAa;IAC9D,OAAO,UAAU,CAAC;AACpB,CAAC;AAFD,8BAEC;AAEM,KAAK,UAAU,8BAA8B,CAAI,OAA0B,EAAE,OAAoC,EAAE,QAAoC;IAC5J,IAAI,IAAA,wBAAU,EAAC,QAAQ,CAAC,EAAE;QACxB,OAAO,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACnC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAND,wEAMC;AAED,SAAgB,gCAAgC,CAAuC,sBAAyB;IAC9G,MAAM,OAAO,GAAG,uCAAuC,CAAC,sBAAsB,CAAC,CAAC;IAChF,OAAO,MAAM,CAAC,WAAW,CAAC,OAAO,CAA8B,CAAC;AAClE,CAAC;AAHD,4EAGC;AAED,SAAgB,uCAAuC,CAAuC,aAAgB;IAC5G,OAAO,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAmC,EAAE,CAAC,CAAC,GAAG,EAAE,IAAA,wBAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAClI,CAAC;AAFD,0FAEC"}
|
package/api/utils.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApiDefinition, ApiEndpointDefinition } from './types';
|
|
2
|
+
declare type GetApiEndpointUrlData = {
|
|
3
|
+
api: ApiDefinition;
|
|
4
|
+
endpoint: ApiEndpointDefinition;
|
|
5
|
+
prefix: string | undefined;
|
|
6
|
+
explicitVersion?: number | null;
|
|
7
|
+
};
|
|
8
|
+
export declare function getFullApiEndpointResource({ api, endpoint, prefix, explicitVersion }: GetApiEndpointUrlData): string;
|
|
9
|
+
export {};
|
package/api/utils.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getFullApiEndpointResource = void 0;
|
|
4
|
+
const array_1 = require("../utils/array/array");
|
|
5
|
+
const comparison_1 = require("../utils/comparison");
|
|
6
|
+
const type_guards_1 = require("../utils/type-guards");
|
|
7
|
+
function getFullApiEndpointResource({ api, endpoint, prefix, explicitVersion }) {
|
|
8
|
+
const version = (0, array_1.toArray)((0, type_guards_1.isDefined)(explicitVersion) ? explicitVersion : endpoint.version).sort(comparison_1.compareByValueDescending)[0];
|
|
9
|
+
const versionPrefix = (0, type_guards_1.isNull)(version) ? '' : `v${version ?? 1}/`;
|
|
10
|
+
const rootResource = endpoint.rootResource ?? api.resource;
|
|
11
|
+
const subResource = (0, type_guards_1.isDefined)(endpoint.resource) ? `/${endpoint.resource}` : '';
|
|
12
|
+
return `/${prefix ?? 'api/'}${versionPrefix}${rootResource}${subResource}`;
|
|
13
|
+
}
|
|
14
|
+
exports.getFullApiEndpointResource = getFullApiEndpointResource;
|
|
15
|
+
//# sourceMappingURL=utils.js.map
|
package/api/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../source/api/utils.ts"],"names":[],"mappings":";;;AAAA,gDAA8C;AAC9C,oDAA8D;AAC9D,sDAAwD;AAUxD,SAAgB,0BAA0B,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAyB;IAC1G,MAAM,OAAO,GAAG,IAAA,eAAO,EAAC,IAAA,uBAAS,EAAC,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,qCAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3H,MAAM,aAAa,GAAG,IAAA,oBAAM,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC;IACjE,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,GAAG,CAAC,QAAQ,CAAC;IAC3D,MAAM,WAAW,GAAG,IAAA,uBAAS,EAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEhF,OAAO,IAAI,MAAM,IAAI,MAAM,GAAG,aAAa,GAAG,YAAY,GAAG,WAAW,EAAE,CAAC;AAC7E,CAAC;AAPD,gEAOC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Logger } from "../logger";
|
|
2
|
-
import type { Module } from "../module";
|
|
3
|
-
import type { FunctionModuleFunction } from "../module/modules";
|
|
2
|
+
import type { Module } from "../module/module";
|
|
3
|
+
import type { FunctionModuleFunction } from "../module/modules/function.module";
|
|
4
4
|
import type { OneOrMany, Type } from "../types";
|
|
5
|
+
import type { ReadonlyCancellationToken } from "../utils/cancellation-token";
|
|
5
6
|
export declare class Application {
|
|
6
7
|
private static _instance;
|
|
7
8
|
private static get instance();
|
|
@@ -9,13 +10,25 @@ export declare class Application {
|
|
|
9
10
|
private readonly moduleTypes;
|
|
10
11
|
private readonly moduleInstances;
|
|
11
12
|
private readonly shutdownPromise;
|
|
13
|
+
private readonly _shutdownToken;
|
|
14
|
+
readonly shutdownToken: ReadonlyCancellationToken;
|
|
15
|
+
static get shutdownToken(): ReadonlyCancellationToken;
|
|
12
16
|
constructor(logger: Logger);
|
|
13
17
|
static registerModule(moduleType: Type<Module>): void;
|
|
18
|
+
static registerModuleFunction(fn: FunctionModuleFunction): void;
|
|
14
19
|
static registerModuleInstance(module: Module): void;
|
|
15
|
-
static run(...
|
|
20
|
+
static run(...functionsAndModules: OneOrMany<FunctionModuleFunction | Type<Module>>[]): void;
|
|
21
|
+
static waitForShutdown(): Promise<void>;
|
|
16
22
|
static shutdown(): Promise<void>;
|
|
23
|
+
static requestShutdown(): void;
|
|
17
24
|
registerModule(moduleType: Type<Module>): void;
|
|
25
|
+
registerModuleFunction(fn: FunctionModuleFunction): void;
|
|
18
26
|
registerModuleInstance(module: Module): void;
|
|
19
|
-
run(...
|
|
27
|
+
run(...functionsAndModules: OneOrMany<FunctionModuleFunction | Type<Module>>[]): void;
|
|
20
28
|
shutdown(): Promise<void>;
|
|
29
|
+
requestShutdown(): void;
|
|
30
|
+
waitForShutdown(): Promise<void>;
|
|
31
|
+
private _run;
|
|
32
|
+
private runModules;
|
|
33
|
+
private stopModules;
|
|
21
34
|
}
|
|
@@ -17,72 +17,148 @@ exports.Application = void 0;
|
|
|
17
17
|
const container_1 = require("../container");
|
|
18
18
|
const core_1 = require("../core");
|
|
19
19
|
const logger_1 = require("../logger");
|
|
20
|
-
const module_1 = require("../module");
|
|
21
|
-
const
|
|
20
|
+
const module_1 = require("../module/module");
|
|
21
|
+
const module_base_1 = require("../module/module-base");
|
|
22
|
+
const function_module_1 = require("../module/modules/function.module");
|
|
22
23
|
const process_shutdown_1 = require("../process-shutdown");
|
|
23
|
-
const
|
|
24
|
-
const
|
|
24
|
+
const deferred_promise_1 = require("../promise/deferred-promise");
|
|
25
|
+
const map_1 = require("../utils/async-iterable-helpers/map");
|
|
26
|
+
const to_array_1 = require("../utils/async-iterable-helpers/to-array");
|
|
25
27
|
const type_guards_1 = require("../utils/type-guards");
|
|
28
|
+
/**
|
|
29
|
+
* TODO
|
|
30
|
+
*
|
|
31
|
+
* container scopes
|
|
32
|
+
* dispose per container
|
|
33
|
+
*/
|
|
26
34
|
(0, process_shutdown_1.initializeSignals)();
|
|
27
35
|
let Application = Application_1 = class Application {
|
|
28
36
|
constructor(logger) {
|
|
29
37
|
this.logger = logger;
|
|
30
38
|
this.moduleTypes = new Set();
|
|
31
39
|
this.moduleInstances = new Set();
|
|
32
|
-
this.shutdownPromise = new
|
|
40
|
+
this.shutdownPromise = new deferred_promise_1.DeferredPromise();
|
|
41
|
+
this._shutdownToken = process_shutdown_1.shutdownToken.createChild();
|
|
42
|
+
this.shutdownToken = this._shutdownToken.asReadonly;
|
|
33
43
|
}
|
|
34
44
|
static get instance() {
|
|
35
45
|
if ((0, type_guards_1.isUndefined)(this._instance)) {
|
|
36
46
|
this._instance = container_1.container.resolve(Application_1);
|
|
47
|
+
// @ts-expect-error readonly
|
|
48
|
+
this._instance._shutdownToken = process_shutdown_1.shutdownToken;
|
|
49
|
+
// @ts-expect-error readonly
|
|
50
|
+
this._instance.shutdownToken = process_shutdown_1.shutdownToken.asReadonly;
|
|
37
51
|
}
|
|
38
52
|
return this._instance;
|
|
39
53
|
}
|
|
54
|
+
static get shutdownToken() {
|
|
55
|
+
return Application_1.instance.shutdownToken;
|
|
56
|
+
}
|
|
40
57
|
static registerModule(moduleType) {
|
|
41
58
|
Application_1.instance.registerModule(moduleType);
|
|
42
59
|
}
|
|
60
|
+
static registerModuleFunction(fn) {
|
|
61
|
+
Application_1.instance.registerModuleFunction(fn);
|
|
62
|
+
}
|
|
43
63
|
static registerModuleInstance(module) {
|
|
44
64
|
Application_1.instance.registerModuleInstance(module);
|
|
45
65
|
}
|
|
46
|
-
static
|
|
47
|
-
|
|
66
|
+
static run(...functionsAndModules) {
|
|
67
|
+
Application_1.instance.run(...functionsAndModules);
|
|
68
|
+
}
|
|
69
|
+
static async waitForShutdown() {
|
|
70
|
+
return Application_1.instance.waitForShutdown();
|
|
48
71
|
}
|
|
49
72
|
static async shutdown() {
|
|
50
73
|
await Application_1.instance.shutdown();
|
|
51
74
|
}
|
|
75
|
+
static requestShutdown() {
|
|
76
|
+
Application_1.instance.requestShutdown();
|
|
77
|
+
}
|
|
52
78
|
registerModule(moduleType) {
|
|
53
79
|
this.moduleTypes.add(moduleType);
|
|
54
80
|
}
|
|
81
|
+
registerModuleFunction(fn) {
|
|
82
|
+
const module = new function_module_1.FunctionModule(fn);
|
|
83
|
+
this.registerModuleInstance(module);
|
|
84
|
+
}
|
|
55
85
|
registerModuleInstance(module) {
|
|
56
86
|
this.moduleInstances.add(module);
|
|
57
87
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
88
|
+
run(...functionsAndModules) {
|
|
89
|
+
void this._run(...functionsAndModules);
|
|
90
|
+
}
|
|
91
|
+
async shutdown() {
|
|
92
|
+
this.requestShutdown();
|
|
93
|
+
await this.shutdownPromise;
|
|
94
|
+
}
|
|
95
|
+
requestShutdown() {
|
|
96
|
+
if (this.shutdownToken.isSet) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this._shutdownToken.set();
|
|
100
|
+
}
|
|
101
|
+
async waitForShutdown() {
|
|
102
|
+
return this.shutdownPromise;
|
|
103
|
+
}
|
|
104
|
+
async _run(...functionsAndModules) {
|
|
105
|
+
for (const fnOrModule of functionsAndModules.flatMap((fns) => fns)) {
|
|
106
|
+
if (fnOrModule.prototype instanceof module_base_1.ModuleBase) {
|
|
107
|
+
this.registerModule(fnOrModule);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.registerModuleFunction(fnOrModule);
|
|
111
|
+
}
|
|
62
112
|
}
|
|
63
|
-
const resolvedModules = await (0,
|
|
64
|
-
const modules = [...
|
|
113
|
+
const resolvedModules = await (0, to_array_1.toArrayAsync)((0, map_1.mapAsync)(this.moduleTypes, async (type) => container_1.container.resolveAsync(type)));
|
|
114
|
+
const modules = [...this.moduleInstances, ...resolvedModules];
|
|
65
115
|
try {
|
|
66
116
|
await Promise.race([
|
|
67
|
-
runModules(modules
|
|
68
|
-
|
|
117
|
+
this.runModules(modules),
|
|
118
|
+
this.shutdownToken
|
|
69
119
|
]);
|
|
70
120
|
}
|
|
71
121
|
catch (error) {
|
|
72
122
|
this.logger.error(error, { includeRest: true, includeStack: true });
|
|
73
123
|
}
|
|
74
124
|
finally {
|
|
75
|
-
|
|
76
|
-
|
|
125
|
+
this.requestShutdown();
|
|
126
|
+
this.logger.info('Shutting down');
|
|
127
|
+
await this.stopModules(modules);
|
|
77
128
|
await (0, core_1.disposeInstances)();
|
|
78
129
|
this.logger.info('Bye');
|
|
79
130
|
}
|
|
80
131
|
this.shutdownPromise.resolve();
|
|
81
132
|
}
|
|
82
|
-
async
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
133
|
+
async runModules(modules) {
|
|
134
|
+
const promises = modules.map(async (module) => {
|
|
135
|
+
try {
|
|
136
|
+
this.logger.info(`Starting module ${module.name}`);
|
|
137
|
+
await module.run();
|
|
138
|
+
this.logger.info(`Module ${module.name} stopped.`);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.logger.error(error);
|
|
142
|
+
this.requestShutdown();
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
await Promise.all(promises);
|
|
146
|
+
}
|
|
147
|
+
async stopModules(modules) {
|
|
148
|
+
const promises = modules.map(async (module) => {
|
|
149
|
+
if (module.state == module_1.ModuleState.Stopped) {
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this.logger.info(`Stopping module ${module.name}`);
|
|
153
|
+
try {
|
|
154
|
+
await module.stop();
|
|
155
|
+
}
|
|
156
|
+
catch (error) {
|
|
157
|
+
this.logger.error(error);
|
|
158
|
+
this.requestShutdown();
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
await Promise.all(promises);
|
|
86
162
|
}
|
|
87
163
|
};
|
|
88
164
|
Application = Application_1 = __decorate([
|
|
@@ -91,31 +167,4 @@ Application = Application_1 = __decorate([
|
|
|
91
167
|
__metadata("design:paramtypes", [logger_1.Logger])
|
|
92
168
|
], Application);
|
|
93
169
|
exports.Application = Application;
|
|
94
|
-
async function runModules(modules, logger) {
|
|
95
|
-
const promises = modules.map(async (module) => {
|
|
96
|
-
if (logger != undefined) {
|
|
97
|
-
logger.verbose(`Starting module ${module.name}`);
|
|
98
|
-
}
|
|
99
|
-
await module.run();
|
|
100
|
-
});
|
|
101
|
-
await Promise.all(promises);
|
|
102
|
-
}
|
|
103
|
-
async function stopModules(modules, logger) {
|
|
104
|
-
const promises = modules.map(async (module) => {
|
|
105
|
-
if (module.state == module_1.ModuleState.Stopped) {
|
|
106
|
-
if (logger != undefined) {
|
|
107
|
-
logger.verbose(`Module ${module.name} already stopped`);
|
|
108
|
-
}
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
if (logger != undefined) {
|
|
112
|
-
logger.verbose(`Stopping module ${module.name}`);
|
|
113
|
-
}
|
|
114
|
-
await module.stop();
|
|
115
|
-
if (logger != undefined) {
|
|
116
|
-
logger.verbose(`Stopped module ${module.name}`);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
await Promise.all(promises);
|
|
120
|
-
}
|
|
121
170
|
//# sourceMappingURL=application.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA+D;AAC/D,kCAA0C;AAE1C,sCAAkC;AAElC,
|
|
1
|
+
{"version":3,"file":"application.js","sourceRoot":"","sources":["../../source/application/application.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AwaitableList = void 0;
|
|
4
|
-
const compat_1 = require("../../rxjs/compat");
|
|
5
4
|
const rxjs_1 = require("rxjs");
|
|
6
5
|
class AwaitableList {
|
|
7
6
|
constructor() {
|
|
@@ -20,26 +19,26 @@ class AwaitableList {
|
|
|
20
19
|
return this._cleared.asObservable();
|
|
21
20
|
}
|
|
22
21
|
get $added() {
|
|
23
|
-
return (0,
|
|
22
|
+
return (0, rxjs_1.firstValueFrom)(this._added);
|
|
24
23
|
}
|
|
25
24
|
get $removed() {
|
|
26
|
-
return (0,
|
|
25
|
+
return (0, rxjs_1.firstValueFrom)(this._removed);
|
|
27
26
|
}
|
|
28
27
|
get $cleared() {
|
|
29
|
-
return (0,
|
|
28
|
+
return (0, rxjs_1.firstValueFrom)(this._cleared);
|
|
30
29
|
}
|
|
31
30
|
get size() {
|
|
32
31
|
return this.backingArray.length;
|
|
33
32
|
}
|
|
34
33
|
get(index) {
|
|
35
34
|
if (index >= this.size || index < 0) {
|
|
36
|
-
throw new Error('
|
|
35
|
+
throw new Error('Index out of bounds.');
|
|
37
36
|
}
|
|
38
37
|
return this.backingArray[index];
|
|
39
38
|
}
|
|
40
39
|
set(index, value) {
|
|
41
40
|
if (index >= this.size || index < 0) {
|
|
42
|
-
throw new Error('
|
|
41
|
+
throw new Error('Index out of bounds.');
|
|
43
42
|
}
|
|
44
43
|
const oldValue = this.backingArray[index];
|
|
45
44
|
this.backingArray[index] = value;
|
|
@@ -58,17 +57,17 @@ class AwaitableList {
|
|
|
58
57
|
}
|
|
59
58
|
insert(index, ...items) {
|
|
60
59
|
if (index >= this.size || index < 0) {
|
|
61
|
-
throw new Error('
|
|
60
|
+
throw new Error('Index out of bounds.');
|
|
62
61
|
}
|
|
63
62
|
this.backingArray.splice(index, 0, ...items);
|
|
64
63
|
this._added.next(items);
|
|
65
64
|
}
|
|
66
65
|
remove(index, count = 1) {
|
|
67
66
|
if (index >= this.size || index < 0) {
|
|
68
|
-
throw new Error('
|
|
67
|
+
throw new Error('Index out of bounds.');
|
|
69
68
|
}
|
|
70
69
|
if ((index + count) > this.size) {
|
|
71
|
-
throw new Error('
|
|
70
|
+
throw new Error('Count out of bounds.');
|
|
72
71
|
}
|
|
73
72
|
const removedItems = this.backingArray.splice(index, count);
|
|
74
73
|
this._removed.next(removedItems);
|
|
@@ -76,7 +75,7 @@ class AwaitableList {
|
|
|
76
75
|
}
|
|
77
76
|
pop() {
|
|
78
77
|
if (this.size == 0) {
|
|
79
|
-
throw new Error('
|
|
78
|
+
throw new Error('List contains no items.');
|
|
80
79
|
}
|
|
81
80
|
const result = this.backingArray.pop();
|
|
82
81
|
this._removed.next(result);
|
|
@@ -84,7 +83,7 @@ class AwaitableList {
|
|
|
84
83
|
}
|
|
85
84
|
shift() {
|
|
86
85
|
if (this.size == 0) {
|
|
87
|
-
throw new Error('
|
|
86
|
+
throw new Error('List contains no items.');
|
|
88
87
|
}
|
|
89
88
|
const result = this.backingArray.shift();
|
|
90
89
|
this._removed.next(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"awaitable-list.js","sourceRoot":"","sources":["../../../source/collections/awaitable/awaitable-list.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"awaitable-list.js","sourceRoot":"","sources":["../../../source/collections/awaitable/awaitable-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,7 +92,7 @@ class ObservableArray extends observable_list_base_1.ObservableListBase {
|
|
|
92
92
|
}
|
|
93
93
|
verifyIndexIsInBounds(index) {
|
|
94
94
|
if ((index < 0) || (index > (this.backingArray.length - 1))) {
|
|
95
|
-
throw new Error('
|
|
95
|
+
throw new Error('Index out of bounds.');
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-array.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-array.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"observable-array.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-array.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ObservableCollectionBase = void 0;
|
|
4
|
-
const compat_1 = require("../../rxjs/compat");
|
|
5
4
|
const rxjs_1 = require("rxjs");
|
|
6
|
-
const operators_1 = require("rxjs/operators");
|
|
7
5
|
class ObservableCollectionBase {
|
|
8
6
|
constructor() {
|
|
9
7
|
this.addSubject = new rxjs_1.Subject();
|
|
10
8
|
this.removeSubject = new rxjs_1.Subject();
|
|
11
9
|
this.clearSubject = new rxjs_1.Subject();
|
|
12
|
-
this.change$ = (0, rxjs_1.merge)(this.addSubject.pipe((0,
|
|
13
|
-
this.observe$ = (0, rxjs_1.merge)(this.change$, this.clear$).pipe((0,
|
|
14
|
-
this.length$ = this.observe$.pipe((0,
|
|
15
|
-
this.empty$ = this.length$.pipe((0,
|
|
10
|
+
this.change$ = (0, rxjs_1.merge)(this.addSubject.pipe((0, rxjs_1.map)((values) => ({ add: values }))), this.removeSubject.pipe((0, rxjs_1.map)((values) => ({ remove: values })))).pipe((0, rxjs_1.share)());
|
|
11
|
+
this.observe$ = (0, rxjs_1.merge)(this.change$, this.clear$).pipe((0, rxjs_1.startWith)(undefined), (0, rxjs_1.map)(() => this.self), (0, rxjs_1.shareReplay)({ bufferSize: 1, refCount: true }));
|
|
12
|
+
this.length$ = this.observe$.pipe((0, rxjs_1.map)((collection) => collection.length), (0, rxjs_1.distinctUntilChanged)(), (0, rxjs_1.shareReplay)({ bufferSize: 1, refCount: true }));
|
|
13
|
+
this.empty$ = this.length$.pipe((0, rxjs_1.filter)((length) => length == 0), (0, rxjs_1.map)(() => undefined));
|
|
16
14
|
}
|
|
17
15
|
get clear$() {
|
|
18
16
|
return this.clearSubject.asObservable();
|
|
@@ -24,28 +22,28 @@ class ObservableCollectionBase {
|
|
|
24
22
|
return this.removeSubject.asObservable();
|
|
25
23
|
}
|
|
26
24
|
get $observe() {
|
|
27
|
-
return (0,
|
|
25
|
+
return (0, rxjs_1.firstValueFrom)(this.observe$.pipe((0, rxjs_1.skip)(1)));
|
|
28
26
|
}
|
|
29
27
|
get $length() {
|
|
30
|
-
return (0,
|
|
28
|
+
return (0, rxjs_1.firstValueFrom)(this.length$.pipe((0, rxjs_1.skip)(1)));
|
|
31
29
|
}
|
|
32
30
|
get $add() {
|
|
33
|
-
return (0,
|
|
31
|
+
return (0, rxjs_1.firstValueFrom)(this.add$);
|
|
34
32
|
}
|
|
35
33
|
get $remove() {
|
|
36
|
-
return (0,
|
|
34
|
+
return (0, rxjs_1.firstValueFrom)(this.remove$);
|
|
37
35
|
}
|
|
38
36
|
get $change() {
|
|
39
|
-
return (0,
|
|
37
|
+
return (0, rxjs_1.firstValueFrom)(this.change$);
|
|
40
38
|
}
|
|
41
39
|
get $clear() {
|
|
42
|
-
return (0,
|
|
40
|
+
return (0, rxjs_1.firstValueFrom)(this.clear$);
|
|
43
41
|
}
|
|
44
42
|
get $empty() {
|
|
45
|
-
return (0,
|
|
43
|
+
return (0, rxjs_1.firstValueFrom)(this.empty$);
|
|
46
44
|
}
|
|
47
45
|
has$(value) {
|
|
48
|
-
return this.observe$.pipe((0,
|
|
46
|
+
return this.observe$.pipe((0, rxjs_1.map)(() => this.has(value)), (0, rxjs_1.distinctUntilChanged)());
|
|
49
47
|
}
|
|
50
48
|
onAdd(values) {
|
|
51
49
|
this.addSubject.next(values);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observable-collection-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-collection-base.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"observable-collection-base.js","sourceRoot":"","sources":["../../../source/collections/observable/observable-collection-base.ts"],"names":[],"mappings":"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"}
|