@webda/core 4.0.0-beta.2 → 4.0.0-beta.4
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/README.md +252 -0
- package/lib/application/application.d.ts +468 -0
- package/lib/application/application.d.ts.map +1 -0
- package/lib/application/application.js +845 -0
- package/lib/application/application.js.map +1 -0
- package/lib/application/deployment.d.ts +93 -0
- package/lib/application/deployment.d.ts.map +1 -0
- package/lib/application/deployment.js +99 -0
- package/lib/application/deployment.js.map +1 -0
- package/lib/application/hooks.d.ts +34 -0
- package/lib/application/hooks.d.ts.map +1 -0
- package/lib/application/hooks.js +57 -0
- package/lib/application/hooks.js.map +1 -0
- package/lib/application/iapplication.d.ts +43 -0
- package/lib/application/iapplication.d.ts.map +1 -0
- package/lib/application/iapplication.js +2 -0
- package/lib/application/iapplication.js.map +1 -0
- package/lib/application/iconfiguration.d.ts +176 -0
- package/lib/application/iconfiguration.d.ts.map +1 -0
- package/lib/application/iconfiguration.js +8 -0
- package/lib/application/iconfiguration.js.map +1 -0
- package/lib/application/runner.d.ts +8 -0
- package/lib/application/runner.d.ts.map +1 -0
- package/lib/application/runner.js +26 -0
- package/lib/application/runner.js.map +1 -0
- package/lib/{unpackedapplication.d.ts → application/unpackedapplication.d.ts} +43 -23
- package/lib/application/unpackedapplication.d.ts.map +1 -0
- package/lib/application/unpackedapplication.js +500 -0
- package/lib/application/unpackedapplication.js.map +1 -0
- package/lib/bin/cli-phase.d.ts +28 -0
- package/lib/bin/cli-phase.d.ts.map +1 -0
- package/lib/bin/cli-phase.js +44 -0
- package/lib/bin/cli-phase.js.map +1 -0
- package/lib/bin/cli.d.ts +196 -0
- package/lib/bin/cli.d.ts.map +1 -0
- package/lib/bin/cli.js +934 -0
- package/lib/bin/cli.js.map +1 -0
- package/lib/bin/launcher.d.ts +3 -0
- package/lib/bin/launcher.d.ts.map +1 -0
- package/lib/bin/launcher.js +50 -0
- package/lib/bin/launcher.js.map +1 -0
- package/lib/cache/cache.d.ts +33 -0
- package/lib/cache/cache.d.ts.map +1 -0
- package/lib/cache/cache.js +8 -0
- package/lib/cache/cache.js.map +1 -0
- package/lib/{services/configuration.d.ts → configurations/configuration.service.d.ts} +58 -58
- package/lib/configurations/configuration.service.d.ts.map +1 -0
- package/lib/configurations/configuration.service.js +248 -0
- package/lib/configurations/configuration.service.js.map +1 -0
- package/lib/configurations/fileconfiguration.service.d.ts +30 -0
- package/lib/configurations/fileconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/fileconfiguration.service.js +65 -0
- package/lib/configurations/fileconfiguration.service.js.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts +43 -0
- package/lib/configurations/kubernetesconfiguration.service.d.ts.map +1 -0
- package/lib/configurations/kubernetesconfiguration.service.js +83 -0
- package/lib/configurations/kubernetesconfiguration.service.js.map +1 -0
- package/lib/contexts/execution.d.ts +33 -0
- package/lib/contexts/execution.d.ts.map +1 -0
- package/lib/contexts/execution.js +73 -0
- package/lib/contexts/execution.js.map +1 -0
- package/lib/contexts/globalcontext.d.ts +29 -0
- package/lib/contexts/globalcontext.d.ts.map +1 -0
- package/lib/contexts/globalcontext.js +38 -0
- package/lib/contexts/globalcontext.js.map +1 -0
- package/lib/{utils → contexts}/httpcontext.d.ts +44 -19
- package/lib/contexts/httpcontext.d.ts.map +1 -0
- package/lib/{utils → contexts}/httpcontext.js +95 -27
- package/lib/contexts/httpcontext.js.map +1 -0
- package/lib/contexts/icontext.d.ts +236 -0
- package/lib/contexts/icontext.d.ts.map +1 -0
- package/lib/contexts/icontext.js +230 -0
- package/lib/contexts/icontext.js.map +1 -0
- package/lib/contexts/operationcontext.d.ts +182 -0
- package/lib/contexts/operationcontext.d.ts.map +1 -0
- package/lib/contexts/operationcontext.js +361 -0
- package/lib/contexts/operationcontext.js.map +1 -0
- package/lib/contexts/simplecontext.d.ts +31 -0
- package/lib/contexts/simplecontext.d.ts.map +1 -0
- package/lib/contexts/simplecontext.js +45 -0
- package/lib/contexts/simplecontext.js.map +1 -0
- package/lib/contexts/webcontext.d.ts +218 -0
- package/lib/contexts/webcontext.d.ts.map +1 -0
- package/lib/contexts/webcontext.js +389 -0
- package/lib/contexts/webcontext.js.map +1 -0
- package/lib/core/authorizer.d.ts +23 -0
- package/lib/core/authorizer.d.ts.map +1 -0
- package/lib/core/authorizer.js +17 -0
- package/lib/core/authorizer.js.map +1 -0
- package/lib/core/core.d.ts +225 -0
- package/lib/core/core.d.ts.map +1 -0
- package/lib/core/core.js +576 -0
- package/lib/core/core.js.map +1 -0
- package/lib/core/hooks.d.ts +94 -0
- package/lib/core/hooks.d.ts.map +1 -0
- package/lib/core/hooks.js +97 -0
- package/lib/core/hooks.js.map +1 -0
- package/lib/core/icore.d.ts +249 -0
- package/lib/core/icore.d.ts.map +1 -0
- package/lib/core/icore.js +15 -0
- package/lib/core/icore.js.map +1 -0
- package/lib/core/instancestorage.d.ts +61 -0
- package/lib/core/instancestorage.d.ts.map +1 -0
- package/lib/core/instancestorage.js +75 -0
- package/lib/core/instancestorage.js.map +1 -0
- package/lib/core/operations.d.ts +181 -0
- package/lib/core/operations.d.ts.map +1 -0
- package/lib/core/operations.js +559 -0
- package/lib/core/operations.js.map +1 -0
- package/lib/deployers/deployer.d.ts +157 -0
- package/lib/deployers/deployer.d.ts.map +1 -0
- package/lib/deployers/deployer.js +81 -0
- package/lib/deployers/deployer.js.map +1 -0
- package/lib/deployers/git.d.ts +27 -0
- package/lib/deployers/git.d.ts.map +1 -0
- package/lib/deployers/git.js +66 -0
- package/lib/deployers/git.js.map +1 -0
- package/lib/deployers/packager.d.ts +85 -0
- package/lib/deployers/packager.d.ts.map +1 -0
- package/lib/deployers/packager.js +259 -0
- package/lib/deployers/packager.js.map +1 -0
- package/lib/errors/errors.d.ts +126 -0
- package/lib/errors/errors.d.ts.map +1 -0
- package/lib/errors/errors.js +165 -0
- package/lib/errors/errors.js.map +1 -0
- package/lib/events/asynceventemitter.d.ts +159 -0
- package/lib/events/asynceventemitter.d.ts.map +1 -0
- package/lib/events/asynceventemitter.js +152 -0
- package/lib/events/asynceventemitter.js.map +1 -0
- package/lib/events/events.d.ts +112 -0
- package/lib/events/events.d.ts.map +1 -0
- package/lib/events/events.js +45 -0
- package/lib/events/events.js.map +1 -0
- package/lib/index.d.ts +88 -54
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +88 -64
- package/lib/index.js.map +1 -1
- package/lib/loggers/console.service.d.ts +24 -0
- package/lib/loggers/console.service.d.ts.map +1 -0
- package/lib/loggers/console.service.js +30 -0
- package/lib/loggers/console.service.js.map +1 -0
- package/lib/loggers/file.service.d.ts +25 -0
- package/lib/loggers/file.service.d.ts.map +1 -0
- package/lib/loggers/file.service.js +33 -0
- package/lib/loggers/file.service.js.map +1 -0
- package/lib/loggers/hooks.d.ts +20 -0
- package/lib/loggers/hooks.d.ts.map +1 -0
- package/lib/loggers/hooks.js +40 -0
- package/lib/loggers/hooks.js.map +1 -0
- package/lib/loggers/ilogger.d.ts +76 -0
- package/lib/loggers/ilogger.d.ts.map +1 -0
- package/lib/loggers/ilogger.js +108 -0
- package/lib/loggers/ilogger.js.map +1 -0
- package/lib/loggers/logger.d.ts +13 -0
- package/lib/loggers/logger.d.ts.map +1 -0
- package/lib/loggers/logger.js +18 -0
- package/lib/loggers/logger.js.map +1 -0
- package/lib/loggers/memory.service.d.ts +18 -0
- package/lib/loggers/memory.service.d.ts.map +1 -0
- package/lib/loggers/memory.service.js +21 -0
- package/lib/loggers/memory.service.js.map +1 -0
- package/lib/loggers/params.d.ts +47 -0
- package/lib/loggers/params.d.ts.map +1 -0
- package/lib/loggers/params.js +56 -0
- package/lib/loggers/params.js.map +1 -0
- package/lib/metrics/metrics.d.ts +25 -0
- package/lib/metrics/metrics.d.ts.map +1 -0
- package/lib/metrics/metrics.js +51 -0
- package/lib/metrics/metrics.js.map +1 -0
- package/lib/models/aclmodel.d.ts +20 -76
- package/lib/models/aclmodel.d.ts.map +1 -1
- package/lib/models/aclmodel.js +27 -203
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/coremodel.model.d.ts +5 -0
- package/lib/models/coremodel.model.d.ts.map +1 -0
- package/lib/models/coremodel.model.js +5 -0
- package/lib/models/coremodel.model.js.map +1 -0
- package/lib/models/decorator.d.ts +67 -0
- package/lib/models/decorator.d.ts.map +1 -0
- package/lib/models/decorator.js +67 -0
- package/lib/models/decorator.js.map +1 -0
- package/lib/models/deployment.d.ts +2 -21
- package/lib/models/deployment.d.ts.map +1 -1
- package/lib/models/encrypted.model.d.ts +46 -0
- package/lib/models/encrypted.model.d.ts.map +1 -0
- package/lib/models/encrypted.model.js +87 -0
- package/lib/models/encrypted.model.js.map +1 -0
- package/lib/models/ident.model.d.ts +128 -0
- package/lib/models/ident.model.d.ts.map +1 -0
- package/lib/models/ident.model.js +207 -0
- package/lib/models/ident.model.js.map +1 -0
- package/lib/models/ownermodel.model.d.ts +68 -0
- package/lib/models/ownermodel.model.d.ts.map +1 -0
- package/lib/models/ownermodel.model.js +113 -0
- package/lib/models/ownermodel.model.js.map +1 -0
- package/lib/models/password.model.d.ts +78 -0
- package/lib/models/password.model.d.ts.map +1 -0
- package/lib/models/password.model.js +171 -0
- package/lib/models/password.model.js.map +1 -0
- package/lib/models/refreshtoken.model.d.ts +30 -0
- package/lib/models/refreshtoken.model.d.ts.map +1 -0
- package/lib/models/refreshtoken.model.js +29 -0
- package/lib/models/refreshtoken.model.js.map +1 -0
- package/lib/models/registry.model.d.ts +76 -0
- package/lib/models/registry.model.d.ts.map +1 -0
- package/lib/models/registry.model.js +104 -0
- package/lib/models/registry.model.js.map +1 -0
- package/lib/models/rolemodel.model.d.ts +28 -0
- package/lib/models/rolemodel.model.d.ts.map +1 -0
- package/lib/models/{rolemodel.js → rolemodel.model.js} +23 -5
- package/lib/models/rolemodel.model.js.map +1 -0
- package/lib/models/simpleuser.model.d.ts +78 -0
- package/lib/models/simpleuser.model.d.ts.map +1 -0
- package/lib/models/simpleuser.model.js +124 -0
- package/lib/models/simpleuser.model.js.map +1 -0
- package/lib/models/types.d.ts +113 -0
- package/lib/models/types.d.ts.map +1 -0
- package/lib/models/types.js +2 -0
- package/lib/models/types.js.map +1 -0
- package/lib/models/user.model.d.ts +103 -0
- package/lib/models/user.model.d.ts.map +1 -0
- package/lib/models/user.model.js +164 -0
- package/lib/models/user.model.js.map +1 -0
- package/lib/queues/{memoryqueue.d.ts → memoryqueue.service.d.ts} +26 -13
- package/lib/queues/memoryqueue.service.d.ts.map +1 -0
- package/lib/queues/{memoryqueue.js → memoryqueue.service.js} +55 -31
- package/lib/queues/memoryqueue.service.js.map +1 -0
- package/lib/queues/pubsubservice.d.ts +8 -6
- package/lib/queues/pubsubservice.d.ts.map +1 -1
- package/lib/queues/pubsubservice.js +5 -4
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +9 -11
- package/lib/queues/queueservice.d.ts.map +1 -1
- package/lib/queues/queueservice.js +41 -13
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/rest/hooks.d.ts +8 -0
- package/lib/rest/hooks.d.ts.map +1 -0
- package/lib/rest/hooks.js +10 -0
- package/lib/rest/hooks.js.map +1 -0
- package/lib/rest/irest.d.ts +212 -0
- package/lib/rest/irest.d.ts.map +1 -0
- package/lib/rest/irest.js +39 -0
- package/lib/rest/irest.js.map +1 -0
- package/lib/rest/originfilter.d.ts +38 -0
- package/lib/rest/originfilter.d.ts.map +1 -0
- package/lib/rest/originfilter.js +61 -0
- package/lib/rest/originfilter.js.map +1 -0
- package/lib/rest/restoperationstransport.service.d.ts +193 -0
- package/lib/rest/restoperationstransport.service.d.ts.map +1 -0
- package/lib/rest/restoperationstransport.service.js +780 -0
- package/lib/rest/restoperationstransport.service.js.map +1 -0
- package/lib/rest/router.service.d.ts +244 -0
- package/lib/rest/router.service.d.ts.map +1 -0
- package/lib/rest/router.service.js +843 -0
- package/lib/rest/router.service.js.map +1 -0
- package/lib/schemas/hooks.d.ts +48 -0
- package/lib/schemas/hooks.d.ts.map +1 -0
- package/lib/schemas/hooks.js +152 -0
- package/lib/schemas/hooks.js.map +1 -0
- package/lib/services/audit.model.d.ts +208 -0
- package/lib/services/audit.model.d.ts.map +1 -0
- package/lib/services/audit.model.js +432 -0
- package/lib/services/audit.model.js.map +1 -0
- package/lib/services/binary.service.d.ts +808 -0
- package/lib/services/binary.service.d.ts.map +1 -0
- package/lib/services/binary.service.js +1365 -0
- package/lib/services/binary.service.js.map +1 -0
- package/lib/services/cloudbinary.d.ts +17 -12
- package/lib/services/cloudbinary.d.ts.map +1 -1
- package/lib/services/cloudbinary.js +23 -17
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/command.d.ts +118 -0
- package/lib/services/command.d.ts.map +1 -0
- package/lib/services/command.js +97 -0
- package/lib/services/command.js.map +1 -0
- package/lib/services/cron.service.d.ts +142 -0
- package/lib/services/cron.service.d.ts.map +1 -0
- package/lib/services/cron.service.js +291 -0
- package/lib/services/cron.service.js.map +1 -0
- package/lib/services/{cryptoservice.d.ts → cryptoservice.service.d.ts} +75 -141
- package/lib/services/cryptoservice.service.d.ts.map +1 -0
- package/lib/services/cryptoservice.service.js +527 -0
- package/lib/services/cryptoservice.service.js.map +1 -0
- package/lib/services/debugmailer.service.d.ts +49 -0
- package/lib/services/debugmailer.service.d.ts.map +1 -0
- package/lib/services/{debugmailer.js → debugmailer.service.js} +25 -10
- package/lib/services/debugmailer.service.js.map +1 -0
- package/lib/services/domainservice.service.d.ts +242 -0
- package/lib/services/domainservice.service.d.ts.map +1 -0
- package/lib/services/domainservice.service.js +676 -0
- package/lib/services/domainservice.service.js.map +1 -0
- package/lib/services/httpserver.service.d.ts +248 -0
- package/lib/services/httpserver.service.d.ts.map +1 -0
- package/lib/services/httpserver.service.js +673 -0
- package/lib/services/httpserver.service.js.map +1 -0
- package/lib/services/iauthentication.d.ts +202 -0
- package/lib/services/iauthentication.d.ts.map +1 -0
- package/lib/services/iauthentication.js +2 -0
- package/lib/services/iauthentication.js.map +1 -0
- package/lib/services/icryptoservice.d.ts +127 -0
- package/lib/services/icryptoservice.d.ts.map +1 -0
- package/lib/services/icryptoservice.js +68 -0
- package/lib/services/icryptoservice.js.map +1 -0
- package/lib/services/imailer.d.ts +17 -0
- package/lib/services/imailer.d.ts.map +1 -0
- package/lib/services/imailer.js +2 -0
- package/lib/services/imailer.js.map +1 -0
- package/lib/services/iservice.d.ts +104 -0
- package/lib/services/iservice.d.ts.map +1 -0
- package/lib/services/iservice.js +63 -0
- package/lib/services/iservice.js.map +1 -0
- package/lib/services/mailer.service.d.ts +220 -0
- package/lib/services/mailer.service.d.ts.map +1 -0
- package/lib/services/mailer.service.js +251 -0
- package/lib/services/mailer.service.js.map +1 -0
- package/lib/services/{notificationservice.d.ts → notificationservice.service.d.ts} +10 -11
- package/lib/services/notificationservice.service.d.ts.map +1 -0
- package/lib/services/{notificationservice.js → notificationservice.service.js} +24 -12
- package/lib/services/notificationservice.service.js.map +1 -0
- package/lib/services/operationstransport.d.ts +65 -0
- package/lib/services/operationstransport.d.ts.map +1 -0
- package/lib/services/operationstransport.js +103 -0
- package/lib/services/operationstransport.js.map +1 -0
- package/lib/services/{prometheus.d.ts → prometheus.service.d.ts} +13 -12
- package/lib/services/prometheus.service.d.ts.map +1 -0
- package/lib/services/prometheus.service.js +203 -0
- package/lib/services/prometheus.service.js.map +1 -0
- package/lib/services/{resource.d.ts → resource.service.d.ts} +34 -15
- package/lib/services/resource.service.d.ts.map +1 -0
- package/lib/services/resource.service.js +301 -0
- package/lib/services/resource.service.js.map +1 -0
- package/lib/services/service.d.ts +87 -188
- package/lib/services/service.d.ts.map +1 -1
- package/lib/services/service.js +407 -422
- package/lib/services/service.js.map +1 -1
- package/lib/services/servicecommands.d.ts +99 -0
- package/lib/services/servicecommands.d.ts.map +1 -0
- package/lib/services/servicecommands.js +171 -0
- package/lib/services/servicecommands.js.map +1 -0
- package/lib/services/serviceparameters.d.ts +33 -0
- package/lib/services/serviceparameters.d.ts.map +1 -0
- package/lib/services/serviceparameters.js +79 -0
- package/lib/services/serviceparameters.js.map +1 -0
- package/lib/services/token.service.d.ts +95 -0
- package/lib/services/token.service.d.ts.map +1 -0
- package/lib/services/token.service.js +182 -0
- package/lib/services/token.service.js.map +1 -0
- package/lib/{utils → session}/cookie.d.ts +32 -19
- package/lib/session/cookie.d.ts.map +1 -0
- package/lib/{utils → session}/cookie.js +76 -23
- package/lib/session/cookie.js.map +1 -0
- package/lib/session/manager.model.d.ts +87 -0
- package/lib/session/manager.model.d.ts.map +1 -0
- package/lib/session/manager.model.js +212 -0
- package/lib/session/manager.model.js.map +1 -0
- package/lib/session/session.d.ts +100 -0
- package/lib/session/session.d.ts.map +1 -0
- package/lib/session/session.js +175 -0
- package/lib/session/session.js.map +1 -0
- package/lib/stores/istore.d.ts +99 -0
- package/lib/stores/istore.d.ts.map +1 -0
- package/lib/stores/istore.js +26 -0
- package/lib/stores/istore.js.map +1 -0
- package/lib/stores/memory.service.d.ts +114 -0
- package/lib/stores/memory.service.d.ts.map +1 -0
- package/lib/stores/memory.service.js +344 -0
- package/lib/stores/memory.service.js.map +1 -0
- package/lib/stores/store.d.ts +126 -626
- package/lib/stores/store.d.ts.map +1 -1
- package/lib/stores/store.js +257 -1117
- package/lib/stores/store.js.map +1 -1
- package/lib/templates/templates.d.ts +47 -0
- package/lib/templates/templates.d.ts.map +1 -0
- package/lib/templates/templates.js +101 -0
- package/lib/templates/templates.js.map +1 -0
- package/lib/test/application.d.ts +174 -0
- package/lib/test/application.d.ts.map +1 -0
- package/lib/test/application.js +288 -0
- package/lib/test/application.js.map +1 -0
- package/lib/test/asyncstorage.d.ts +16 -0
- package/lib/test/asyncstorage.d.ts.map +1 -0
- package/lib/test/asyncstorage.js +32 -0
- package/lib/test/asyncstorage.js.map +1 -0
- package/lib/test/behavior-fixture.model.d.ts +30 -0
- package/lib/test/behavior-fixture.model.d.ts.map +1 -0
- package/lib/test/behavior-fixture.model.js +63 -0
- package/lib/test/behavior-fixture.model.js.map +1 -0
- package/lib/test/core.d.ts +63 -0
- package/lib/test/core.d.ts.map +1 -0
- package/lib/test/core.js +190 -0
- package/lib/test/core.js.map +1 -0
- package/lib/test/index.d.ts +7 -0
- package/lib/test/index.d.ts.map +1 -0
- package/lib/test/index.js +8 -0
- package/lib/test/index.js.map +1 -0
- package/lib/test/internal.d.ts +34 -0
- package/lib/test/internal.d.ts.map +1 -0
- package/lib/test/internal.js +156 -0
- package/lib/test/internal.js.map +1 -0
- package/lib/test/legacyident.fixture.model.d.ts +98 -0
- package/lib/test/legacyident.fixture.model.d.ts.map +1 -0
- package/lib/test/legacyident.fixture.model.js +125 -0
- package/lib/test/legacyident.fixture.model.js.map +1 -0
- package/lib/test/objects.d.ts +318 -0
- package/lib/test/objects.d.ts.map +1 -0
- package/lib/test/objects.js +443 -0
- package/lib/test/objects.js.map +1 -0
- package/lib/utils/abstractdeployer.d.ts +4 -2
- package/lib/utils/abstractdeployer.d.ts.map +1 -1
- package/lib/utils/abstractdeployer.js +3 -0
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/package.json +102 -60
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +3 -6
- package/test/config.json +3 -10
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3755 -2496
- package/lib/application.d.ts +0 -888
- package/lib/application.d.ts.map +0 -1
- package/lib/application.js +0 -768
- package/lib/application.js.map +0 -1
- package/lib/application.spec.d.ts +0 -2
- package/lib/application.spec.d.ts.map +0 -1
- package/lib/application.spec.js +0 -248
- package/lib/application.spec.js.map +0 -1
- package/lib/core.d.ts +0 -743
- package/lib/core.d.ts.map +0 -1
- package/lib/core.js +0 -1334
- package/lib/core.js.map +0 -1
- package/lib/core.spec.d.ts +0 -2
- package/lib/core.spec.d.ts.map +0 -1
- package/lib/core.spec.js +0 -790
- package/lib/core.spec.js.map +0 -1
- package/lib/errors.d.ts +0 -64
- package/lib/errors.d.ts.map +0 -1
- package/lib/errors.js +0 -97
- package/lib/errors.js.map +0 -1
- package/lib/errors.spec.d.ts +0 -2
- package/lib/errors.spec.d.ts.map +0 -1
- package/lib/errors.spec.js +0 -33
- package/lib/errors.spec.js.map +0 -1
- package/lib/models/aclmodel.spec.d.ts +0 -2
- package/lib/models/aclmodel.spec.d.ts.map +0 -1
- package/lib/models/aclmodel.spec.js +0 -187
- package/lib/models/aclmodel.spec.js.map +0 -1
- package/lib/models/coremodel.d.ts +0 -896
- package/lib/models/coremodel.d.ts.map +0 -1
- package/lib/models/coremodel.js +0 -1214
- package/lib/models/coremodel.js.map +0 -1
- package/lib/models/coremodel.spec.d.ts +0 -2
- package/lib/models/coremodel.spec.d.ts.map +0 -1
- package/lib/models/coremodel.spec.js +0 -464
- package/lib/models/coremodel.spec.js.map +0 -1
- package/lib/models/ident.d.ts +0 -68
- package/lib/models/ident.d.ts.map +0 -1
- package/lib/models/ident.js +0 -26
- package/lib/models/ident.js.map +0 -1
- package/lib/models/ident.spec.d.ts +0 -2
- package/lib/models/ident.spec.d.ts.map +0 -1
- package/lib/models/ident.spec.js +0 -24
- package/lib/models/ident.spec.js.map +0 -1
- package/lib/models/ownermodel.d.ts +0 -51
- package/lib/models/ownermodel.d.ts.map +0 -1
- package/lib/models/ownermodel.js +0 -65
- package/lib/models/ownermodel.js.map +0 -1
- package/lib/models/ownermodel.spec.d.ts +0 -2
- package/lib/models/ownermodel.spec.d.ts.map +0 -1
- package/lib/models/ownermodel.spec.js +0 -215
- package/lib/models/ownermodel.spec.js.map +0 -1
- package/lib/models/relations.d.ts +0 -182
- package/lib/models/relations.d.ts.map +0 -1
- package/lib/models/relations.js +0 -157
- package/lib/models/relations.js.map +0 -1
- package/lib/models/relations.spec.d.ts +0 -14
- package/lib/models/relations.spec.d.ts.map +0 -1
- package/lib/models/relations.spec.js +0 -217
- package/lib/models/relations.spec.js.map +0 -1
- package/lib/models/rolemodel.d.ts +0 -11
- package/lib/models/rolemodel.d.ts.map +0 -1
- package/lib/models/rolemodel.js.map +0 -1
- package/lib/models/rolemodel.spec.d.ts +0 -2
- package/lib/models/rolemodel.spec.d.ts.map +0 -1
- package/lib/models/rolemodel.spec.js +0 -90
- package/lib/models/rolemodel.spec.js.map +0 -1
- package/lib/models/simpleuser.d.ts +0 -47
- package/lib/models/simpleuser.d.ts.map +0 -1
- package/lib/models/simpleuser.js +0 -84
- package/lib/models/simpleuser.js.map +0 -1
- package/lib/models/test.d.ts +0 -11
- package/lib/models/test.d.ts.map +0 -1
- package/lib/models/test.js +0 -7
- package/lib/models/test.js.map +0 -1
- package/lib/models/user.d.ts +0 -67
- package/lib/models/user.d.ts.map +0 -1
- package/lib/models/user.js +0 -86
- package/lib/models/user.js.map +0 -1
- package/lib/models/user.spec.d.ts +0 -2
- package/lib/models/user.spec.d.ts.map +0 -1
- package/lib/models/user.spec.js +0 -89
- package/lib/models/user.spec.js.map +0 -1
- package/lib/queues/filequeue.d.ts +0 -59
- package/lib/queues/filequeue.d.ts.map +0 -1
- package/lib/queues/filequeue.js +0 -131
- package/lib/queues/filequeue.js.map +0 -1
- package/lib/queues/filequeue.spec.d.ts +0 -2
- package/lib/queues/filequeue.spec.d.ts.map +0 -1
- package/lib/queues/filequeue.spec.js +0 -84
- package/lib/queues/filequeue.spec.js.map +0 -1
- package/lib/queues/memoryqueue.d.ts.map +0 -1
- package/lib/queues/memoryqueue.js.map +0 -1
- package/lib/queues/memoryqueue.spec.d.ts +0 -2
- package/lib/queues/memoryqueue.spec.d.ts.map +0 -1
- package/lib/queues/memoryqueue.spec.js +0 -203
- package/lib/queues/memoryqueue.spec.js.map +0 -1
- package/lib/queues/queue.spec.d.ts +0 -6
- package/lib/queues/queue.spec.d.ts.map +0 -1
- package/lib/queues/queue.spec.js +0 -55
- package/lib/queues/queue.spec.js.map +0 -1
- package/lib/rest/restdomainservice.d.ts +0 -63
- package/lib/rest/restdomainservice.d.ts.map +0 -1
- package/lib/rest/restdomainservice.js +0 -687
- package/lib/rest/restdomainservice.js.map +0 -1
- package/lib/rest/restdomainservice.spec.d.ts +0 -2
- package/lib/rest/restdomainservice.spec.d.ts.map +0 -1
- package/lib/rest/restdomainservice.spec.js +0 -124
- package/lib/rest/restdomainservice.spec.js.map +0 -1
- package/lib/rest/router.d.ts +0 -174
- package/lib/rest/router.d.ts.map +0 -1
- package/lib/rest/router.js +0 -429
- package/lib/rest/router.js.map +0 -1
- package/lib/rest/router.spec.d.ts +0 -2
- package/lib/rest/router.spec.d.ts.map +0 -1
- package/lib/rest/router.spec.js +0 -255
- package/lib/rest/router.spec.js.map +0 -1
- package/lib/services/asyncevents.d.ts +0 -152
- package/lib/services/asyncevents.d.ts.map +0 -1
- package/lib/services/asyncevents.js +0 -217
- package/lib/services/asyncevents.js.map +0 -1
- package/lib/services/asyncevents.spec.d.ts +0 -2
- package/lib/services/asyncevents.spec.d.ts.map +0 -1
- package/lib/services/asyncevents.spec.js +0 -118
- package/lib/services/asyncevents.spec.js.map +0 -1
- package/lib/services/authentication.d.ts +0 -361
- package/lib/services/authentication.d.ts.map +0 -1
- package/lib/services/authentication.js +0 -773
- package/lib/services/authentication.js.map +0 -1
- package/lib/services/authentication.spec.d.ts +0 -2
- package/lib/services/authentication.spec.d.ts.map +0 -1
- package/lib/services/authentication.spec.js +0 -458
- package/lib/services/authentication.spec.js.map +0 -1
- package/lib/services/binary.d.ts +0 -477
- package/lib/services/binary.d.ts.map +0 -1
- package/lib/services/binary.js +0 -617
- package/lib/services/binary.js.map +0 -1
- package/lib/services/binary.spec.d.ts +0 -41
- package/lib/services/binary.spec.d.ts.map +0 -1
- package/lib/services/binary.spec.js +0 -151
- package/lib/services/binary.spec.js.map +0 -1
- package/lib/services/cloudbinary.spec.d.ts +0 -6
- package/lib/services/cloudbinary.spec.d.ts.map +0 -1
- package/lib/services/cloudbinary.spec.js +0 -66
- package/lib/services/cloudbinary.spec.js.map +0 -1
- package/lib/services/configuration.d.ts.map +0 -1
- package/lib/services/configuration.js +0 -193
- package/lib/services/configuration.js.map +0 -1
- package/lib/services/configuration.spec.d.ts +0 -2
- package/lib/services/configuration.spec.d.ts.map +0 -1
- package/lib/services/configuration.spec.js +0 -130
- package/lib/services/configuration.spec.js.map +0 -1
- package/lib/services/cron.d.ts +0 -74
- package/lib/services/cron.d.ts.map +0 -1
- package/lib/services/cron.js +0 -141
- package/lib/services/cron.js.map +0 -1
- package/lib/services/cron.spec.d.ts +0 -2
- package/lib/services/cron.spec.d.ts.map +0 -1
- package/lib/services/cron.spec.js +0 -76
- package/lib/services/cron.spec.js.map +0 -1
- package/lib/services/cryptoservice.d.ts.map +0 -1
- package/lib/services/cryptoservice.js +0 -433
- package/lib/services/cryptoservice.js.map +0 -1
- package/lib/services/cryptoservice.spec.d.ts +0 -2
- package/lib/services/cryptoservice.spec.d.ts.map +0 -1
- package/lib/services/cryptoservice.spec.js +0 -177
- package/lib/services/cryptoservice.spec.js.map +0 -1
- package/lib/services/debugmailer.d.ts +0 -36
- package/lib/services/debugmailer.d.ts.map +0 -1
- package/lib/services/debugmailer.js.map +0 -1
- package/lib/services/debugmailer.spec.d.ts +0 -2
- package/lib/services/debugmailer.spec.d.ts.map +0 -1
- package/lib/services/debugmailer.spec.js +0 -32
- package/lib/services/debugmailer.spec.js.map +0 -1
- package/lib/services/domainservice.d.ts +0 -272
- package/lib/services/domainservice.d.ts.map +0 -1
- package/lib/services/domainservice.js +0 -651
- package/lib/services/domainservice.js.map +0 -1
- package/lib/services/domainservice.spec.d.ts +0 -2
- package/lib/services/domainservice.spec.d.ts.map +0 -1
- package/lib/services/domainservice.spec.js +0 -592
- package/lib/services/domainservice.spec.js.map +0 -1
- package/lib/services/filebinary.d.ts +0 -136
- package/lib/services/filebinary.d.ts.map +0 -1
- package/lib/services/filebinary.js +0 -373
- package/lib/services/filebinary.js.map +0 -1
- package/lib/services/filebinary.spec.d.ts +0 -25
- package/lib/services/filebinary.spec.d.ts.map +0 -1
- package/lib/services/filebinary.spec.js +0 -428
- package/lib/services/filebinary.spec.js.map +0 -1
- package/lib/services/fileconfiguration.d.ts +0 -23
- package/lib/services/fileconfiguration.d.ts.map +0 -1
- package/lib/services/fileconfiguration.js +0 -48
- package/lib/services/fileconfiguration.js.map +0 -1
- package/lib/services/fileconfiguration.spec.d.ts +0 -2
- package/lib/services/fileconfiguration.spec.d.ts.map +0 -1
- package/lib/services/fileconfiguration.spec.js +0 -215
- package/lib/services/fileconfiguration.spec.js.map +0 -1
- package/lib/services/invitationservice.d.ts +0 -223
- package/lib/services/invitationservice.d.ts.map +0 -1
- package/lib/services/invitationservice.js +0 -529
- package/lib/services/invitationservice.js.map +0 -1
- package/lib/services/invitationservice.spec.d.ts +0 -2
- package/lib/services/invitationservice.spec.d.ts.map +0 -1
- package/lib/services/invitationservice.spec.js +0 -567
- package/lib/services/invitationservice.spec.js.map +0 -1
- package/lib/services/kubernetesconfiguration.d.ts +0 -27
- package/lib/services/kubernetesconfiguration.d.ts.map +0 -1
- package/lib/services/kubernetesconfiguration.js +0 -52
- package/lib/services/kubernetesconfiguration.js.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +0 -2
- package/lib/services/kubernetesconfiguration.spec.d.ts.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.js +0 -206
- package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
- package/lib/services/mailer.d.ts +0 -166
- package/lib/services/mailer.d.ts.map +0 -1
- package/lib/services/mailer.js +0 -176
- package/lib/services/mailer.js.map +0 -1
- package/lib/services/mailer.spec.d.ts +0 -2
- package/lib/services/mailer.spec.d.ts.map +0 -1
- package/lib/services/mailer.spec.js +0 -158
- package/lib/services/mailer.spec.js.map +0 -1
- package/lib/services/notificationservice.d.ts.map +0 -1
- package/lib/services/notificationservice.js.map +0 -1
- package/lib/services/notificationservice.spec.d.ts +0 -2
- package/lib/services/notificationservice.spec.d.ts.map +0 -1
- package/lib/services/notificationservice.spec.js +0 -83
- package/lib/services/notificationservice.spec.js.map +0 -1
- package/lib/services/oauth.d.ts +0 -226
- package/lib/services/oauth.d.ts.map +0 -1
- package/lib/services/oauth.js +0 -294
- package/lib/services/oauth.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -2
- package/lib/services/oauth.spec.d.ts.map +0 -1
- package/lib/services/oauth.spec.js +0 -208
- package/lib/services/oauth.spec.js.map +0 -1
- package/lib/services/prometheus.d.ts.map +0 -1
- package/lib/services/prometheus.js +0 -160
- package/lib/services/prometheus.js.map +0 -1
- package/lib/services/prometheus.spec.d.ts +0 -2
- package/lib/services/prometheus.spec.d.ts.map +0 -1
- package/lib/services/prometheus.spec.js +0 -76
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts.map +0 -1
- package/lib/services/resource.js +0 -170
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -2
- package/lib/services/resource.spec.d.ts.map +0 -1
- package/lib/services/resource.spec.js +0 -140
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -2
- package/lib/services/service.spec.d.ts.map +0 -1
- package/lib/services/service.spec.js +0 -286
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -48
- package/lib/stores/aggregator.d.ts.map +0 -1
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/file.d.ts +0 -108
- package/lib/stores/file.d.ts.map +0 -1
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -13
- package/lib/stores/file.spec.d.ts.map +0 -1
- package/lib/stores/file.spec.js +0 -138
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -150
- package/lib/stores/mapper.d.ts.map +0 -1
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -2
- package/lib/stores/mapper.spec.d.ts.map +0 -1
- package/lib/stores/mapper.spec.js +0 -167
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -152
- package/lib/stores/memory.d.ts.map +0 -1
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -14
- package/lib/stores/memory.spec.d.ts.map +0 -1
- package/lib/stores/memory.spec.js +0 -263
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -62
- package/lib/stores/modelmapper.d.ts.map +0 -1
- package/lib/stores/modelmapper.js +0 -197
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -57
- package/lib/stores/store.spec.d.ts.map +0 -1
- package/lib/stores/store.spec.js +0 -737
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -265
- package/lib/test.d.ts.map +0 -1
- package/lib/test.js +0 -622
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts.map +0 -1
- package/lib/unpackedapplication.js +0 -350
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +0 -2
- package/lib/utils/abstractdeployer.spec.d.ts.map +0 -1
- package/lib/utils/abstractdeployer.spec.js +0 -21
- package/lib/utils/abstractdeployer.spec.js.map +0 -1
- package/lib/utils/case.d.ts +0 -8
- package/lib/utils/case.d.ts.map +0 -1
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +0 -2
- package/lib/utils/case.spec.d.ts.map +0 -1
- package/lib/utils/case.spec.js +0 -50
- package/lib/utils/case.spec.js.map +0 -1
- package/lib/utils/context.d.ts +0 -482
- package/lib/utils/context.d.ts.map +0 -1
- package/lib/utils/context.js +0 -739
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -10
- package/lib/utils/context.spec.d.ts.map +0 -1
- package/lib/utils/context.spec.js +0 -383
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.d.ts.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -2
- package/lib/utils/cookie.spec.d.ts.map +0 -1
- package/lib/utils/cookie.spec.js +0 -88
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -14
- package/lib/utils/esm.d.ts.map +0 -1
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.d.ts.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -5
- package/lib/utils/httpcontext.spec.d.ts.map +0 -1
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -92
- package/lib/utils/logger.d.ts.map +0 -1
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +0 -2
- package/lib/utils/logger.spec.d.ts.map +0 -1
- package/lib/utils/logger.spec.js +0 -48
- package/lib/utils/logger.spec.js.map +0 -1
- package/lib/utils/serializers.d.ts +0 -162
- package/lib/utils/serializers.d.ts.map +0 -1
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -2
- package/lib/utils/serializers.spec.d.ts.map +0 -1
- package/lib/utils/serializers.spec.js +0 -311
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -123
- package/lib/utils/session.d.ts.map +0 -1
- package/lib/utils/session.js +0 -156
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -2
- package/lib/utils/session.spec.d.ts.map +0 -1
- package/lib/utils/session.spec.js +0 -81
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -99
- package/lib/utils/throttler.d.ts.map +0 -1
- package/lib/utils/throttler.js +0 -160
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -2
- package/lib/utils/throttler.spec.d.ts.map +0 -1
- package/lib/utils/throttler.spec.js +0 -53
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -94
- package/lib/utils/waiter.d.ts.map +0 -1
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -2
- package/lib/utils/waiter.spec.d.ts.map +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { suite, test } from "@testdeck/mocha";
|
|
8
|
-
import * as assert from "assert";
|
|
9
|
-
import { MemoryStore } from "../stores/memory.js";
|
|
10
|
-
import { WebdaSimpleTest } from "../test.js";
|
|
11
|
-
import { OperationContext } from "./context.js";
|
|
12
|
-
import { UnknownSession } from "./session.js";
|
|
13
|
-
let SessionTest = class SessionTest {
|
|
14
|
-
basic() {
|
|
15
|
-
const session = new UnknownSession().getProxy();
|
|
16
|
-
session.plop = "test";
|
|
17
|
-
assert.ok(session.isDirty());
|
|
18
|
-
assert.ok(!session.isLogged());
|
|
19
|
-
session.login("user1", "ident1");
|
|
20
|
-
assert.ok(session.isLogged());
|
|
21
|
-
session.logout();
|
|
22
|
-
assert.ok(!session.isLogged());
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
__decorate([
|
|
26
|
-
test
|
|
27
|
-
], SessionTest.prototype, "basic", null);
|
|
28
|
-
SessionTest = __decorate([
|
|
29
|
-
suite
|
|
30
|
-
], SessionTest);
|
|
31
|
-
let SessionStoreTest = class SessionStoreTest extends WebdaSimpleTest {
|
|
32
|
-
/**
|
|
33
|
-
* @override
|
|
34
|
-
*/
|
|
35
|
-
getTestConfiguration() {
|
|
36
|
-
return {
|
|
37
|
-
parameters: {
|
|
38
|
-
ignoreBeans: true,
|
|
39
|
-
cookie: {
|
|
40
|
-
name: "test"
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
async sessionStore() {
|
|
46
|
-
// Test MemoryStore
|
|
47
|
-
const store = (this.webda.getServices()["SessionStore"] = await new MemoryStore(this.webda, "SessionStore", {})
|
|
48
|
-
.resolve()
|
|
49
|
-
.init());
|
|
50
|
-
this.getService("SessionManager").resolve();
|
|
51
|
-
const ctx = await this.newContext();
|
|
52
|
-
ctx.getSession().identUsed = "bouzouf";
|
|
53
|
-
await ctx.end();
|
|
54
|
-
const sessions = await store.getAll();
|
|
55
|
-
assert.strictEqual(sessions.length, 1);
|
|
56
|
-
const cookie = await this.webda.getCrypto().jwtVerify(ctx.getResponseCookies()["test"].value);
|
|
57
|
-
assert.strictEqual(cookie.uuid, undefined);
|
|
58
|
-
assert.strictEqual(cookie.identUsed, undefined);
|
|
59
|
-
assert.strictEqual(cookie.sub, sessions[0].getUuid());
|
|
60
|
-
const ctx2 = await this.newContext();
|
|
61
|
-
ctx2.getHttpContext().cookies = {
|
|
62
|
-
test: ctx.getResponseCookies()["test"].value
|
|
63
|
-
};
|
|
64
|
-
await ctx2.init(true);
|
|
65
|
-
const session = ctx2.getSession();
|
|
66
|
-
assert.strictEqual(session.uuid, sessions[0].getUuid());
|
|
67
|
-
assert.strictEqual(session.identUsed, "bouzouf");
|
|
68
|
-
assert.strictEqual(session.sub, undefined);
|
|
69
|
-
const opCtx = new OperationContext(this.webda);
|
|
70
|
-
// cov
|
|
71
|
-
await this.getService("SessionManager").load(opCtx);
|
|
72
|
-
await this.getService("SessionManager").save(opCtx, undefined);
|
|
73
|
-
}
|
|
74
|
-
};
|
|
75
|
-
__decorate([
|
|
76
|
-
test
|
|
77
|
-
], SessionStoreTest.prototype, "sessionStore", null);
|
|
78
|
-
SessionStoreTest = __decorate([
|
|
79
|
-
suite
|
|
80
|
-
], SessionStoreTest);
|
|
81
|
-
//# sourceMappingURL=session.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.spec.js","sourceRoot":"","sources":["../../src/utils/session.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/throttler.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represent an item within the Throttler
|
|
3
|
-
*/
|
|
4
|
-
declare class ThrottlerItem {
|
|
5
|
-
method: () => Promise<any>;
|
|
6
|
-
callbacks: ((res?: any) => void)[];
|
|
7
|
-
name: string;
|
|
8
|
-
/**
|
|
9
|
-
* Once the promise is in progress
|
|
10
|
-
*/
|
|
11
|
-
promise?: Promise<any>;
|
|
12
|
-
constructor(method: () => Promise<any>, callbacks: ((res?: any) => void)[], name: string);
|
|
13
|
-
toString(): string;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Promise Throttler
|
|
17
|
-
*
|
|
18
|
-
* Allow you to queue promise and execute them concurrently
|
|
19
|
-
*
|
|
20
|
-
* Several libraries does that
|
|
21
|
-
*
|
|
22
|
-
* The queue method still gives you a simple Promise linked to the resolution
|
|
23
|
-
* of your queued item, so you can still wait for the execution of the specific
|
|
24
|
-
* item
|
|
25
|
-
*/
|
|
26
|
-
export declare class Throttler {
|
|
27
|
-
protected concurrency: number;
|
|
28
|
-
/**
|
|
29
|
-
* Current queue
|
|
30
|
-
*/
|
|
31
|
-
protected _queue: ThrottlerItem[];
|
|
32
|
-
/**
|
|
33
|
-
* Number of promises in-progress
|
|
34
|
-
*/
|
|
35
|
-
current: number;
|
|
36
|
-
/**
|
|
37
|
-
* Resolver for each call to waitForCompletion
|
|
38
|
-
*/
|
|
39
|
-
protected _waiters: (() => void)[];
|
|
40
|
-
/**
|
|
41
|
-
*
|
|
42
|
-
* @param concurrency max concurrent promise to execute
|
|
43
|
-
*/
|
|
44
|
-
constructor(concurrency?: number);
|
|
45
|
-
/**
|
|
46
|
-
* Run a Throttler without having to instanciate it
|
|
47
|
-
* @param method
|
|
48
|
-
* @param concurrency
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
static run(method: () => Promise<any> | (() => Promise<any>)[], concurrency?: number): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* Execute a new promise
|
|
54
|
-
*
|
|
55
|
-
* Alias for queue
|
|
56
|
-
* @param method
|
|
57
|
-
* @param name
|
|
58
|
-
* @returns
|
|
59
|
-
*/
|
|
60
|
-
execute(method: () => Promise<any> | (() => Promise<any>)[], name?: string): Promise<any>;
|
|
61
|
-
/**
|
|
62
|
-
* Queue a new promise
|
|
63
|
-
*
|
|
64
|
-
* @param method executor that return the promise to queue
|
|
65
|
-
* @param name of the task, usefull when calling getInProgress
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
queue(method: () => Promise<any> | (() => Promise<any>)[], name?: string): Promise<any>;
|
|
69
|
-
/**
|
|
70
|
-
* Set the concurrency
|
|
71
|
-
* @param concurrency newValue
|
|
72
|
-
*
|
|
73
|
-
* If decreased, it will be in effect only when current promises resolve
|
|
74
|
-
* If increased, it will have immediate effect
|
|
75
|
-
*/
|
|
76
|
-
setConcurrency(concurrency: number): void;
|
|
77
|
-
/**
|
|
78
|
-
* Get inprogress items
|
|
79
|
-
* @returns
|
|
80
|
-
*/
|
|
81
|
-
getInProgress(): ThrottlerItem[];
|
|
82
|
-
/**
|
|
83
|
-
* Get global queue size
|
|
84
|
-
* @returns
|
|
85
|
-
*/
|
|
86
|
-
getSize(): number;
|
|
87
|
-
/**
|
|
88
|
-
* Wait until every promise resolve
|
|
89
|
-
* @returns
|
|
90
|
-
*/
|
|
91
|
-
wait(): Promise<void>;
|
|
92
|
-
/**
|
|
93
|
-
* Internal manage the promise concurrency
|
|
94
|
-
* @returns
|
|
95
|
-
*/
|
|
96
|
-
protected add(): void;
|
|
97
|
-
}
|
|
98
|
-
export {};
|
|
99
|
-
//# sourceMappingURL=throttler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.d.ts","sourceRoot":"","sources":["../../src/utils/throttler.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAM,aAAa;IAMR,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE;IAClC,IAAI,EAAE,MAAM;IAPrB;;OAEG;IACI,OAAO,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAErB,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EAC1B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,EAClC,IAAI,EAAE,MAAM;IAErB,QAAQ;CAGT;AAED;;;;;;;;;;GAUG;AACH,qBAAa,SAAS;IAkBR,SAAS,CAAC,WAAW,EAAE,MAAM;IAjBzC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,CAAM;IACvC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAK;IACpB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAM;IAExC;;;OAGG;gBACmB,WAAW,GAAE,MAAW;IAE9C;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMxG;;;;;;;OAOG;IACH,OAAO,CACL,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EACnD,IAAI,GAAE,MAAoC,GACzC,OAAO,CAAC,GAAG,CAAC;IAIf;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,GAAE,MAAoC,GAAG,OAAO,CAAC,GAAG,CAAC;IASpH;;;;;;OAMG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM;IAUlC;;;OAGG;IACH,aAAa,IAAI,aAAa,EAAE;IAIhC;;;OAGG;IACH,OAAO,IAAI,MAAM;IAIjB;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAS3B;;;OAGG;IACH,SAAS,CAAC,GAAG;CA+Bd"}
|
package/lib/utils/throttler.js
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Represent an item within the Throttler
|
|
3
|
-
*/
|
|
4
|
-
class ThrottlerItem {
|
|
5
|
-
constructor(method, callbacks, name) {
|
|
6
|
-
this.method = method;
|
|
7
|
-
this.callbacks = callbacks;
|
|
8
|
-
this.name = name;
|
|
9
|
-
}
|
|
10
|
-
toString() {
|
|
11
|
-
return `${this.name}: ${this.promise ? "IN-PROGRESS" : "QUEUED"}`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Promise Throttler
|
|
16
|
-
*
|
|
17
|
-
* Allow you to queue promise and execute them concurrently
|
|
18
|
-
*
|
|
19
|
-
* Several libraries does that
|
|
20
|
-
*
|
|
21
|
-
* The queue method still gives you a simple Promise linked to the resolution
|
|
22
|
-
* of your queued item, so you can still wait for the execution of the specific
|
|
23
|
-
* item
|
|
24
|
-
*/
|
|
25
|
-
export class Throttler {
|
|
26
|
-
/**
|
|
27
|
-
*
|
|
28
|
-
* @param concurrency max concurrent promise to execute
|
|
29
|
-
*/
|
|
30
|
-
constructor(concurrency = 10) {
|
|
31
|
-
this.concurrency = concurrency;
|
|
32
|
-
/**
|
|
33
|
-
* Current queue
|
|
34
|
-
*/
|
|
35
|
-
this._queue = [];
|
|
36
|
-
/**
|
|
37
|
-
* Number of promises in-progress
|
|
38
|
-
*/
|
|
39
|
-
this.current = 0;
|
|
40
|
-
/**
|
|
41
|
-
* Resolver for each call to waitForCompletion
|
|
42
|
-
*/
|
|
43
|
-
this._waiters = [];
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Run a Throttler without having to instanciate it
|
|
47
|
-
* @param method
|
|
48
|
-
* @param concurrency
|
|
49
|
-
* @returns
|
|
50
|
-
*/
|
|
51
|
-
static run(method, concurrency = 10) {
|
|
52
|
-
const t = new Throttler(concurrency);
|
|
53
|
-
t.queue(method);
|
|
54
|
-
return t.wait();
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Execute a new promise
|
|
58
|
-
*
|
|
59
|
-
* Alias for queue
|
|
60
|
-
* @param method
|
|
61
|
-
* @param name
|
|
62
|
-
* @returns
|
|
63
|
-
*/
|
|
64
|
-
execute(method, name = `Promise_${this.getSize()}`) {
|
|
65
|
-
return this.queue(method, name);
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Queue a new promise
|
|
69
|
-
*
|
|
70
|
-
* @param method executor that return the promise to queue
|
|
71
|
-
* @param name of the task, usefull when calling getInProgress
|
|
72
|
-
* @returns
|
|
73
|
-
*/
|
|
74
|
-
queue(method, name = `Promise_${this.getSize()}`) {
|
|
75
|
-
return new Promise((...callbacks) => {
|
|
76
|
-
(Array.isArray(method) ? method : [method]).forEach(m => {
|
|
77
|
-
this._queue.push(new ThrottlerItem(m, callbacks, name));
|
|
78
|
-
this.add();
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Set the concurrency
|
|
84
|
-
* @param concurrency newValue
|
|
85
|
-
*
|
|
86
|
-
* If decreased, it will be in effect only when current promises resolve
|
|
87
|
-
* If increased, it will have immediate effect
|
|
88
|
-
*/
|
|
89
|
-
setConcurrency(concurrency) {
|
|
90
|
-
let oldValue = this.concurrency;
|
|
91
|
-
this.concurrency = concurrency;
|
|
92
|
-
// Ensure we launch new promise if concurrency has increased
|
|
93
|
-
while (oldValue < this.concurrency) {
|
|
94
|
-
this.add();
|
|
95
|
-
oldValue++;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Get inprogress items
|
|
100
|
-
* @returns
|
|
101
|
-
*/
|
|
102
|
-
getInProgress() {
|
|
103
|
-
return this._queue.filter(p => p.promise);
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Get global queue size
|
|
107
|
-
* @returns
|
|
108
|
-
*/
|
|
109
|
-
getSize() {
|
|
110
|
-
return this._queue.length;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* Wait until every promise resolve
|
|
114
|
-
* @returns
|
|
115
|
-
*/
|
|
116
|
-
async wait() {
|
|
117
|
-
if (this.current === 0) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
return new Promise(resolve => {
|
|
121
|
-
this._waiters.push(resolve);
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Internal manage the promise concurrency
|
|
126
|
-
* @returns
|
|
127
|
-
*/
|
|
128
|
-
add() {
|
|
129
|
-
if (this.current >= this.concurrency) {
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
const next = this._queue.find(p => !p.promise);
|
|
133
|
-
if (!next) {
|
|
134
|
-
if (this.current === 0) {
|
|
135
|
-
// Call all waiters
|
|
136
|
-
this._waiters.forEach(p => p());
|
|
137
|
-
this._waiters = [];
|
|
138
|
-
}
|
|
139
|
-
return;
|
|
140
|
-
}
|
|
141
|
-
this.current++;
|
|
142
|
-
next.promise = next
|
|
143
|
-
.method()
|
|
144
|
-
.then(res => {
|
|
145
|
-
// Call the resolve
|
|
146
|
-
next.callbacks[0](res);
|
|
147
|
-
})
|
|
148
|
-
.catch(err => {
|
|
149
|
-
// Call the reject
|
|
150
|
-
next.callbacks[1](err);
|
|
151
|
-
})
|
|
152
|
-
.finally(() => {
|
|
153
|
-
this.current--;
|
|
154
|
-
// Remove from queue
|
|
155
|
-
this._queue.splice(this._queue.indexOf(next), 1);
|
|
156
|
-
this.add();
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
//# sourceMappingURL=throttler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.js","sourceRoot":"","sources":["../../src/utils/throttler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.spec.d.ts","sourceRoot":"","sources":["../../src/utils/throttler.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
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;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { suite, test } from "@testdeck/mocha";
|
|
8
|
-
import * as assert from "assert";
|
|
9
|
-
import { Throttler } from "./throttler.js";
|
|
10
|
-
let ThrottlerTest = class ThrottlerTest {
|
|
11
|
-
async test() {
|
|
12
|
-
const resolvers = [];
|
|
13
|
-
const t = new Throttler(2);
|
|
14
|
-
t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P1");
|
|
15
|
-
t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P2");
|
|
16
|
-
t.execute(() => new Promise(resolve => resolvers.push(resolve)), "P3");
|
|
17
|
-
t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P4");
|
|
18
|
-
t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P5");
|
|
19
|
-
t.queue(() => new Promise((_, reject) => resolvers.push(reject)), "P6");
|
|
20
|
-
t.queue(() => new Promise(resolve => resolvers.push(resolve)), "P7");
|
|
21
|
-
assert.strictEqual(t.getSize(), 7);
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
resolvers.shift()();
|
|
24
|
-
assert.strictEqual(t.getInProgress().length, 2);
|
|
25
|
-
t.setConcurrency(1);
|
|
26
|
-
// @ts-ignore
|
|
27
|
-
resolvers.shift()();
|
|
28
|
-
await new Promise(resolve => setImmediate(resolve));
|
|
29
|
-
const curs = t.getInProgress();
|
|
30
|
-
assert.strictEqual(curs.length, 1, `Currents ${curs}`);
|
|
31
|
-
t.setConcurrency(3);
|
|
32
|
-
assert.strictEqual(t.getInProgress().length, 3);
|
|
33
|
-
const p = t.wait();
|
|
34
|
-
resolvers.forEach(r => r());
|
|
35
|
-
await new Promise(resolve => setImmediate(resolve));
|
|
36
|
-
resolvers.forEach(r => r());
|
|
37
|
-
await p;
|
|
38
|
-
await t.wait();
|
|
39
|
-
}
|
|
40
|
-
async staticMethod() {
|
|
41
|
-
await Throttler.run([async () => { }], 2);
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
__decorate([
|
|
45
|
-
test
|
|
46
|
-
], ThrottlerTest.prototype, "test", null);
|
|
47
|
-
__decorate([
|
|
48
|
-
test
|
|
49
|
-
], ThrottlerTest.prototype, "staticMethod", null);
|
|
50
|
-
ThrottlerTest = __decorate([
|
|
51
|
-
suite
|
|
52
|
-
], ThrottlerTest);
|
|
53
|
-
//# sourceMappingURL=throttler.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"throttler.spec.js","sourceRoot":"","sources":["../../src/utils/throttler.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/utils/waiter.d.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Logger } from "../index.js";
|
|
2
|
-
/**
|
|
3
|
-
* Function that define the amount of time between calls
|
|
4
|
-
*/
|
|
5
|
-
export type WaitDelayer = (retries: number) => number;
|
|
6
|
-
/**
|
|
7
|
-
* Return a delayer that always wait for the same amount of time
|
|
8
|
-
* @param pause amount of time to wait
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export declare function WaitLinearDelay(pause: number): WaitDelayer;
|
|
12
|
-
/**
|
|
13
|
-
* Return a delayer that always wait for the same amount of time
|
|
14
|
-
* @param pause amount of time to wait
|
|
15
|
-
* @returns
|
|
16
|
-
*/
|
|
17
|
-
export declare function WaitExponentialDelay(pause: number): WaitDelayer;
|
|
18
|
-
/**
|
|
19
|
-
* Delayer factory definition
|
|
20
|
-
*/
|
|
21
|
-
export type WaitDelayerFactory = (interval: number) => WaitDelayer;
|
|
22
|
-
/**
|
|
23
|
-
* WaitDelayer definition
|
|
24
|
-
*/
|
|
25
|
-
export interface WaitDelayerDefinition {
|
|
26
|
-
/**
|
|
27
|
-
* Interval
|
|
28
|
-
*/
|
|
29
|
-
interval: number;
|
|
30
|
-
/**
|
|
31
|
-
* Type of delayer registered in WaitDelayerFactoryRegistry
|
|
32
|
-
*/
|
|
33
|
-
type: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Registry for DelayerFactory
|
|
37
|
-
*/
|
|
38
|
-
export declare class WaitDelayerFactories {
|
|
39
|
-
static registry: {
|
|
40
|
-
[key: string]: WaitDelayerFactory;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Add a delayer
|
|
44
|
-
* @param type
|
|
45
|
-
* @param delayer
|
|
46
|
-
*/
|
|
47
|
-
static registerFactory(type: string, delayer: WaitDelayerFactory): void;
|
|
48
|
-
/**
|
|
49
|
-
* Return a registered delayer
|
|
50
|
-
* @param type
|
|
51
|
-
* @returns
|
|
52
|
-
*/
|
|
53
|
-
static getFactory(type: string): WaitDelayerFactory;
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
* @param definition to get delayer from
|
|
57
|
-
* @returns
|
|
58
|
-
*/
|
|
59
|
-
static get(definition?: WaitDelayerDefinition): WaitDelayer;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Wait for an operation to end
|
|
63
|
-
*
|
|
64
|
-
* Some AWS Api require minutes and polling
|
|
65
|
-
* This method will call the callback function until it returns
|
|
66
|
-
* `true`, or the max `retries` has been reached.
|
|
67
|
-
* Between each call, it will wait the `delay`
|
|
68
|
-
*
|
|
69
|
-
* If it reaches the max retries without a good answer from
|
|
70
|
-
* callback, the Promise will be rejected
|
|
71
|
-
*
|
|
72
|
-
* @param callback to call between each call
|
|
73
|
-
* @param retries max number of retries
|
|
74
|
-
* @param title to display
|
|
75
|
-
* @param logger logger to use to report
|
|
76
|
-
* @param delayer function that return pause between each call default to WaitExponential(1000)
|
|
77
|
-
*/
|
|
78
|
-
export declare function WaitFor<T = any>(callback: (resolve: (value?: T) => void, reject?: (reason?: any) => void) => Promise<boolean>, retries: number, title?: string, logger?: Logger, delayer?: WaitDelayer): Promise<T>;
|
|
79
|
-
/**
|
|
80
|
-
* Return a promise that can be cancelled
|
|
81
|
-
*/
|
|
82
|
-
export declare class CancelablePromise<T = void> extends Promise<T> {
|
|
83
|
-
cancel: () => Promise<void>;
|
|
84
|
-
constructor(callback?: (resolve: (res: T) => void, reject: (err: any) => void) => void, onCancel?: () => Promise<void>);
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Create a promise that will loop on the same callback until cancelled
|
|
88
|
-
*/
|
|
89
|
-
export declare class CancelableLoopPromise extends Promise<void> {
|
|
90
|
-
cancel: () => Promise<void>;
|
|
91
|
-
constructor(callback: (canceller: () => Promise<void>) => Promise<void>, onCancel?: () => Promise<void>);
|
|
92
|
-
static get [Symbol.species](): PromiseConstructor;
|
|
93
|
-
}
|
|
94
|
-
//# sourceMappingURL=waiter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waiter.d.ts","sourceRoot":"","sources":["../../src/utils/waiter.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,MAAM,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE1D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,CAE/D;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,WAAW,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,MAAM,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;KAAE,CAGpD;IAEF;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB;IAIhE;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB;IAInD;;;;OAIG;IACH,MAAM,CAAC,GAAG,CAAC,UAAU,GAAE,qBAA+D,GAAG,WAAW;CAGrG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,OAAO,CAAC,CAAC,GAAG,GAAG,EACnC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,EAC7F,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,CAAC,CAAC,CA2BZ;AAED;;GAEG;AACH,qBAAa,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAE1B,QAAQ,GAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,KAAK,IAEpE,EACD,QAAQ,GAAE,MAAM,OAAO,CAAC,IAAI,CAAa;CAgB5C;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,OAAO,CAAC,IAAI,CAAC;IACtD,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAE,MAAM,OAAO,CAAC,IAAI,CAAa;IAsBlH,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,uBAE1B;CACF"}
|
package/lib/utils/waiter.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "crypto";
|
|
2
|
-
import { Core } from "../index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Return a delayer that always wait for the same amount of time
|
|
5
|
-
* @param pause amount of time to wait
|
|
6
|
-
* @returns
|
|
7
|
-
*/
|
|
8
|
-
export function WaitLinearDelay(pause) {
|
|
9
|
-
return () => pause;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Return a delayer that always wait for the same amount of time
|
|
13
|
-
* @param pause amount of time to wait
|
|
14
|
-
* @returns
|
|
15
|
-
*/
|
|
16
|
-
export function WaitExponentialDelay(pause) {
|
|
17
|
-
return (retries) => Math.pow(2, retries - 1) * pause;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Registry for DelayerFactory
|
|
21
|
-
*/
|
|
22
|
-
export class WaitDelayerFactories {
|
|
23
|
-
/**
|
|
24
|
-
* Add a delayer
|
|
25
|
-
* @param type
|
|
26
|
-
* @param delayer
|
|
27
|
-
*/
|
|
28
|
-
static registerFactory(type, delayer) {
|
|
29
|
-
WaitDelayerFactories.registry[type] = delayer;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Return a registered delayer
|
|
33
|
-
* @param type
|
|
34
|
-
* @returns
|
|
35
|
-
*/
|
|
36
|
-
static getFactory(type) {
|
|
37
|
-
return WaitDelayerFactories.registry[type];
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
*
|
|
41
|
-
* @param definition to get delayer from
|
|
42
|
-
* @returns
|
|
43
|
-
*/
|
|
44
|
-
static get(definition = { interval: 1000, type: "exponential" }) {
|
|
45
|
-
return WaitDelayerFactories.getFactory(definition.type)(definition.interval);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
WaitDelayerFactories.registry = {
|
|
49
|
-
linear: WaitLinearDelay,
|
|
50
|
-
exponential: WaitExponentialDelay
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Wait for an operation to end
|
|
54
|
-
*
|
|
55
|
-
* Some AWS Api require minutes and polling
|
|
56
|
-
* This method will call the callback function until it returns
|
|
57
|
-
* `true`, or the max `retries` has been reached.
|
|
58
|
-
* Between each call, it will wait the `delay`
|
|
59
|
-
*
|
|
60
|
-
* If it reaches the max retries without a good answer from
|
|
61
|
-
* callback, the Promise will be rejected
|
|
62
|
-
*
|
|
63
|
-
* @param callback to call between each call
|
|
64
|
-
* @param retries max number of retries
|
|
65
|
-
* @param title to display
|
|
66
|
-
* @param logger logger to use to report
|
|
67
|
-
* @param delayer function that return pause between each call default to WaitExponential(1000)
|
|
68
|
-
*/
|
|
69
|
-
export async function WaitFor(callback, retries, title, logger, delayer) {
|
|
70
|
-
if (!delayer) {
|
|
71
|
-
delayer = WaitDelayerFactories.get();
|
|
72
|
-
}
|
|
73
|
-
return new Promise(async (mainResolve, mainReject) => {
|
|
74
|
-
let tries = 0;
|
|
75
|
-
const uuid = randomUUID();
|
|
76
|
-
if (logger) {
|
|
77
|
-
logger.logProgressStart(uuid, retries, title);
|
|
78
|
-
}
|
|
79
|
-
while (retries > tries++) {
|
|
80
|
-
if (title && logger) {
|
|
81
|
-
logger.log("DEBUG", "[" + tries + "/" + retries + "]", title);
|
|
82
|
-
}
|
|
83
|
-
if (logger) {
|
|
84
|
-
logger.logProgressUpdate(tries, uuid);
|
|
85
|
-
}
|
|
86
|
-
if (await callback(mainResolve, mainReject)) {
|
|
87
|
-
if (logger) {
|
|
88
|
-
logger.logProgressUpdate(retries);
|
|
89
|
-
}
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
await new Promise(resolve => setTimeout(resolve, delayer(tries)));
|
|
93
|
-
}
|
|
94
|
-
mainReject("Timeout while waiting for " + title);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Return a promise that can be cancelled
|
|
99
|
-
*/
|
|
100
|
-
export class CancelablePromise extends Promise {
|
|
101
|
-
constructor(callback = () => {
|
|
102
|
-
// noop
|
|
103
|
-
}, onCancel = undefined) {
|
|
104
|
-
let localReject;
|
|
105
|
-
super((resolve, reject) => {
|
|
106
|
-
localReject = async () => {
|
|
107
|
-
if (onCancel) {
|
|
108
|
-
await onCancel();
|
|
109
|
-
}
|
|
110
|
-
reject("Cancelled");
|
|
111
|
-
Core.unregisterInteruptableProcess(this);
|
|
112
|
-
};
|
|
113
|
-
callback(resolve, reject);
|
|
114
|
-
});
|
|
115
|
-
this.cancel = localReject;
|
|
116
|
-
Core.registerInteruptableProcess(this);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Create a promise that will loop on the same callback until cancelled
|
|
121
|
-
*/
|
|
122
|
-
export class CancelableLoopPromise extends Promise {
|
|
123
|
-
constructor(callback, onCancel = undefined) {
|
|
124
|
-
let localReject;
|
|
125
|
-
let shouldRun = true;
|
|
126
|
-
super(resolve => {
|
|
127
|
-
localReject = async () => {
|
|
128
|
-
if (onCancel) {
|
|
129
|
-
await onCancel();
|
|
130
|
-
}
|
|
131
|
-
shouldRun = false;
|
|
132
|
-
Core.unregisterInteruptableProcess(this);
|
|
133
|
-
};
|
|
134
|
-
const loop = () => {
|
|
135
|
-
if (shouldRun) {
|
|
136
|
-
return callback(localReject).then(loop);
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
resolve(callback(localReject).then(loop));
|
|
140
|
-
});
|
|
141
|
-
this.cancel = localReject;
|
|
142
|
-
Core.registerInteruptableProcess(this);
|
|
143
|
-
}
|
|
144
|
-
static get [Symbol.species]() {
|
|
145
|
-
return Promise;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
//# sourceMappingURL=waiter.js.map
|