@tstdl/base 0.86.0-beta2 → 0.86.0-beta3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.eslintrc.json +1 -0
- package/__container/decorators.d.ts +2 -0
- package/__container/decorators.js +34 -0
- package/__container/index.d.ts +3 -0
- package/__container/index.js +20 -0
- package/__container/interfaces.d.ts +2 -0
- package/__container/interfaces.js +25 -0
- package/__container/token.d.ts +2 -0
- package/__container/token.js +26 -0
- package/_container/container.js +443 -0
- package/_container/decorators.js +110 -0
- package/_container/index.js +27 -0
- package/_container/interfaces.js +26 -0
- package/_container/provider.js +60 -0
- package/_container/resolve-chain.js +105 -0
- package/_container/resolve.error.js +36 -0
- package/_container/token.js +41 -0
- package/_container/type-info.js +16 -0
- package/_container/types.js +16 -0
- package/_container/utils.js +44 -0
- package/api/client/client.d.ts +2 -2
- package/api/client/client.js +127 -109
- package/api/client/index.js +18 -1
- package/api/default-error-handlers.js +44 -18
- package/api/index.js +20 -14
- package/api/response.js +123 -99
- package/api/server/api-controller.d.ts +2 -2
- package/api/server/api-controller.js +71 -42
- package/api/server/api-request-token.provider.js +40 -12
- package/api/server/error-handler.js +46 -25
- package/api/server/gateway.d.ts +5 -6
- package/api/server/gateway.js +226 -207
- package/api/server/index.js +22 -5
- package/api/server/middlewares/allowed-methods.middleware.js +40 -17
- package/api/server/middlewares/catch-error.middleware.js +33 -12
- package/api/server/middlewares/cors.middleware.js +69 -49
- package/api/server/middlewares/index.js +21 -4
- package/api/server/middlewares/response-time.middleware.js +31 -8
- package/api/server/module.js +42 -18
- package/api/server/tokens.d.ts +4 -1
- package/api/server/tokens.js +31 -2
- package/api/types.js +40 -14
- package/api/utils.js +36 -13
- package/application/application.d.ts +7 -8
- package/application/application.js +163 -155
- package/application/index.js +18 -1
- package/async-iterator-symbol.js +28 -5
- package/authentication/authentication.api.js +113 -89
- package/authentication/client/api.client.js +57 -28
- package/authentication/client/authentication.service.d.ts +4 -4
- package/authentication/client/authentication.service.js +249 -223
- package/authentication/client/http-client.middleware.d.ts +3 -5
- package/authentication/client/http-client.middleware.js +35 -21
- package/authentication/client/index.js +22 -5
- package/authentication/client/module.d.ts +2 -1
- package/authentication/client/module.js +46 -15
- package/authentication/client/tokens.d.ts +2 -2
- package/authentication/client/tokens.js +30 -5
- package/authentication/errors/index.js +18 -1
- package/authentication/errors/secret-requirements.error.js +29 -6
- package/authentication/index.js +19 -2
- package/authentication/models/authentication-credentials.model.js +66 -37
- package/authentication/models/authentication-session.model.js +80 -51
- package/authentication/models/index.js +23 -6
- package/authentication/models/init-secret-reset-data.model.js +44 -16
- package/authentication/models/secret-check-result.model.js +36 -9
- package/authentication/models/token-payload-base.model.js +59 -31
- package/authentication/models/token.model.js +16 -1
- package/authentication/server/authentication-api-request-token.provider.js +52 -24
- package/authentication/server/authentication-credentials.repository.js +24 -1
- package/authentication/server/authentication-secret-requirements.validator.d.ts +11 -2
- package/authentication/server/authentication-secret-requirements.validator.js +58 -23
- package/authentication/server/authentication-secret-reset.handler.js +24 -1
- package/authentication/server/authentication-session.repository.js +24 -1
- package/authentication/server/authentication-subject.resolver.js +24 -5
- package/authentication/server/authentication-token-payload.provider.js +29 -5
- package/authentication/server/authentication.api-controller.js +114 -88
- package/authentication/server/authentication.service.d.ts +10 -3
- package/authentication/server/authentication.service.js +308 -264
- package/authentication/server/helper.js +87 -66
- package/authentication/server/index.js +28 -11
- package/authentication/server/module.d.ts +2 -1
- package/authentication/server/module.js +48 -25
- package/authentication/server/mongo/index.js +19 -2
- package/authentication/server/mongo/mongo-authentication-credentials.repository.d.ts +3 -3
- package/authentication/server/mongo/mongo-authentication-credentials.repository.js +84 -52
- package/authentication/server/mongo/mongo-authentication-session.repository.d.ts +3 -3
- package/authentication/server/mongo/mongo-authentication-session.repository.js +81 -49
- package/browser/browser-context-controller.d.ts +4 -4
- package/browser/browser-context-controller.js +106 -72
- package/browser/browser-controller.d.ts +12 -5
- package/browser/browser-controller.js +115 -74
- package/browser/browser.service.d.ts +12 -6
- package/browser/browser.service.js +117 -83
- package/browser/document-controller.js +81 -48
- package/browser/element-controller.d.ts +24 -0
- package/browser/element-controller.js +217 -139
- package/browser/frame-controller.js +50 -27
- package/browser/index.js +27 -10
- package/browser/locator-controller.js +59 -36
- package/browser/module.js +47 -23
- package/browser/page-controller.js +108 -89
- package/browser/pdf-options.js +103 -73
- package/browser/types.js +16 -1
- package/browser/utils.d.ts +2 -0
- package/browser/utils.js +116 -77
- package/collections/awaitable/awaitable-list.js +122 -99
- package/collections/awaitable/awaitable-map.js +116 -93
- package/collections/awaitable/awaitable-set.js +86 -63
- package/collections/awaitable/index.js +20 -3
- package/collections/collection.js +16 -1
- package/collections/index.js +23 -6
- package/collections/keyed-set.js +77 -53
- package/collections/list.js +16 -1
- package/collections/observable/index.js +25 -8
- package/collections/observable/observable-array.js +118 -95
- package/collections/observable/observable-collection-base.js +83 -60
- package/collections/observable/observable-collection.js +16 -1
- package/collections/observable/observable-list-base.js +78 -55
- package/collections/observable/observable-list.js +16 -1
- package/collections/observable/observable-map.js +79 -56
- package/collections/observable/observable-set.js +98 -75
- package/collections/observable/observable-sorted-array-list.js +188 -165
- package/collections/sorted-array-list.js +179 -156
- package/collections/sorted-list.js +16 -1
- package/collections/sorted-map.js +93 -70
- package/cookie/cookie.js +71 -49
- package/cookie/index.js +18 -1
- package/core.d.ts +4 -2
- package/core.js +82 -46
- package/data-structures/array-dictionary.js +110 -89
- package/data-structures/array-list.d.ts +1 -1
- package/data-structures/array-list.js +128 -105
- package/data-structures/cache.js +64 -41
- package/data-structures/circular-buffer.js +219 -195
- package/data-structures/collection.js +109 -86
- package/data-structures/dictionary.js +75 -51
- package/data-structures/distinct-collection.d.ts +24 -0
- package/data-structures/distinct-collection.js +77 -0
- package/data-structures/index-out-of-bounds.error.js +31 -8
- package/data-structures/index.d.ts +2 -1
- package/data-structures/index.js +33 -15
- package/data-structures/iterable-weak-map.js +149 -129
- package/data-structures/linked-list.js +385 -367
- package/data-structures/list.js +109 -78
- package/data-structures/map-dictionary.js +78 -55
- package/data-structures/multi-key-map.d.ts +1 -1
- package/data-structures/multi-key-map.js +163 -138
- package/data-structures/multi-key-set.d.ts +19 -0
- package/data-structures/multi-key-set.js +81 -0
- package/data-structures/{set.d.ts → set-collection.d.ts} +3 -3
- package/data-structures/set-collection.js +79 -0
- package/data-structures/sorted-array-list.d.ts +1 -1
- package/data-structures/sorted-array-list.js +166 -142
- package/data-structures/weak-ref-map.js +146 -123
- package/database/entity-repository.js +26 -2
- package/database/entity.js +16 -1
- package/database/id.js +29 -8
- package/database/index.js +23 -6
- package/database/module.js +33 -9
- package/database/mongo/classes.d.ts +5 -5
- package/database/mongo/classes.js +43 -13
- package/database/mongo/index.js +27 -10
- package/database/mongo/model/document.js +93 -62
- package/database/mongo/model/index.js +18 -1
- package/database/mongo/module.js +79 -51
- package/database/mongo/mongo-base.repository.js +283 -259
- package/database/mongo/mongo-bulk.js +110 -87
- package/database/mongo/mongo-entity-repository.d.ts +5 -5
- package/database/mongo/mongo-entity-repository.js +296 -270
- package/database/mongo/operations.js +76 -48
- package/database/mongo/query-converter.js +96 -73
- package/database/mongo/simple-entity-repository.js +28 -5
- package/database/mongo/types.js +25 -2
- package/database/query.js +36 -7
- package/database/utils.js +25 -2
- package/decorators/index.d.ts +1 -0
- package/decorators/index.js +18 -0
- package/decorators/log.d.ts +2 -0
- package/decorators/log.js +56 -0
- package/disposable/async-disposer.d.ts +4 -4
- package/disposable/async-disposer.js +105 -93
- package/disposable/disposable.js +33 -7
- package/disposable/index.js +20 -3
- package/disposable/using.js +37 -15
- package/distributed-loop/controller.js +16 -1
- package/distributed-loop/distributed-loop.d.ts +3 -3
- package/distributed-loop/distributed-loop.js +105 -78
- package/distributed-loop/index.js +20 -3
- package/distributed-loop/provider.js +48 -20
- package/enumerable/async-enumerable.js +261 -238
- package/enumerable/enumerable-methods.js +16 -1
- package/enumerable/enumerable.js +200 -177
- package/enumerable/index.js +19 -2
- package/environment.js +57 -25
- package/error/api.error.js +33 -10
- package/error/assertion.error.js +29 -6
- package/error/bad-request.error.js +29 -6
- package/error/custom.error.js +47 -25
- package/error/details.error.js +31 -8
- package/error/forbidden.error.js +29 -6
- package/error/index.js +33 -16
- package/error/invalid-token.error.js +29 -6
- package/error/max-bytes-exceeded.error.js +32 -9
- package/error/method-not-allowed.error.js +29 -6
- package/error/multi.error.js +31 -8
- package/error/not-found.error.js +29 -6
- package/error/not-implemented.error.js +29 -6
- package/error/not-supported.error.js +34 -11
- package/error/timeout.error.js +29 -6
- package/error/unauthorized.error.js +29 -6
- package/error/unsupported-media-type.error.js +29 -6
- package/examples/api/authentication.js +49 -42
- package/examples/api/basic-overview.js +85 -81
- package/examples/api/custom-authentication.js +69 -61
- package/examples/api/streaming.js +95 -90
- package/examples/browser/basic.js +21 -20
- package/examples/http/client.js +16 -13
- package/examples/mail/basic.js +42 -36
- package/examples/mail/templates/hello-name.js +33 -10
- package/examples/pdf/basic.js +49 -44
- package/examples/pdf/templates/hello-name.js +58 -35
- package/examples/reflection/basic.js +84 -52
- package/examples/template/basic.js +33 -30
- package/examples/template/templates/hello-jsx.js +32 -8
- package/examples/template/templates/hello-name.js +41 -18
- package/function/index.d.ts +1 -0
- package/function/index.js +18 -0
- package/function/log.d.ts +6 -0
- package/function/log.js +37 -0
- package/global-this.js +36 -17
- package/http/client/adapters/undici-http-client.adapter.js +111 -90
- package/http/client/http-client-options.d.ts +0 -5
- package/http/client/http-client-options.js +33 -14
- package/http/client/http-client-request.js +171 -149
- package/http/client/http-client-response.js +56 -33
- package/http/client/http-client.adapter.js +24 -1
- package/http/client/http-client.d.ts +5 -8
- package/http/client/http-client.js +325 -301
- package/http/client/index.js +23 -6
- package/http/client/middleware.d.ts +6 -0
- package/http/client/middleware.js +16 -0
- package/http/client/module.d.ts +6 -1
- package/http/client/module.js +42 -14
- package/http/client/tokens.d.ts +2 -0
- package/http/client/tokens.js +25 -0
- package/http/cookie-parser.js +42 -19
- package/http/http-body.js +75 -52
- package/http/http-form.js +37 -14
- package/http/http-headers.js +109 -86
- package/http/http-query.js +37 -14
- package/http/http-url-parameters.js +31 -8
- package/http/http-value-map.js +133 -110
- package/http/http.error.js +82 -60
- package/http/index.js +28 -11
- package/http/server/http-server-request.js +47 -24
- package/http/server/http-server-response.js +45 -22
- package/http/server/http-server.js +25 -2
- package/http/server/index.js +20 -3
- package/http/server/node/index.js +19 -2
- package/http/server/node/module.js +28 -8
- package/http/server/node/node-http-server.d.ts +1 -4
- package/http/server/node/node-http-server.js +230 -208
- package/http/types.js +47 -21
- package/http/utils.js +108 -92
- package/image-service/image-service.js +91 -59
- package/image-service/imgproxy/imgproxy-image-service.d.ts +6 -8
- package/image-service/imgproxy/imgproxy-image-service.js +125 -86
- package/image-service/imgproxy/index.js +18 -1
- package/image-service/index.js +18 -1
- package/import.js +25 -2
- package/index.js +18 -1
- package/injector/decorators.d.ts +81 -0
- package/injector/decorators.js +126 -0
- package/{container/index.js → injector/index.d.ts} +3 -2
- package/injector/index.js +28 -0
- package/injector/inject.d.ts +85 -0
- package/injector/inject.js +106 -0
- package/injector/injector.d.ts +91 -0
- package/injector/injector.js +497 -0
- package/injector/interfaces.d.ts +16 -0
- package/injector/interfaces.js +26 -0
- package/injector/provider.d.ts +49 -0
- package/injector/provider.js +64 -0
- package/injector/resolve-chain.d.ts +31 -0
- package/injector/resolve-chain.js +113 -0
- package/injector/resolve.error.d.ts +5 -0
- package/injector/resolve.error.js +36 -0
- package/injector/symbols.d.ts +2 -0
- package/injector/symbols.js +26 -0
- package/injector/token.d.ts +25 -0
- package/injector/token.js +41 -0
- package/injector/type-info.d.ts +20 -0
- package/injector/type-info.js +16 -0
- package/injector/types.d.ts +49 -0
- package/injector/types.js +16 -0
- package/interfaces.js +16 -1
- package/json-path/index.js +18 -1
- package/json-path/json-path.js +138 -138
- package/key-value-store/index.js +19 -2
- package/key-value-store/key-value-store.provider.js +24 -1
- package/key-value-store/key-value.store.d.ts +3 -3
- package/key-value-store/key-value.store.js +29 -6
- package/key-value-store/mongo/index.js +23 -6
- package/key-value-store/mongo/module.js +35 -17
- package/key-value-store/mongo/mongo-key-value-store.provider.js +48 -20
- package/key-value-store/mongo/mongo-key-value.model.js +16 -1
- package/key-value-store/mongo/mongo-key-value.repository.d.ts +3 -3
- package/key-value-store/mongo/mongo-key-value.repository.js +52 -22
- package/key-value-store/mongo/mongo-key-value.store.js +89 -59
- package/key-value-store/mongo/tokens.d.ts +1 -1
- package/key-value-store/mongo/tokens.js +25 -2
- package/lock/index.js +19 -2
- package/lock/lock.d.ts +3 -2
- package/lock/lock.js +29 -5
- package/lock/mongo/index.js +22 -5
- package/lock/mongo/lock.js +135 -111
- package/lock/mongo/model.js +16 -1
- package/lock/mongo/module.js +37 -18
- package/lock/mongo/mongo-lock-repository.d.ts +3 -3
- package/lock/mongo/mongo-lock-repository.js +85 -56
- package/lock/mongo/provider.js +68 -38
- package/lock/provider.d.ts +3 -2
- package/lock/provider.js +25 -1
- package/lock/web/index.js +20 -3
- package/lock/web/module.js +31 -11
- package/lock/web/web-lock.js +105 -80
- package/lock/web/web-lock.provider.js +57 -27
- package/logger/console/index.js +18 -1
- package/logger/console/logger.js +80 -53
- package/logger/index.js +19 -2
- package/logger/level.js +31 -8
- package/logger/logger.d.ts +3 -2
- package/logger/logger.js +61 -37
- package/logger/noop/index.js +18 -1
- package/logger/noop/logger.js +42 -20
- package/mail/clients/nodemailer.mail-client.js +91 -62
- package/mail/index.js +22 -5
- package/mail/mail-log.repository.js +25 -2
- package/mail/mail.client.d.ts +3 -2
- package/mail/mail.client.js +63 -34
- package/mail/mail.service.js +106 -73
- package/mail/models/index.js +23 -6
- package/mail/models/mail-address.model.js +16 -1
- package/mail/models/mail-content.model.js +16 -1
- package/mail/models/mail-data.model.js +16 -1
- package/mail/models/mail-log.model.js +16 -1
- package/mail/models/mail-send-result.model.js +16 -1
- package/mail/models/mail-template.model.js +28 -5
- package/mail/module.js +41 -21
- package/mail/repositories/mongo-mail-log.repository.d.ts +3 -3
- package/mail/repositories/mongo-mail-log.repository.js +56 -24
- package/mail/tokens.d.ts +1 -1
- package/mail/tokens.js +25 -2
- package/memory/finalization.js +60 -36
- package/memory/index.js +19 -2
- package/memory/observable-finalization-registry.js +32 -9
- package/message-bus/broadcast-channel/broadcast-channel-message-bus-provider.js +53 -23
- package/message-bus/broadcast-channel/broadcast-channel-message-bus.d.ts +1 -1
- package/message-bus/broadcast-channel/broadcast-channel-message-bus.js +74 -46
- package/message-bus/broadcast-channel/index.js +20 -3
- package/message-bus/broadcast-channel/module.js +31 -11
- package/message-bus/index.js +20 -3
- package/message-bus/local/index.js +20 -3
- package/message-bus/local/local-message-bus-provider.js +65 -35
- package/message-bus/local/local-message-bus.d.ts +1 -1
- package/message-bus/local/local-message-bus.js +66 -38
- package/message-bus/local/module.js +31 -11
- package/message-bus/local/types.js +16 -1
- package/message-bus/message-bus-base.js +63 -41
- package/message-bus/message-bus-provider.js +24 -1
- package/message-bus/message-bus.d.ts +3 -3
- package/message-bus/message-bus.js +29 -5
- package/migration/index.d.ts +1 -1
- package/migration/index.js +20 -3
- package/migration/migration-state-repository.js +25 -2
- package/migration/migration-state.js +16 -1
- package/migration/migrator.js +108 -80
- package/migration/mongo/index.js +19 -2
- package/migration/mongo/migration-state-repository.d.ts +3 -3
- package/migration/mongo/migration-state-repository.js +53 -23
- package/migration/mongo/module.js +34 -15
- package/module/index.js +21 -4
- package/module/module-base.js +60 -37
- package/module/module-metric-reporter.js +77 -58
- package/module/module.js +34 -10
- package/module/modules/function.module.js +34 -11
- package/module/modules/index.js +19 -2
- package/module/modules/web-server.module.d.ts +5 -10
- package/module/modules/web-server.module.js +83 -67
- package/module/utils.js +43 -19
- package/notification/api.js +50 -21
- package/notification/models/index.js +19 -2
- package/notification/models/notification-channel-job.model.js +16 -1
- package/notification/models/notification.model.js +103 -74
- package/notification/module.js +28 -8
- package/notification/notification-channel.service.js +24 -1
- package/notification/notification.repository.js +24 -1
- package/notification/notification.service.js +58 -30
- package/object-storage/index.js +20 -3
- package/object-storage/object-storage-provider.js +24 -1
- package/object-storage/object-storage.d.ts +3 -3
- package/object-storage/object-storage.js +30 -6
- package/object-storage/object.js +30 -7
- package/object-storage/s3/index.js +20 -3
- package/object-storage/s3/s3.object-storage-provider.js +109 -82
- package/object-storage/s3/s3.object-storage.d.ts +2 -2
- package/object-storage/s3/s3.object-storage.js +157 -130
- package/object-storage/s3/s3.object.js +62 -39
- package/openid-connect/cached-oidc-configuration.service.js +65 -35
- package/openid-connect/index.d.ts +1 -1
- package/openid-connect/index.js +28 -11
- package/openid-connect/mongo-oidc-state.repository.d.ts +3 -3
- package/openid-connect/mongo-oidc-state.repository.js +65 -38
- package/openid-connect/oidc-configuration.service.js +66 -38
- package/openid-connect/oidc-state.model.js +16 -1
- package/openid-connect/oidc-state.repository.js +25 -2
- package/openid-connect/oidc.service-model.js +16 -1
- package/openid-connect/oidc.service.js +187 -157
- package/package.json +18 -18
- package/password/have-i-been-pwned.js +39 -21
- package/password/index.js +21 -4
- package/password/password-check-result.model.js +63 -34
- package/password/password-check.js +76 -46
- package/password/password-check.localization.js +111 -86
- package/pdf/index.js +18 -1
- package/pdf/pdf.service.d.ts +3 -3
- package/pdf/pdf.service.js +206 -171
- package/pool/index.js +18 -1
- package/pool/pool.js +133 -116
- package/process-shutdown.d.ts +2 -2
- package/process-shutdown.js +75 -54
- package/promise/cancelable-promise.js +41 -23
- package/promise/deferred-promise.js +92 -68
- package/promise/index.js +20 -3
- package/promise/lazy-promise.js +47 -24
- package/queue/enqueue-batch.js +41 -18
- package/queue/index.js +20 -3
- package/queue/mongo/index.js +21 -4
- package/queue/mongo/job.js +16 -1
- package/queue/mongo/mongo-job.repository.d.ts +3 -3
- package/queue/mongo/mongo-job.repository.js +70 -44
- package/queue/mongo/queue.js +265 -242
- package/queue/mongo/queue.provider.d.ts +3 -3
- package/queue/mongo/queue.provider.js +72 -44
- package/queue/provider.js +24 -1
- package/queue/queue.d.ts +3 -3
- package/queue/queue.js +41 -15
- package/random/index.js +19 -2
- package/random/number-generator/index.js +20 -3
- package/random/number-generator/mulberry32.js +51 -34
- package/random/number-generator/random-number-generator-function.js +24 -1
- package/random/number-generator/random-number-generator.js +31 -8
- package/random/number-generator/seeded-random-number-generator.js +28 -5
- package/random/number-generator/sfc32.js +64 -41
- package/random/number-generator/utils.js +25 -2
- package/random/series.js +43 -41
- package/reflection/decorator-data.js +80 -63
- package/reflection/decorators.js +69 -39
- package/reflection/index.js +22 -5
- package/reflection/reflection-data-map.js +55 -32
- package/reflection/registry.d.ts +0 -1
- package/reflection/registry.js +130 -111
- package/reflection/types.js +16 -1
- package/reflection/utils.js +124 -96
- package/require.js +26 -3
- package/rpc/endpoints/message-port.rpc-endpoint.js +48 -29
- package/rpc/index.js +21 -4
- package/rpc/model.js +30 -7
- package/rpc/rpc-endpoint.js +40 -17
- package/rpc/rpc-error.js +40 -17
- package/rpc/rpc.js +235 -223
- package/rxjs/cast.js +28 -4
- package/rxjs/index.d.ts +1 -0
- package/rxjs/index.js +30 -12
- package/rxjs/intersection-observer.js +48 -25
- package/rxjs/media-query.js +27 -8
- package/rxjs/mutation-observer.js +50 -28
- package/rxjs/noop.js +28 -4
- package/rxjs/performance-observer.js +60 -37
- package/rxjs/resize-observer.js +50 -28
- package/rxjs/retry-backoff.js +47 -23
- package/rxjs/slow-array.js +36 -22
- package/rxjs/start-with-provider.d.ts +2 -0
- package/rxjs/start-with-provider.js +29 -0
- package/rxjs/teardown.js +44 -21
- package/rxjs/timing.js +57 -26
- package/rxjs/touch.js +30 -11
- package/schema/array-constraints/index.js +19 -2
- package/schema/array-constraints/maximum-length.js +42 -19
- package/schema/array-constraints/minimum-length.js +42 -19
- package/schema/coercers/boolean.coercer.js +49 -25
- package/schema/coercers/date.coercer.js +38 -14
- package/schema/coercers/index.js +23 -6
- package/schema/coercers/number.coercer.js +36 -12
- package/schema/coercers/regexp.coercer.js +41 -18
- package/schema/coercers/string.coercer.js +36 -12
- package/schema/coercers/uint8-array.coercer.js +44 -20
- package/schema/constraints/enumeration.js +49 -27
- package/schema/constraints/generic.js +41 -21
- package/schema/constraints/index.js +29 -12
- package/schema/constraints/integer.js +44 -20
- package/schema/constraints/length.js +36 -14
- package/schema/constraints/literal.js +44 -22
- package/schema/constraints/maximum-date.js +46 -23
- package/schema/constraints/maximum-length.js +45 -22
- package/schema/constraints/maximum.js +44 -21
- package/schema/constraints/minimum-date.js +46 -23
- package/schema/constraints/minimum-length.js +45 -22
- package/schema/constraints/minimum.js +44 -21
- package/schema/constraints/pattern.js +46 -23
- package/schema/decorators/class.js +26 -4
- package/schema/decorators/coerce.js +26 -4
- package/schema/decorators/constraint.js +28 -6
- package/schema/decorators/index.js +23 -6
- package/schema/decorators/property.js +38 -16
- package/schema/decorators/types.js +16 -1
- package/schema/decorators/utils.js +73 -45
- package/schema/index.js +27 -10
- package/schema/schema.error.js +72 -59
- package/schema/schema.js +274 -256
- package/schema/schemas/any.js +30 -7
- package/schema/schemas/array.js +44 -21
- package/schema/schemas/assign.js +46 -23
- package/schema/schemas/boolean.js +30 -7
- package/schema/schemas/constraint.js +29 -6
- package/schema/schemas/date.js +43 -20
- package/schema/schemas/defaulted.js +31 -8
- package/schema/schemas/enumeration.js +38 -15
- package/schema/schemas/index.js +43 -26
- package/schema/schemas/instance.js +26 -4
- package/schema/schemas/literal.js +38 -15
- package/schema/schemas/nullable.js +30 -7
- package/schema/schemas/number.js +48 -25
- package/schema/schemas/object.js +34 -10
- package/schema/schemas/omit.js +37 -14
- package/schema/schemas/one-or-many.js +35 -13
- package/schema/schemas/optional.js +30 -6
- package/schema/schemas/partial.js +39 -16
- package/schema/schemas/pick.js +37 -14
- package/schema/schemas/readable-stream.js +30 -7
- package/schema/schemas/record.js +31 -9
- package/schema/schemas/regexp.js +30 -7
- package/schema/schemas/string.js +59 -36
- package/schema/schemas/transform.js +29 -6
- package/schema/schemas/uint8-array.js +50 -27
- package/schema/schemas/union.js +34 -11
- package/schema/schemas/unknown.js +30 -7
- package/schema/transformers/generic.js +39 -16
- package/schema/transformers/index.js +21 -4
- package/schema/transformers/lowercase.js +33 -10
- package/schema/transformers/trim.js +33 -10
- package/schema/transformers/uppercase.js +33 -10
- package/schema/types/index.js +22 -5
- package/schema/types/schema-array-constraint.js +24 -1
- package/schema/types/schema-value-coercer.js +24 -1
- package/schema/types/schema-value-constraint.js +24 -1
- package/schema/types/schema-value-transformer.js +24 -1
- package/schema/types/types.js +191 -161
- package/schema/utils/index.js +19 -2
- package/schema/utils/schema.js +142 -120
- package/schema/utils/value-type.js +74 -51
- package/search-index/elastic/config.d.ts +3 -3
- package/search-index/elastic/config.js +50 -19
- package/search-index/elastic/index.js +23 -6
- package/search-index/elastic/keyword-rewriter.js +40 -17
- package/search-index/elastic/model/elastic-query.js +16 -1
- package/search-index/elastic/model/index-mapping.js +26 -4
- package/search-index/elastic/model/index.js +20 -3
- package/search-index/elastic/model/sort.js +16 -1
- package/search-index/elastic/module.d.ts +1 -1
- package/search-index/elastic/module.js +72 -39
- package/search-index/elastic/query-builder/boolean-query-builder.js +69 -46
- package/search-index/elastic/query-builder/index.js +18 -1
- package/search-index/elastic/query-converter.js +192 -174
- package/search-index/elastic/search-index.d.ts +2 -2
- package/search-index/elastic/search-index.js +153 -132
- package/search-index/elastic/sort-converter.js +34 -12
- package/search-index/elastic/types.js +16 -1
- package/search-index/error.js +35 -12
- package/search-index/index.js +20 -3
- package/search-index/memory/index.js +18 -1
- package/search-index/memory/memory-search-index.js +152 -130
- package/search-index/search-index.js +53 -30
- package/search-index/search-result.js +16 -1
- package/serializer/handlers/binary.js +47 -19
- package/serializer/handlers/date.js +28 -4
- package/serializer/handlers/error.js +31 -7
- package/serializer/handlers/index.js +24 -7
- package/serializer/handlers/map.js +40 -16
- package/serializer/handlers/regex.js +31 -7
- package/serializer/handlers/register.js +59 -36
- package/serializer/handlers/set.js +37 -13
- package/serializer/index.js +30 -3
- package/serializer/serializable.js +68 -43
- package/serializer/serializer.js +264 -244
- package/serializer/types.js +34 -6
- package/signals/api.d.ts +1 -1
- package/signals/api.js +48 -17
- package/signals/computed-with-dependencies.js +31 -8
- package/signals/effect-with-dependencies.js +31 -8
- package/signals/implementation/api.js +33 -33
- package/signals/implementation/computed.js +104 -125
- package/signals/implementation/configure.js +41 -18
- package/signals/implementation/effect.js +66 -48
- package/signals/implementation/errors.js +29 -5
- package/signals/implementation/graph.js +136 -164
- package/signals/implementation/index.js +27 -10
- package/signals/implementation/signal.js +101 -91
- package/signals/implementation/to-observable.js +38 -21
- package/signals/implementation/to-signal.js +60 -44
- package/signals/implementation/untracked.js +31 -15
- package/signals/implementation/watch.js +73 -58
- package/signals/index.d.ts +2 -0
- package/signals/index.js +26 -7
- package/signals/lazylize.d.ts +2 -0
- package/signals/lazylize.js +28 -0
- package/signals/pipe.d.ts +1 -1
- package/signals/pipe.js +33 -7
- package/signals/switch-map.js +27 -4
- package/signals/to-signal-2.d.ts +14 -0
- package/signals/to-signal-2.js +67 -0
- package/signals/types.js +16 -1
- package/signals/untracked-operator.js +33 -11
- package/sse/index.js +19 -2
- package/sse/model.js +16 -1
- package/sse/server-sent-events-source.js +76 -54
- package/sse/server-sent-events.js +72 -48
- package/supports.js +32 -5
- package/templates/index.js +26 -9
- package/templates/module.d.ts +2 -2
- package/templates/module.js +47 -40
- package/templates/providers/file.template-provider.d.ts +3 -3
- package/templates/providers/file.template-provider.js +82 -39
- package/templates/providers/memory.template-provider.js +55 -27
- package/templates/renderers/handlebars.template-renderer.js +122 -84
- package/templates/renderers/jsx.template-renderer.js +56 -28
- package/templates/renderers/mjml.template-renderer.js +82 -42
- package/templates/renderers/string.template-renderer.js +52 -24
- package/templates/resolvers/file.template-resolver.d.ts +3 -3
- package/templates/resolvers/file.template-resolver.js +90 -45
- package/templates/resolvers/jsx.template-resolver.js +59 -29
- package/templates/resolvers/string.template-resolver.js +59 -29
- package/templates/template-renderer.provider.js +66 -36
- package/templates/template-resolver.provider.js +66 -36
- package/templates/template.model.js +69 -39
- package/templates/template.provider.js +24 -1
- package/templates/template.renderer.js +34 -11
- package/templates/template.resolver.js +24 -1
- package/templates/template.service.js +82 -49
- package/templates/tokens.d.ts +2 -2
- package/templates/tokens.js +27 -3
- package/templates/types/jsx.intrinsic-elements.js +16 -1
- package/text/dynamic-text.model.js +69 -41
- package/text/index.js +20 -3
- package/text/localizable-text.model.js +16 -1
- package/text/localization.service.js +229 -196
- package/theme/adapters/css-adapter.js +46 -23
- package/theme/adapters/tailwind-adapter.js +52 -29
- package/theme/index.js +18 -1
- package/theme/theme-service.d.ts +1 -1
- package/theme/theme-service.js +147 -107
- package/threading/index.js +19 -2
- package/threading/thread-pool.js +70 -48
- package/threading/thread-worker.js +26 -3
- package/tokens.d.ts +1 -1
- package/tokens.js +25 -2
- package/types/geo-json.js +16 -1
- package/types.js +16 -2
- package/utils/alphabet.js +35 -12
- package/utils/any-iterable-iterator.js +27 -4
- package/utils/array/array-backtracker.js +65 -42
- package/utils/array/array.js +79 -76
- package/utils/array/index.js +19 -2
- package/utils/async-iterable-helpers/all.js +46 -25
- package/utils/async-iterable-helpers/any.js +46 -25
- package/utils/async-iterable-helpers/assert.js +43 -22
- package/utils/async-iterable-helpers/batch.js +46 -26
- package/utils/async-iterable-helpers/buffer.js +64 -47
- package/utils/async-iterable-helpers/concat.js +27 -5
- package/utils/async-iterable-helpers/default-if-empty.js +32 -9
- package/utils/async-iterable-helpers/deferred.js +26 -3
- package/utils/async-iterable-helpers/difference.js +48 -24
- package/utils/async-iterable-helpers/distinct.js +44 -23
- package/utils/async-iterable-helpers/drain.js +26 -4
- package/utils/async-iterable-helpers/filter.js +44 -23
- package/utils/async-iterable-helpers/first-or-default.js +30 -8
- package/utils/async-iterable-helpers/first.js +30 -8
- package/utils/async-iterable-helpers/for-each.js +38 -18
- package/utils/async-iterable-helpers/group-single.js +26 -3
- package/utils/async-iterable-helpers/group-to-map.js +41 -20
- package/utils/async-iterable-helpers/group-to-single-map.js +44 -23
- package/utils/async-iterable-helpers/group.js +26 -3
- package/utils/async-iterable-helpers/includes.js +28 -7
- package/utils/async-iterable-helpers/index.js +65 -48
- package/utils/async-iterable-helpers/interrupt.js +43 -19
- package/utils/async-iterable-helpers/is-async-iterable.js +29 -5
- package/utils/async-iterable-helpers/last-or-default.js +36 -13
- package/utils/async-iterable-helpers/last.js +36 -13
- package/utils/async-iterable-helpers/map-many.js +40 -19
- package/utils/async-iterable-helpers/map.js +40 -19
- package/utils/async-iterable-helpers/materialize.js +42 -21
- package/utils/async-iterable-helpers/metadata.js +58 -38
- package/utils/async-iterable-helpers/multiplex.js +44 -23
- package/utils/async-iterable-helpers/observable-iterable.js +53 -31
- package/utils/async-iterable-helpers/pairwise.js +44 -26
- package/utils/async-iterable-helpers/parallel/feed.js +45 -24
- package/utils/async-iterable-helpers/parallel/filter.js +31 -8
- package/utils/async-iterable-helpers/parallel/for-each.js +44 -21
- package/utils/async-iterable-helpers/parallel/group.js +32 -9
- package/utils/async-iterable-helpers/parallel/index.js +24 -7
- package/utils/async-iterable-helpers/parallel/map.js +29 -6
- package/utils/async-iterable-helpers/parallel/tap.js +29 -6
- package/utils/async-iterable-helpers/parallel/types.js +16 -1
- package/utils/async-iterable-helpers/reduce.js +46 -31
- package/utils/async-iterable-helpers/retry.js +58 -43
- package/utils/async-iterable-helpers/single-or-default.js +40 -17
- package/utils/async-iterable-helpers/single.js +42 -19
- package/utils/async-iterable-helpers/skip.js +26 -3
- package/utils/async-iterable-helpers/sort.js +29 -6
- package/utils/async-iterable-helpers/take-until.js +49 -32
- package/utils/async-iterable-helpers/take-while.js +46 -29
- package/utils/async-iterable-helpers/take.js +33 -10
- package/utils/async-iterable-helpers/tap.js +40 -19
- package/utils/async-iterable-helpers/throttle.js +30 -9
- package/utils/async-iterable-helpers/to-array.js +33 -10
- package/utils/async-iterable-helpers/to-async-iterable-iterator.js +59 -40
- package/utils/async-iterable-helpers/to-async-iterator.js +54 -32
- package/utils/async-iterable-helpers/to-set.js +33 -10
- package/utils/async-iterable-helpers/to-sync-iterable.js +27 -6
- package/utils/async-iterable-helpers/types.js +16 -1
- package/utils/async-iterable-helpers/while.js +46 -25
- package/utils/async-iterator-iterable-iterator.js +62 -41
- package/utils/backoff.js +109 -109
- package/utils/base64.js +140 -153
- package/utils/benchmark.js +107 -114
- package/utils/binary-search.js +87 -70
- package/utils/binary.js +61 -50
- package/utils/cancellation-token.js +140 -120
- package/utils/clone.js +64 -43
- package/utils/comparison.js +98 -76
- package/utils/compression.js +118 -107
- package/utils/config-parser.js +48 -21
- package/utils/crc32.js +42 -20
- package/utils/cryptography.js +121 -163
- package/utils/date-time.js +138 -102
- package/utils/encoding.js +60 -62
- package/utils/enum.js +53 -27
- package/utils/equals.js +119 -103
- package/utils/event-loop.js +39 -19
- package/utils/factory-map.js +75 -53
- package/utils/feedable-async-iterable.js +70 -47
- package/utils/file-reader.js +41 -15
- package/utils/format-error.js +57 -36
- package/utils/format.js +53 -32
- package/utils/function/index.js +19 -2
- package/utils/function/memoize.js +53 -38
- package/utils/function/throttle.js +48 -26
- package/utils/helpers.js +102 -93
- package/utils/image.js +88 -62
- package/utils/index.js +65 -48
- package/utils/iterable-helpers/all.js +31 -8
- package/utils/iterable-helpers/any.js +31 -8
- package/utils/iterable-helpers/assert.js +30 -7
- package/utils/iterable-helpers/batch.js +34 -11
- package/utils/iterable-helpers/concat.js +27 -4
- package/utils/iterable-helpers/default-if-empty.js +32 -9
- package/utils/iterable-helpers/deferred.js +25 -2
- package/utils/iterable-helpers/difference.js +45 -21
- package/utils/iterable-helpers/distinct.js +32 -9
- package/utils/iterable-helpers/drain.js +26 -4
- package/utils/iterable-helpers/filter.js +30 -7
- package/utils/iterable-helpers/first-or-default.js +30 -8
- package/utils/iterable-helpers/first.js +30 -8
- package/utils/iterable-helpers/for-each.js +28 -5
- package/utils/iterable-helpers/group-single.js +26 -3
- package/utils/iterable-helpers/group-to-map.js +32 -9
- package/utils/iterable-helpers/group-to-single-map.js +33 -10
- package/utils/iterable-helpers/group.js +26 -3
- package/utils/iterable-helpers/includes.js +26 -3
- package/utils/iterable-helpers/index.js +56 -39
- package/utils/iterable-helpers/is-iterable.js +29 -5
- package/utils/iterable-helpers/last-or-default.js +36 -13
- package/utils/iterable-helpers/last.js +36 -13
- package/utils/iterable-helpers/map-many.js +29 -6
- package/utils/iterable-helpers/map.js +29 -6
- package/utils/iterable-helpers/materialize.js +25 -2
- package/utils/iterable-helpers/metadata.js +38 -16
- package/utils/iterable-helpers/pairwise.js +33 -11
- package/utils/iterable-helpers/range.js +27 -4
- package/utils/iterable-helpers/reduce.js +33 -11
- package/utils/iterable-helpers/single-or-default.js +37 -14
- package/utils/iterable-helpers/single.js +40 -17
- package/utils/iterable-helpers/skip.js +29 -6
- package/utils/iterable-helpers/sort.js +27 -4
- package/utils/iterable-helpers/take-until.js +31 -8
- package/utils/iterable-helpers/take-while.js +33 -10
- package/utils/iterable-helpers/take.js +33 -10
- package/utils/iterable-helpers/tap.js +29 -6
- package/utils/iterable-helpers/types.js +16 -1
- package/utils/iterable-helpers/while.js +31 -8
- package/utils/jwt.js +100 -77
- package/utils/map.js +62 -35
- package/utils/math.js +64 -102
- package/utils/merge.js +45 -26
- package/utils/middleware.js +60 -36
- package/utils/moving-metric.js +188 -155
- package/utils/noop.js +27 -4
- package/utils/object/decycle.js +78 -57
- package/utils/object/dereference.js +44 -46
- package/utils/object/forward-ref.js +73 -57
- package/utils/object/index.js +24 -7
- package/utils/object/lazy-property.js +96 -81
- package/utils/object/merge.js +70 -48
- package/utils/object/object.js +136 -106
- package/utils/object/property-name.js +72 -69
- package/utils/ordered-feedable-async-iterable.js +65 -42
- package/utils/patch-worker.js +90 -69
- package/utils/patterns.js +29 -7
- package/utils/periodic-reporter.js +82 -60
- package/utils/periodic-sampler.js +91 -67
- package/utils/provider-function-iterable.js +48 -26
- package/utils/proxy.js +42 -17
- package/utils/random.js +50 -40
- package/utils/reflection.js +41 -13
- package/utils/repl.js +33 -14
- package/utils/set.js +62 -36
- package/utils/singleton.js +41 -18
- package/utils/sort.js +77 -53
- package/utils/stream/finalize-stream.js +62 -43
- package/utils/stream/index.js +23 -6
- package/utils/stream/readable-stream-adapter.js +57 -35
- package/utils/stream/readable-stream-from-promise.js +28 -7
- package/utils/stream/size-limited-stream.js +35 -12
- package/utils/stream/stream-helper-types.js +16 -1
- package/utils/stream/stream-reader.js +52 -30
- package/utils/string/hypenate.js +25 -2
- package/utils/string/index.js +20 -3
- package/utils/string/title-case.js +26 -6
- package/utils/string/trim.js +32 -9
- package/utils/throw.js +30 -7
- package/utils/timer.js +91 -70
- package/utils/timing.js +80 -52
- package/utils/type-guards.js +1076 -253
- package/utils/type-of.js +43 -25
- package/utils/units.js +124 -53
- package/utils/url-builder.js +68 -47
- package/utils/value-or-provider.js +29 -6
- package/utils/z-base32.js +63 -42
- package/web-types.js +16 -1
- package/container/container.js +0 -428
- package/container/decorators.js +0 -126
- package/container/interfaces.js +0 -2
- package/container/provider.js +0 -29
- package/container/resolve-chain.js +0 -80
- package/container/resolve.error.js +0 -11
- package/container/token.js +0 -20
- package/container/type-info.js +0 -1
- package/container/types.js +0 -1
- package/container/utils.js +0 -20
- package/data-structures/set.js +0 -56
- /package/{container → _container}/container.d.ts +0 -0
- /package/{container → _container}/decorators.d.ts +0 -0
- /package/{container → _container}/index.d.ts +0 -0
- /package/{container → _container}/interfaces.d.ts +0 -0
- /package/{container → _container}/provider.d.ts +0 -0
- /package/{container → _container}/resolve-chain.d.ts +0 -0
- /package/{container → _container}/resolve.error.d.ts +0 -0
- /package/{container → _container}/token.d.ts +0 -0
- /package/{container → _container}/type-info.d.ts +0 -0
- /package/{container → _container}/types.d.ts +0 -0
- /package/{container → _container}/utils.d.ts +0 -0
|
@@ -1,99 +1,138 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
6
9
|
};
|
|
7
|
-
var
|
|
8
|
-
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
9
17
|
};
|
|
10
|
-
var
|
|
11
|
-
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var imgproxy_image_service_exports = {};
|
|
20
|
+
__export(imgproxy_image_service_exports, {
|
|
21
|
+
IMGPROXY_IMAGE_SERVICE_CONFIG: () => IMGPROXY_IMAGE_SERVICE_CONFIG,
|
|
22
|
+
ImgproxyImageService: () => ImgproxyImageService,
|
|
23
|
+
configureImgproxyImageService: () => configureImgproxyImageService
|
|
24
|
+
});
|
|
25
|
+
module.exports = __toCommonJS(imgproxy_image_service_exports);
|
|
26
|
+
var import_injector = require("../../injector/index.js");
|
|
27
|
+
var import_injector2 = require("../../injector/injector.js");
|
|
28
|
+
var import_base64 = require("../../utils/base64.js");
|
|
29
|
+
var import_binary = require("../../utils/binary.js");
|
|
30
|
+
var import_cryptography = require("../../utils/cryptography.js");
|
|
31
|
+
var import_encoding = require("../../utils/encoding.js");
|
|
32
|
+
var import_type_guards = require("../../utils/type-guards.js");
|
|
33
|
+
var import_image_service = require("../image-service.js");
|
|
34
|
+
var __decorate = function(decorators, target, key, desc) {
|
|
35
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
36
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
37
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
38
|
+
else
|
|
39
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
40
|
+
if (d = decorators[i])
|
|
41
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
42
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
12
43
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
44
|
+
var __metadata = function(k, v) {
|
|
45
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
46
|
+
return Reflect.metadata(k, v);
|
|
47
|
+
};
|
|
48
|
+
var __param = function(paramIndex, decorator) {
|
|
49
|
+
return function(target, key) {
|
|
50
|
+
decorator(target, key, paramIndex);
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
const IMGPROXY_IMAGE_SERVICE_CONFIG = (0, import_injector.injectionToken)("ImgproxyImageServiceConfig");
|
|
54
|
+
let ImgproxyImageService = class ImgproxyImageService2 extends import_image_service.ImageService {
|
|
55
|
+
#keyBytes;
|
|
56
|
+
#saltBytes;
|
|
57
|
+
#signatureSize;
|
|
58
|
+
endpoint;
|
|
59
|
+
constructor(endpoint, key, salt, signatureSize) {
|
|
60
|
+
super();
|
|
61
|
+
this.endpoint = endpoint;
|
|
62
|
+
this.#signatureSize = signatureSize;
|
|
63
|
+
this.#keyBytes = (0, import_encoding.decodeHex)(key);
|
|
64
|
+
this.#saltBytes = (0, import_encoding.decodeHex)(salt);
|
|
65
|
+
}
|
|
66
|
+
async getUrl(resourceUri, options = {}) {
|
|
67
|
+
const encodedResourceUri = (0, import_base64.encodeBase64Url)((0, import_encoding.encodeUtf8)(resourceUri));
|
|
68
|
+
const processingOptions = [];
|
|
69
|
+
const { resizeMode, width, height } = options;
|
|
70
|
+
if ((0, import_type_guards.isDefined)(width) || (0, import_type_guards.isDefined)(height) || (0, import_type_guards.isDefined)(resizeMode)) {
|
|
71
|
+
processingOptions.push(`rs:${resizeMode ?? ""}:${width ?? ""}:${height ?? ""}`);
|
|
72
|
+
}
|
|
73
|
+
if ((0, import_type_guards.isDefined)(options.origin)) {
|
|
74
|
+
processingOptions.push(`gravity:${convertOrigin(options.origin)}`);
|
|
75
|
+
}
|
|
76
|
+
if ((0, import_type_guards.isDefined)(options.quality)) {
|
|
77
|
+
processingOptions.push(`q:${options.quality}`);
|
|
32
78
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
const processingOptions = [];
|
|
36
|
-
const { resizeMode, width, height } = options;
|
|
37
|
-
if (isDefined(width) || isDefined(height) || isDefined(resizeMode)) {
|
|
38
|
-
processingOptions.push(`rs:${resizeMode ?? ''}:${width ?? ''}:${height ?? ''}`);
|
|
39
|
-
}
|
|
40
|
-
if (isDefined(options.origin)) {
|
|
41
|
-
processingOptions.push(`gravity:${convertOrigin(options.origin)}`);
|
|
42
|
-
}
|
|
43
|
-
if (isDefined(options.quality)) {
|
|
44
|
-
processingOptions.push(`q:${options.quality}`);
|
|
45
|
-
}
|
|
46
|
-
if (isDefined(options.cacheBuster)) {
|
|
47
|
-
processingOptions.push(`cb:${options.cacheBuster}`);
|
|
48
|
-
}
|
|
49
|
-
if (isDefined(options.format)) {
|
|
50
|
-
processingOptions.push(`f:${options.format}`);
|
|
51
|
-
}
|
|
52
|
-
const processingOptionsString = processingOptions.join('/');
|
|
53
|
-
const path = `/${[processingOptionsString, encodedResourceUri].join('/')}`;
|
|
54
|
-
const signature = await signString(this.keyBytes, this.saltBytes, path, this.signatureSize);
|
|
55
|
-
return `${this.endpoint}/${signature}${path}`;
|
|
79
|
+
if ((0, import_type_guards.isDefined)(options.cacheBuster)) {
|
|
80
|
+
processingOptions.push(`cb:${options.cacheBuster}`);
|
|
56
81
|
}
|
|
82
|
+
if ((0, import_type_guards.isDefined)(options.format)) {
|
|
83
|
+
processingOptions.push(`f:${options.format}`);
|
|
84
|
+
}
|
|
85
|
+
const processingOptionsString = processingOptions.join("/");
|
|
86
|
+
const path = `/${[processingOptionsString, encodedResourceUri].join("/")}`;
|
|
87
|
+
const signature = await signString(this.#keyBytes, this.#saltBytes, path, this.#signatureSize);
|
|
88
|
+
return `${this.endpoint}/${signature}${path}`;
|
|
89
|
+
}
|
|
57
90
|
};
|
|
58
91
|
ImgproxyImageService = __decorate([
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
92
|
+
(0, import_injector.Singleton)({
|
|
93
|
+
defaultArgumentProvider: (context) => context.resolve(IMGPROXY_IMAGE_SERVICE_CONFIG)
|
|
94
|
+
}),
|
|
95
|
+
__param(0, (0, import_injector.InjectArg)("endpoint")),
|
|
96
|
+
__param(1, (0, import_injector.InjectArg)("key")),
|
|
97
|
+
__param(2, (0, import_injector.InjectArg)("salt")),
|
|
98
|
+
__param(3, (0, import_injector.InjectArg)("signatureSize")),
|
|
99
|
+
__metadata("design:paramtypes", [String, String, String, Number])
|
|
67
100
|
], ImgproxyImageService);
|
|
68
101
|
async function signString(keyBytes, saltBytes, target, size = 32) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
102
|
+
const hmacKey = await (0, import_cryptography.importHmacKey)("SHA-256", keyBytes, false);
|
|
103
|
+
const targetBytes = (0, import_binary.concatArrayBufferViews)([saltBytes, (0, import_encoding.encodeUtf8)(target)]);
|
|
104
|
+
const base64Signature = await (0, import_cryptography.sign)("HMAC", hmacKey, targetBytes).toBuffer();
|
|
105
|
+
return (0, import_base64.encodeBase64Url)(base64Signature.slice(0, size));
|
|
73
106
|
}
|
|
74
107
|
function convertOrigin(origin) {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
108
|
+
switch (origin) {
|
|
109
|
+
case "center":
|
|
110
|
+
return "ce";
|
|
111
|
+
case "smart":
|
|
112
|
+
return "sm";
|
|
113
|
+
case "top":
|
|
114
|
+
return "no";
|
|
115
|
+
case "left":
|
|
116
|
+
return "we";
|
|
117
|
+
case "right":
|
|
118
|
+
return "ea";
|
|
119
|
+
case "bottom":
|
|
120
|
+
return "so";
|
|
121
|
+
case "topleft":
|
|
122
|
+
return "nowe";
|
|
123
|
+
case "topright":
|
|
124
|
+
return "noea";
|
|
125
|
+
case "bottomleft":
|
|
126
|
+
return "sowe";
|
|
127
|
+
case "bottomright":
|
|
128
|
+
return "soea";
|
|
129
|
+
default:
|
|
130
|
+
throw new Error();
|
|
131
|
+
}
|
|
88
132
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
export function configureImgproxyImageService(defaultConfig, register = true) {
|
|
95
|
-
container.register(IMGPROXY_IMAGE_SERVICE_CONFIG, { useValue: defaultConfig });
|
|
96
|
-
if (register) {
|
|
97
|
-
container.registerSingleton(ImageService, { useToken: ImgproxyImageService });
|
|
98
|
-
}
|
|
133
|
+
function configureImgproxyImageService(defaultConfig, register = true) {
|
|
134
|
+
import_injector2.Injector.register(IMGPROXY_IMAGE_SERVICE_CONFIG, { useValue: defaultConfig });
|
|
135
|
+
if (register) {
|
|
136
|
+
import_injector2.Injector.registerSingleton(import_image_service.ImageService, { useToken: ImgproxyImageService });
|
|
137
|
+
}
|
|
99
138
|
}
|
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var imgproxy_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(imgproxy_exports);
|
|
18
|
+
__reExport(imgproxy_exports, require("./imgproxy-image-service.js"), module.exports);
|
package/image-service/index.js
CHANGED
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var image_service_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(image_service_exports);
|
|
18
|
+
__reExport(image_service_exports, require("./image-service.js"), module.exports);
|
package/import.js
CHANGED
|
@@ -1,3 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var import_exports = {};
|
|
20
|
+
__export(import_exports, {
|
|
21
|
+
dynamicImport: () => dynamicImport
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(import_exports);
|
|
24
|
+
async function dynamicImport(id) {
|
|
25
|
+
return import(id);
|
|
3
26
|
}
|
package/index.js
CHANGED
|
@@ -1 +1,18 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var dist_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(dist_exports);
|
|
18
|
+
__reExport(dist_exports, require("./core.js"), module.exports);
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import type { Decorator } from '../reflection/index.js';
|
|
2
|
+
import type { Constructor, OneOrMany, Record, Simplify, TypedOmit } from '../types.js';
|
|
3
|
+
import type { Provider } from './provider.js';
|
|
4
|
+
import type { InjectionToken } from './token.js';
|
|
5
|
+
import type { ArgumentProvider, ForwardRefInjectionToken, Mapper, RegistrationOptions } from './types.js';
|
|
6
|
+
export type InjectDecorator = Decorator<'accessor' | 'constructorParameter'>;
|
|
7
|
+
export type InjectableOptions<T, A, C extends Record = Record> = RegistrationOptions<T, A, C> & {
|
|
8
|
+
/** aliases (tokens) for the class. Useful for example for circular dependencies when you can't use the class itself as a token */
|
|
9
|
+
alias?: OneOrMany<InjectionToken>;
|
|
10
|
+
/** custom provider. Useful for example if initialization is required */
|
|
11
|
+
provider?: Provider<T, A, C>;
|
|
12
|
+
};
|
|
13
|
+
export type InjectableOptionsWithoutLifecycle<T, A> = Simplify<TypedOmit<InjectableOptions<T, A>, 'lifecycle'>>;
|
|
14
|
+
/**
|
|
15
|
+
* Helper decorator to replace a class definition with an other
|
|
16
|
+
* can be used for example to type external classes with the {@link Resolvable} interface
|
|
17
|
+
* @param constructor class to replace with
|
|
18
|
+
*/
|
|
19
|
+
export declare function ReplaceClass<T>(constructor: Constructor<T>): ClassDecorator;
|
|
20
|
+
/**
|
|
21
|
+
* Globally registers the class for injection
|
|
22
|
+
* @param options registration options
|
|
23
|
+
*/
|
|
24
|
+
export declare function Injectable<T = any, A = any, C extends Record = Record>(options?: InjectableOptions<T, A, C>): ClassDecorator;
|
|
25
|
+
/**
|
|
26
|
+
* registers the class in the global container with singleton lifecycle. Decorated class is not modified in any way
|
|
27
|
+
* @param options registration options
|
|
28
|
+
*/
|
|
29
|
+
export declare function Singleton<T = any, A = any>(options?: InjectableOptionsWithoutLifecycle<T, A>): ClassDecorator;
|
|
30
|
+
/**
|
|
31
|
+
* registers the class in the global container with scoped lifecycle. Decorated class is not modified in any way
|
|
32
|
+
* @param options registration options
|
|
33
|
+
*/
|
|
34
|
+
export declare function Scoped<T = any, A = any>(lifecycle: 'resolution' | 'injector', options?: InjectableOptionsWithoutLifecycle<T, A>): ClassDecorator;
|
|
35
|
+
/**
|
|
36
|
+
* sets the token used to resolve the parameter
|
|
37
|
+
* @param token token used for resolving
|
|
38
|
+
* @param argument resolve argument
|
|
39
|
+
* @param mapperOrKey map the resolved value. If {@link PropertyKey} is provided, that property of the resolved value will be injected
|
|
40
|
+
*/
|
|
41
|
+
export declare function Inject<T, A>(token?: InjectionToken<T, A>, argument?: A, mapperOrKey?: Mapper<T> | keyof T): InjectDecorator;
|
|
42
|
+
/**
|
|
43
|
+
* sets the token used to resolve the parameter. Resolves all providers
|
|
44
|
+
* @param token token used for resolving
|
|
45
|
+
* @param argument resolve argument
|
|
46
|
+
* @param mapperOrKey map the resolved value. If {@link PropertyKey} is provided, that property of the resolved value will be injected
|
|
47
|
+
*/
|
|
48
|
+
export declare function InjectAll<T, A>(token?: InjectionToken<T, A>, argument?: A, mapperOrKey?: Mapper<T> | keyof T): InjectDecorator;
|
|
49
|
+
/**
|
|
50
|
+
* sets the argument used for resolving the parameter
|
|
51
|
+
* @param argument
|
|
52
|
+
*/
|
|
53
|
+
export declare function ResolveArg<T>(argument: T): InjectDecorator;
|
|
54
|
+
/**
|
|
55
|
+
* sets the argument provider used for resolving the parameter
|
|
56
|
+
* @param argumentProvider
|
|
57
|
+
*/
|
|
58
|
+
export declare function ResolveArgProvider<T>(argumentProvider: ArgumentProvider<T>): InjectDecorator;
|
|
59
|
+
/**
|
|
60
|
+
* injects the argument used for resolving the class instead of resolving the parameter
|
|
61
|
+
* @param argument
|
|
62
|
+
* @param mapperOrKey map the resolved value. If {@link PropertyKey} is provided, that property of the resolved value will be injected
|
|
63
|
+
*/
|
|
64
|
+
export declare function InjectArg<T>(mapperOrKey?: Mapper<T> | keyof T): InjectDecorator;
|
|
65
|
+
/**
|
|
66
|
+
* sets the argument used for resolving the decorated parameter to the the argument provided for parent resolve
|
|
67
|
+
* @param mapper map the argument (for example to select a property instead of forwarding the whole object)
|
|
68
|
+
*/
|
|
69
|
+
export declare function ForwardArg(): InjectDecorator;
|
|
70
|
+
export declare function ForwardArg<T, U>(mapper: Mapper<T, U>): InjectDecorator;
|
|
71
|
+
/**
|
|
72
|
+
* marks the argument as optional
|
|
73
|
+
* @param argument
|
|
74
|
+
*/
|
|
75
|
+
export declare function Optional(): InjectDecorator;
|
|
76
|
+
/**
|
|
77
|
+
* resolve using ForwardRef to handle circular dependencies. Resolve logic derefs all ForwardRefs which are direct properties of resolved instances automatically
|
|
78
|
+
* @param token token to resolve
|
|
79
|
+
* @param argument resolve argument
|
|
80
|
+
*/
|
|
81
|
+
export declare function ForwardRef<T extends object, A>(token: ForwardRefInjectionToken<T>, argument?: A): InjectDecorator;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var decorators_exports = {};
|
|
20
|
+
__export(decorators_exports, {
|
|
21
|
+
ForwardArg: () => ForwardArg,
|
|
22
|
+
ForwardRef: () => ForwardRef,
|
|
23
|
+
Inject: () => Inject,
|
|
24
|
+
InjectAll: () => InjectAll,
|
|
25
|
+
InjectArg: () => InjectArg,
|
|
26
|
+
Injectable: () => Injectable,
|
|
27
|
+
Optional: () => Optional,
|
|
28
|
+
ReplaceClass: () => ReplaceClass,
|
|
29
|
+
ResolveArg: () => ResolveArg,
|
|
30
|
+
ResolveArgProvider: () => ResolveArgProvider,
|
|
31
|
+
Scoped: () => Scoped,
|
|
32
|
+
Singleton: () => Singleton
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(decorators_exports);
|
|
35
|
+
var import_reflection = require("../reflection/index.js");
|
|
36
|
+
var import_array = require("../utils/array/array.js");
|
|
37
|
+
var import_type_guards = require("../utils/type-guards.js");
|
|
38
|
+
var import_injector = require("./injector.js");
|
|
39
|
+
var import_symbols = require("./symbols.js");
|
|
40
|
+
function ReplaceClass(constructor) {
|
|
41
|
+
return (0, import_reflection.createClassDecorator)({ handler: () => constructor });
|
|
42
|
+
}
|
|
43
|
+
function Injectable(options = {}) {
|
|
44
|
+
return (0, import_reflection.createClassDecorator)({
|
|
45
|
+
data: { [import_symbols.injectableMetadataSymbol]: {} },
|
|
46
|
+
mergeData: true,
|
|
47
|
+
handler: (data) => {
|
|
48
|
+
const { alias: aliases, provider, ...registrationOptions } = options;
|
|
49
|
+
const token = data.constructor;
|
|
50
|
+
const targetProvider = provider ?? { useClass: token };
|
|
51
|
+
import_injector.Injector.register(token, targetProvider, registrationOptions);
|
|
52
|
+
if ((0, import_type_guards.isDefined)(aliases)) {
|
|
53
|
+
for (const alias of (0, import_array.toArray)(aliases)) {
|
|
54
|
+
import_injector.Injector.register(alias, { useToken: token }, registrationOptions);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
function Singleton(options = {}) {
|
|
61
|
+
return Injectable({ ...options, lifecycle: "singleton" });
|
|
62
|
+
}
|
|
63
|
+
function Scoped(lifecycle, options = {}) {
|
|
64
|
+
return Injectable({ ...options, lifecycle });
|
|
65
|
+
}
|
|
66
|
+
function Inject(token, argument, mapperOrKey) {
|
|
67
|
+
const injectMetadata = {};
|
|
68
|
+
if ((0, import_type_guards.isDefined)(token)) {
|
|
69
|
+
injectMetadata.injectToken = token;
|
|
70
|
+
}
|
|
71
|
+
if ((0, import_type_guards.isDefined)(argument)) {
|
|
72
|
+
injectMetadata.resolveArgumentProvider = () => argument;
|
|
73
|
+
}
|
|
74
|
+
if ((0, import_type_guards.isDefined)(mapperOrKey)) {
|
|
75
|
+
injectMetadata.mapper = (0, import_type_guards.isFunction)(mapperOrKey) ? mapperOrKey : (value) => value[mapperOrKey];
|
|
76
|
+
}
|
|
77
|
+
return createInjectDecorator(injectMetadata);
|
|
78
|
+
}
|
|
79
|
+
function InjectAll(token, argument, mapperOrKey) {
|
|
80
|
+
const injectMetadata = { resolveAll: true };
|
|
81
|
+
if ((0, import_type_guards.isDefined)(token)) {
|
|
82
|
+
injectMetadata.injectToken = token;
|
|
83
|
+
}
|
|
84
|
+
if ((0, import_type_guards.isDefined)(argument)) {
|
|
85
|
+
injectMetadata.resolveArgumentProvider = () => argument;
|
|
86
|
+
}
|
|
87
|
+
if ((0, import_type_guards.isDefined)(mapperOrKey)) {
|
|
88
|
+
injectMetadata.mapper = (0, import_type_guards.isFunction)(mapperOrKey) ? mapperOrKey : (value) => value[mapperOrKey];
|
|
89
|
+
}
|
|
90
|
+
return createInjectDecorator(injectMetadata);
|
|
91
|
+
}
|
|
92
|
+
function ResolveArg(argument) {
|
|
93
|
+
return ResolveArgProvider(() => argument);
|
|
94
|
+
}
|
|
95
|
+
function ResolveArgProvider(argumentProvider) {
|
|
96
|
+
return createInjectDecorator({ resolveArgumentProvider: argumentProvider });
|
|
97
|
+
}
|
|
98
|
+
function InjectArg(mapperOrKey) {
|
|
99
|
+
return createInjectDecorator({
|
|
100
|
+
injectArgumentMapper: (0, import_type_guards.isFunction)(mapperOrKey) ? mapperOrKey : (0, import_type_guards.isDefined)(mapperOrKey) ? (value) => value[mapperOrKey] : (value) => value
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function ForwardArg(mapper = (value) => value) {
|
|
104
|
+
return createInjectDecorator({ forwardArgumentMapper: mapper });
|
|
105
|
+
}
|
|
106
|
+
function Optional() {
|
|
107
|
+
return createInjectDecorator({ optional: true });
|
|
108
|
+
}
|
|
109
|
+
function ForwardRef(token, argument) {
|
|
110
|
+
const injectMetadata = {
|
|
111
|
+
forwardRefToken: token
|
|
112
|
+
};
|
|
113
|
+
if ((0, import_type_guards.isDefined)(argument)) {
|
|
114
|
+
injectMetadata.resolveArgumentProvider = () => argument;
|
|
115
|
+
}
|
|
116
|
+
return createInjectDecorator(injectMetadata);
|
|
117
|
+
}
|
|
118
|
+
function createInjectDecorator(metadata) {
|
|
119
|
+
return (0, import_reflection.createDecorator)({
|
|
120
|
+
property: true,
|
|
121
|
+
accessor: true,
|
|
122
|
+
constructorParameter: true,
|
|
123
|
+
data: { [import_symbols.injectMetadataSymbol]: metadata },
|
|
124
|
+
mergeData: true
|
|
125
|
+
});
|
|
126
|
+
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
export * from './container.js';
|
|
2
1
|
export * from './decorators.js';
|
|
2
|
+
export * from './inject.js';
|
|
3
|
+
export * from './injector.js';
|
|
3
4
|
export * from './interfaces.js';
|
|
4
5
|
export * from './provider.js';
|
|
5
6
|
export * from './resolve-chain.js';
|
|
6
7
|
export * from './resolve.error.js';
|
|
8
|
+
export * from './symbols.js';
|
|
7
9
|
export * from './token.js';
|
|
8
10
|
export * from './type-info.js';
|
|
9
11
|
export * from './types.js';
|
|
10
|
-
export * from './utils.js';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var injector_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(injector_exports);
|
|
18
|
+
__reExport(injector_exports, require("./decorators.js"), module.exports);
|
|
19
|
+
__reExport(injector_exports, require("./inject.js"), module.exports);
|
|
20
|
+
__reExport(injector_exports, require("./injector.js"), module.exports);
|
|
21
|
+
__reExport(injector_exports, require("./interfaces.js"), module.exports);
|
|
22
|
+
__reExport(injector_exports, require("./provider.js"), module.exports);
|
|
23
|
+
__reExport(injector_exports, require("./resolve-chain.js"), module.exports);
|
|
24
|
+
__reExport(injector_exports, require("./resolve.error.js"), module.exports);
|
|
25
|
+
__reExport(injector_exports, require("./symbols.js"), module.exports);
|
|
26
|
+
__reExport(injector_exports, require("./token.js"), module.exports);
|
|
27
|
+
__reExport(injector_exports, require("./type-info.js"), module.exports);
|
|
28
|
+
__reExport(injector_exports, require("./types.js"), module.exports);
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Injector } from './injector.js';
|
|
2
|
+
import type { Resolvable, ResolveArgument } from './interfaces.js';
|
|
3
|
+
import type { InjectionToken } from './token.js';
|
|
4
|
+
import type { ResolveOptions } from './types.js';
|
|
5
|
+
export type InjectOptions = ResolveOptions & {
|
|
6
|
+
/** if defined, resolve the ForwardRefToken using ForwardRef strategy instead resolving the token */
|
|
7
|
+
forwardRef?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type InjectArgumentOptions = {
|
|
10
|
+
optional?: boolean;
|
|
11
|
+
};
|
|
12
|
+
export type InjectionContext = {
|
|
13
|
+
injector: Injector;
|
|
14
|
+
argument: unknown;
|
|
15
|
+
inject<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): T;
|
|
16
|
+
injectAll<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): T[];
|
|
17
|
+
injectAsync<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): Promise<T>;
|
|
18
|
+
injectAllAsync<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): Promise<T[]>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Resolves a token using the {@link Injector} of the current injection context
|
|
22
|
+
*
|
|
23
|
+
* @param token token to resolve
|
|
24
|
+
* @param argument argument to resolve token with
|
|
25
|
+
* @param options resolve options
|
|
26
|
+
*/
|
|
27
|
+
export declare function inject<T = unknown, A = unknown>(token: InjectionToken<T, A>, argument: ResolveArgument<T, A>, options: InjectOptions & {
|
|
28
|
+
optional: true;
|
|
29
|
+
}): T | undefined;
|
|
30
|
+
export declare function inject<T = unknown, A = unknown>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): T;
|
|
31
|
+
/**
|
|
32
|
+
* Resolves a token using the {@link Injector} of the current injection context
|
|
33
|
+
*
|
|
34
|
+
* @param token token to resolve
|
|
35
|
+
* @param argument argument to resolve token with
|
|
36
|
+
* @param options resolve options
|
|
37
|
+
*/
|
|
38
|
+
export declare function injectAsync<T = unknown, A = unknown>(token: InjectionToken<T, A>, argument: ResolveArgument<T, A>, options: InjectOptions & {
|
|
39
|
+
optional: true;
|
|
40
|
+
}): Promise<T | undefined>;
|
|
41
|
+
export declare function injectAsync<T = unknown, A = unknown>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): Promise<T>;
|
|
42
|
+
/**
|
|
43
|
+
* Resolves a token using the {@link Injector} of the current injection context
|
|
44
|
+
*
|
|
45
|
+
* @param token token to resolve
|
|
46
|
+
* @param argument argument to resolve token with
|
|
47
|
+
* @param options resolve options
|
|
48
|
+
*/
|
|
49
|
+
export declare function injectAll<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): T[];
|
|
50
|
+
/**
|
|
51
|
+
* Resolves a token using the {@link Injector} of the current injection context
|
|
52
|
+
*
|
|
53
|
+
* @param token token to resolve
|
|
54
|
+
* @param argument argument to resolve token with
|
|
55
|
+
* @param options resolve options
|
|
56
|
+
*/
|
|
57
|
+
export declare function injectAllAsync<T, A>(token: InjectionToken<T, A>, argument?: ResolveArgument<T, A>, options?: InjectOptions): Promise<T[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Injects the resolve argument from the current resolution
|
|
60
|
+
* @param _this can be used for type infer by simply passing `this`. Requires class to implement {@link Resolvable}.
|
|
61
|
+
* @returns
|
|
62
|
+
*/
|
|
63
|
+
export declare function injectArgument<T, R>(_this?: Resolvable<T>, options?: InjectArgumentOptions & {
|
|
64
|
+
optional: R;
|
|
65
|
+
}): T | (R extends true ? undefined : never);
|
|
66
|
+
export declare function getCurrentInjectionContext(required: true): InjectionContext;
|
|
67
|
+
export declare function getCurrentInjectionContext(required?: boolean): InjectionContext | null;
|
|
68
|
+
export declare function getCurrentInjector(required: true): Injector;
|
|
69
|
+
export declare function getCurrentInjector(required?: boolean): Injector | null;
|
|
70
|
+
export declare function setCurrentInjectionContext(context: InjectionContext | null): InjectionContext | null;
|
|
71
|
+
/**
|
|
72
|
+
* Runs the given function in the context of the given {@link InjectionContext}.
|
|
73
|
+
*
|
|
74
|
+
* @param context the injection context which will satisfy calls to {@link inject} while `fn` is executing
|
|
75
|
+
* @param fn the closure to be run in the context of `injector`
|
|
76
|
+
* @returns the return value of the function, if any
|
|
77
|
+
*/
|
|
78
|
+
export declare function runInInjectionContext<ReturnT>(injectorOrContext: Injector | InjectionContext, fn: () => ReturnT): ReturnT;
|
|
79
|
+
export declare function isInInjectionContext(): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Asserts that the current stack frame is within an injection context and has access to {@link inject}.
|
|
82
|
+
*
|
|
83
|
+
* @param debugFn a reference to the function making the assertion (used for the error message).
|
|
84
|
+
*/
|
|
85
|
+
export declare function assertInInjectionContext(debugFn: Function): void;
|