@tstdl/base 0.78.0-beta6 → 0.78.0-beta61
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 +7 -14
- package/api/client/client.js.map +1 -1
- package/api/response.js +1 -0
- package/api/response.js.map +1 -1
- package/api/server/gateway.d.ts +10 -3
- package/api/server/gateway.js +16 -14
- package/api/server/gateway.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 +13 -2
- 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/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/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 +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.js +3 -3
- package/database/mongo/mongo-base.repository.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/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/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/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 +8 -5
- 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/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.d.ts +2 -0
- package/http/client/adapters/utils.js +27 -11
- 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-response.d.ts +0 -1
- package/http/client/http-client-response.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/http-value-map.js +2 -2
- package/http/http-value-map.js.map +1 -1
- package/http/http.error.d.ts +1 -1
- package/http/http.error.js +23 -4
- package/http/http.error.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/json-path/json-path.d.ts +6 -5
- package/json-path/json-path.js +7 -0
- 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.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 +72 -25
- package/openid-connect/oidc.service.js.map +1 -1
- package/orm/decorators.d.ts +0 -0
- package/orm/decorators.js +2 -0
- package/orm/decorators.js.map +1 -0
- package/orm/mongo/mongo-repository.d.ts +2 -0
- package/orm/mongo/mongo-repository.js +7 -0
- package/orm/mongo/mongo-repository.js.map +1 -0
- package/orm/sql/sql-repository.d.ts +6 -0
- package/orm/sql/sql-repository.js +14 -0
- package/orm/sql/sql-repository.js.map +1 -0
- package/orm/test.d.ts +1 -0
- package/{templates/providers/memory-template.provider.js → orm/test.js} +13 -9
- package/orm/test.js.map +1 -0
- package/orm/types.d.ts +20 -0
- package/orm/types.js +55 -0
- package/orm/types.js.map +1 -0
- package/package.json +11 -10
- package/pdf/pdf.service.d.ts +48 -10
- package/pdf/pdf.service.js +123 -13
- package/pdf/pdf.service.js.map +1 -1
- package/pool/pool.d.ts +6 -1
- package/pool/pool.js +4 -1
- 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/schema/array-constraints/maximum-length.d.ts +2 -2
- package/schema/array-constraints/maximum-length.js +3 -3
- 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 +3 -3
- 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 +2 -2
- 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 +3 -3
- package/schema/coercers/uint8-array.coercer.js.map +1 -1
- package/schema/constraints/enumeration.d.ts +5 -5
- package/schema/constraints/enumeration.js +3 -3
- package/schema/constraints/enumeration.js.map +1 -1
- package/schema/constraints/generic.d.ts +2 -2
- package/schema/constraints/generic.js +3 -3
- package/schema/constraints/generic.js.map +1 -1
- package/schema/constraints/integer.d.ts +2 -2
- package/schema/constraints/integer.js +3 -3
- package/schema/constraints/integer.js.map +1 -1
- package/schema/constraints/literal.d.ts +2 -2
- package/schema/constraints/literal.js +3 -3
- package/schema/constraints/literal.js.map +1 -1
- package/schema/constraints/maximum-date.d.ts +2 -2
- package/schema/constraints/maximum-date.js +3 -3
- package/schema/constraints/maximum-date.js.map +1 -1
- package/schema/constraints/maximum-length.d.ts +2 -2
- package/schema/constraints/maximum-length.js +3 -3
- package/schema/constraints/maximum-length.js.map +1 -1
- package/schema/constraints/maximum.d.ts +2 -2
- package/schema/constraints/maximum.js +3 -3
- package/schema/constraints/maximum.js.map +1 -1
- package/schema/constraints/minimum-date.d.ts +2 -2
- package/schema/constraints/minimum-date.js +3 -3
- package/schema/constraints/minimum-date.js.map +1 -1
- package/schema/constraints/minimum-length.d.ts +2 -2
- package/schema/constraints/minimum-length.js +3 -3
- package/schema/constraints/minimum-length.js.map +1 -1
- package/schema/constraints/minimum.d.ts +2 -2
- package/schema/constraints/minimum.js +3 -3
- package/schema/constraints/minimum.js.map +1 -1
- package/schema/constraints/pattern.d.ts +2 -2
- package/schema/constraints/pattern.js +3 -3
- package/schema/constraints/pattern.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/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 +5 -4
- package/schema/schema.error.js +3 -3
- package/schema/schema.error.js.map +1 -1
- package/schema/schema.js +129 -123
- package/schema/schema.js.map +1 -1
- package/schema/schemas/assign.d.ts +5 -5
- package/schema/schemas/assign.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 +1 -0
- package/schema/schemas/index.js +1 -0
- package/schema/schemas/index.js.map +1 -1
- package/schema/schemas/number.d.ts +1 -1
- package/schema/schemas/number.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/union.d.ts +2 -7
- package/schema/schemas/union.js.map +1 -1
- package/schema/types.d.ts +33 -23
- package/schema/types.js +21 -8
- package/schema/types.js.map +1 -1
- package/schema/utils/schema.d.ts +3 -0
- package/schema/utils/schema.js +46 -4
- package/schema/utils/schema.js.map +1 -1
- package/schema/utils/value-type.d.ts +4 -2
- package/schema/utils/value-type.js +23 -8
- 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 +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 +4 -1
- 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 +18 -5
- 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/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/threading/index.js +19 -0
- package/threading/index.js.map +1 -0
- package/threading/thread-pool.d.ts +19 -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/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 +3 -3
- 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/function/memoize.js +4 -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/image.js +2 -2
- 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/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/property-name.d.ts +2 -2
- package/utils/proxy.d.ts +6 -0
- package/utils/proxy.js +21 -0
- package/utils/proxy.js.map +1 -0
- package/utils/stream/stream-reader.js +6 -5
- 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/type-guards.d.ts +15 -3
- 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.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oidc.service.js","sourceRoot":"","sources":["../../source/openid-connect/oidc.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oidc.service.js","sourceRoot":"","sources":["../../source/openid-connect/oidc.service.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../source/orm/decorators.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mongo-repository.js","sourceRoot":"","sources":["../../../source/orm/mongo/mongo-repository.ts"],"names":[],"mappings":";;;AAAA,MAAa,eAAe;CAE3B;AAFD,0CAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SqlRepository = void 0;
|
|
4
|
+
const error_1 = require("../../error");
|
|
5
|
+
class SqlRepository {
|
|
6
|
+
constructor(definition) {
|
|
7
|
+
this.definition = definition;
|
|
8
|
+
}
|
|
9
|
+
async initialize() {
|
|
10
|
+
throw new error_1.NotImplementedError();
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SqlRepository = SqlRepository;
|
|
14
|
+
//# sourceMappingURL=sql-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sql-repository.js","sourceRoot":"","sources":["../../../source/orm/sql/sql-repository.ts"],"names":[],"mappings":";;;AAAA,uCAA8C;AAG9C,MAAa,aAAa;IAGxB,YAAY,UAA4B;QACtC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,IAAI,2BAAmB,EAAE,CAAC;IAClC,CAAC;CACF;AAVD,sCAUC"}
|
package/orm/test.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -5,14 +5,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
8
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const memory_template_provider_base_1 = require("./memory-template.provider.base");
|
|
12
|
-
let MemoryTemplateProvider = class MemoryTemplateProvider extends memory_template_provider_base_1.MemoryTemplateProviderBase {
|
|
12
|
+
const schema_1 = require("../schema");
|
|
13
|
+
let TestEntity = class TestEntity {
|
|
13
14
|
};
|
|
14
|
-
|
|
15
|
-
(0,
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
__decorate([
|
|
16
|
+
(0, schema_1.Property)(),
|
|
17
|
+
__metadata("design:type", String)
|
|
18
|
+
], TestEntity.prototype, "name", void 0);
|
|
19
|
+
TestEntity = __decorate([
|
|
20
|
+
(0, schema_1.Type)()
|
|
21
|
+
], TestEntity);
|
|
22
|
+
//# sourceMappingURL=test.js.map
|
package/orm/test.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../source/orm/test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,sCAA0C;AAG1C,IAAM,UAAU,GAAhB,MAAM,UAAU;CAGf,CAAA;AAFC;IAAC,IAAA,iBAAQ,GAAE;;wCACE;AAFT,UAAU;IADf,IAAA,aAAI,GAAE;GACD,UAAU,CAGf"}
|
package/orm/types.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { OneOrMany, Record, Type } from "../types";
|
|
2
|
+
export declare type EntityDefinition = {
|
|
3
|
+
name: string;
|
|
4
|
+
tableName?: string;
|
|
5
|
+
properties: Record;
|
|
6
|
+
indexes?: IndexDefinition[];
|
|
7
|
+
};
|
|
8
|
+
export declare type EntityPropertyType = 'any' | 'string' | 'number' | 'boolean';
|
|
9
|
+
export declare type PropertyDefinition = {
|
|
10
|
+
type: OneOrMany<EntityPropertyType>;
|
|
11
|
+
array?: boolean;
|
|
12
|
+
optional?: boolean;
|
|
13
|
+
nullable?: boolean;
|
|
14
|
+
unique?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare type IndexDefinition = {
|
|
17
|
+
properties: string[];
|
|
18
|
+
unique?: boolean;
|
|
19
|
+
};
|
|
20
|
+
export declare function getEntityDefinitionFromSchema(type: Type): EntityDefinition | null;
|
package/orm/types.js
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getEntityDefinitionFromSchema = void 0;
|
|
4
|
+
const not_supported_error_1 = require("../error/not-supported.error");
|
|
5
|
+
const reflection_1 = require("../reflection");
|
|
6
|
+
const schema_1 = require("../schema");
|
|
7
|
+
const array_1 = require("../utils/array");
|
|
8
|
+
const type_guards_1 = require("../utils/type-guards");
|
|
9
|
+
function getEntityDefinitionFromSchema(type) {
|
|
10
|
+
const metadata = reflection_1.reflectionRegistry.getMetadata(type);
|
|
11
|
+
if (!metadata.registered) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const properties = {};
|
|
15
|
+
const schema = (0, schema_1.getSchemaFromReflection)(type);
|
|
16
|
+
if ((0, type_guards_1.isNotNull)(schema)) {
|
|
17
|
+
for (const [key, property] of Object.entries(schema.properties)) {
|
|
18
|
+
const valueTypes = (0, schema_1.getSchemaValueTypes)(property);
|
|
19
|
+
const valueTypesWithoutNullAndUndefined = valueTypes.filter((valueType) => (valueType != 'null') && (valueType != 'undefined'));
|
|
20
|
+
const types = (0, array_1.toArray)(valueTypesWithoutNullAndUndefined).map(schemaValueTypeToEntityPropertyType);
|
|
21
|
+
properties[key] = {
|
|
22
|
+
type: (types.length > 1) ? types : types[0],
|
|
23
|
+
array: ((0, schema_1.isValueSchema)(property) && (property.array == true)),
|
|
24
|
+
optional: valueTypes.includes('undefined') || ((0, schema_1.isValueSchema)(property) && (property.optional == true)),
|
|
25
|
+
nullable: valueTypes.includes('null') || ((0, schema_1.isValueSchema)(property) && (property.nullable == true))
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
const definition = {
|
|
30
|
+
name: type.name,
|
|
31
|
+
properties,
|
|
32
|
+
indexes: []
|
|
33
|
+
};
|
|
34
|
+
return definition;
|
|
35
|
+
}
|
|
36
|
+
exports.getEntityDefinitionFromSchema = getEntityDefinitionFromSchema;
|
|
37
|
+
function schemaValueTypeToEntityPropertyType(valueType) {
|
|
38
|
+
if ((valueType == 'undefined') || (valueType == 'null')) {
|
|
39
|
+
throw new Error('null and undefined are not supported');
|
|
40
|
+
}
|
|
41
|
+
if (valueType == String) {
|
|
42
|
+
return 'string';
|
|
43
|
+
}
|
|
44
|
+
if (valueType == Number) {
|
|
45
|
+
return 'number';
|
|
46
|
+
}
|
|
47
|
+
if (valueType == Boolean) {
|
|
48
|
+
return 'boolean';
|
|
49
|
+
}
|
|
50
|
+
if (valueType == 'any') {
|
|
51
|
+
return 'any';
|
|
52
|
+
}
|
|
53
|
+
throw new not_supported_error_1.NotSupportedError(`ValueType ${valueType} not supported.`);
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=types.js.map
|
package/orm/types.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../source/orm/types.ts"],"names":[],"mappings":";;;AAAA,sEAAgE;AAChE,8CAAkD;AAElD,sCAAuF;AAEvF,0CAAwC;AACxC,sDAAgD;AAwBhD,SAAgB,6BAA6B,CAAC,IAAU;IACtD,MAAM,QAAQ,GAAG,+BAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtD,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QACxB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,UAAU,GAAuC,EAAE,CAAC;IAE1D,MAAM,MAAM,GAAG,IAAA,gCAAuB,EAAC,IAAI,CAAC,CAAC;IAE7C,IAAI,IAAA,uBAAS,EAAC,MAAM,CAAC,EAAE;QACrB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;YAC/D,MAAM,UAAU,GAAG,IAAA,4BAAmB,EAAC,QAAQ,CAAC,CAAC;YACjD,MAAM,iCAAiC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC;YAEhI,MAAM,KAAK,GAAG,IAAA,eAAO,EAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YAGlG,UAAU,CAAC,GAAG,CAAC,GAAG;gBAChB,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE;gBAC5C,KAAK,EAAE,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC;gBAC5D,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;gBACtG,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;aAClG,CAAA;SACF;KACF;IAED,MAAM,UAAU,GAAqB;QACnC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU;QACV,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,OAAO,UAAU,CAAC;AACpB,CAAC;AAnCD,sEAmCC;AAED,SAAS,mCAAmC,CAAC,SAA4B;IACvE,IAAI,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE;QACvD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;KACzD;IAED,IAAI,SAAS,IAAI,MAAM,EAAE;QACvB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,SAAS,IAAI,MAAM,EAAE;QACvB,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,SAAS,IAAI,OAAO,EAAE;QACxB,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,IAAI,KAAK,EAAE;QACtB,OAAO,KAAK,CAAC;KACd;IAED,MAAM,IAAI,uCAAiB,CAAC,aAAa,SAAS,iBAAiB,CAAC,CAAC;AACvE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tstdl/base",
|
|
3
|
-
"version": "0.78.0-
|
|
3
|
+
"version": "0.78.0-beta61",
|
|
4
4
|
"author": "Patrick Hein",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -18,11 +18,11 @@
|
|
|
18
18
|
"luxon": "^3.0",
|
|
19
19
|
"reflect-metadata": "^0.1",
|
|
20
20
|
"rxjs": "^7.5",
|
|
21
|
-
"type-fest": "^2.
|
|
21
|
+
"type-fest": "^2.19"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/chroma-js": "2.1",
|
|
25
|
-
"@types/koa__router": "
|
|
25
|
+
"@types/koa__router": "12.0",
|
|
26
26
|
"@types/luxon": "3.0",
|
|
27
27
|
"@types/minio": "7.0",
|
|
28
28
|
"@types/mjml": "4.7",
|
|
@@ -33,24 +33,25 @@
|
|
|
33
33
|
"eslint": "8",
|
|
34
34
|
"ttypescript": "1.5",
|
|
35
35
|
"typedoc": "0.23",
|
|
36
|
-
"typescript": "4.
|
|
36
|
+
"typescript": "4.8",
|
|
37
37
|
"typescript-transform-paths": "3.3"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@elastic/elasticsearch": "^8.
|
|
40
|
+
"@elastic/elasticsearch": "^8.4",
|
|
41
41
|
"@koa/router": "^12.0",
|
|
42
|
-
"@tstdl/angular": "^0.11.0-
|
|
42
|
+
"@tstdl/angular": "^0.11.0-beta61",
|
|
43
43
|
"chroma-js": "^2.4",
|
|
44
|
-
"got": "^12.
|
|
44
|
+
"got": "^12.4",
|
|
45
45
|
"handlebars": "^4.7",
|
|
46
|
+
"knex": "^2.3",
|
|
46
47
|
"koa": "^2.13",
|
|
47
48
|
"minio": "^7.0",
|
|
48
49
|
"mjml": "^4.13",
|
|
49
50
|
"mongodb": "4.9",
|
|
50
51
|
"nodemailer": "^6.7",
|
|
51
|
-
"puppeteer": "^
|
|
52
|
-
"undici": "^5.
|
|
53
|
-
"urlpattern-polyfill": "^
|
|
52
|
+
"puppeteer": "^17.1",
|
|
53
|
+
"undici": "^5.10",
|
|
54
|
+
"urlpattern-polyfill": "^5.0"
|
|
54
55
|
},
|
|
55
56
|
"peerDependenciesMeta": {
|
|
56
57
|
"@tstdl/angular": {
|
package/pdf/pdf.service.d.ts
CHANGED
|
@@ -2,23 +2,49 @@ import type { AfterResolve } from "../container";
|
|
|
2
2
|
import { afterResolve } from "../container";
|
|
3
3
|
import type { AsyncDisposable } from "../disposable/disposable";
|
|
4
4
|
import { disposeAsync } from "../disposable/disposable";
|
|
5
|
-
import {
|
|
6
|
-
|
|
5
|
+
import type { TemplateField } from "../templates";
|
|
6
|
+
import { Template, TemplateService } from "../templates";
|
|
7
|
+
export declare enum PdfFormat {
|
|
8
|
+
Letter = "letter",
|
|
9
|
+
Legal = "legal",
|
|
10
|
+
Tabloid = "tabloid",
|
|
11
|
+
Ledger = "ledger",
|
|
12
|
+
A0 = "a0",
|
|
13
|
+
A1 = "a1",
|
|
14
|
+
A2 = "a2",
|
|
15
|
+
A3 = "a3",
|
|
16
|
+
A4 = "a4",
|
|
17
|
+
A5 = "a5",
|
|
18
|
+
A6 = "a6"
|
|
19
|
+
}
|
|
20
|
+
export declare class PdfMarginObject {
|
|
21
|
+
top?: number | string;
|
|
22
|
+
bottom?: number | string;
|
|
23
|
+
right?: number | string;
|
|
24
|
+
left?: number | string;
|
|
25
|
+
}
|
|
26
|
+
export declare class PdfRenderOptions {
|
|
7
27
|
omitDefaultBackground?: boolean;
|
|
8
28
|
renderBackground?: boolean;
|
|
9
29
|
landscape?: boolean;
|
|
10
|
-
format?:
|
|
30
|
+
format?: PdfFormat;
|
|
11
31
|
width?: string | number;
|
|
12
32
|
height?: string | number;
|
|
13
33
|
scale?: number;
|
|
14
|
-
margin?: string | number |
|
|
15
|
-
|
|
16
|
-
bottom?: number | string;
|
|
17
|
-
right?: number | string;
|
|
18
|
-
left?: number | string;
|
|
19
|
-
};
|
|
34
|
+
margin?: string | number | PdfMarginObject;
|
|
35
|
+
displayHeaderFooter?: boolean;
|
|
20
36
|
waitForNetworkIdle?: boolean;
|
|
21
|
-
|
|
37
|
+
headerTemplate?: string;
|
|
38
|
+
footerTemplate?: string;
|
|
39
|
+
}
|
|
40
|
+
export declare type PdfTemplateOptions = PdfRenderOptions;
|
|
41
|
+
export declare class PdfTemplate extends Template<{
|
|
42
|
+
header: false;
|
|
43
|
+
body: true;
|
|
44
|
+
footer: false;
|
|
45
|
+
}, PdfRenderOptions> {
|
|
46
|
+
options?: PdfTemplateOptions;
|
|
47
|
+
}
|
|
22
48
|
export declare class PdfService implements AsyncDisposable, AfterResolve {
|
|
23
49
|
private readonly templateService;
|
|
24
50
|
private readonly pool;
|
|
@@ -28,6 +54,18 @@ export declare class PdfService implements AsyncDisposable, AfterResolve {
|
|
|
28
54
|
dispose(): Promise<void>;
|
|
29
55
|
renderHtml(html: string, options?: PdfRenderOptions): Promise<Uint8Array>;
|
|
30
56
|
renderUrl(url: string, options?: PdfRenderOptions): Promise<Uint8Array>;
|
|
57
|
+
/**
|
|
58
|
+
* renders a pdf template
|
|
59
|
+
* @param key template key
|
|
60
|
+
* @param templateContext context for template rendering
|
|
61
|
+
* @param options additional options, overwrites options specified in template
|
|
62
|
+
* @returns PDF bytes
|
|
63
|
+
*/
|
|
31
64
|
renderTemplate(key: string, templateContext?: object, options?: PdfRenderOptions): Promise<Uint8Array>;
|
|
32
65
|
private render;
|
|
33
66
|
}
|
|
67
|
+
export declare function pdfTemplate(fields: {
|
|
68
|
+
body: TemplateField;
|
|
69
|
+
header?: TemplateField;
|
|
70
|
+
footer?: TemplateField;
|
|
71
|
+
}, options?: PdfTemplateOptions): PdfTemplate;
|
package/pdf/pdf.service.js
CHANGED
|
@@ -9,14 +9,107 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.PdfService = void 0;
|
|
12
|
+
exports.pdfTemplate = exports.PdfService = exports.PdfTemplate = exports.PdfRenderOptions = exports.PdfMarginObject = exports.PdfFormat = void 0;
|
|
13
13
|
const container_1 = require("../container");
|
|
14
14
|
const core_1 = require("../core");
|
|
15
15
|
const disposable_1 = require("../disposable/disposable");
|
|
16
16
|
const pool_1 = require("../pool");
|
|
17
|
+
const schema_1 = require("../schema");
|
|
17
18
|
const templates_1 = require("../templates");
|
|
18
19
|
const type_guards_1 = require("../utils/type-guards");
|
|
19
20
|
const puppeteer = require("puppeteer");
|
|
21
|
+
var PdfFormat;
|
|
22
|
+
(function (PdfFormat) {
|
|
23
|
+
PdfFormat["Letter"] = "letter";
|
|
24
|
+
PdfFormat["Legal"] = "legal";
|
|
25
|
+
PdfFormat["Tabloid"] = "tabloid";
|
|
26
|
+
PdfFormat["Ledger"] = "ledger";
|
|
27
|
+
PdfFormat["A0"] = "a0";
|
|
28
|
+
PdfFormat["A1"] = "a1";
|
|
29
|
+
PdfFormat["A2"] = "a2";
|
|
30
|
+
PdfFormat["A3"] = "a3";
|
|
31
|
+
PdfFormat["A4"] = "a4";
|
|
32
|
+
PdfFormat["A5"] = "a5";
|
|
33
|
+
PdfFormat["A6"] = "a6";
|
|
34
|
+
})(PdfFormat = exports.PdfFormat || (exports.PdfFormat = {}));
|
|
35
|
+
class PdfMarginObject {
|
|
36
|
+
}
|
|
37
|
+
__decorate([
|
|
38
|
+
(0, schema_1.Optional)([Number, String]),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], PdfMarginObject.prototype, "top", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, schema_1.Optional)([Number, String]),
|
|
43
|
+
__metadata("design:type", Object)
|
|
44
|
+
], PdfMarginObject.prototype, "bottom", void 0);
|
|
45
|
+
__decorate([
|
|
46
|
+
(0, schema_1.Optional)([Number, String]),
|
|
47
|
+
__metadata("design:type", Object)
|
|
48
|
+
], PdfMarginObject.prototype, "right", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, schema_1.Optional)([Number, String]),
|
|
51
|
+
__metadata("design:type", Object)
|
|
52
|
+
], PdfMarginObject.prototype, "left", void 0);
|
|
53
|
+
exports.PdfMarginObject = PdfMarginObject;
|
|
54
|
+
class PdfRenderOptions {
|
|
55
|
+
}
|
|
56
|
+
__decorate([
|
|
57
|
+
(0, schema_1.Optional)(),
|
|
58
|
+
__metadata("design:type", Boolean)
|
|
59
|
+
], PdfRenderOptions.prototype, "omitDefaultBackground", void 0);
|
|
60
|
+
__decorate([
|
|
61
|
+
(0, schema_1.Optional)(),
|
|
62
|
+
__metadata("design:type", Boolean)
|
|
63
|
+
], PdfRenderOptions.prototype, "renderBackground", void 0);
|
|
64
|
+
__decorate([
|
|
65
|
+
(0, schema_1.Optional)(),
|
|
66
|
+
__metadata("design:type", Boolean)
|
|
67
|
+
], PdfRenderOptions.prototype, "landscape", void 0);
|
|
68
|
+
__decorate([
|
|
69
|
+
(0, schema_1.Optional)(),
|
|
70
|
+
(0, schema_1.Enumeration)(PdfFormat),
|
|
71
|
+
__metadata("design:type", String)
|
|
72
|
+
], PdfRenderOptions.prototype, "format", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
(0, schema_1.Optional)([String, Number]),
|
|
75
|
+
__metadata("design:type", Object)
|
|
76
|
+
], PdfRenderOptions.prototype, "width", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
(0, schema_1.Optional)([String, Number]),
|
|
79
|
+
__metadata("design:type", Object)
|
|
80
|
+
], PdfRenderOptions.prototype, "height", void 0);
|
|
81
|
+
__decorate([
|
|
82
|
+
(0, schema_1.Optional)(),
|
|
83
|
+
__metadata("design:type", Number)
|
|
84
|
+
], PdfRenderOptions.prototype, "scale", void 0);
|
|
85
|
+
__decorate([
|
|
86
|
+
(0, schema_1.Optional)([String, Number, PdfMarginObject]),
|
|
87
|
+
__metadata("design:type", Object)
|
|
88
|
+
], PdfRenderOptions.prototype, "margin", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
(0, schema_1.Optional)(),
|
|
91
|
+
__metadata("design:type", Boolean)
|
|
92
|
+
], PdfRenderOptions.prototype, "displayHeaderFooter", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, schema_1.Optional)(),
|
|
95
|
+
__metadata("design:type", Boolean)
|
|
96
|
+
], PdfRenderOptions.prototype, "waitForNetworkIdle", void 0);
|
|
97
|
+
__decorate([
|
|
98
|
+
(0, schema_1.Optional)(),
|
|
99
|
+
__metadata("design:type", String)
|
|
100
|
+
], PdfRenderOptions.prototype, "headerTemplate", void 0);
|
|
101
|
+
__decorate([
|
|
102
|
+
(0, schema_1.Optional)(),
|
|
103
|
+
__metadata("design:type", String)
|
|
104
|
+
], PdfRenderOptions.prototype, "footerTemplate", void 0);
|
|
105
|
+
exports.PdfRenderOptions = PdfRenderOptions;
|
|
106
|
+
class PdfTemplate extends templates_1.Template {
|
|
107
|
+
}
|
|
108
|
+
__decorate([
|
|
109
|
+
(0, schema_1.Optional)(),
|
|
110
|
+
__metadata("design:type", Object)
|
|
111
|
+
], PdfTemplate.prototype, "options", void 0);
|
|
112
|
+
exports.PdfTemplate = PdfTemplate;
|
|
20
113
|
let PdfService = class PdfService {
|
|
21
114
|
constructor(templateService) {
|
|
22
115
|
this.templateService = templateService;
|
|
@@ -37,16 +130,23 @@ let PdfService = class PdfService {
|
|
|
37
130
|
async renderUrl(url, options) {
|
|
38
131
|
return this.render(async (page) => page.goto(url, { waitUntil: (options?.waitForNetworkIdle == true) ? 'networkidle2' : 'load' }), options);
|
|
39
132
|
}
|
|
133
|
+
/**
|
|
134
|
+
* renders a pdf template
|
|
135
|
+
* @param key template key
|
|
136
|
+
* @param templateContext context for template rendering
|
|
137
|
+
* @param options additional options, overwrites options specified in template
|
|
138
|
+
* @returns PDF bytes
|
|
139
|
+
*/
|
|
40
140
|
async renderTemplate(key, templateContext, options) {
|
|
41
|
-
const
|
|
42
|
-
return this.renderHtml(
|
|
141
|
+
const { fields: { header, body, footer }, options: optionsFromTemplate } = await this.templateService.render(key, templateContext);
|
|
142
|
+
return this.renderHtml(body, { ...optionsFromTemplate, headerTemplate: header, footerTemplate: footer, ...options });
|
|
43
143
|
}
|
|
44
|
-
async render(handler, options) {
|
|
144
|
+
async render(handler, options = {}) {
|
|
45
145
|
return this.pool.use(async (browser) => {
|
|
46
146
|
const page = await browser.newPage();
|
|
47
147
|
try {
|
|
48
148
|
await handler(page);
|
|
49
|
-
const margin = (0, type_guards_1.isUndefined)(options
|
|
149
|
+
const margin = (0, type_guards_1.isUndefined)(options.margin)
|
|
50
150
|
? undefined
|
|
51
151
|
: (0, type_guards_1.isObject)(options.margin)
|
|
52
152
|
? options.margin
|
|
@@ -57,14 +157,17 @@ let PdfService = class PdfService {
|
|
|
57
157
|
left: options.margin
|
|
58
158
|
};
|
|
59
159
|
const result = await page.pdf({
|
|
60
|
-
format: options
|
|
61
|
-
scale: options
|
|
62
|
-
landscape: options
|
|
63
|
-
width: options
|
|
64
|
-
height: options
|
|
65
|
-
omitBackground: options
|
|
66
|
-
printBackground: options
|
|
67
|
-
margin
|
|
160
|
+
format: options.format ?? 'a4',
|
|
161
|
+
scale: options.scale,
|
|
162
|
+
landscape: options.landscape,
|
|
163
|
+
width: options.width,
|
|
164
|
+
height: options.height,
|
|
165
|
+
omitBackground: options.omitDefaultBackground,
|
|
166
|
+
printBackground: options.renderBackground,
|
|
167
|
+
margin,
|
|
168
|
+
displayHeaderFooter: options.displayHeaderFooter ?? ((0, type_guards_1.isDefined)(options.headerTemplate) || (0, type_guards_1.isDefined)(options.footerTemplate)),
|
|
169
|
+
headerTemplate: options.headerTemplate,
|
|
170
|
+
footerTemplate: options.footerTemplate
|
|
68
171
|
});
|
|
69
172
|
return result;
|
|
70
173
|
}
|
|
@@ -79,4 +182,11 @@ PdfService = __decorate([
|
|
|
79
182
|
__metadata("design:paramtypes", [templates_1.TemplateService])
|
|
80
183
|
], PdfService);
|
|
81
184
|
exports.PdfService = PdfService;
|
|
185
|
+
function pdfTemplate(fields, options) {
|
|
186
|
+
return {
|
|
187
|
+
fields,
|
|
188
|
+
options
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
exports.pdfTemplate = pdfTemplate;
|
|
82
192
|
//# sourceMappingURL=pdf.service.js.map
|
package/pdf/pdf.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4CAAsD;AACtD,kCAAkC;AAElC,yDAAuD;AACvD,kCAA8B;AAC9B,
|
|
1
|
+
{"version":3,"file":"pdf.service.js","sourceRoot":"","sources":["../../source/pdf/pdf.service.ts"],"names":[],"mappings":"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"}
|
package/pool/pool.d.ts
CHANGED
|
@@ -6,11 +6,16 @@ export declare type PoolOptions = {
|
|
|
6
6
|
* @default number of cpu cores
|
|
7
7
|
*/
|
|
8
8
|
size?: number;
|
|
9
|
+
/**
|
|
10
|
+
* dipose instances on error instead of reusing them
|
|
11
|
+
*/
|
|
12
|
+
disposeOnError?: boolean;
|
|
9
13
|
};
|
|
10
14
|
export declare type PoolInstanceFactory<T> = () => T | Promise<T>;
|
|
11
|
-
export declare type PoolInstanceDisposer<T> = (instance: T) =>
|
|
15
|
+
export declare type PoolInstanceDisposer<T> = (instance: T) => any | Promise<any>;
|
|
12
16
|
export declare class Pool<T> implements AsyncDisposable {
|
|
13
17
|
private readonly size;
|
|
18
|
+
private readonly disposeOnError;
|
|
14
19
|
private readonly freeInstances;
|
|
15
20
|
private readonly usedInstances;
|
|
16
21
|
private readonly factory;
|
package/pool/pool.js
CHANGED
|
@@ -10,6 +10,7 @@ const placeholder = Symbol('pool placeholder');
|
|
|
10
10
|
class Pool {
|
|
11
11
|
constructor(factory, disposer, options) {
|
|
12
12
|
this.size = options?.size ?? (0, os_1.cpus)().length;
|
|
13
|
+
this.disposeOnError = options?.disposeOnError ?? true;
|
|
13
14
|
this.factory = factory;
|
|
14
15
|
this.disposer = disposer;
|
|
15
16
|
this.freeInstances = new data_structures_1.ArrayList();
|
|
@@ -66,7 +67,9 @@ class Pool {
|
|
|
66
67
|
}
|
|
67
68
|
catch (error) {
|
|
68
69
|
try {
|
|
69
|
-
|
|
70
|
+
if (this.disposeOnError) {
|
|
71
|
+
await this.disposer(instance);
|
|
72
|
+
}
|
|
70
73
|
}
|
|
71
74
|
finally {
|
|
72
75
|
this.usedInstances.delete(instance);
|
package/pool/pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../source/pool/pool.ts"],"names":[],"mappings":";;;AAAA,wDAA8C;AAC9C,gDAA4C;AAE5C,yDAAuD;AACvD,2BAA0B;AAC1B,+BAA4C;
|
|
1
|
+
{"version":3,"file":"pool.js","sourceRoot":"","sources":["../../source/pool/pool.ts"],"names":[],"mappings":";;;AAAA,wDAA8C;AAC9C,gDAA4C;AAE5C,yDAAuD;AACvD,2BAA0B;AAC1B,+BAA4C;AAkB5C,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE/C,MAAa,IAAI;IAcf,YAAY,OAA+B,EAAE,QAAiC,EAAE,OAAqB;QACnG,IAAI,CAAC,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAA,SAAI,GAAE,CAAC,MAAM,CAAC;QAC3C,IAAI,CAAC,cAAc,GAAG,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,aAAa,GAAG,IAAI,2BAAS,EAAE,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,SAAG,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAbD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;IAC3D,CAAC;IAaD,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,yBAAY,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,CAAC,yBAAY,CAAC;QAClB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE;YAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,EAAE;YACzC,IAAK,QAAgB,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE;gBAC1C,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aAC/B;YAED,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;SACrC;IACH,CAAC;IAED,kEAAkE;IAClE,KAAK,CAAC,GAAG,CAAI,OAAwC;QACnD,IAAI,QAAW,CAAC;QAEhB,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;YAC/B,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;SAC7C;aACI;YACH,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;gBAC5B,MAAM,IAAA,qBAAc,EAAC,IAAA,WAAI,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;gBACnF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAC1B;YAED,MAAM,YAAY,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,IAAI,EAAkB,CAAC;YAC7D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAErC,IAAI;gBACF,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAEhC,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;iBACvC;aACF;oBACO;gBACN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;aACzC;SACF;QAED,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,MAAM,CAAC;SACf;QACD,OAAO,KAAK,EAAE;YACZ,IAAI;gBACF,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;iBAC/B;aACF;oBACO;gBACN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACrC;YAED,MAAM,KAAK,CAAC;SACb;gBACO;YACN,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAClC;IACH,CAAC;CACF;AAlGD,oBAkGC"}
|
|
@@ -4,25 +4,12 @@ export declare const enum PromiseState {
|
|
|
4
4
|
Rejected = 2
|
|
5
5
|
}
|
|
6
6
|
export declare class DeferredPromise<T = void> implements Promise<T> {
|
|
7
|
-
static
|
|
8
|
-
<T_1>(values: Iterable<T_1 | PromiseLike<T_1>>): Promise<Awaited<T_1>[]>;
|
|
9
|
-
<T_2 extends readonly unknown[] | []>(values: T_2): Promise<{ -readonly [P in keyof T_2]: Awaited<T_2[P]>; }>;
|
|
10
|
-
};
|
|
11
|
-
static race: {
|
|
12
|
-
<T_1>(values: Iterable<T_1 | PromiseLike<T_1>>): Promise<Awaited<T_1>>;
|
|
13
|
-
<T_2 extends readonly unknown[] | []>(values: T_2): Promise<Awaited<T_2[number]>>;
|
|
14
|
-
};
|
|
15
|
-
static resolve: {
|
|
16
|
-
(): Promise<void>;
|
|
17
|
-
<T_1>(value: T_1 | PromiseLike<T_1>): Promise<T_1>;
|
|
18
|
-
};
|
|
19
|
-
static reject: <T_1 = never>(reason?: any) => Promise<T_1>;
|
|
20
|
-
static [Symbol.species]: PromiseConstructor;
|
|
7
|
+
static readonly [Symbol.species]: PromiseConstructor;
|
|
21
8
|
private backingPromise;
|
|
22
9
|
private resolvePromise;
|
|
23
10
|
private rejectPromise;
|
|
24
11
|
private state;
|
|
25
|
-
readonly [Symbol.toStringTag]
|
|
12
|
+
readonly [Symbol.toStringTag] = "DeferredPromise";
|
|
26
13
|
get resolved(): boolean;
|
|
27
14
|
get rejected(): boolean;
|
|
28
15
|
get pending(): boolean;
|