@signageos/lib 23.8.1 → 23.8.2-master.4405
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/dist/AMQP/CQRS/ICommand.d.ts +38 -0
- package/dist/AMQP/CQRS/ICommand.js +3 -0
- package/dist/AMQP/CQRS/ICommand.js.map +1 -0
- package/dist/AMQP/CQRS/ICommandError.d.ts +4 -0
- package/dist/AMQP/CQRS/ICommandError.js +3 -0
- package/dist/AMQP/CQRS/ICommandError.js.map +1 -0
- package/dist/AMQP/CQRS/commandQueue.d.ts +59 -0
- package/dist/AMQP/CQRS/commandQueue.js +313 -0
- package/dist/AMQP/CQRS/commandQueue.js.map +1 -0
- package/dist/AMQP/CQRS/commandResponseHelper.d.ts +3 -0
- package/dist/AMQP/CQRS/commandResponseHelper.js +8 -0
- package/dist/AMQP/CQRS/commandResponseHelper.js.map +1 -0
- package/dist/AMQP/CQRS/storedCommandQueue.d.ts +27 -0
- package/dist/AMQP/CQRS/storedCommandQueue.js +301 -0
- package/dist/AMQP/CQRS/storedCommandQueue.js.map +1 -0
- package/dist/AMQP/ChannelProvider.d.ts +37 -0
- package/dist/AMQP/ChannelProvider.js +886 -0
- package/dist/AMQP/ChannelProvider.js.map +1 -0
- package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.d.ts +39 -0
- package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js +292 -0
- package/dist/AMQP/DeviceActions/Bridge/deviceActionBridgeFactory.js.map +1 -0
- package/dist/AMQP/DeviceActions/IDeviceAction.d.ts +4 -0
- package/dist/AMQP/DeviceActions/IDeviceAction.js +3 -0
- package/dist/AMQP/DeviceActions/IDeviceAction.js.map +1 -0
- package/dist/AMQP/DeviceActions/deviceActionsQueue.d.ts +83 -0
- package/dist/AMQP/DeviceActions/deviceActionsQueue.js +538 -0
- package/dist/AMQP/DeviceActions/deviceActionsQueue.js.map +1 -0
- package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.d.ts +47 -0
- package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js +218 -0
- package/dist/AMQP/EventSourcing/EventConsumer/AmqpEventConsumer.js.map +1 -0
- package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.d.ts +13 -0
- package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js +3 -0
- package/dist/AMQP/EventSourcing/EventConsumer/IEventConsumer.js.map +1 -0
- package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.d.ts +15 -0
- package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js +76 -0
- package/dist/AMQP/EventSourcing/EventConsumer/InMemoryEventConsumer.js.map +1 -0
- package/dist/AMQP/EventSourcing/IEvent.d.ts +72 -0
- package/dist/AMQP/EventSourcing/IEvent.js +3 -0
- package/dist/AMQP/EventSourcing/IEvent.js.map +1 -0
- package/dist/AMQP/EventSourcing/Locked/deferredState.d.ts +21 -0
- package/dist/AMQP/EventSourcing/Locked/deferredState.js +72 -0
- package/dist/AMQP/EventSourcing/Locked/deferredState.js.map +1 -0
- package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.d.ts +63 -0
- package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js +261 -0
- package/dist/AMQP/EventSourcing/Locked/lockedEventConsumer.js.map +1 -0
- package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.d.ts +24 -0
- package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js +64 -0
- package/dist/AMQP/EventSourcing/Locked/rejectedTimestamps.js.map +1 -0
- package/dist/AMQP/EventSourcing/Locked/withLock.d.ts +42 -0
- package/dist/AMQP/EventSourcing/Locked/withLock.js +141 -0
- package/dist/AMQP/EventSourcing/Locked/withLock.js.map +1 -0
- package/dist/AMQP/EventSourcing/eventQueue.d.ts +87 -0
- package/dist/AMQP/EventSourcing/eventQueue.js +139 -0
- package/dist/AMQP/EventSourcing/eventQueue.js.map +1 -0
- package/dist/AMQP/EventSourcing/eventQueue.utils.d.ts +73 -0
- package/dist/AMQP/EventSourcing/eventQueue.utils.js +157 -0
- package/dist/AMQP/EventSourcing/eventQueue.utils.js.map +1 -0
- package/dist/AMQP/EventSourcing/eventQueueDetached.d.ts +49 -0
- package/dist/AMQP/EventSourcing/eventQueueDetached.js +428 -0
- package/dist/AMQP/EventSourcing/eventQueueDetached.js.map +1 -0
- package/dist/AMQP/EventSourcing/eventQueueDomain.d.ts +42 -0
- package/dist/AMQP/EventSourcing/eventQueueDomain.js +371 -0
- package/dist/AMQP/EventSourcing/eventQueueDomain.js.map +1 -0
- package/dist/AMQP/EventSourcing/eventQueuePublish.d.ts +19 -0
- package/dist/AMQP/EventSourcing/eventQueuePublish.js +209 -0
- package/dist/AMQP/EventSourcing/eventQueuePublish.js.map +1 -0
- package/dist/AMQP/EventSourcing/synchronization.d.ts +39 -0
- package/dist/AMQP/EventSourcing/synchronization.js +12 -0
- package/dist/AMQP/EventSourcing/synchronization.js.map +1 -0
- package/dist/AMQP/Exchange.d.ts +1 -0
- package/dist/AMQP/Exchange.js +3 -0
- package/dist/AMQP/Exchange.js.map +1 -0
- package/dist/AMQP/IAMQPPool.d.ts +5 -0
- package/dist/AMQP/IAMQPPool.js +3 -0
- package/dist/AMQP/IAMQPPool.js.map +1 -0
- package/dist/AMQP/IAsyncGotMessage.d.ts +15 -0
- package/dist/AMQP/IAsyncGotMessage.js +3 -0
- package/dist/AMQP/IAsyncGotMessage.js.map +1 -0
- package/dist/AMQP/IChannel.d.ts +43 -0
- package/dist/AMQP/IChannel.js +3 -0
- package/dist/AMQP/IChannel.js.map +1 -0
- package/dist/AMQP/IConsumeOptions.d.ts +106 -0
- package/dist/AMQP/IConsumeOptions.js +3 -0
- package/dist/AMQP/IConsumeOptions.js.map +1 -0
- package/dist/AMQP/IMessageOptions.d.ts +6 -0
- package/dist/AMQP/IMessageOptions.js +3 -0
- package/dist/AMQP/IMessageOptions.js.map +1 -0
- package/dist/AMQP/INackOptions.d.ts +4 -0
- package/dist/AMQP/INackOptions.js +3 -0
- package/dist/AMQP/INackOptions.js.map +1 -0
- package/dist/AMQP/IQueueOptions.d.ts +8 -0
- package/dist/AMQP/IQueueOptions.js +3 -0
- package/dist/AMQP/IQueueOptions.js.map +1 -0
- package/dist/AMQP/Logging/IDeviceLog.d.ts +15 -0
- package/dist/AMQP/Logging/IDeviceLog.js +10 -0
- package/dist/AMQP/Logging/IDeviceLog.js.map +1 -0
- package/dist/AMQP/Logging/logDeviceQueue.d.ts +12 -0
- package/dist/AMQP/Logging/logDeviceQueue.js +107 -0
- package/dist/AMQP/Logging/logDeviceQueue.js.map +1 -0
- package/dist/AMQP/QueueFetcher.d.ts +13 -0
- package/dist/AMQP/QueueFetcher.js +166 -0
- package/dist/AMQP/QueueFetcher.js.map +1 -0
- package/dist/AMQP/QueuePublisher.d.ts +7 -0
- package/dist/AMQP/QueuePublisher.js +135 -0
- package/dist/AMQP/QueuePublisher.js.map +1 -0
- package/dist/AMQP/QueueRepeatableSubscription.d.ts +14 -0
- package/dist/AMQP/QueueRepeatableSubscription.js +162 -0
- package/dist/AMQP/QueueRepeatableSubscription.js.map +1 -0
- package/dist/AMQP/QueueSubscriber.d.ts +11 -0
- package/dist/AMQP/QueueSubscriber.js +163 -0
- package/dist/AMQP/QueueSubscriber.js.map +1 -0
- package/dist/AMQP/ResponseProvider.d.ts +20 -0
- package/dist/AMQP/ResponseProvider.js +193 -0
- package/dist/AMQP/ResponseProvider.js.map +1 -0
- package/dist/AMQP/Static/filesQueue.d.ts +12 -0
- package/dist/AMQP/Static/filesQueue.js +220 -0
- package/dist/AMQP/Static/filesQueue.js.map +1 -0
- package/dist/AMQP/amqpConnectionFactory.d.ts +27 -0
- package/dist/AMQP/amqpConnectionFactory.js +236 -0
- package/dist/AMQP/amqpConnectionFactory.js.map +1 -0
- package/dist/AMQP/amqpErrors.d.ts +5 -0
- package/dist/AMQP/amqpErrors.js +30 -0
- package/dist/AMQP/amqpErrors.js.map +1 -0
- package/dist/AMQP/errors.d.ts +3 -0
- package/dist/AMQP/errors.js +30 -0
- package/dist/AMQP/errors.js.map +1 -0
- package/dist/AMQP/fetchNextMessage.d.ts +14 -0
- package/dist/AMQP/fetchNextMessage.js +118 -0
- package/dist/AMQP/fetchNextMessage.js.map +1 -0
- package/dist/AMQP/queueConfigurator.d.ts +5 -0
- package/dist/AMQP/queueConfigurator.js +78 -0
- package/dist/AMQP/queueConfigurator.js.map +1 -0
- package/dist/AWS/S3.d.ts +95 -0
- package/dist/AWS/S3.js +448 -0
- package/dist/AWS/S3.js.map +1 -0
- package/dist/AWS/S3Types.d.ts +113 -0
- package/dist/AWS/S3Types.js +3 -0
- package/dist/AWS/S3Types.js.map +1 -0
- package/dist/AWS/config.d.ts +2 -0
- package/dist/AWS/config.js +23 -0
- package/dist/AWS/config.js.map +1 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.d.ts +30 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.js +81 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.js.map +1 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.d.ts +5 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.js +33 -0
- package/dist/Auth0/AuthenticationClient/Auth0AuthenticationClient.utils.js.map +1 -0
- package/dist/Auth0/ManagementClient/Auth0ManagementClient.d.ts +41 -0
- package/dist/Auth0/ManagementClient/Auth0ManagementClient.js +137 -0
- package/dist/Auth0/ManagementClient/Auth0ManagementClient.js.map +1 -0
- package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.d.ts +8 -0
- package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.js +37 -0
- package/dist/Auth0/ManagementClient/auth0ManagementClient.utils.js.map +1 -0
- package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.d.ts +14 -0
- package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.js +58 -0
- package/dist/Auth0/UserInfoClient/Auth0UserInfoClient.js.map +1 -0
- package/dist/Auth0/auth0.types.d.ts +4 -0
- package/dist/Auth0/auth0.types.js +10 -0
- package/dist/Auth0/auth0.types.js.map +1 -0
- package/dist/Cache/lruCache.d.ts +22 -0
- package/dist/Cache/lruCache.js +42 -0
- package/dist/Cache/lruCache.js.map +1 -0
- package/dist/Cache/memoryCache.d.ts +7 -0
- package/dist/Cache/memoryCache.js +80 -0
- package/dist/Cache/memoryCache.js.map +1 -0
- package/dist/Config/config.d.ts +81 -0
- package/dist/Config/config.js +119 -0
- package/dist/Config/config.js.map +1 -0
- package/dist/Config/environment.d.ts +8 -0
- package/dist/Config/environment.js +13 -0
- package/dist/Config/environment.js.map +1 -0
- package/dist/Config/validation.d.ts +61 -0
- package/dist/Config/validation.js +56 -0
- package/dist/Config/validation.js.map +1 -0
- package/dist/DateTime/dateMonkeyPatch.d.ts +15 -0
- package/dist/DateTime/dateMonkeyPatch.js +149 -0
- package/dist/DateTime/dateMonkeyPatch.js.map +1 -0
- package/dist/DateTime/dateTimeFactory.d.ts +4 -0
- package/dist/DateTime/dateTimeFactory.js +22 -0
- package/dist/DateTime/dateTimeFactory.js.map +1 -0
- package/dist/DateTime/millisecondConstants.d.ts +7 -0
- package/dist/DateTime/millisecondConstants.js +11 -0
- package/dist/DateTime/millisecondConstants.js.map +1 -0
- package/dist/DateTime/posixTimezone.d.ts +1 -0
- package/dist/DateTime/posixTimezone.js +54 -0
- package/dist/DateTime/posixTimezone.js.map +1 -0
- package/dist/DateTime/statistics.d.ts +6 -0
- package/dist/DateTime/statistics.js +30 -0
- package/dist/DateTime/statistics.js.map +1 -0
- package/dist/DateTime/timeConverter.d.ts +1 -0
- package/dist/DateTime/timeConverter.js +11 -0
- package/dist/DateTime/timeConverter.js.map +1 -0
- package/dist/DateTime/timer.d.ts +10 -0
- package/dist/DateTime/timer.js +18 -0
- package/dist/DateTime/timer.js.map +1 -0
- package/dist/DateTime/timestamp.d.ts +2 -0
- package/dist/DateTime/timestamp.js +16 -0
- package/dist/DateTime/timestamp.js.map +1 -0
- package/dist/DateTime/waitUntil.d.ts +20 -0
- package/dist/DateTime/waitUntil.js +148 -0
- package/dist/DateTime/waitUntil.js.map +1 -0
- package/dist/Debug/debugClassDecorator.d.ts +13 -0
- package/dist/Debug/debugClassDecorator.js +63 -0
- package/dist/Debug/debugClassDecorator.js.map +1 -0
- package/dist/Debug/debugDecorator.d.ts +24 -0
- package/dist/Debug/debugDecorator.js +107 -0
- package/dist/Debug/debugDecorator.js.map +1 -0
- package/dist/Encryption/passwordEncryption.d.ts +4 -0
- package/dist/Encryption/passwordEncryption.js +29 -0
- package/dist/Encryption/passwordEncryption.js.map +1 -0
- package/dist/Encryption/tokenEncryption.d.ts +14 -0
- package/dist/Encryption/tokenEncryption.js +32 -0
- package/dist/Encryption/tokenEncryption.js.map +1 -0
- package/dist/Events/AsyncEventEmitter.d.ts +31 -0
- package/dist/Events/AsyncEventEmitter.js +125 -0
- package/dist/Events/AsyncEventEmitter.js.map +1 -0
- package/dist/Events/eventsHelpers.d.ts +3 -0
- package/dist/Events/eventsHelpers.js +24 -0
- package/dist/Events/eventsHelpers.js.map +1 -0
- package/dist/Events/genericGracefulExit.d.ts +11 -0
- package/dist/Events/genericGracefulExit.js +90 -0
- package/dist/Events/genericGracefulExit.js.map +1 -0
- package/dist/FileSystem/moduleDiscoverer.d.ts +7 -0
- package/dist/FileSystem/moduleDiscoverer.js +88 -0
- package/dist/FileSystem/moduleDiscoverer.js.map +1 -0
- package/dist/FileSystem/tmpDir.d.ts +9 -0
- package/dist/FileSystem/tmpDir.js +64 -0
- package/dist/FileSystem/tmpDir.js.map +1 -0
- package/dist/Functional/compose.d.ts +22 -0
- package/dist/Functional/compose.js +44 -0
- package/dist/Functional/compose.js.map +1 -0
- package/dist/GenericPool/options.d.ts +63 -0
- package/dist/GenericPool/options.js +3 -0
- package/dist/GenericPool/options.js.map +1 -0
- package/dist/Hash/checksum.d.ts +5 -0
- package/dist/Hash/checksum.js +20 -0
- package/dist/Hash/checksum.js.map +1 -0
- package/dist/Hash/checksumFile.d.ts +4 -0
- package/dist/Hash/checksumFile.js +82 -0
- package/dist/Hash/checksumFile.js.map +1 -0
- package/dist/Hash/generator.d.ts +2 -0
- package/dist/Hash/generator.js +15 -0
- package/dist/Hash/generator.js.map +1 -0
- package/dist/Http/download.d.ts +1 -0
- package/dist/Http/download.js +91 -0
- package/dist/Http/download.js.map +1 -0
- package/dist/HttpStatus/checks/amqpStatusCheck.d.ts +3 -0
- package/dist/HttpStatus/checks/amqpStatusCheck.js +98 -0
- package/dist/HttpStatus/checks/amqpStatusCheck.js.map +1 -0
- package/dist/HttpStatus/checks/mongoDBStatusCheck.d.ts +3 -0
- package/dist/HttpStatus/checks/mongoDBStatusCheck.js +60 -0
- package/dist/HttpStatus/checks/mongoDBStatusCheck.js.map +1 -0
- package/dist/HttpStatus/checks/redisStatusCheck.d.ts +3 -0
- package/dist/HttpStatus/checks/redisStatusCheck.js +94 -0
- package/dist/HttpStatus/checks/redisStatusCheck.js.map +1 -0
- package/dist/HttpStatus/createHttpStatusMiddleware.d.ts +9 -0
- package/dist/HttpStatus/createHttpStatusMiddleware.js +109 -0
- package/dist/HttpStatus/createHttpStatusMiddleware.js.map +1 -0
- package/dist/HttpStatus/enrichHttpServerWithStatus.d.ts +15 -0
- package/dist/HttpStatus/enrichHttpServerWithStatus.js +114 -0
- package/dist/HttpStatus/enrichHttpServerWithStatus.js.map +1 -0
- package/dist/HttpStatus/sendStatusResponse.d.ts +5 -0
- package/dist/HttpStatus/sendStatusResponse.js +71 -0
- package/dist/HttpStatus/sendStatusResponse.js.map +1 -0
- package/dist/HttpStatus/status.d.ts +19 -0
- package/dist/HttpStatus/status.js +132 -0
- package/dist/HttpStatus/status.js.map +1 -0
- package/dist/HttpStatus/statuses/amqpStatus.d.ts +3 -0
- package/dist/HttpStatus/statuses/amqpStatus.js +35 -0
- package/dist/HttpStatus/statuses/amqpStatus.js.map +1 -0
- package/dist/HttpStatus/statuses/mongoStatus.d.ts +3 -0
- package/dist/HttpStatus/statuses/mongoStatus.js +35 -0
- package/dist/HttpStatus/statuses/mongoStatus.js.map +1 -0
- package/dist/HttpStatus/statuses/redisStatus.d.ts +3 -0
- package/dist/HttpStatus/statuses/redisStatus.js +35 -0
- package/dist/HttpStatus/statuses/redisStatus.js.map +1 -0
- package/dist/InfluxDB/IInfluxDB.d.ts +5 -0
- package/dist/InfluxDB/IInfluxDB.js +3 -0
- package/dist/InfluxDB/IInfluxDB.js.map +1 -0
- package/dist/InfluxDB/influxDBConnectionFactory.d.ts +9 -0
- package/dist/InfluxDB/influxDBConnectionFactory.js +83 -0
- package/dist/InfluxDB/influxDBConnectionFactory.js.map +1 -0
- package/dist/JSON/jsonHelper.d.ts +4 -0
- package/dist/JSON/jsonHelper.js +21 -0
- package/dist/JSON/jsonHelper.js.map +1 -0
- package/dist/Lib/Redis/connection.utils.d.ts +22 -0
- package/dist/Lib/Redis/connection.utils.js +95 -0
- package/dist/Lib/Redis/connection.utils.js.map +1 -0
- package/dist/Lib/String/string.d.ts +1 -0
- package/dist/Lib/String/string.js +6 -0
- package/dist/Lib/String/string.js.map +1 -0
- package/dist/Lock/lockedDecorator.d.ts +12 -0
- package/dist/Lock/lockedDecorator.js +150 -0
- package/dist/Lock/lockedDecorator.js.map +1 -0
- package/dist/Logging/console.d.ts +8 -0
- package/dist/Logging/console.js +50 -0
- package/dist/Logging/console.js.map +1 -0
- package/dist/Logging/debug.d.ts +10 -0
- package/dist/Logging/debug.js +61 -0
- package/dist/Logging/debug.js.map +1 -0
- package/dist/Logging/format.d.ts +10 -0
- package/dist/Logging/format.js +79 -0
- package/dist/Logging/format.js.map +1 -0
- package/dist/Logging/logger.d.ts +53 -0
- package/dist/Logging/logger.js +63 -0
- package/dist/Logging/logger.js.map +1 -0
- package/dist/Logging/logging.d.ts +12 -0
- package/dist/Logging/logging.js +113 -0
- package/dist/Logging/logging.js.map +1 -0
- package/dist/Metrics/MetricsClient.d.ts +46 -0
- package/dist/Metrics/MetricsClient.js +101 -0
- package/dist/Metrics/MetricsClient.js.map +1 -0
- package/dist/Metrics/deviceConsumerMetrics.d.ts +6 -0
- package/dist/Metrics/deviceConsumerMetrics.js +59 -0
- package/dist/Metrics/deviceConsumerMetrics.js.map +1 -0
- package/dist/Metrics/eventConsumerMetrics.d.ts +19 -0
- package/dist/Metrics/eventConsumerMetrics.js +52 -0
- package/dist/Metrics/eventConsumerMetrics.js.map +1 -0
- package/dist/Metrics/eventQueueMetrics.d.ts +7 -0
- package/dist/Metrics/eventQueueMetrics.js +19 -0
- package/dist/Metrics/eventQueueMetrics.js.map +1 -0
- package/dist/Metrics/logMetrics.d.ts +4 -0
- package/dist/Metrics/logMetrics.js +20 -0
- package/dist/Metrics/logMetrics.js.map +1 -0
- package/dist/Metrics/metrics.d.ts +84 -0
- package/dist/Metrics/metrics.js +255 -0
- package/dist/Metrics/metrics.js.map +1 -0
- package/dist/Metrics/mongoDBMetrics.d.ts +35 -0
- package/dist/Metrics/mongoDBMetrics.js +162 -0
- package/dist/Metrics/mongoDBMetrics.js.map +1 -0
- package/dist/Metrics/processSocketsMetrics.d.ts +10 -0
- package/dist/Metrics/processSocketsMetrics.js +92 -0
- package/dist/Metrics/processSocketsMetrics.js.map +1 -0
- package/dist/Metrics/redisMetrics.d.ts +13 -0
- package/dist/Metrics/redisMetrics.js +60 -0
- package/dist/Metrics/redisMetrics.js.map +1 -0
- package/dist/MongoDB/MongoDBConnection.d.ts +19 -0
- package/dist/MongoDB/MongoDBConnection.js +185 -0
- package/dist/MongoDB/MongoDBConnection.js.map +1 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.d.ts +2 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js +106 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/dynamicPriority.js.map +1 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.d.ts +2 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js +94 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/lowReadLatency.js.map +1 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.d.ts +2 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js +80 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/ordinary.js.map +1 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.d.ts +2 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js +51 -0
- package/dist/MongoDB/ProprietaryCluster/SelectionStrategy/random.js.map +1 -0
- package/dist/MongoDB/ProprietaryCluster/helper.d.ts +13 -0
- package/dist/MongoDB/ProprietaryCluster/helper.js +147 -0
- package/dist/MongoDB/ProprietaryCluster/helper.js.map +1 -0
- package/dist/MongoDB/cursorIterator.d.ts +5 -0
- package/dist/MongoDB/cursorIterator.js +63 -0
- package/dist/MongoDB/cursorIterator.js.map +1 -0
- package/dist/MongoDB/escape.d.ts +4 -0
- package/dist/MongoDB/escape.js +54 -0
- package/dist/MongoDB/escape.js.map +1 -0
- package/dist/MongoDB/mongoDBConnectionFactory.d.ts +13 -0
- package/dist/MongoDB/mongoDBConnectionFactory.js +11 -0
- package/dist/MongoDB/mongoDBConnectionFactory.js.map +1 -0
- package/dist/MongoDB/proprietaryCluster.d.ts +1 -0
- package/dist/MongoDB/proprietaryCluster.js +76 -0
- package/dist/MongoDB/proprietaryCluster.js.map +1 -0
- package/dist/Npm/INpmClient.d.ts +25 -0
- package/dist/Npm/INpmClient.js +3 -0
- package/dist/Npm/INpmClient.js.map +1 -0
- package/dist/Npm/MockNpmClient.d.ts +17 -0
- package/dist/Npm/MockNpmClient.js +124 -0
- package/dist/Npm/MockNpmClient.js.map +1 -0
- package/dist/Npm/NpmClient.d.ts +14 -0
- package/dist/Npm/NpmClient.js +212 -0
- package/dist/Npm/NpmClient.js.map +1 -0
- package/dist/Npm/NpmCredentialsProvider.d.ts +18 -0
- package/dist/Npm/NpmCredentialsProvider.js +111 -0
- package/dist/Npm/NpmCredentialsProvider.js.map +1 -0
- package/dist/Observable/helpers.d.ts +3 -0
- package/dist/Observable/helpers.js +117 -0
- package/dist/Observable/helpers.js.map +1 -0
- package/dist/Parsers/parsers.d.ts +1 -0
- package/dist/Parsers/parsers.js +17 -0
- package/dist/Parsers/parsers.js.map +1 -0
- package/dist/Path/detector.d.ts +9 -0
- package/dist/Path/detector.js +78 -0
- package/dist/Path/detector.js.map +1 -0
- package/dist/Pool/IBasePool.d.ts +6 -0
- package/dist/Pool/IBasePool.js +3 -0
- package/dist/Pool/IBasePool.js.map +1 -0
- package/dist/Promise/cancelable.d.ts +4 -0
- package/dist/Promise/cancelable.js +21 -0
- package/dist/Promise/cancelable.js.map +1 -0
- package/dist/Promise/deferred.d.ts +4 -0
- package/dist/Promise/deferred.js +21 -0
- package/dist/Promise/deferred.js.map +1 -0
- package/dist/Promise/deferredStream.d.ts +4 -0
- package/dist/Promise/deferredStream.js +21 -0
- package/dist/Promise/deferredStream.js.map +1 -0
- package/dist/Promise/lock.d.ts +4 -0
- package/dist/Promise/lock.js +21 -0
- package/dist/Promise/lock.js.map +1 -0
- package/dist/Promise/timeoutable.d.ts +4 -0
- package/dist/Promise/timeoutable.js +21 -0
- package/dist/Promise/timeoutable.js.map +1 -0
- package/dist/Redis/DeviceActions/PostponedAction.d.ts +4 -0
- package/dist/Redis/DeviceActions/PostponedAction.js +3 -0
- package/dist/Redis/DeviceActions/PostponedAction.js.map +1 -0
- package/dist/Redis/DeviceActions/postponedDeviceActions.d.ts +8 -0
- package/dist/Redis/DeviceActions/postponedDeviceActions.js +333 -0
- package/dist/Redis/DeviceActions/postponedDeviceActions.js.map +1 -0
- package/dist/Redis/redisConnectionFactory.d.ts +41 -0
- package/dist/Redis/redisConnectionFactory.js +158 -0
- package/dist/Redis/redisConnectionFactory.js.map +1 -0
- package/dist/Redis/redisLock.d.ts +11 -0
- package/dist/Redis/redisLock.js +213 -0
- package/dist/Redis/redisLock.js.map +1 -0
- package/dist/Retry/retry.d.ts +28 -0
- package/dist/Retry/retry.js +154 -0
- package/dist/Retry/retry.js.map +1 -0
- package/dist/Rsync/copier.d.ts +1 -0
- package/dist/Rsync/copier.js +123 -0
- package/dist/Rsync/copier.js.map +1 -0
- package/dist/SemVer/SemVerLevel.d.ts +6 -0
- package/dist/SemVer/SemVerLevel.js +10 -0
- package/dist/SemVer/SemVerLevel.js.map +1 -0
- package/dist/SemVer/semVerConstants.d.ts +2 -0
- package/dist/SemVer/semVerConstants.js +9 -0
- package/dist/SemVer/semVerConstants.js.map +1 -0
- package/dist/SemVer/semVerHelper.d.ts +7 -0
- package/dist/SemVer/semVerHelper.js +82 -0
- package/dist/SemVer/semVerHelper.js.map +1 -0
- package/dist/Service/HTTP/express/app.d.ts +33 -0
- package/dist/Service/HTTP/express/app.js +82 -0
- package/dist/Service/HTTP/express/app.js.map +1 -0
- package/dist/Service/HTTP/express/expressFactory.d.ts +4 -0
- package/dist/Service/HTTP/express/expressFactory.js +22 -0
- package/dist/Service/HTTP/express/expressFactory.js.map +1 -0
- package/dist/Service/HTTP/express/monitoring.d.ts +8 -0
- package/dist/Service/HTTP/express/monitoring.js +25 -0
- package/dist/Service/HTTP/express/monitoring.js.map +1 -0
- package/dist/Service/HTTP/httpServerFactory.d.ts +54 -0
- package/dist/Service/HTTP/httpServerFactory.js +104 -0
- package/dist/Service/HTTP/httpServerFactory.js.map +1 -0
- package/dist/Service/HTTP/middleware/accessLogMiddleware.d.ts +20 -0
- package/dist/Service/HTTP/middleware/accessLogMiddleware.js +90 -0
- package/dist/Service/HTTP/middleware/accessLogMiddleware.js.map +1 -0
- package/dist/Service/HTTP/middleware/headersMiddleware.d.ts +2 -0
- package/dist/Service/HTTP/middleware/headersMiddleware.js +18 -0
- package/dist/Service/HTTP/middleware/headersMiddleware.js.map +1 -0
- package/dist/Service/HTTP/routes/app/indexPage.d.ts +7 -0
- package/dist/Service/HTTP/routes/app/indexPage.js +12 -0
- package/dist/Service/HTTP/routes/app/indexPage.js.map +1 -0
- package/dist/Service/HTTP/routes/app/router.d.ts +14 -0
- package/dist/Service/HTTP/routes/app/router.js +12 -0
- package/dist/Service/HTTP/routes/app/router.js.map +1 -0
- package/dist/Service/HTTP/routes/app/status.d.ts +13 -0
- package/dist/Service/HTTP/routes/app/status.js +44 -0
- package/dist/Service/HTTP/routes/app/status.js.map +1 -0
- package/dist/Service/HTTP/routes/monitoring/aliveness.d.ts +20 -0
- package/dist/Service/HTTP/routes/monitoring/aliveness.js +75 -0
- package/dist/Service/HTTP/routes/monitoring/aliveness.js.map +1 -0
- package/dist/Service/HTTP/routes/monitoring/metrics.d.ts +9 -0
- package/dist/Service/HTTP/routes/monitoring/metrics.js +59 -0
- package/dist/Service/HTTP/routes/monitoring/metrics.js.map +1 -0
- package/dist/Service/HTTP/routes/monitoring/readniness.d.ts +18 -0
- package/dist/Service/HTTP/routes/monitoring/readniness.js +80 -0
- package/dist/Service/HTTP/routes/monitoring/readniness.js.map +1 -0
- package/dist/Service/HTTP/routes/monitoring/router.d.ts +10 -0
- package/dist/Service/HTTP/routes/monitoring/router.js +12 -0
- package/dist/Service/HTTP/routes/monitoring/router.js.map +1 -0
- package/dist/Service/HTTP/server/serverFactory.d.ts +10 -0
- package/dist/Service/HTTP/server/serverFactory.js +133 -0
- package/dist/Service/HTTP/server/serverFactory.js.map +1 -0
- package/dist/Service/Service.d.ts +17 -0
- package/dist/Service/Service.js +97 -0
- package/dist/Service/Service.js.map +1 -0
- package/dist/Service/dbConnections.d.ts +8 -0
- package/dist/Service/dbConnections.js +3 -0
- package/dist/Service/dbConnections.js.map +1 -0
- package/dist/Service/metrics/connections.d.ts +3 -0
- package/dist/Service/metrics/connections.js +47 -0
- package/dist/Service/metrics/connections.js.map +1 -0
- package/dist/Service/metrics/mongodb.d.ts +2 -0
- package/dist/Service/metrics/mongodb.js +13 -0
- package/dist/Service/metrics/mongodb.js.map +1 -0
- package/dist/Service/metrics/redis.d.ts +2 -0
- package/dist/Service/metrics/redis.js +11 -0
- package/dist/Service/metrics/redis.js.map +1 -0
- package/dist/Service/process.d.ts +11 -0
- package/dist/Service/process.js +88 -0
- package/dist/Service/process.js.map +1 -0
- package/dist/Service/serviceFactory.d.ts +115 -0
- package/dist/Service/serviceFactory.js +118 -0
- package/dist/Service/serviceFactory.js.map +1 -0
- package/dist/Service/types.d.ts +55 -0
- package/dist/Service/types.js +3 -0
- package/dist/Service/types.js.map +1 -0
- package/dist/Storage/IArrayStorage.d.ts +7 -0
- package/dist/Storage/IArrayStorage.js +3 -0
- package/dist/Storage/IArrayStorage.js.map +1 -0
- package/dist/Storage/MemoryArrayStorage.d.ts +9 -0
- package/dist/Storage/MemoryArrayStorage.js +22 -0
- package/dist/Storage/MemoryArrayStorage.js.map +1 -0
- package/dist/String/pad.d.ts +1 -0
- package/dist/String/pad.js +7 -0
- package/dist/String/pad.js.map +1 -0
- package/dist/String/string.d.ts +3 -0
- package/dist/String/string.js +17 -0
- package/dist/String/string.js.map +1 -0
- package/dist/String/webalize.d.ts +1 -0
- package/dist/String/webalize.js +15 -0
- package/dist/String/webalize.js.map +1 -0
- package/dist/String/word.d.ts +32 -0
- package/dist/String/word.js +97 -0
- package/dist/String/word.js.map +1 -0
- package/dist/System/signalSender.d.ts +1 -0
- package/dist/System/signalSender.js +7 -0
- package/dist/System/signalSender.js.map +1 -0
- package/dist/ThirdParty/connection.d.ts +28 -0
- package/dist/ThirdParty/connection.js +9 -0
- package/dist/ThirdParty/connection.js.map +1 -0
- package/dist/Timer/Power/PowerTimerSettings.d.ts +29 -0
- package/dist/Timer/Power/PowerTimerSettings.js +3 -0
- package/dist/Timer/Power/PowerTimerSettings.js.map +1 -0
- package/dist/Timer/Power/PowerTimerType.d.ts +2 -0
- package/dist/Timer/Power/PowerTimerType.js +3 -0
- package/dist/Timer/Power/PowerTimerType.js.map +1 -0
- package/dist/Timer/Power/PowerTimerWeekday.d.ts +18 -0
- package/dist/Timer/Power/PowerTimerWeekday.js +18 -0
- package/dist/Timer/Power/PowerTimerWeekday.js.map +1 -0
- package/dist/Timer/Power/PowerTimerWeekdayEnum.d.ts +28 -0
- package/dist/Timer/Power/PowerTimerWeekdayEnum.js +32 -0
- package/dist/Timer/Power/PowerTimerWeekdayEnum.js.map +1 -0
- package/dist/Timer/Power/TimerEventWeekdayNumber.d.ts +9 -0
- package/dist/Timer/Power/TimerEventWeekdayNumber.js +14 -0
- package/dist/Timer/Power/TimerEventWeekdayNumber.js.map +1 -0
- package/dist/Timer/Power/powerTimerComputer.d.ts +36 -0
- package/dist/Timer/Power/powerTimerComputer.js +141 -0
- package/dist/Timer/Power/powerTimerComputer.js.map +1 -0
- package/dist/Timer/convertWeekday.d.ts +25 -0
- package/dist/Timer/convertWeekday.js +211 -0
- package/dist/Timer/convertWeekday.js.map +1 -0
- package/dist/Timer/converters.d.ts +44 -0
- package/dist/Timer/converters.js +72 -0
- package/dist/Timer/converters.js.map +1 -0
- package/dist/Timer/increasingInterval.d.ts +2 -0
- package/dist/Timer/increasingInterval.js +108 -0
- package/dist/Timer/increasingInterval.js.map +1 -0
- package/dist/Timer/nonConcurrentInterval.d.ts +4 -0
- package/dist/Timer/nonConcurrentInterval.js +73 -0
- package/dist/Timer/nonConcurrentInterval.js.map +1 -0
- package/dist/Timer/progressiveWait.d.ts +40 -0
- package/dist/Timer/progressiveWait.js +96 -0
- package/dist/Timer/progressiveWait.js.map +1 -0
- package/dist/Timer/timeout.d.ts +4 -0
- package/dist/Timer/timeout.js +21 -0
- package/dist/Timer/timeout.js.map +1 -0
- package/dist/Timer/wait.d.ts +5 -0
- package/dist/Timer/wait.js +27 -0
- package/dist/Timer/wait.js.map +1 -0
- package/dist/TypeScript/asyncIterator.d.ts +1 -0
- package/dist/TypeScript/asyncIterator.js +76 -0
- package/dist/TypeScript/asyncIterator.js.map +1 -0
- package/dist/TypeScript/expect.d.ts +6 -0
- package/dist/TypeScript/expect.js +12 -0
- package/dist/TypeScript/expect.js.map +1 -0
- package/dist/TypeScript/generator.d.ts +1 -0
- package/dist/TypeScript/generator.js +20 -0
- package/dist/TypeScript/generator.js.map +1 -0
- package/dist/TypeScript/object.d.ts +12 -0
- package/dist/TypeScript/object.js +3 -0
- package/dist/TypeScript/object.js.map +1 -0
- package/dist/TypeScript/observable-polyfill.d.ts +1 -0
- package/dist/TypeScript/observable-polyfill.js +33 -0
- package/dist/TypeScript/observable-polyfill.js.map +1 -0
- package/dist/Utils/array.d.ts +2 -0
- package/dist/Utils/array.js +23 -0
- package/dist/Utils/array.js.map +1 -0
- package/dist/Utils/enum.d.ts +24 -0
- package/dist/Utils/enum.js +35 -0
- package/dist/Utils/enum.js.map +1 -0
- package/dist/Utils/file.d.ts +1 -0
- package/dist/Utils/file.js +55 -0
- package/dist/Utils/file.js.map +1 -0
- package/dist/Utils/http.d.ts +23 -0
- package/dist/Utils/http.js +68 -0
- package/dist/Utils/http.js.map +1 -0
- package/dist/Utils/object.d.ts +22 -0
- package/dist/Utils/object.js +112 -0
- package/dist/Utils/object.js.map +1 -0
- package/dist/Utils/sorting.d.ts +1 -0
- package/dist/Utils/sorting.js +33 -0
- package/dist/Utils/sorting.js.map +1 -0
- package/dist/WebSocket/Client/ISocket.d.ts +55 -0
- package/dist/WebSocket/Client/ISocket.js +46 -0
- package/dist/WebSocket/Client/ISocket.js.map +1 -0
- package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.d.ts +8 -0
- package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.js +81 -0
- package/dist/WebSocket/Client/SocketIO/createSocketIOSocket.js.map +1 -0
- package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.d.ts +25 -0
- package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.js +174 -0
- package/dist/WebSocket/Client/WS/AutoReconnectingWSSocket.js.map +1 -0
- package/dist/WebSocket/Client/WS/createWSSocket.d.ts +8 -0
- package/dist/WebSocket/Client/WS/createWSSocket.js +155 -0
- package/dist/WebSocket/Client/WS/createWSSocket.js.map +1 -0
- package/dist/WebSocket/autoWsServerFactory.d.ts +4 -0
- package/dist/WebSocket/autoWsServerFactory.js +334 -0
- package/dist/WebSocket/autoWsServerFactory.js.map +1 -0
- package/dist/WebSocket/perMessageDeflate.d.ts +14 -0
- package/dist/WebSocket/perMessageDeflate.js +3 -0
- package/dist/WebSocket/perMessageDeflate.js.map +1 -0
- package/dist/WebSocket/socketIOServerFactory.d.ts +6 -0
- package/dist/WebSocket/socketIOServerFactory.js +124 -0
- package/dist/WebSocket/socketIOServerFactory.js.map +1 -0
- package/dist/WebSocket/socketServer.d.ts +30 -0
- package/dist/WebSocket/socketServer.js +3 -0
- package/dist/WebSocket/socketServer.js.map +1 -0
- package/dist/WebSocket/wsServerFactory.d.ts +8 -0
- package/dist/WebSocket/wsServerFactory.js +272 -0
- package/dist/WebSocket/wsServerFactory.js.map +1 -0
- package/dist/Webpack/NpmPackPlugin.d.ts +14 -0
- package/dist/Webpack/NpmPackPlugin.js +90 -0
- package/dist/Webpack/NpmPackPlugin.js.map +1 -0
- package/dist/Zod/zod.d.ts +2 -0
- package/dist/Zod/zod.js +7 -0
- package/dist/Zod/zod.js.map +1 -0
- package/dist/Zod/zodError.d.ts +40 -0
- package/dist/Zod/zodError.js +76 -0
- package/dist/Zod/zodError.js.map +1 -0
- package/package.json +36 -2
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.preEncryptPassword = preEncryptPassword;
|
|
4
|
+
exports.encryptPassword = encryptPassword;
|
|
5
|
+
var crypto_1 = require("crypto");
|
|
6
|
+
var ts_brand_1 = require("ts-brand");
|
|
7
|
+
var PreEncryptedPassword = (0, ts_brand_1.make)();
|
|
8
|
+
function preEncryptPassword(plainPassword) {
|
|
9
|
+
var salt = '10a34637ad661d98ba3344717656fcc76209c2f8';
|
|
10
|
+
var hash = (0, crypto_1.createHash)('sha256');
|
|
11
|
+
hash.update(plainPassword + salt);
|
|
12
|
+
return PreEncryptedPassword(hash.digest('hex'));
|
|
13
|
+
}
|
|
14
|
+
function encryptPassword(plainPassword, salt) {
|
|
15
|
+
if (plainPassword.length !== 64) {
|
|
16
|
+
throw new Error('Password must be pre-encrypted using preEncryptPassword function to be 64 characters long');
|
|
17
|
+
}
|
|
18
|
+
return new Promise(function (resolve, reject) {
|
|
19
|
+
return (0, crypto_1.pbkdf2)(plainPassword, salt, 100000, 512, 'sha512', function (error, key) {
|
|
20
|
+
if (error) {
|
|
21
|
+
reject(error);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
resolve(key.toString('hex').substring(0, 64));
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=passwordEncryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passwordEncryption.js","sourceRoot":"","sources":["../../src/Encryption/passwordEncryption.ts"],"names":[],"mappings":";;AAMA,gDAKC;AAED,0CAaC;AA1BD,iCAA4C;AAC5C,qCAAuC;AAGvC,IAAM,oBAAoB,GAAG,IAAA,eAAI,GAAwB,CAAC;AAE1D,SAAgB,kBAAkB,CAAC,aAAqB;IACvD,IAAM,IAAI,GAAG,0CAA0C,CAAC;IACxD,IAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAClC,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,CAAC;AAED,SAAgB,eAAe,CAAC,aAAmC,EAAE,IAAY;IAChF,IAAI,aAAa,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;IAC9G,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,UAAC,OAA4C,EAAE,MAA8B;QAC/F,OAAA,IAAA,eAAM,EAAC,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAC,KAAY,EAAE,GAAW;YAC5E,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC,CAAC;IANF,CAME,CACF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Globally recommended value for token encryption iterations value.
|
|
3
|
+
*/
|
|
4
|
+
export declare const DEFAULT_ITERATIONS = 10000;
|
|
5
|
+
/**
|
|
6
|
+
* Old value for old tokens where was too much iterations and encrypting was too slow (not usable)
|
|
7
|
+
* @deprecated Use DEFAULT_ITERATIONS value instead which is compromise in security of token and speed
|
|
8
|
+
*/
|
|
9
|
+
export declare const OBSOLETE_ITERATIONS = 100000;
|
|
10
|
+
/**
|
|
11
|
+
* Globally recommended function to encrypt tokens.
|
|
12
|
+
* Use default iterations value if possible. Only for special cases or for obsolete tokens is used different.
|
|
13
|
+
*/
|
|
14
|
+
export declare function encryptToken(plainToken: string, salt: string, iterations?: number): Promise<string>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OBSOLETE_ITERATIONS = exports.DEFAULT_ITERATIONS = void 0;
|
|
4
|
+
exports.encryptToken = encryptToken;
|
|
5
|
+
var crypto_1 = require("crypto");
|
|
6
|
+
/**
|
|
7
|
+
* Globally recommended value for token encryption iterations value.
|
|
8
|
+
*/
|
|
9
|
+
exports.DEFAULT_ITERATIONS = 10000;
|
|
10
|
+
/**
|
|
11
|
+
* Old value for old tokens where was too much iterations and encrypting was too slow (not usable)
|
|
12
|
+
* @deprecated Use DEFAULT_ITERATIONS value instead which is compromise in security of token and speed
|
|
13
|
+
*/
|
|
14
|
+
exports.OBSOLETE_ITERATIONS = 100000;
|
|
15
|
+
/**
|
|
16
|
+
* Globally recommended function to encrypt tokens.
|
|
17
|
+
* Use default iterations value if possible. Only for special cases or for obsolete tokens is used different.
|
|
18
|
+
*/
|
|
19
|
+
function encryptToken(plainToken, salt, iterations) {
|
|
20
|
+
if (iterations === void 0) { iterations = exports.DEFAULT_ITERATIONS; }
|
|
21
|
+
return new Promise(function (resolve, reject) {
|
|
22
|
+
return (0, crypto_1.pbkdf2)(plainToken, salt, iterations, 512, 'sha512', function (error, key) {
|
|
23
|
+
if (error) {
|
|
24
|
+
reject(error);
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
resolve(key.toString('hex').substring(0, 64));
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=tokenEncryption.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenEncryption.js","sourceRoot":"","sources":["../../src/Encryption/tokenEncryption.ts"],"names":[],"mappings":";;;AAgBA,oCAUC;AA1BD,iCAAgC;AAEhC;;GAEG;AACU,QAAA,kBAAkB,GAAG,KAAK,CAAC;AACxC;;;GAGG;AACU,QAAA,mBAAmB,GAAG,MAAM,CAAC;AAE1C;;;GAGG;AACH,SAAgB,YAAY,CAAC,UAAkB,EAAE,IAAY,EAAE,UAAuC;IAAvC,2BAAA,EAAA,aAAqB,0BAAkB;IACrG,OAAO,IAAI,OAAO,CAAC,UAAC,OAAyC,EAAE,MAA8B;QAC5F,OAAA,IAAA,eAAM,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAC,KAAY,EAAE,GAAW;YAC7E,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,CAAC;YACf,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;QACF,CAAC,CAAC;IANF,CAME,CACF,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Same as regular NodeJS EventEmitter, but accepts async listeners.
|
|
3
|
+
*/
|
|
4
|
+
export declare class AsyncEventEmitter {
|
|
5
|
+
private listeners;
|
|
6
|
+
/**
|
|
7
|
+
* Adds a listener for the event. The listener will be called every time the event is emitted. The listener may be async.
|
|
8
|
+
*/
|
|
9
|
+
on(event: string, listener: Function): this;
|
|
10
|
+
/**
|
|
11
|
+
* Adds a listener for the event. The listener will be called only once, the first time the event is emitted. The listener may be async.
|
|
12
|
+
*/
|
|
13
|
+
once(event: string, listener: Function): this;
|
|
14
|
+
/**
|
|
15
|
+
* Removes a listener for the event.
|
|
16
|
+
*/
|
|
17
|
+
off(event: string, listener: Function): this;
|
|
18
|
+
/**
|
|
19
|
+
* Alias for `on`.
|
|
20
|
+
*/
|
|
21
|
+
addListener(event: string, listener: Function): this;
|
|
22
|
+
/**
|
|
23
|
+
* Alias for `off`.
|
|
24
|
+
*/
|
|
25
|
+
removeListener(event: string, listener: Function): this;
|
|
26
|
+
/**
|
|
27
|
+
* Emits event and resolves, once all listeners have resolved.
|
|
28
|
+
*/
|
|
29
|
+
emit(event: string, ...args: any[]): Promise<void>;
|
|
30
|
+
private addNewListener;
|
|
31
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.AsyncEventEmitter = void 0;
|
|
40
|
+
/**
|
|
41
|
+
* Same as regular NodeJS EventEmitter, but accepts async listeners.
|
|
42
|
+
*/
|
|
43
|
+
var AsyncEventEmitter = /** @class */ (function () {
|
|
44
|
+
function AsyncEventEmitter() {
|
|
45
|
+
this.listeners = {};
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Adds a listener for the event. The listener will be called every time the event is emitted. The listener may be async.
|
|
49
|
+
*/
|
|
50
|
+
AsyncEventEmitter.prototype.on = function (event, listener) {
|
|
51
|
+
this.addNewListener(event, listener, false);
|
|
52
|
+
return this;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Adds a listener for the event. The listener will be called only once, the first time the event is emitted. The listener may be async.
|
|
56
|
+
*/
|
|
57
|
+
AsyncEventEmitter.prototype.once = function (event, listener) {
|
|
58
|
+
this.addNewListener(event, listener, true);
|
|
59
|
+
return this;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Removes a listener for the event.
|
|
63
|
+
*/
|
|
64
|
+
AsyncEventEmitter.prototype.off = function (event, listener) {
|
|
65
|
+
if (!this.listeners[event]) {
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
this.listeners[event] = this.listeners[event].filter(function (l) { return l.listener !== listener; });
|
|
69
|
+
return this;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Alias for `on`.
|
|
73
|
+
*/
|
|
74
|
+
AsyncEventEmitter.prototype.addListener = function (event, listener) {
|
|
75
|
+
return this.on(event, listener);
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Alias for `off`.
|
|
79
|
+
*/
|
|
80
|
+
AsyncEventEmitter.prototype.removeListener = function (event, listener) {
|
|
81
|
+
return this.off(event, listener);
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Emits event and resolves, once all listeners have resolved.
|
|
85
|
+
*/
|
|
86
|
+
AsyncEventEmitter.prototype.emit = function (event) {
|
|
87
|
+
var args = [];
|
|
88
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
89
|
+
args[_i - 1] = arguments[_i];
|
|
90
|
+
}
|
|
91
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
92
|
+
var listeners;
|
|
93
|
+
return __generator(this, function (_a) {
|
|
94
|
+
switch (_a.label) {
|
|
95
|
+
case 0:
|
|
96
|
+
if (!this.listeners[event]) {
|
|
97
|
+
return [2 /*return*/];
|
|
98
|
+
}
|
|
99
|
+
listeners = this.listeners[event];
|
|
100
|
+
// Remove all listeners that should be called only once
|
|
101
|
+
this.listeners[event] = listeners.filter(function (_a) {
|
|
102
|
+
var once = _a.once;
|
|
103
|
+
return !once;
|
|
104
|
+
});
|
|
105
|
+
return [4 /*yield*/, Promise.all(listeners.map(function (_a) {
|
|
106
|
+
var listener = _a.listener;
|
|
107
|
+
return listener.apply(void 0, args);
|
|
108
|
+
}))];
|
|
109
|
+
case 1:
|
|
110
|
+
_a.sent();
|
|
111
|
+
return [2 /*return*/];
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
};
|
|
116
|
+
AsyncEventEmitter.prototype.addNewListener = function (event, listener, once) {
|
|
117
|
+
if (!this.listeners[event]) {
|
|
118
|
+
this.listeners[event] = [];
|
|
119
|
+
}
|
|
120
|
+
this.listeners[event].push({ listener: listener, once: once });
|
|
121
|
+
};
|
|
122
|
+
return AsyncEventEmitter;
|
|
123
|
+
}());
|
|
124
|
+
exports.AsyncEventEmitter = AsyncEventEmitter;
|
|
125
|
+
//# sourceMappingURL=AsyncEventEmitter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AsyncEventEmitter.js","sourceRoot":"","sources":["../../src/Events/AsyncEventEmitter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA;;GAEG;AACH;IAAA;QACS,cAAS,GAA+B,EAAE,CAAC;IAoEpD,CAAC;IAlEA;;OAEG;IACI,8BAAE,GAAT,UAAU,KAAa,EAAE,QAAkB;QAC1C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,gCAAI,GAAX,UAAY,KAAa,EAAE,QAAkB;QAC5C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,+BAAG,GAAV,UAAW,KAAa,EAAE,QAAkB;QAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,QAAQ,KAAK,QAAQ,EAAvB,CAAuB,CAAC,CAAC;QAErF,OAAO,IAAI,CAAC;IACb,CAAC;IAED;;OAEG;IACI,uCAAW,GAAlB,UAAmB,KAAa,EAAE,QAAkB;QACnD,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACI,0CAAc,GAArB,UAAsB,KAAa,EAAE,QAAkB;QACtD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED;;OAEG;IACU,gCAAI,GAAjB,UAAkB,KAAa;QAAE,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,6BAAc;;;;;;;wBAC9C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC5B,sBAAO;wBACR,CAAC;wBAEK,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBAExC,uDAAuD;wBACvD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,UAAC,EAAQ;gCAAN,IAAI,UAAA;4BAAO,OAAA,CAAC,IAAI;wBAAL,CAAK,CAAC,CAAC;wBAE9D,qBAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAC,EAAY;oCAAV,QAAQ,cAAA;gCAAO,OAAA,QAAQ,eAAI,IAAI;4BAAhB,CAAiB,CAAC,CAAC,EAAA;;wBAArE,SAAqE,CAAC;;;;;KACtE;IAEO,0CAAc,GAAtB,UAAuB,KAAa,EAAE,QAAkB,EAAE,IAAa;QACtE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;IAChD,CAAC;IACF,wBAAC;AAAD,CAAC,AArED,IAqEC;AArEY,8CAAiB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
export declare function waitForSuccessOrFailEvents<R>(eventEmitter: EventEmitter, successEvent: string, failEvent: string): Promise<R>;
|
|
3
|
+
export declare function waitForSuccessEventsOrFailEvent<R>(eventEmitter: EventEmitter, successEvents: string[], failEvent: string): Promise<R>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.waitForSuccessOrFailEvents = waitForSuccessOrFailEvents;
|
|
4
|
+
exports.waitForSuccessEventsOrFailEvent = waitForSuccessEventsOrFailEvent;
|
|
5
|
+
function waitForSuccessOrFailEvents(eventEmitter, successEvent, failEvent) {
|
|
6
|
+
return waitForSuccessEventsOrFailEvent(eventEmitter, [successEvent], failEvent);
|
|
7
|
+
}
|
|
8
|
+
function waitForSuccessEventsOrFailEvent(eventEmitter, successEvents, failEvent) {
|
|
9
|
+
return new Promise(function (resolve, reject) {
|
|
10
|
+
var successListener;
|
|
11
|
+
var failListener;
|
|
12
|
+
successListener = function (result) {
|
|
13
|
+
eventEmitter.removeListener(failEvent, failListener);
|
|
14
|
+
resolve(result);
|
|
15
|
+
};
|
|
16
|
+
failListener = function () {
|
|
17
|
+
successEvents.forEach(function (se) { return eventEmitter.removeListener(se, successListener); });
|
|
18
|
+
reject(new Error('error: ' + failEvent));
|
|
19
|
+
};
|
|
20
|
+
successEvents.forEach(function (se) { return eventEmitter.once(se, successListener); });
|
|
21
|
+
eventEmitter.once(failEvent, failListener);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=eventsHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventsHelpers.js","sourceRoot":"","sources":["../../src/Events/eventsHelpers.ts"],"names":[],"mappings":";;AAEA,gEAEC;AAED,0EAeC;AAnBD,SAAgB,0BAA0B,CAAI,YAA0B,EAAE,YAAoB,EAAE,SAAiB;IAChH,OAAO,+BAA+B,CAAI,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;AACpF,CAAC;AAED,SAAgB,+BAA+B,CAAI,YAA0B,EAAE,aAAuB,EAAE,SAAiB;IACxH,OAAO,IAAI,OAAO,CAAI,UAAC,OAA4B,EAAE,MAA8B;QAClF,IAAI,eAAoC,CAAC;QACzC,IAAI,YAAwB,CAAC;QAC7B,eAAe,GAAG,UAAC,MAAS;YAC3B,YAAY,CAAC,cAAc,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;YACrD,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,YAAY,GAAG;YACd,aAAa,CAAC,OAAO,CAAC,UAAC,EAAU,IAAK,OAAA,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,eAAe,CAAC,EAAhD,CAAgD,CAAC,CAAC;YACxF,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QACF,aAAa,CAAC,OAAO,CAAC,UAAC,EAAU,IAAK,OAAA,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,eAAe,CAAC,EAAtC,CAAsC,CAAC,CAAC;QAC9E,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare class GenericGracefulExit {
|
|
2
|
+
private serviceName;
|
|
3
|
+
private timeout;
|
|
4
|
+
private waitForSuccessOrFailPromise;
|
|
5
|
+
private emitter;
|
|
6
|
+
private readonly exitStrategy;
|
|
7
|
+
constructor(serviceName: string, timeout?: number, exitStrategy?: () => void);
|
|
8
|
+
waitToConnectOrDie(): Promise<void>;
|
|
9
|
+
connected(): void;
|
|
10
|
+
closed(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.GenericGracefulExit = void 0;
|
|
43
|
+
var events_1 = require("events");
|
|
44
|
+
var debug_1 = __importDefault(require("debug"));
|
|
45
|
+
var eventsHelpers_1 = require("./eventsHelpers");
|
|
46
|
+
var debug = (0, debug_1.default)('@signageos/lib:Events:genericGracefulExit');
|
|
47
|
+
var GenericGracefulExit = /** @class */ (function () {
|
|
48
|
+
function GenericGracefulExit(serviceName, timeout, exitStrategy) {
|
|
49
|
+
if (timeout === void 0) { timeout = 30e3; }
|
|
50
|
+
if (exitStrategy === void 0) { exitStrategy = function () { return process.exit(1); }; }
|
|
51
|
+
this.serviceName = serviceName;
|
|
52
|
+
this.timeout = timeout;
|
|
53
|
+
this.emitter = new events_1.EventEmitter();
|
|
54
|
+
this.waitForSuccessOrFailPromise = null;
|
|
55
|
+
this.exitStrategy = exitStrategy;
|
|
56
|
+
}
|
|
57
|
+
GenericGracefulExit.prototype.waitToConnectOrDie = function () {
|
|
58
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
59
|
+
var timeout_1;
|
|
60
|
+
var _this = this;
|
|
61
|
+
return __generator(this, function (_a) {
|
|
62
|
+
if (!this.waitForSuccessOrFailPromise) {
|
|
63
|
+
debug('%s waits to connect, timeout is %d', this.serviceName, this.timeout);
|
|
64
|
+
// turns align rule off
|
|
65
|
+
this.waitForSuccessOrFailPromise = (0, eventsHelpers_1.waitForSuccessEventsOrFailEvent)(this.emitter, ['connected_ok', 'closed_ok'], 'timeout');
|
|
66
|
+
timeout_1 = setTimeout(function () {
|
|
67
|
+
debug('if %s does not connect it will be terminated in %d', _this.serviceName, _this.timeout);
|
|
68
|
+
_this.exitStrategy();
|
|
69
|
+
_this.closed();
|
|
70
|
+
}, this.timeout);
|
|
71
|
+
this.waitForSuccessOrFailPromise.then(function () { return clearTimeout(timeout_1); });
|
|
72
|
+
}
|
|
73
|
+
return [2 /*return*/, this.waitForSuccessOrFailPromise];
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
GenericGracefulExit.prototype.connected = function () {
|
|
78
|
+
this.emitter.emit('connected_ok');
|
|
79
|
+
this.waitForSuccessOrFailPromise = null;
|
|
80
|
+
debug('%s connected', this.serviceName);
|
|
81
|
+
};
|
|
82
|
+
GenericGracefulExit.prototype.closed = function () {
|
|
83
|
+
this.emitter.emit('closed_ok');
|
|
84
|
+
this.waitForSuccessOrFailPromise = null;
|
|
85
|
+
debug('%s closed', this.serviceName);
|
|
86
|
+
};
|
|
87
|
+
return GenericGracefulExit;
|
|
88
|
+
}());
|
|
89
|
+
exports.GenericGracefulExit = GenericGracefulExit;
|
|
90
|
+
//# sourceMappingURL=genericGracefulExit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"genericGracefulExit.js","sourceRoot":"","sources":["../../src/Events/genericGracefulExit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAsC;AACtC,gDAA0B;AAC1B,iDAAkE;AAElE,IAAM,KAAK,GAAG,IAAA,eAAK,EAAC,2CAA2C,CAAC,CAAC;AAEjE;IAKC,6BACS,WAAmB,EACnB,OAAc,EACtB,YAAgD;QADxC,wBAAA,EAAA,cAAc;QACtB,6BAAA,EAAA,6BAAiC,OAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAf,CAAe;QAFxC,gBAAW,GAAX,WAAW,CAAQ;QACnB,YAAO,GAAP,OAAO,CAAO;QAGtB,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAY,EAAE,CAAC;QAClC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;IAEY,gDAAkB,GAA/B;;;;;gBACC,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;oBACvC,KAAK,CAAC,oCAAoC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAE5E,uBAAuB;oBACvB,IAAI,CAAC,2BAA2B,GAAG,IAAA,+CAA+B,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,cAAc,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC;oBACrH,YAAU,UAAU,CAAC;wBAC1B,KAAK,CAAC,oDAAoD,EAAE,KAAI,CAAC,WAAW,EAAE,KAAI,CAAC,OAAO,CAAC,CAAC;wBAC5F,KAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,KAAI,CAAC,MAAM,EAAE,CAAC;oBACf,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;oBAEjB,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,cAAM,OAAA,YAAY,CAAC,SAAO,CAAC,EAArB,CAAqB,CAAC,CAAC;gBACpE,CAAC;gBAED,sBAAO,IAAI,CAAC,2BAA2B,EAAC;;;KACxC;IAEM,uCAAS,GAAhB;QACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClC,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEM,oCAAM,GAAb;QACC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC/B,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IACF,0BAAC;AAAD,CAAC,AA5CD,IA4CC;AA5CY,kDAAmB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare function getStringValuesRecursive(path: string, ext?: string): string[];
|
|
2
|
+
export interface IModuleExport {
|
|
3
|
+
relativePath: string;
|
|
4
|
+
export: string;
|
|
5
|
+
value: any;
|
|
6
|
+
}
|
|
7
|
+
export declare function getModuleExportsRecursive(path: string, relativeBasePath?: string, ext?: string): IModuleExport[];
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
26
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
27
|
+
if (ar || !(i in from)) {
|
|
28
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
29
|
+
ar[i] = from[i];
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
|
+
};
|
|
34
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
+
exports.getStringValuesRecursive = getStringValuesRecursive;
|
|
36
|
+
exports.getModuleExportsRecursive = getModuleExportsRecursive;
|
|
37
|
+
var fs = __importStar(require("fs"));
|
|
38
|
+
function getStringValuesRecursive(path, ext) {
|
|
39
|
+
if (ext === void 0) { ext = '.js'; }
|
|
40
|
+
var dirs = fs.readdirSync(path);
|
|
41
|
+
var values = [];
|
|
42
|
+
for (var _i = 0, dirs_1 = dirs; _i < dirs_1.length; _i++) {
|
|
43
|
+
var dir = dirs_1[_i];
|
|
44
|
+
var filePath = path + '/' + dir;
|
|
45
|
+
var stats = fs.statSync(filePath);
|
|
46
|
+
if (stats.isDirectory()) {
|
|
47
|
+
values = __spreadArray(__spreadArray([], values, true), getStringValuesRecursive(filePath, ext), true);
|
|
48
|
+
}
|
|
49
|
+
else if (dir.substr(dir.lastIndexOf('.')) === ext) {
|
|
50
|
+
var module_1 = require(filePath);
|
|
51
|
+
for (var name_1 in module_1) {
|
|
52
|
+
if (typeof module_1[name_1] === 'string') {
|
|
53
|
+
values = __spreadArray(__spreadArray([], values, true), [module_1[name_1]], false);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return values;
|
|
59
|
+
}
|
|
60
|
+
function getModuleExportsRecursive(path, relativeBasePath, ext) {
|
|
61
|
+
if (relativeBasePath === void 0) { relativeBasePath = '.'; }
|
|
62
|
+
if (ext === void 0) { ext = '.js'; }
|
|
63
|
+
var dirs = fs.readdirSync(path);
|
|
64
|
+
var moduleExports = [];
|
|
65
|
+
for (var _i = 0, dirs_2 = dirs; _i < dirs_2.length; _i++) {
|
|
66
|
+
var dir = dirs_2[_i];
|
|
67
|
+
var filePath = path + '/' + dir;
|
|
68
|
+
var stats = fs.statSync(filePath);
|
|
69
|
+
if (stats.isDirectory()) {
|
|
70
|
+
moduleExports = __spreadArray(__spreadArray([], moduleExports, true), getModuleExportsRecursive(filePath, relativeBasePath + '/' + dir, ext), true);
|
|
71
|
+
}
|
|
72
|
+
else if (dir.substr(dir.lastIndexOf('.')) === ext) {
|
|
73
|
+
var relativePath = relativeBasePath + '/' + dir.substr(0, dir.lastIndexOf('.'));
|
|
74
|
+
var module_2 = require(filePath);
|
|
75
|
+
for (var name_2 in module_2) {
|
|
76
|
+
moduleExports = __spreadArray(__spreadArray([], moduleExports, true), [
|
|
77
|
+
{
|
|
78
|
+
relativePath: relativePath,
|
|
79
|
+
export: name_2,
|
|
80
|
+
value: module_2[name_2],
|
|
81
|
+
},
|
|
82
|
+
], false);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return moduleExports;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=moduleDiscoverer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleDiscoverer.js","sourceRoot":"","sources":["../../src/FileSystem/moduleDiscoverer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,4DAkBC;AAQD,8DAwBC;AApDD,qCAAyB;AAEzB,SAAgB,wBAAwB,CAAC,IAAY,EAAE,GAAmB;IAAnB,oBAAA,EAAA,WAAmB;IACzE,IAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,MAAM,GAAa,EAAE,CAAC;IAC1B,KAAgB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE,CAAC;QAAlB,IAAI,GAAG,aAAA;QACX,IAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAClC,IAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,MAAM,mCAAO,MAAM,SAAK,wBAAwB,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAC,CAAC;QAClE,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrD,IAAM,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,KAAK,IAAI,MAAI,IAAI,QAAM,EAAE,CAAC;gBACzB,IAAI,OAAO,QAAM,CAAC,MAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACtC,MAAM,mCAAO,MAAM,UAAE,QAAM,CAAC,MAAI,CAAC,SAAC,CAAC;gBACpC,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAQD,SAAgB,yBAAyB,CAAC,IAAY,EAAE,gBAA8B,EAAE,GAAmB;IAAnD,iCAAA,EAAA,sBAA8B;IAAE,oBAAA,EAAA,WAAmB;IAC1G,IAAM,IAAI,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,aAAa,GAAoB,EAAE,CAAC;IACxC,KAAgB,UAAI,EAAJ,aAAI,EAAJ,kBAAI,EAAJ,IAAI,EAAE,CAAC;QAAlB,IAAI,GAAG,aAAA;QACX,IAAM,QAAQ,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC;QAClC,IAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACzB,aAAa,mCAAO,aAAa,SAAK,yBAAyB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,GAAG,GAAG,GAAG,EAAE,GAAG,CAAC,OAAC,CAAC;QAC/G,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACrD,IAAM,YAAY,GAAG,gBAAgB,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAClF,IAAM,QAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YACjC,KAAK,IAAI,MAAI,IAAI,QAAM,EAAE,CAAC;gBACzB,aAAa,mCACT,aAAa;oBAChB;wBACC,YAAY,cAAA;wBACZ,MAAM,EAAE,MAAI;wBACZ,KAAK,EAAE,QAAM,CAAC,MAAI,CAAC;qBACnB;yBACD,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a tmp directory
|
|
3
|
+
*
|
|
4
|
+
* @returns path to created tmp directory and callback to delete it once it's not needed anymore
|
|
5
|
+
*/
|
|
6
|
+
export declare function createTmpDirectory(namePrefix: string): Promise<{
|
|
7
|
+
path: string;
|
|
8
|
+
cleanup: () => Promise<void>;
|
|
9
|
+
}>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createTmpDirectory = createTmpDirectory;
|
|
40
|
+
var os_1 = require("os");
|
|
41
|
+
var fs_extra_1 = require("fs-extra");
|
|
42
|
+
var path_1 = require("path");
|
|
43
|
+
/**
|
|
44
|
+
* Creates a tmp directory
|
|
45
|
+
*
|
|
46
|
+
* @returns path to created tmp directory and callback to delete it once it's not needed anymore
|
|
47
|
+
*/
|
|
48
|
+
function createTmpDirectory(namePrefix) {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
50
|
+
var dir, path, cleanup;
|
|
51
|
+
return __generator(this, function (_a) {
|
|
52
|
+
switch (_a.label) {
|
|
53
|
+
case 0:
|
|
54
|
+
dir = (0, os_1.tmpdir)();
|
|
55
|
+
return [4 /*yield*/, (0, fs_extra_1.mkdtemp)((0, path_1.join)(dir, namePrefix))];
|
|
56
|
+
case 1:
|
|
57
|
+
path = _a.sent();
|
|
58
|
+
cleanup = function () { return (0, fs_extra_1.remove)(path); };
|
|
59
|
+
return [2 /*return*/, { path: path, cleanup: cleanup }];
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=tmpDir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tmpDir.js","sourceRoot":"","sources":["../../src/FileSystem/tmpDir.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,gDAMC;AAfD,yBAA4B;AAC5B,qCAA2C;AAC3C,6BAA4B;AAE5B;;;;GAIG;AACH,SAAsB,kBAAkB,CAAC,UAAkB;;;;;;oBACpD,GAAG,GAAG,IAAA,WAAM,GAAE,CAAC;oBACR,qBAAM,IAAA,kBAAO,EAAC,IAAA,WAAI,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,EAAA;;oBAA3C,IAAI,GAAG,SAAoC;oBAC3C,OAAO,GAAG,cAAM,OAAA,IAAA,iBAAM,EAAC,IAAI,CAAC,EAAZ,CAAY,CAAC;oBAEnC,sBAAO,EAAE,IAAI,MAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;;CACzB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type Function<TReturn> = (...args: unknown[]) => TReturn;
|
|
2
|
+
/**
|
|
3
|
+
* Composes multiple functions into a single function.
|
|
4
|
+
*
|
|
5
|
+
* The functions are composed from right to left, meaning that the first function in the list will be the last to be called.
|
|
6
|
+
*
|
|
7
|
+
* For example:
|
|
8
|
+
* compose(f, g, h)(x) is equivalent to f(g(h(x)))
|
|
9
|
+
*
|
|
10
|
+
* @param functions The functions to compose
|
|
11
|
+
* @returns A single function that is the composition of all the provided functions
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* const addOne = (x: number) => x + 1;
|
|
16
|
+
* const multiplyByTwo = (x: number) => x * 2;
|
|
17
|
+
* const addOneAndMultiplyByTwo = compose(multiplyByTwo, addOne);
|
|
18
|
+
* const result = addOneAndMultiplyByTwo(3); // 8
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function compose<T>(...functions: Function<T>[]): Function<T>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compose = compose;
|
|
4
|
+
/**
|
|
5
|
+
* Composes multiple functions into a single function.
|
|
6
|
+
*
|
|
7
|
+
* The functions are composed from right to left, meaning that the first function in the list will be the last to be called.
|
|
8
|
+
*
|
|
9
|
+
* For example:
|
|
10
|
+
* compose(f, g, h)(x) is equivalent to f(g(h(x)))
|
|
11
|
+
*
|
|
12
|
+
* @param functions The functions to compose
|
|
13
|
+
* @returns A single function that is the composition of all the provided functions
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* const addOne = (x: number) => x + 1;
|
|
18
|
+
* const multiplyByTwo = (x: number) => x * 2;
|
|
19
|
+
* const addOneAndMultiplyByTwo = compose(multiplyByTwo, addOne);
|
|
20
|
+
* const result = addOneAndMultiplyByTwo(3); // 8
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
function compose() {
|
|
24
|
+
var functions = [];
|
|
25
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
26
|
+
functions[_i] = arguments[_i];
|
|
27
|
+
}
|
|
28
|
+
if (functions.length === 0) {
|
|
29
|
+
throw new Error('compose requires at least one argument');
|
|
30
|
+
}
|
|
31
|
+
if (functions.length === 1) {
|
|
32
|
+
return functions[0];
|
|
33
|
+
}
|
|
34
|
+
return functions.reduceRight(function (acc, f) {
|
|
35
|
+
return function () {
|
|
36
|
+
var args = [];
|
|
37
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
38
|
+
args[_i] = arguments[_i];
|
|
39
|
+
}
|
|
40
|
+
return f(acc.apply(void 0, args));
|
|
41
|
+
};
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/Functional/compose.ts"],"names":[],"mappings":";;AAqBA,0BAcC;AAjCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,OAAO;IAAI,mBAA2B;SAA3B,UAA2B,EAA3B,qBAA2B,EAA3B,IAA2B;QAA3B,8BAA2B;;IACrD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC,WAAW,CAC3B,UAAC,GAAG,EAAE,CAAC;QACN,OAAA;YAAC,cAAc;iBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;gBAAd,yBAAc;;YACd,OAAA,CAAC,CAAC,GAAG,eAAI,IAAI,EAAE;QAAf,CAAe;IADhB,CACgB,CACjB,CAAC;AACH,CAAC"}
|