@webda/core 4.0.0-beta.1 → 4.0.0-beta.3
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 +437 -0
- package/lib/application/application.d.ts.map +1 -0
- package/lib/application/application.js +792 -0
- package/lib/application/application.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/application/unpackedapplication.d.ts +104 -0
- package/lib/application/unpackedapplication.d.ts.map +1 -0
- package/lib/application/unpackedapplication.js +492 -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 +161 -0
- package/lib/bin/cli.d.ts.map +1 -0
- package/lib/bin/cli.js +828 -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 -49
- 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 +45 -19
- package/lib/contexts/httpcontext.d.ts.map +1 -0
- package/lib/{utils → contexts}/httpcontext.js +102 -34
- 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 +179 -0
- package/lib/contexts/operationcontext.d.ts.map +1 -0
- package/lib/contexts/operationcontext.js +358 -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 +72 -0
- package/lib/core/hooks.d.ts.map +1 -0
- package/lib/core/hooks.js +73 -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/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 +84 -51
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +82 -59
- 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 +21 -77
- package/lib/models/aclmodel.d.ts.map +1 -0
- package/lib/models/aclmodel.js +27 -204
- 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 +63 -0
- package/lib/models/decorator.d.ts.map +1 -0
- package/lib/models/decorator.js +63 -0
- package/lib/models/decorator.js.map +1 -0
- package/lib/models/deployment.d.ts +2 -1
- package/lib/models/deployment.d.ts.map +1 -0
- package/lib/models/ident.model.d.ts +89 -0
- package/lib/models/ident.model.d.ts.map +1 -0
- package/lib/models/ident.model.js +115 -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 +112 -0
- package/lib/models/ownermodel.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.model.js +53 -0
- 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 +123 -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 +125 -0
- package/lib/models/user.model.js.map +1 -0
- package/lib/queues/memoryqueue.service.d.ts +72 -0
- package/lib/queues/memoryqueue.service.d.ts.map +1 -0
- package/lib/queues/memoryqueue.service.js +136 -0
- package/lib/queues/memoryqueue.service.js.map +1 -0
- package/lib/queues/pubsubservice.d.ts +9 -6
- package/lib/queues/pubsubservice.d.ts.map +1 -0
- package/lib/queues/pubsubservice.js +5 -4
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queueservice.d.ts +10 -11
- package/lib/queues/queueservice.d.ts.map +1 -0
- package/lib/queues/queueservice.js +48 -20
- 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 +431 -0
- package/lib/services/audit.model.js.map +1 -0
- package/lib/services/{authentication.d.ts → authentication.service.d.ts} +140 -58
- package/lib/services/authentication.service.d.ts.map +1 -0
- package/lib/services/authentication.service.js +932 -0
- package/lib/services/authentication.service.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 +19 -13
- package/lib/services/cloudbinary.d.ts.map +1 -0
- package/lib/services/cloudbinary.js +24 -18
- 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} +77 -142
- 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.service.js +66 -0
- package/lib/services/debugmailer.service.js.map +1 -0
- package/lib/services/domainservice.service.d.ts +203 -0
- package/lib/services/domainservice.service.d.ts.map +1 -0
- package/lib/services/domainservice.service.js +600 -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 +9 -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 -10
- 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/oauth.d.ts +58 -31
- package/lib/services/oauth.d.ts.map +1 -0
- package/lib/services/oauth.js +365 -251
- package/lib/services/oauth.js.map +1 -1
- 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 -11
- 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.service.d.ts +121 -0
- 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 +88 -189
- package/lib/services/service.d.ts.map +1 -0
- package/lib/services/service.js +407 -432
- 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 +165 -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/{utils → session}/cookie.d.ts +32 -18
- 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 +71 -0
- package/lib/session/manager.model.d.ts.map +1 -0
- package/lib/session/manager.model.js +155 -0
- package/lib/session/manager.model.js.map +1 -0
- package/lib/session/session.d.ts +57 -0
- package/lib/session/session.d.ts.map +1 -0
- package/lib/session/session.js +126 -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 +343 -0
- package/lib/stores/memory.service.js.map +1 -0
- package/lib/stores/store.d.ts +127 -768
- package/lib/stores/store.d.ts.map +1 -0
- package/lib/stores/store.js +258 -1718
- package/lib/stores/store.js.map +1 -1
- package/lib/templates/templates.d.ts +39 -0
- package/lib/templates/templates.d.ts.map +1 -0
- package/lib/templates/templates.js +92 -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/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/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 +5 -2
- package/lib/utils/abstractdeployer.d.ts.map +1 -0
- package/lib/utils/abstractdeployer.js +3 -0
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/package.json +85 -56
- package/test/cachedapp/webda.config.json +1 -5
- package/test/config-cached.json +1 -5
- package/test/config.json +6 -99
- package/test/data/.env +1 -0
- package/test/my-cnf.json +9 -0
- package/webda.module.json +3462 -2231
- package/lib/application.d.ts +0 -876
- package/lib/application.js +0 -741
- package/lib/application.js.map +0 -1
- package/lib/application.spec.d.ts +0 -1
- package/lib/application.spec.js +0 -234
- package/lib/application.spec.js.map +0 -1
- package/lib/core.d.ts +0 -740
- package/lib/core.js +0 -1310
- package/lib/core.js.map +0 -1
- package/lib/core.spec.d.ts +0 -1
- package/lib/core.spec.js +0 -761
- package/lib/core.spec.js.map +0 -1
- package/lib/errors.d.ts +0 -65
- package/lib/errors.js +0 -113
- package/lib/errors.js.map +0 -1
- package/lib/errors.spec.d.ts +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 -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 -887
- package/lib/models/coremodel.js +0 -1208
- package/lib/models/coremodel.js.map +0 -1
- package/lib/models/coremodel.spec.d.ts +0 -1
- package/lib/models/coremodel.spec.js +0 -462
- package/lib/models/coremodel.spec.js.map +0 -1
- package/lib/models/ident.d.ts +0 -53
- package/lib/models/ident.js +0 -40
- package/lib/models/ident.js.map +0 -1
- package/lib/models/ident.spec.d.ts +0 -1
- package/lib/models/ident.spec.js +0 -43
- package/lib/models/ident.spec.js.map +0 -1
- package/lib/models/ownermodel.d.ts +0 -50
- package/lib/models/ownermodel.js +0 -65
- package/lib/models/ownermodel.js.map +0 -1
- package/lib/models/ownermodel.spec.d.ts +0 -1
- package/lib/models/ownermodel.spec.js +0 -191
- package/lib/models/ownermodel.spec.js.map +0 -1
- package/lib/models/relations.d.ts +0 -181
- package/lib/models/relations.js +0 -157
- package/lib/models/relations.js.map +0 -1
- package/lib/models/relations.spec.d.ts +0 -12
- package/lib/models/relations.spec.js +0 -224
- package/lib/models/relations.spec.js.map +0 -1
- package/lib/models/rolemodel.d.ts +0 -10
- package/lib/models/rolemodel.js +0 -35
- package/lib/models/rolemodel.js.map +0 -1
- package/lib/models/rolemodel.spec.d.ts +0 -1
- package/lib/models/rolemodel.spec.js +0 -86
- package/lib/models/rolemodel.spec.js.map +0 -1
- package/lib/models/user.d.ts +0 -100
- package/lib/models/user.js +0 -157
- package/lib/models/user.js.map +0 -1
- package/lib/models/user.spec.d.ts +0 -1
- package/lib/models/user.spec.js +0 -88
- package/lib/models/user.spec.js.map +0 -1
- package/lib/queues/filequeue.d.ts +0 -58
- package/lib/queues/filequeue.js +0 -131
- package/lib/queues/filequeue.js.map +0 -1
- package/lib/queues/filequeue.spec.d.ts +0 -1
- package/lib/queues/filequeue.spec.js +0 -78
- package/lib/queues/filequeue.spec.js.map +0 -1
- package/lib/queues/memoryqueue.d.ts +0 -45
- package/lib/queues/memoryqueue.js +0 -81
- package/lib/queues/memoryqueue.js.map +0 -1
- package/lib/queues/memoryqueue.spec.d.ts +0 -1
- package/lib/queues/memoryqueue.spec.js +0 -192
- package/lib/queues/memoryqueue.spec.js.map +0 -1
- package/lib/queues/queue.spec.d.ts +0 -5
- package/lib/queues/queue.spec.js +0 -55
- package/lib/queues/queue.spec.js.map +0 -1
- package/lib/router.d.ts +0 -172
- package/lib/router.js +0 -419
- package/lib/router.js.map +0 -1
- package/lib/router.spec.d.ts +0 -1
- package/lib/router.spec.js +0 -229
- package/lib/router.spec.js.map +0 -1
- package/lib/services/asyncevents.d.ts +0 -151
- package/lib/services/asyncevents.js +0 -217
- package/lib/services/asyncevents.js.map +0 -1
- package/lib/services/asyncevents.spec.d.ts +0 -1
- package/lib/services/asyncevents.spec.js +0 -118
- package/lib/services/asyncevents.spec.js.map +0 -1
- package/lib/services/authentication.js +0 -772
- package/lib/services/authentication.js.map +0 -1
- package/lib/services/authentication.spec.d.ts +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 -549
- package/lib/services/binary.js +0 -986
- package/lib/services/binary.js.map +0 -1
- package/lib/services/binary.spec.d.ts +0 -44
- package/lib/services/binary.spec.js +0 -438
- package/lib/services/binary.spec.js.map +0 -1
- package/lib/services/cloudbinary.spec.d.ts +0 -13
- package/lib/services/cloudbinary.spec.js +0 -192
- package/lib/services/cloudbinary.spec.js.map +0 -1
- package/lib/services/configuration.js +0 -178
- package/lib/services/configuration.js.map +0 -1
- package/lib/services/configuration.spec.d.ts +0 -1
- package/lib/services/configuration.spec.js +0 -87
- package/lib/services/configuration.spec.js.map +0 -1
- package/lib/services/cron.d.ts +0 -73
- package/lib/services/cron.js +0 -141
- package/lib/services/cron.js.map +0 -1
- package/lib/services/cron.spec.d.ts +0 -1
- package/lib/services/cron.spec.js +0 -76
- package/lib/services/cron.spec.js.map +0 -1
- package/lib/services/cryptoservice.js +0 -434
- package/lib/services/cryptoservice.js.map +0 -1
- package/lib/services/cryptoservice.spec.d.ts +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.js +0 -52
- package/lib/services/debugmailer.js.map +0 -1
- package/lib/services/debugmailer.spec.d.ts +0 -1
- package/lib/services/debugmailer.spec.js +0 -29
- package/lib/services/debugmailer.spec.js.map +0 -1
- package/lib/services/domainservice.d.ts +0 -152
- package/lib/services/domainservice.js +0 -881
- package/lib/services/domainservice.js.map +0 -1
- package/lib/services/domainservice.spec.d.ts +0 -1
- package/lib/services/domainservice.spec.js +0 -401
- package/lib/services/domainservice.spec.js.map +0 -1
- package/lib/services/filebinary.d.ts +0 -133
- package/lib/services/filebinary.js +0 -371
- package/lib/services/filebinary.js.map +0 -1
- package/lib/services/filebinary.spec.d.ts +0 -21
- package/lib/services/filebinary.spec.js +0 -415
- package/lib/services/filebinary.spec.js.map +0 -1
- package/lib/services/fileconfiguration.d.ts +0 -22
- package/lib/services/fileconfiguration.js +0 -48
- package/lib/services/fileconfiguration.js.map +0 -1
- package/lib/services/fileconfiguration.spec.d.ts +0 -1
- package/lib/services/fileconfiguration.spec.js +0 -177
- package/lib/services/fileconfiguration.spec.js.map +0 -1
- package/lib/services/invitationservice.d.ts +0 -222
- package/lib/services/invitationservice.js +0 -526
- package/lib/services/invitationservice.js.map +0 -1
- package/lib/services/invitationservice.spec.d.ts +0 -1
- package/lib/services/invitationservice.spec.js +0 -516
- package/lib/services/invitationservice.spec.js.map +0 -1
- package/lib/services/kubernetesconfiguration.d.ts +0 -26
- package/lib/services/kubernetesconfiguration.js +0 -54
- package/lib/services/kubernetesconfiguration.js.map +0 -1
- package/lib/services/kubernetesconfiguration.spec.d.ts +0 -1
- package/lib/services/kubernetesconfiguration.spec.js +0 -147
- package/lib/services/kubernetesconfiguration.spec.js.map +0 -1
- package/lib/services/mailer.d.ts +0 -165
- package/lib/services/mailer.js +0 -176
- package/lib/services/mailer.js.map +0 -1
- package/lib/services/mailer.spec.d.ts +0 -1
- package/lib/services/mailer.spec.js +0 -144
- package/lib/services/mailer.spec.js.map +0 -1
- package/lib/services/notificationservice.js.map +0 -1
- package/lib/services/notificationservice.spec.d.ts +0 -1
- package/lib/services/notificationservice.spec.js +0 -78
- package/lib/services/notificationservice.spec.js.map +0 -1
- package/lib/services/oauth.spec.d.ts +0 -1
- package/lib/services/oauth.spec.js +0 -184
- package/lib/services/oauth.spec.js.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 -1
- package/lib/services/prometheus.spec.js +0 -57
- package/lib/services/prometheus.spec.js.map +0 -1
- package/lib/services/resource.d.ts +0 -87
- package/lib/services/resource.js +0 -156
- package/lib/services/resource.js.map +0 -1
- package/lib/services/resource.spec.d.ts +0 -1
- package/lib/services/resource.spec.js +0 -122
- package/lib/services/resource.spec.js.map +0 -1
- package/lib/services/service.spec.d.ts +0 -1
- package/lib/services/service.spec.js +0 -268
- package/lib/services/service.spec.js.map +0 -1
- package/lib/stores/aggregator.d.ts +0 -41
- package/lib/stores/aggregator.js +0 -80
- package/lib/stores/aggregator.js.map +0 -1
- package/lib/stores/aliasstore.d.ts +0 -108
- package/lib/stores/aliasstore.js +0 -168
- package/lib/stores/aliasstore.js.map +0 -1
- package/lib/stores/aliasstore.spec.d.ts +0 -11
- package/lib/stores/aliasstore.spec.js +0 -89
- package/lib/stores/aliasstore.spec.js.map +0 -1
- package/lib/stores/file.d.ts +0 -107
- package/lib/stores/file.js +0 -188
- package/lib/stores/file.js.map +0 -1
- package/lib/stores/file.spec.d.ts +0 -19
- package/lib/stores/file.spec.js +0 -232
- package/lib/stores/file.spec.js.map +0 -1
- package/lib/stores/mapper.d.ts +0 -149
- package/lib/stores/mapper.js +0 -293
- package/lib/stores/mapper.js.map +0 -1
- package/lib/stores/mapper.spec.d.ts +0 -1
- package/lib/stores/mapper.spec.js +0 -160
- package/lib/stores/mapper.spec.js.map +0 -1
- package/lib/stores/memory.d.ts +0 -151
- package/lib/stores/memory.js +0 -371
- package/lib/stores/memory.js.map +0 -1
- package/lib/stores/memory.spec.d.ts +0 -20
- package/lib/stores/memory.spec.js +0 -328
- package/lib/stores/memory.spec.js.map +0 -1
- package/lib/stores/modelmapper.d.ts +0 -61
- package/lib/stores/modelmapper.js +0 -199
- package/lib/stores/modelmapper.js.map +0 -1
- package/lib/stores/store.spec.d.ts +0 -65
- package/lib/stores/store.spec.js +0 -906
- package/lib/stores/store.spec.js.map +0 -1
- package/lib/test.d.ts +0 -162
- package/lib/test.js +0 -399
- package/lib/test.js.map +0 -1
- package/lib/unpackedapplication.d.ts +0 -76
- package/lib/unpackedapplication.js +0 -299
- package/lib/unpackedapplication.js.map +0 -1
- package/lib/utils/abstractdeployer.spec.d.ts +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 -7
- package/lib/utils/case.js +0 -43
- package/lib/utils/case.js.map +0 -1
- package/lib/utils/case.spec.d.ts +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 -462
- package/lib/utils/context.js +0 -732
- package/lib/utils/context.js.map +0 -1
- package/lib/utils/context.spec.d.ts +0 -9
- package/lib/utils/context.spec.js +0 -372
- package/lib/utils/context.spec.js.map +0 -1
- package/lib/utils/cookie.js.map +0 -1
- package/lib/utils/cookie.spec.d.ts +0 -1
- package/lib/utils/cookie.spec.js +0 -78
- package/lib/utils/cookie.spec.js.map +0 -1
- package/lib/utils/esm.d.ts +0 -13
- package/lib/utils/esm.js +0 -19
- package/lib/utils/esm.js.map +0 -1
- package/lib/utils/httpcontext.js.map +0 -1
- package/lib/utils/httpcontext.spec.d.ts +0 -4
- package/lib/utils/httpcontext.spec.js +0 -77
- package/lib/utils/httpcontext.spec.js.map +0 -1
- package/lib/utils/logger.d.ts +0 -91
- package/lib/utils/logger.js +0 -121
- package/lib/utils/logger.js.map +0 -1
- package/lib/utils/logger.spec.d.ts +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 -161
- package/lib/utils/serializers.js +0 -420
- package/lib/utils/serializers.js.map +0 -1
- package/lib/utils/serializers.spec.d.ts +0 -1
- package/lib/utils/serializers.spec.js +0 -313
- package/lib/utils/serializers.spec.js.map +0 -1
- package/lib/utils/session.d.ts +0 -126
- package/lib/utils/session.js +0 -166
- package/lib/utils/session.js.map +0 -1
- package/lib/utils/session.spec.d.ts +0 -1
- package/lib/utils/session.spec.js +0 -71
- package/lib/utils/session.spec.js.map +0 -1
- package/lib/utils/throttler.d.ts +0 -102
- package/lib/utils/throttler.js +0 -168
- package/lib/utils/throttler.js.map +0 -1
- package/lib/utils/throttler.spec.d.ts +0 -1
- package/lib/utils/throttler.spec.js +0 -55
- package/lib/utils/throttler.spec.js.map +0 -1
- package/lib/utils/waiter.d.ts +0 -93
- package/lib/utils/waiter.js +0 -148
- package/lib/utils/waiter.js.map +0 -1
- package/lib/utils/waiter.spec.d.ts +0 -1
- package/lib/utils/waiter.spec.js +0 -98
- package/lib/utils/waiter.spec.js.map +0 -1
- package/test/config-file-missing-file-no-default.json +0 -44
- package/test/config-file-missing-file.json +0 -55
- package/test/config-file-no-reload.json +0 -69
- package/test/config-file-reload.json +0 -68
- package/test/config-invitation.json +0 -63
- package/test/config-kube-reload.json +0 -68
- package/test/config-reload.json +0 -66
- package/test/config.old.json +0 -152
- package/test/jsonutils/mdocs.yaml +0 -56
- package/test/jsonutils/test.json +0 -3
- package/test/jsonutils/test.yml +0 -5
- package/test/moddas/annotatedservice.js +0 -23
- package/test/moddas/debugmailer.js +0 -13
- package/test/moddas/fakeservice.js +0 -4
- package/test/moddas/voidstore.js +0 -66
- package/test/models/ident.js +0 -36
- package/test/models/task.js +0 -42
|
@@ -1,71 +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 { WebdaTest } from "../test.js";
|
|
11
|
-
import { OperationContext } from "./context.js";
|
|
12
|
-
import { UnknownSession } from "./session.js";
|
|
13
|
-
let SessionTest = class SessionTest {
|
|
14
|
-
basic() {
|
|
15
|
-
let 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 WebdaTest {
|
|
32
|
-
async sessionStore() {
|
|
33
|
-
// Test MemoryStore
|
|
34
|
-
const store = (this.webda.getServices()["SessionStore"] = await new MemoryStore(this.webda, "SessionStore", {})
|
|
35
|
-
.resolve()
|
|
36
|
-
.init());
|
|
37
|
-
store.getParameters().expose = { url: "url" };
|
|
38
|
-
assert.throws(() => this.getService("SessionManager").resolve(), /SessionStore should not be exposed/);
|
|
39
|
-
store.getParameters().expose = undefined;
|
|
40
|
-
this.getService("SessionManager").resolve();
|
|
41
|
-
let ctx = await this.newContext();
|
|
42
|
-
ctx.getSession().identUsed = "bouzouf";
|
|
43
|
-
await ctx.end();
|
|
44
|
-
let sessions = await store.getAll();
|
|
45
|
-
assert.strictEqual(sessions.length, 1);
|
|
46
|
-
let cookie = await this.webda.getCrypto().jwtVerify(ctx.getResponseCookies()["test"].value);
|
|
47
|
-
assert.strictEqual(cookie.uuid, undefined);
|
|
48
|
-
assert.strictEqual(cookie.identUsed, undefined);
|
|
49
|
-
assert.strictEqual(cookie.sub, sessions[0].getUuid());
|
|
50
|
-
let ctx2 = await this.newContext();
|
|
51
|
-
ctx2.getHttpContext().cookies = {
|
|
52
|
-
test: ctx.getResponseCookies()["test"].value
|
|
53
|
-
};
|
|
54
|
-
await ctx2.init(true);
|
|
55
|
-
let session = ctx2.getSession();
|
|
56
|
-
assert.strictEqual(session.uuid, sessions[0].getUuid());
|
|
57
|
-
assert.strictEqual(session.identUsed, "bouzouf");
|
|
58
|
-
assert.strictEqual(session.sub, undefined);
|
|
59
|
-
let opCtx = new OperationContext(this.webda);
|
|
60
|
-
// cov
|
|
61
|
-
await this.getService("SessionManager").load(opCtx);
|
|
62
|
-
await this.getService("SessionManager").save(opCtx, undefined);
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
__decorate([
|
|
66
|
-
test
|
|
67
|
-
], SessionStoreTest.prototype, "sessionStore", null);
|
|
68
|
-
SessionStoreTest = __decorate([
|
|
69
|
-
suite
|
|
70
|
-
], SessionStoreTest);
|
|
71
|
-
//# 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,102 +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
|
-
* @deprecated
|
|
89
|
-
*/
|
|
90
|
-
waitForCompletion(): Promise<void>;
|
|
91
|
-
/**
|
|
92
|
-
* Wait until every promise resolve
|
|
93
|
-
* @returns
|
|
94
|
-
*/
|
|
95
|
-
wait(): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* Internal manage the promise concurrency
|
|
98
|
-
* @returns
|
|
99
|
-
*/
|
|
100
|
-
protected add(): void;
|
|
101
|
-
}
|
|
102
|
-
export {};
|
package/lib/utils/throttler.js
DELETED
|
@@ -1,168 +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
|
-
let 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
|
-
// REFACTOR . >= 4.0.0
|
|
113
|
-
/**
|
|
114
|
-
* @deprecated
|
|
115
|
-
*/
|
|
116
|
-
async waitForCompletion() {
|
|
117
|
-
return this.wait();
|
|
118
|
-
}
|
|
119
|
-
// END_REFACTOR
|
|
120
|
-
/**
|
|
121
|
-
* Wait until every promise resolve
|
|
122
|
-
* @returns
|
|
123
|
-
*/
|
|
124
|
-
async wait() {
|
|
125
|
-
if (this.current === 0) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
return new Promise(resolve => {
|
|
129
|
-
this._waiters.push(resolve);
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
/**
|
|
133
|
-
* Internal manage the promise concurrency
|
|
134
|
-
* @returns
|
|
135
|
-
*/
|
|
136
|
-
add() {
|
|
137
|
-
if (this.current >= this.concurrency) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
const next = this._queue.find(p => !p.promise);
|
|
141
|
-
if (!next) {
|
|
142
|
-
if (this.current === 0) {
|
|
143
|
-
// Call all waiters
|
|
144
|
-
this._waiters.forEach(p => p());
|
|
145
|
-
this._waiters = [];
|
|
146
|
-
}
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
this.current++;
|
|
150
|
-
next.promise = next
|
|
151
|
-
.method()
|
|
152
|
-
.then(res => {
|
|
153
|
-
// Call the resolve
|
|
154
|
-
next.callbacks[0](res);
|
|
155
|
-
})
|
|
156
|
-
.catch(err => {
|
|
157
|
-
// Call the reject
|
|
158
|
-
next.callbacks[1](err);
|
|
159
|
-
})
|
|
160
|
-
.finally(() => {
|
|
161
|
-
this.current--;
|
|
162
|
-
// Remove from queue
|
|
163
|
-
this._queue.splice(this._queue.indexOf(next), 1);
|
|
164
|
-
this.add();
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
//# 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
|
-
export {};
|
|
@@ -1,55 +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
|
-
let resolvers = [];
|
|
13
|
-
let 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
|
-
let curs = t.getInProgress();
|
|
30
|
-
assert.strictEqual(curs.length, 1, `Currents ${curs}`);
|
|
31
|
-
t.setConcurrency(3);
|
|
32
|
-
assert.strictEqual(t.getInProgress().length, 3);
|
|
33
|
-
// REFACTOR . >= 4.0.0 | replace("waitForCompletion", "wait")
|
|
34
|
-
let p = t.waitForCompletion();
|
|
35
|
-
// END_REFACTOR
|
|
36
|
-
resolvers.forEach(r => r());
|
|
37
|
-
await new Promise(resolve => setImmediate(resolve));
|
|
38
|
-
resolvers.forEach(r => r());
|
|
39
|
-
await p;
|
|
40
|
-
await t.wait();
|
|
41
|
-
}
|
|
42
|
-
async staticMethod() {
|
|
43
|
-
await Throttler.run([async () => { }], 2);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
__decorate([
|
|
47
|
-
test
|
|
48
|
-
], ThrottlerTest.prototype, "test", null);
|
|
49
|
-
__decorate([
|
|
50
|
-
test
|
|
51
|
-
], ThrottlerTest.prototype, "staticMethod", null);
|
|
52
|
-
ThrottlerTest = __decorate([
|
|
53
|
-
suite
|
|
54
|
-
], ThrottlerTest);
|
|
55
|
-
//# 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,93 +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
|
-
}
|
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
|
-
let 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
|
-
let 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
|
package/lib/utils/waiter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"waiter.js","sourceRoot":"","sources":["../../src/utils/waiter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|