@gomomento/sdk-core 1.110.3 → 1.112.0
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/src/auth/credential-provider.d.ts +10 -16
- package/dist/src/auth/credential-provider.js +30 -66
- package/dist/src/config/retry/subscription-retry-eligibility-strategy.d.ts +7 -0
- package/dist/src/config/retry/subscription-retry-eligibility-strategy.js +3 -0
- package/dist/src/config/retry/subscription-retry-strategy.d.ts +11 -0
- package/dist/src/config/retry/subscription-retry-strategy.js +5 -0
- package/dist/src/errors/errors.d.ts +7 -0
- package/dist/src/errors/errors.js +12 -2
- package/dist/src/index.d.ts +2 -3
- package/dist/src/index.js +4 -6
- package/dist/src/internal/clients/index.d.ts +0 -1
- package/dist/src/internal/clients/index.js +1 -2
- package/dist/src/internal/clients/pubsub/AbstractPubsubClient.d.ts +6 -3
- package/dist/src/internal/clients/pubsub/AbstractPubsubClient.js +23 -22
- package/dist/src/internal/clients/pubsub/AbstractTopicClient.d.ts +16 -3
- package/dist/src/internal/clients/pubsub/AbstractTopicClient.js +61 -10
- package/dist/src/internal/utils/auth.d.ts +4 -9
- package/dist/src/internal/utils/auth.js +8 -22
- package/dist/src/utils/topic-call-options.d.ts +4 -0
- package/dist/src/utils/topic-call-options.js +1 -1
- package/package.json +1 -1
- package/dist/src/clients/IStorageClient.d.ts +0 -13
- package/dist/src/clients/IStorageClient.js +0 -3
- package/dist/src/internal/clients/storage/AbstractStorageClient.d.ts +0 -21
- package/dist/src/internal/clients/storage/AbstractStorageClient.js +0 -48
- package/dist/src/internal/clients/storage/IStorageControlClient.d.ts +0 -7
- package/dist/src/internal/clients/storage/IStorageControlClient.js +0 -3
- package/dist/src/internal/clients/storage/IStorageDataClient.d.ts +0 -10
- package/dist/src/internal/clients/storage/IStorageDataClient.js +0 -3
- package/dist/src/internal/clients/storage/index.d.ts +0 -4
- package/dist/src/internal/clients/storage/index.js +0 -21
- package/dist/src/messages/responses/storage/control/create-store.d.ts +0 -34
- package/dist/src/messages/responses/storage/control/create-store.js +0 -43
- package/dist/src/messages/responses/storage/control/delete-store.d.ts +0 -28
- package/dist/src/messages/responses/storage/control/delete-store.js +0 -33
- package/dist/src/messages/responses/storage/control/index.d.ts +0 -3
- package/dist/src/messages/responses/storage/control/index.js +0 -7
- package/dist/src/messages/responses/storage/control/list-stores.d.ts +0 -37
- package/dist/src/messages/responses/storage/control/list-stores.js +0 -45
- package/dist/src/messages/responses/storage/index.d.ts +0 -2
- package/dist/src/messages/responses/storage/index.js +0 -19
- package/dist/src/messages/responses/storage/scalar/index.d.ts +0 -3
- package/dist/src/messages/responses/storage/scalar/index.js +0 -7
- package/dist/src/messages/responses/storage/scalar/storage-delete.d.ts +0 -28
- package/dist/src/messages/responses/storage/scalar/storage-delete.js +0 -33
- package/dist/src/messages/responses/storage/scalar/storage-get.d.ts +0 -79
- package/dist/src/messages/responses/storage/scalar/storage-get.js +0 -99
- package/dist/src/messages/responses/storage/scalar/storage-put.d.ts +0 -28
- package/dist/src/messages/responses/storage/scalar/storage-put.js +0 -33
- package/dist/src/messages/responses/storage/scalar/storage-value.d.ts +0 -61
- package/dist/src/messages/responses/storage/scalar/storage-value.js +0 -87
- package/dist/src/messages/store-info.d.ts +0 -16
- package/dist/src/messages/store-info.js +0 -24
package/dist/src/index.js
CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
-
exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.getDefaultCredentialProvider = exports.MomentoLocalProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.
|
17
|
+
exports.CacheSetIfEqual = exports.CacheSetIfAbsent = exports.CacheSetIfPresent = exports.CacheSetIfNotExists = exports.CacheSet = exports.CacheListRetain = exports.CacheListRemoveValue = exports.CacheListPushFront = exports.CacheListPushBack = exports.CacheListPopFront = exports.CacheListPopBack = exports.CacheListLength = exports.CacheListFetch = exports.CacheListConcatenateFront = exports.CacheListConcatenateBack = exports.CacheGet = exports.getDefaultCredentialProvider = exports.MomentoLocalProvider = exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = exports.LeaderboardOrder = exports.SortedSetOrder = exports.WebhookDestinationType = exports.PostUrlWebhookDestination = exports.ItemType = exports.CollectionTtl = exports.ExpiresAt = exports.ExpiresIn = exports.DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS = exports.CompressionLevel = exports.ReadConcern = exports.DisposableTokenScopes = exports.TokenScopes = exports.PermissionScopes = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.isTopicName = exports.isCacheName = exports.AllDataReadWrite = exports.TopicRole = exports.CacheRole = exports.NoopMomentoLoggerFactory = exports.NoopMomentoLogger = exports.utils = exports.webhook = exports.leaderboard = void 0;
|
18
18
|
exports.TopicPublish = exports.CacheGetBatch = exports.CacheSetBatch = exports.CacheInfo = exports.CacheDecreaseTtl = exports.CacheIncreaseTtl = exports.CacheUpdateTtl = exports.CacheKeysExist = exports.CacheKeyExists = exports.CacheItemGetTtl = exports.CacheItemGetType = exports.CacheSortedSetLengthByScore = exports.CacheSortedSetLength = exports.CacheSortedSetRemoveElements = exports.CacheSortedSetRemoveElement = exports.CacheSortedSetIncrementScore = exports.CacheSortedSetGetScores = exports.CacheSortedSetGetScore = exports.CacheSortedSetGetRank = exports.CacheSortedSetFetch = exports.CacheSortedSetPutElements = exports.CacheSortedSetPutElement = exports.CacheSetLength = exports.CacheSetPop = exports.CacheSetSample = exports.CacheSetRemoveElement = exports.CacheSetRemoveElements = exports.CacheSetContainsElements = exports.CacheSetContainsElement = exports.CacheSetAddElement = exports.CacheSetAddElements = exports.CacheDictionaryLength = exports.CacheDictionaryIncrement = exports.CacheDictionaryRemoveFields = exports.CacheDictionaryRemoveField = exports.CacheDictionaryGetFields = exports.CacheDictionaryGetField = exports.CacheDictionarySetFields = exports.CacheDictionarySetField = exports.CacheDictionaryFetch = exports.CacheSetFetch = exports.CacheIncrement = exports.ListCaches = exports.DeleteCache = exports.CreateCache = exports.CacheFlush = exports.CacheDelete = exports.CacheSetIfAbsentOrEqual = exports.CacheSetIfPresentAndNotEqual = exports.CacheSetIfNotEqual = void 0;
|
19
19
|
exports.UnknownError = exports.StoreNotFoundError = exports.StoreItemNotFoundError = exports.CacheNotFoundError = exports.PermissionError = exports.BadRequestError = exports.TimeoutError = exports.ServerUnavailableError = exports.UnknownServiceError = exports.InvalidArgumentError = exports.InternalServerError = exports.LimitExceededError = exports.FailedPreconditionError = exports.ConnectionError = exports.CancelledError = exports.AuthenticationError = exports.StoreAlreadyExistsError = exports.CacheAlreadyExistsError = exports.SdkError = exports.MomentoErrorCode = exports.GenerateDisposableToken = exports.RefreshAuthToken = exports.RefreshApiKey = exports.GenerateAuthToken = exports.GenerateApiKey = exports.TopicHeartbeat = exports.TopicDiscontinuity = exports.TopicItem = exports.TopicSubscribe = void 0;
|
20
20
|
// Cache Client Response Types
|
@@ -171,10 +171,6 @@ exports.leaderboard = require("./messages/responses/leaderboard");
|
|
171
171
|
__exportStar(require("./messages/responses/leaderboard"), exports);
|
172
172
|
exports.webhook = require("./messages/responses/webhook");
|
173
173
|
__exportStar(require("./messages/responses/webhook"), exports);
|
174
|
-
// StoreClient Response Types
|
175
|
-
__exportStar(require("./messages/responses/storage"), exports);
|
176
|
-
var store_info_1 = require("./messages/store-info");
|
177
|
-
Object.defineProperty(exports, "StoreInfo", { enumerable: true, get: function () { return store_info_1.StoreInfo; } });
|
178
174
|
const cache_info_1 = require("./messages/cache-info");
|
179
175
|
Object.defineProperty(exports, "CacheInfo", { enumerable: true, get: function () { return cache_info_1.CacheInfo; } });
|
180
176
|
const utils_1 = require("./utils");
|
@@ -240,4 +236,6 @@ var read_concern_1 = require("./config/read-concern");
|
|
240
236
|
Object.defineProperty(exports, "ReadConcern", { enumerable: true, get: function () { return read_concern_1.ReadConcern; } });
|
241
237
|
var compression_level_1 = require("./compression/compression-level");
|
242
238
|
Object.defineProperty(exports, "CompressionLevel", { enumerable: true, get: function () { return compression_level_1.CompressionLevel; } });
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUEyT3pELDRCQUFRO0FBMU9WLDZGQUE2RjtBQTJPM0YsNERBQXdCO0FBMU8xQiwrRkFBK0Y7QUEyTzdGLDhEQUF5QjtBQTFPM0Isd0VBQXdFO0FBMk90RSx3Q0FBYztBQTFPaEIsMEVBQTBFO0FBMk94RSwwQ0FBZTtBQTFPakIsNkVBQTZFO0FBMk8zRSw0Q0FBZ0I7QUExT2xCLCtFQUErRTtBQTJPN0UsOENBQWlCO0FBMU9uQiwrRUFBK0U7QUEyTzdFLDhDQUFpQjtBQTFPbkIsaUZBQWlGO0FBMk8vRSxnREFBa0I7QUExT3BCLHFGQUFxRjtBQTJPbkYsb0RBQW9CO0FBMU90QiwwRUFBMEU7QUEyT3hFLDBDQUFlO0FBMU9qQiwyREFBMkQ7QUEyT3pELDRCQUFRO0FBMU9WLGlFQUFpRTtBQWtQL0Qsa0NBQVc7QUFqUGIsK0RBQStEO0FBa1A3RCxnQ0FBVTtBQWpQWixpRUFBaUU7QUFrUC9ELGtDQUFXO0FBalBiLGlFQUFpRTtBQWtQL0Qsa0NBQVc7QUFqUGIsK0RBQStEO0FBa1A3RCxnQ0FBVTtBQWpQWixzRUFBc0U7QUFtUHBFLHNDQUFhO0FBbFBmLG9GQUFvRjtBQW1QbEYsb0RBQW9CO0FBbFB0QiwyRkFBMkY7QUFtUHpGLDBEQUF1QjtBQWxQekIsNkZBQTZGO0FBbVAzRiw0REFBd0I7QUFsUDFCLDJGQUEyRjtBQW1QekYsMERBQXVCO0FBbFB6Qiw2RkFBNkY7QUFtUDNGLDREQUF3QjtBQWxQMUIsaUdBQWlHO0FBbVAvRixnRUFBMEI7QUFsUDVCLG1HQUFtRztBQW1Qakcsa0VBQTJCO0FBbFA3Qiw0RkFBNEY7QUFtUDFGLDREQUF3QjtBQWxQMUIsc0ZBQXNGO0FBbVBwRixzREFBcUI7QUFsUHZCLG1GQUFtRjtBQW1QakYsa0RBQW1CO0FB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Q0gsaUVBQStEO0FBQy9ELGlGQUErRTtBQUUvRSxzREFBa0Q7QUFBMUMsMkdBQUEsV0FBVyxPQUFBO0FBQ25CLHFFQUFpRTtBQUF6RCxxSEFBQSxnQkFBZ0IsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUxlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtY29udGFpbnMtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0U2FtcGxlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1zYW1wbGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRQb3AgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXBvcCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZBYnNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQtYW5kLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtYWJzZW50LW9yLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVHZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1nZXQnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcbmltcG9ydCB7VG9waWNEaXNjb250aW51aXR5fSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1kaXNjb250aW51aXR5JztcbmltcG9ydCB7VG9waWNIZWFydGJlYXR9IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWhlYXJ0YmVhdCc7XG5cbi8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIEdlbmVyYXRlQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWFwaS1rZXknO1xuaW1wb3J0ICogYXMgUmVmcmVzaEFwaUtleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZWZyZXNoLWFwaS1rZXknO1xuXG5pbXBvcnQgKiBhcyBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1kaXNwb3NhYmxlLXRva2VuJztcblxuLy8gTGVhZGVyYm9hcmQgUmVzcG9uc2UgVHlwZXNcbmV4cG9ydCAqIGFzIGxlYWRlcmJvYXJkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcblxuZXhwb3J0ICogYXMgd2ViaG9vayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0IHtXZWJob29rLCBXZWJob29rSWR9IGZyb20gJy4vbWVzc2FnZXMvd2ViaG9vayc7XG5cbi8vIFN0b3JlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9zdG9yYWdlJztcbmV4cG9ydCB7U3RvcmVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL3N0b3JlLWluZm8nO1xuXG5pbXBvcnQge0NhY2hlSW5mb30gZnJvbSAnLi9tZXNzYWdlcy9jYWNoZS1pbmZvJztcbmltcG9ydCB7XG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBDb2xsZWN0aW9uVHRsLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgRXhwaXJlc0luLFxuICBFeHBpcmVzQXQsXG4gIEl0ZW1UeXBlLFxuICBXZWJob29rRGVzdGluYXRpb24sXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFdlYmhvb2tEZXN0aW5hdGlvblR5cGUsXG4gIFNldEJhdGNoSXRlbSxcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuXG5pbXBvcnQge1xuICBDcmVkZW50aWFsUHJvdmlkZXIsXG4gIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgTW9tZW50b0xvY2FsUHJvdmlkZXIsXG59IGZyb20gJy4vYXV0aCc7XG5cbmltcG9ydCB7XG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufSBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL21vbWVudG8tbG9nZ2VyJztcblxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvZW51bXMnO1xuXG5leHBvcnQge1xuICBOb29wTW9tZW50b0xvZ2dlcixcbiAgTm9vcE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxufSBmcm9tICcuL2NvbmZpZy9sb2dnaW5nL25vb3AtbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQge1xuICBJQ2FjaGVDbGllbnQsXG4gIERpY3Rpb25hcnlJbmNyZW1lbnRPcHRpb25zLFxuICBEaWN0aW9uYXJ5U2V0RmllbGRPcHRpb25zLFxuICBEaWN0aW9uYXJ5U2V0RmllbGRzT3B0aW9ucyxcbiAgU2V0T3B0aW9ucyxcbiAgU2V0SWZOb3RFeGlzdHNPcHRpb25zLFxuICBTZXRJZkFic2VudE9wdGlvbnMsXG4gIFNldElmUHJlc2VudE9wdGlvbnMsXG4gIFNldElmRXF1YWxPcHRpb25zLFxuICBTZXRJZk5vdEVxdWFsT3B0aW9ucyxcbiAgU2V0SWZQcmVzZW50QW5kTm90RXF1YWxPcHRpb25zLFxuICBTZXRJZkFic2VudE9yRXF1YWxPcHRpb25zLFxuICBTb3J0ZWRTZXRQdXRFbGVtZW50c09wdGlvbnMsXG4gIEluY3JlbWVudE9wdGlvbnMsXG59IGZyb20gJy4vY2xpZW50cy9JQ2FjaGVDbGllbnQnO1xuXG5leHBvcnQge0lTdG9yYWdlQ2xpZW50fSBmcm9tICcuL2NsaWVudHMvSVN0b3JhZ2VDbGllbnQnO1xuXG5leHBvcnQge0lNb21lbnRvQ2FjaGV9IGZyb20gJy4vY2xpZW50cy9JTW9tZW50b0NhY2hlJztcblxuZXhwb3J0IHtJTGVhZGVyYm9hcmRDbGllbnR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmRDbGllbnQnO1xuZXhwb3J0IHtJTGVhZGVyYm9hcmR9IGZyb20gJy4vY2xpZW50cy9JTGVhZGVyYm9hcmQnO1xuXG5leHBvcnQge1xuICBDYWNoZVJvbGUsXG4gIENhY2hlUGVybWlzc2lvbixcbiAgVG9waWNSb2xlLFxuICBUb3BpY1Blcm1pc3Npb24sXG4gIFBlcm1pc3Npb24sXG4gIFBlcm1pc3Npb25zLFxuICBBbGxEYXRhUmVhZFdyaXRlLFxuICBQZXJtaXNzaW9uU2NvcGUsXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlXG4gICAqL1xuICBUb2tlblNjb3BlLFxuICBDYWNoZU5hbWUsXG4gIGlzQ2FjaGVOYW1lLFxuICBUb3BpY05hbWUsXG4gIGlzVG9waWNOYW1lLFxuICBDYWNoZVNlbGVjdG9yLFxuICBUb3BpY1NlbGVjdG9yLFxuICBBbGxDYWNoZXMsXG4gIEFsbFRvcGljcyxcbiAgQWxsQ2FjaGVJdGVtcyxcbn0gZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3BlJztcblxuZXhwb3J0IHtcbiAgRGlzcG9zYWJsZVRva2VuU2NvcGUsXG4gIENhY2hlSXRlbVNlbGVjdG9yLFxuICBDYWNoZUl0ZW1LZXksXG4gIENhY2hlSXRlbUtleVByZWZpeCxcbiAgaXNDYWNoZUl0ZW1LZXksXG4gIGlzQ2FjaGVJdGVtS2V5UHJlZml4LFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL2Rpc3Bvc2FibGUtdG9rZW4tc2NvcGUnO1xuXG5leHBvcnQgKiBhcyBQZXJtaXNzaW9uU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZXMgaW5zdGVhZFxuICovXG5leHBvcnQgKiBhcyBUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGVzJztcbmV4cG9ydCAqIGFzIERpc3Bvc2FibGVUb2tlblNjb3BlcyBmcm9tICcuL2F1dGgvdG9rZW5zL2Rpc3Bvc2FibGUtdG9rZW4tc2NvcGVzJztcblxuZXhwb3J0IHtSZWFkQ29uY2Vybn0gZnJvbSAnLi9jb25maWcvcmVhZC1jb25jZXJuJztcbmV4cG9ydCB7Q29tcHJlc3Npb25MZXZlbH0gZnJvbSAnLi9jb21wcmVzc2lvbi9jb21wcmVzc2lvbi1sZXZlbCc7XG5cbmV4cG9ydCB7XG4gIEV4cGlyZXNJbixcbiAgRXhwaXJlc0F0LFxuICBDb2xsZWN0aW9uVHRsLFxuICBJdGVtVHlwZSxcbiAgV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBQb3N0VXJsV2ViaG9va0Rlc3RpbmF0aW9uLFxuICBXZWJob29rRGVzdGluYXRpb25UeXBlLFxuICBTb3J0ZWRTZXRPcmRlcixcbiAgTGVhZGVyYm9hcmRPcmRlcixcbiAgQ3JlZGVudGlhbFByb3ZpZGVyLFxuICBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcixcbiAgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIE1vbWVudG9Mb2NhbFByb3ZpZGVyLFxuICBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyLFxuICBTZXRCYXRjaEl0ZW0sXG5cbiAgLy8gQ2FjaGVDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgQ2FjaGVHZXQsXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayxcbiAgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCxcbiAgQ2FjaGVMaXN0RmV0Y2gsXG4gIENhY2hlTGlzdExlbmd0aCxcbiAgQ2FjaGVMaXN0UG9wQmFjayxcbiAgQ2FjaGVMaXN0UG9wRnJvbnQsXG4gIENhY2hlTGlzdFB1c2hCYWNrLFxuICBDYWNoZUxpc3RQdXNoRnJvbnQsXG4gIENhY2hlTGlzdFJlbW92ZVZhbHVlLFxuICBDYWNoZUxpc3RSZXRhaW4sXG4gIENhY2hlU2V0LFxuICBDYWNoZVNldElmTm90RXhpc3RzLFxuICBDYWNoZVNldElmUHJlc2VudCxcbiAgQ2FjaGVTZXRJZkFic2VudCxcbiAgQ2FjaGVTZXRJZkVxdWFsLFxuICBDYWNoZVNldElmTm90RXF1YWwsXG4gIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwsXG4gIENhY2hlU2V0SWZBYnNlbnRPckVxdWFsLFxuICBDYWNoZURlbGV0ZSxcbiAgQ2FjaGVGbHVzaCxcbiAgQ3JlYXRlQ2FjaGUsXG4gIERlbGV0ZUNhY2hlLFxuICBMaXN0Q2FjaGVzLFxuICBDYWNoZUluY3JlbWVudCxcbiAgQ2FjaGVTZXRGZXRjaCxcbiAgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeVNldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUdldEZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZHMsXG4gIENhY2hlRGljdGlvbmFyeUluY3JlbWVudCxcbiAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoLFxuICBDYWNoZVNldEFkZEVsZW1lbnRzLFxuICBDYWNoZVNldEFkZEVsZW1lbnQsXG4gIENhY2hlU2V0Q29udGFpbnNFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudHMsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlU2V0UmVtb3ZlRWxlbWVudCxcbiAgQ2FjaGVTZXRTYW1wbGUsXG4gIENhY2hlU2V0UG9wLFxuICBDYWNoZVNldExlbmd0aCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFB1dEVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldEZldGNoLFxuICBDYWNoZVNvcnRlZFNldEdldFJhbmssXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmUsXG4gIENhY2hlU29ydGVkU2V0R2V0U2NvcmVzLFxuICBDYWNoZVNvcnRlZFNldEluY3JlbWVudFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU29ydGVkU2V0UmVtb3ZlRWxlbWVudHMsXG4gIENhY2hlU29ydGVkU2V0TGVuZ3RoLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUsXG4gIENhY2hlSXRlbUdldFR5cGUsXG4gIENhY2hlSXRlbUdldFR0bCxcbiAgQ2FjaGVLZXlFeGlzdHMsXG4gIENhY2hlS2V5c0V4aXN0LFxuICBDYWNoZVVwZGF0ZVR0bCxcbiAgQ2FjaGVJbmNyZWFzZVR0bCxcbiAgQ2FjaGVEZWNyZWFzZVR0bCxcbiAgQ2FjaGVJbmZvLFxuICBDYWNoZVNldEJhdGNoLFxuICBDYWNoZUdldEJhdGNoLFxuICAvLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBUb3BpY0l0ZW0sXG4gIFRvcGljRGlzY29udGludWl0eSxcbiAgVG9waWNIZWFydGJlYXQsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICAvLyBBdXRoQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIEdlbmVyYXRlQXBpS2V5LFxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBwbGVhc2UgdXNlIEdlbmVyYXRlQXBpS2V5XG4gICAqL1xuICBHZW5lcmF0ZUFwaUtleSBhcyBHZW5lcmF0ZUF1dGhUb2tlbixcbiAgUmVmcmVzaEFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBSZWZyZXNoQXBpS2V5XG4gICAqL1xuICBSZWZyZXNoQXBpS2V5IGFzIFJlZnJlc2hBdXRoVG9rZW4sXG4gIEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuLFxuICAvLyBFcnJvcnNcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdG9yZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIENhY2hlTm90Rm91bmRFcnJvcixcbiAgU3RvcmVJdGVtTm90Rm91bmRFcnJvcixcbiAgU3RvcmVOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59O1xuIl19
|
239
|
+
var subscription_retry_strategy_1 = require("./config/retry/subscription-retry-strategy");
|
240
|
+
Object.defineProperty(exports, "DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS", { enumerable: true, get: function () { return subscription_retry_strategy_1.DEFAULT_SUBSCRIPTION_RETRY_DELAY_MILLIS; } });
|
241
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhCQUE4QjtBQUM5QiwyREFBMkQ7QUE4T3pELDRCQUFRO0FBN09WLDZGQUE2RjtBQThPM0YsNERBQXdCO0FBN08xQiwrRkFBK0Y7QUE4TzdGLDhEQUF5QjtBQTdPM0Isd0VBQXdFO0FBOE90RSx3Q0FBYztBQTdPaEIsMEVBQTBFO0FBOE94RSwwQ0FBZTtBQTdPakIsNkVBQTZFO0FBOE8zRSw0Q0FBZ0I7QUE3T2xCLCtFQUErRTtBQThPN0UsOENBQWlCO0FBN09uQiwrRUFBK0U7QUE4TzdFLDhDQUFpQjtBQTdPbkIsaUZBQWlGO0FBOE8vRSxnREFBa0I7QUE3T3BCLHFGQUFxRjtBQThPbkYsb0RBQW9CO0FBN090QiwwRUFBMEU7QUE4T3hFLDBDQUFlO0FBN09qQiwyREFBMkQ7QUE4T3pELDRCQUFRO0FBN09WLGlFQUFpRTtBQXFQL0Qsa0NBQVc7QUFwUGIsK0RBQStEO0FBcVA3RCxnQ0FBVTtBQXBQWixpRUFBaUU7QUFxUC9ELGtDQUFXO0FBcFBiLGlFQUFpRTtBQXFQL0Qsa0NBQVc7QUFwUGIsK0RBQStEO0FBcVA3RCxnQ0FBVTtBQXBQWixzRUFBc0U7QUFzUHBFLHNDQUFhO0FBclBmLG9GQUFvRjtBQXNQbEYsb0RBQW9CO0FBclB0QiwyRkFBMkY7QUFzUHpGLDBEQUF1QjtBQXJQekIsNkZBQTZGO0FBc1AzRiw0REFBd0I7QUFyUDFCLDJGQUEyRjtBQXNQekYsMERBQXVCO0FBclB6Qiw2RkFBNkY7QUFzUDNGLDREQUF3QjtBQXJQMUIsaUdBQWlHO0FBc1AvRixnRUFBMEI7QUFyUDVCLG1HQUFtRztBQXNQakcsa0VBQTJCO0FBclA3Qiw0RkFBNEY7QUFzUDFGLDREQUF3QjtBQXJQMUIsc0ZBQXNGO0FBc1BwRixzREFBcUI7QUFyUHZCLG1GQUFtRjtBQXNQakYsa0RBQW1CO0FB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bkIscUVBQWlFO0FBQXpELHFIQUFBLGdCQUFnQixPQUFBO0FBQ3hCLDBGQUlvRDtBQURsRCxzSkFBQSx1Q0FBdUMsT0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIENhY2hlIENsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgQ2FjaGVHZXQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZ2V0JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdENvbmNhdGVuYXRlQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWJhY2snO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0Q29uY2F0ZW5hdGVGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LWNvbmNhdGVuYXRlLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdEZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVMaXN0TGVuZ3RoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFBvcEJhY2sgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wb3AtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQb3BGcm9udCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXBvcC1mcm9udCc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoQmFjayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXB1c2gtYmFjayc7XG5pbXBvcnQgKiBhcyBDYWNoZUxpc3RQdXNoRnJvbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtbGlzdC1wdXNoLWZyb250JztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJlbW92ZVZhbHVlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWxpc3QtcmVtb3ZlLXZhbHVlJztcbmltcG9ydCAqIGFzIENhY2hlTGlzdFJldGFpbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1saXN0LXJldGFpbic7XG5pbXBvcnQgKiBhcyBDYWNoZVNldCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWxldGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGVsZXRlJztcbmltcG9ydCAqIGFzIENhY2hlRmx1c2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZmx1c2gnO1xuaW1wb3J0ICogYXMgQ3JlYXRlQ2FjaGUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY3JlYXRlLWNhY2hlJztcbmltcG9ydCAqIGFzIERlbGV0ZUNhY2hlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2RlbGV0ZS1jYWNoZSc7XG5pbXBvcnQgKiBhcyBMaXN0Q2FjaGVzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xpc3QtY2FjaGVzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0RmV0Y2ggZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUZldGNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZmV0Y2gnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1zZXQtZmllbGQnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktc2V0LWZpZWxkcyc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZCc7XG5pbXBvcnQgKiBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktcmVtb3ZlLWZpZWxkJztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeVJlbW92ZUZpZWxkcyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LXJlbW92ZS1maWVsZHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlRGljdGlvbmFyeUxlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldEFkZEVsZW1lbnRzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRBZGRFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1hZGQtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtY29udGFpbnMtZWxlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldENvbnRhaW5zRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWNvbnRhaW5zLWVsZW1lbnRzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0UmVtb3ZlRWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldFJlbW92ZUVsZW1lbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXJlbW92ZS1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU2V0U2FtcGxlIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1zYW1wbGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRQb3AgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LXBvcCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtbGVuZ3RoJztcbmltcG9ydCAqIGFzIENhY2hlSW5jcmVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWluY3JlbWVudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmTm90RXhpc3RzIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNldC1pZi1ub3QtZXhpc3RzJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZBYnNlbnQgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWFic2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmUHJlc2VudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtcHJlc2VudCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmRXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZOb3RFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtbm90LWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU2V0SWZQcmVzZW50QW5kTm90RXF1YWwgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc2V0LWlmLXByZXNlbnQtYW5kLW5vdC1lcXVhbCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNldElmQWJzZW50T3JFcXVhbCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zZXQtaWYtYWJzZW50LW9yLWVxdWFsJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXB1dC1lbGVtZW50JztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1wdXQtZWxlbWVudHMnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRGZXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWZldGNoJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0UmFuayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWdldC1yYW5rJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0R2V0U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRHZXRTY29yZXMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1nZXQtc2NvcmVzJztcbmltcG9ydCAqIGFzIENhY2hlU29ydGVkU2V0SW5jcmVtZW50U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1pbmNyZW1lbnQtc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXNvcnRlZC1zZXQtcmVtb3ZlLWVsZW1lbnQnO1xuaW1wb3J0ICogYXMgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50cyBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LXJlbW92ZS1lbGVtZW50cyc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1zb3J0ZWQtc2V0LWxlbmd0aCc7XG5pbXBvcnQgKiBhcyBDYWNoZVNvcnRlZFNldExlbmd0aEJ5U2NvcmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtc29ydGVkLXNldC1sZW5ndGgtYnktc2NvcmUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJdGVtR2V0VHlwZSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10eXBlJztcbmltcG9ydCAqIGFzIENhY2hlSXRlbUdldFR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1pdGVtLWdldC10dGwnO1xuaW1wb3J0ICogYXMgQ2FjaGVLZXlFeGlzdHMgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUta2V5LWV4aXN0cyc7XG5pbXBvcnQgKiBhcyBDYWNoZUtleXNFeGlzdCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1rZXlzLWV4aXN0JztcbmltcG9ydCAqIGFzIENhY2hlVXBkYXRlVHRsIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLXR0bC11cGRhdGUnO1xuaW1wb3J0ICogYXMgQ2FjaGVJbmNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtaW5jcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEZWNyZWFzZVR0bCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS10dGwtZGVjcmVhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVTZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1zZXQnO1xuaW1wb3J0ICogYXMgQ2FjaGVHZXRCYXRjaCBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1iYXRjaC1nZXQnO1xuXG4vLyBUb3BpY0NsaWVudCBSZXNwb25zZSBUeXBlc1xuaW1wb3J0ICogYXMgVG9waWNQdWJsaXNoIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLXB1Ymxpc2gnO1xuaW1wb3J0ICogYXMgVG9waWNTdWJzY3JpYmUgZnJvbSAnLi9tZXNzYWdlcy9yZXNwb25zZXMvdG9waWMtc3Vic2NyaWJlJztcbmltcG9ydCB7VG9waWNJdGVtfSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1pdGVtJztcbmltcG9ydCB7VG9waWNEaXNjb250aW51aXR5fSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy90b3BpYy1kaXNjb250aW51aXR5JztcbmltcG9ydCB7VG9waWNIZWFydGJlYXR9IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3RvcGljLWhlYXJ0YmVhdCc7XG5cbi8vIEF1dGhDbGllbnQgUmVzcG9uc2UgVHlwZXNcbmltcG9ydCAqIGFzIEdlbmVyYXRlQXBpS2V5IGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2dlbmVyYXRlLWFwaS1rZXknO1xuaW1wb3J0ICogYXMgUmVmcmVzaEFwaUtleSBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9yZWZyZXNoLWFwaS1rZXknO1xuXG5pbXBvcnQgKiBhcyBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9nZW5lcmF0ZS1kaXNwb3NhYmxlLXRva2VuJztcblxuLy8gTGVhZGVyYm9hcmQgUmVzcG9uc2UgVHlwZXNcbmV4cG9ydCAqIGFzIGxlYWRlcmJvYXJkIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL2xlYWRlcmJvYXJkJztcblxuZXhwb3J0ICogYXMgd2ViaG9vayBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy93ZWJob29rJztcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZXMvcmVzcG9uc2VzL3dlYmhvb2snO1xuZXhwb3J0IHtXZWJob29rLCBXZWJob29rSWR9IGZyb20gJy4vbWVzc2FnZXMvd2ViaG9vayc7XG5cbmltcG9ydCB7Q2FjaGVJbmZvfSBmcm9tICcuL21lc3NhZ2VzL2NhY2hlLWluZm8nO1xuaW1wb3J0IHtcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIENvbGxlY3Rpb25UdGwsXG4gIFNvcnRlZFNldE9yZGVyLFxuICBMZWFkZXJib2FyZE9yZGVyLFxuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU2V0QmF0Y2hJdGVtLFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0ICogYXMgdXRpbHMgZnJvbSAnLi91dGlscyc7XG5cbmltcG9ydCB7XG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBnZXREZWZhdWx0Q3JlZGVudGlhbFByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbn0gZnJvbSAnLi9hdXRoJztcblxuaW1wb3J0IHtcbiAgTW9tZW50b0Vycm9yQ29kZSxcbiAgU2RrRXJyb3IsXG4gIENhY2hlQWxyZWFkeUV4aXN0c0Vycm9yLFxuICBTdG9yZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgQXV0aGVudGljYXRpb25FcnJvcixcbiAgQ2FuY2VsbGVkRXJyb3IsXG4gIENvbm5lY3Rpb25FcnJvcixcbiAgRmFpbGVkUHJlY29uZGl0aW9uRXJyb3IsXG4gIExpbWl0RXhjZWVkZWRFcnJvcixcbiAgSW50ZXJuYWxTZXJ2ZXJFcnJvcixcbiAgSW52YWxpZEFyZ3VtZW50RXJyb3IsXG4gIFVua25vd25TZXJ2aWNlRXJyb3IsXG4gIFNlcnZlclVuYXZhaWxhYmxlRXJyb3IsXG4gIFRpbWVvdXRFcnJvcixcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBQZXJtaXNzaW9uRXJyb3IsXG4gIENhY2hlTm90Rm91bmRFcnJvcixcbiAgU3RvcmVJdGVtTm90Rm91bmRFcnJvcixcbiAgU3RvcmVOb3RGb3VuZEVycm9yLFxuICBVbmtub3duRXJyb3IsXG59IGZyb20gJy4vZXJyb3JzJztcblxuZXhwb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbW9tZW50by1sb2dnZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VzL3Jlc3BvbnNlcy9lbnVtcyc7XG5cbmV4cG9ydCB7XG4gIE5vb3BNb21lbnRvTG9nZ2VyLFxuICBOb29wTW9tZW50b0xvZ2dlckZhY3RvcnksXG59IGZyb20gJy4vY29uZmlnL2xvZ2dpbmcvbm9vcC1tb21lbnRvLWxvZ2dlcic7XG5cbmV4cG9ydCB7XG4gIElDYWNoZUNsaWVudCxcbiAgRGljdGlvbmFyeUluY3JlbWVudE9wdGlvbnMsXG4gIERpY3Rpb25hcnlTZXRGaWVsZE9wdGlvbnMsXG4gIERpY3Rpb25hcnlTZXRGaWVsZHNPcHRpb25zLFxuICBTZXRPcHRpb25zLFxuICBTZXRJZk5vdEV4aXN0c09wdGlvbnMsXG4gIFNldElmQWJzZW50T3B0aW9ucyxcbiAgU2V0SWZQcmVzZW50T3B0aW9ucyxcbiAgU2V0SWZFcXVhbE9wdGlvbnMsXG4gIFNldElmTm90RXF1YWxPcHRpb25zLFxuICBTZXRJZlByZXNlbnRBbmROb3RFcXVhbE9wdGlvbnMsXG4gIFNldElmQWJzZW50T3JFcXVhbE9wdGlvbnMsXG4gIFNvcnRlZFNldFB1dEVsZW1lbnRzT3B0aW9ucyxcbiAgSW5jcmVtZW50T3B0aW9ucyxcbn0gZnJvbSAnLi9jbGllbnRzL0lDYWNoZUNsaWVudCc7XG5cbmV4cG9ydCB7SU1vbWVudG9DYWNoZX0gZnJvbSAnLi9jbGllbnRzL0lNb21lbnRvQ2FjaGUnO1xuXG5leHBvcnQge0lMZWFkZXJib2FyZENsaWVudH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZENsaWVudCc7XG5leHBvcnQge0lMZWFkZXJib2FyZH0gZnJvbSAnLi9jbGllbnRzL0lMZWFkZXJib2FyZCc7XG5cbmV4cG9ydCB7XG4gIENhY2hlUm9sZSxcbiAgQ2FjaGVQZXJtaXNzaW9uLFxuICBUb3BpY1JvbGUsXG4gIFRvcGljUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbnMsXG4gIEFsbERhdGFSZWFkV3JpdGUsXG4gIFBlcm1pc3Npb25TY29wZSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBQZXJtaXNzaW9uU2NvcGVcbiAgICovXG4gIFRva2VuU2NvcGUsXG4gIENhY2hlTmFtZSxcbiAgaXNDYWNoZU5hbWUsXG4gIFRvcGljTmFtZSxcbiAgaXNUb3BpY05hbWUsXG4gIENhY2hlU2VsZWN0b3IsXG4gIFRvcGljU2VsZWN0b3IsXG4gIEFsbENhY2hlcyxcbiAgQWxsVG9waWNzLFxuICBBbGxDYWNoZUl0ZW1zLFxufSBmcm9tICcuL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuXG5leHBvcnQge1xuICBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgQ2FjaGVJdGVtU2VsZWN0b3IsXG4gIENhY2hlSXRlbUtleSxcbiAgQ2FjaGVJdGVtS2V5UHJlZml4LFxuICBpc0NhY2hlSXRlbUtleSxcbiAgaXNDYWNoZUl0ZW1LZXlQcmVmaXgsXG59IGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGFzIFBlcm1pc3Npb25TY29wZXMgZnJvbSAnLi9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3Blcyc7XG4vKipcbiAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgUGVybWlzc2lvblNjb3BlcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCAqIGFzIFRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvcGVybWlzc2lvbi1zY29wZXMnO1xuZXhwb3J0ICogYXMgRGlzcG9zYWJsZVRva2VuU2NvcGVzIGZyb20gJy4vYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMnO1xuXG5leHBvcnQge1JlYWRDb25jZXJufSBmcm9tICcuL2NvbmZpZy9yZWFkLWNvbmNlcm4nO1xuZXhwb3J0IHtDb21wcmVzc2lvbkxldmVsfSBmcm9tICcuL2NvbXByZXNzaW9uL2NvbXByZXNzaW9uLWxldmVsJztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5U3RyYXRlZ3ksXG4gIERldGVybWluZVdoZW5Ub1Jlc3Vic2NyaWJlUHJvcHMsXG4gIERFRkFVTFRfU1VCU0NSSVBUSU9OX1JFVFJZX0RFTEFZX01JTExJUyxcbn0gZnJvbSAnLi9jb25maWcvcmV0cnkvc3Vic2NyaXB0aW9uLXJldHJ5LXN0cmF0ZWd5JztcbmV4cG9ydCB7XG4gIFN1YnNjcmlwdGlvblJldHJ5RWxpZ2liaWxpdHlTdHJhdGVneSxcbiAgRWxpZ2libGVGb3JSZXN1YnNjcmliZVByb3BzLFxufSBmcm9tICcuL2NvbmZpZy9yZXRyeS9zdWJzY3JpcHRpb24tcmV0cnktZWxpZ2liaWxpdHktc3RyYXRlZ3knO1xuXG5leHBvcnQge1xuICBFeHBpcmVzSW4sXG4gIEV4cGlyZXNBdCxcbiAgQ29sbGVjdGlvblR0bCxcbiAgSXRlbVR5cGUsXG4gIFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgV2ViaG9va0Rlc3RpbmF0aW9uVHlwZSxcbiAgU29ydGVkU2V0T3JkZXIsXG4gIExlYWRlcmJvYXJkT3JkZXIsXG4gIENyZWRlbnRpYWxQcm92aWRlcixcbiAgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIsXG4gIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyLFxuICBNb21lbnRvTG9jYWxQcm92aWRlcixcbiAgZ2V0RGVmYXVsdENyZWRlbnRpYWxQcm92aWRlcixcbiAgU2V0QmF0Y2hJdGVtLFxuXG4gIC8vIENhY2hlQ2xpZW50IFJlc3BvbnNlIFR5cGVzXG4gIENhY2hlR2V0LFxuICBDYWNoZUxpc3RDb25jYXRlbmF0ZUJhY2ssXG4gIENhY2hlTGlzdENvbmNhdGVuYXRlRnJvbnQsXG4gIENhY2hlTGlzdEZldGNoLFxuICBDYWNoZUxpc3RMZW5ndGgsXG4gIENhY2hlTGlzdFBvcEJhY2ssXG4gIENhY2hlTGlzdFBvcEZyb250LFxuICBDYWNoZUxpc3RQdXNoQmFjayxcbiAgQ2FjaGVMaXN0UHVzaEZyb250LFxuICBDYWNoZUxpc3RSZW1vdmVWYWx1ZSxcbiAgQ2FjaGVMaXN0UmV0YWluLFxuICBDYWNoZVNldCxcbiAgQ2FjaGVTZXRJZk5vdEV4aXN0cyxcbiAgQ2FjaGVTZXRJZlByZXNlbnQsXG4gIENhY2hlU2V0SWZBYnNlbnQsXG4gIENhY2hlU2V0SWZFcXVhbCxcbiAgQ2FjaGVTZXRJZk5vdEVxdWFsLFxuICBDYWNoZVNldElmUHJlc2VudEFuZE5vdEVxdWFsLFxuICBDYWNoZVNldElmQWJzZW50T3JFcXVhbCxcbiAgQ2FjaGVEZWxldGUsXG4gIENhY2hlRmx1c2gsXG4gIENyZWF0ZUNhY2hlLFxuICBEZWxldGVDYWNoZSxcbiAgTGlzdENhY2hlcyxcbiAgQ2FjaGVJbmNyZW1lbnQsXG4gIENhY2hlU2V0RmV0Y2gsXG4gIENhY2hlRGljdGlvbmFyeUZldGNoLFxuICBDYWNoZURpY3Rpb25hcnlTZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5U2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlSZW1vdmVGaWVsZCxcbiAgQ2FjaGVEaWN0aW9uYXJ5UmVtb3ZlRmllbGRzLFxuICBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQsXG4gIENhY2hlRGljdGlvbmFyeUxlbmd0aCxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50cyxcbiAgQ2FjaGVTZXRBZGRFbGVtZW50LFxuICBDYWNoZVNldENvbnRhaW5zRWxlbWVudCxcbiAgQ2FjaGVTZXRDb250YWluc0VsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNldFJlbW92ZUVsZW1lbnQsXG4gIENhY2hlU2V0U2FtcGxlLFxuICBDYWNoZVNldFBvcCxcbiAgQ2FjaGVTZXRMZW5ndGgsXG4gIENhY2hlU29ydGVkU2V0UHV0RWxlbWVudCxcbiAgQ2FjaGVTb3J0ZWRTZXRQdXRFbGVtZW50cyxcbiAgQ2FjaGVTb3J0ZWRTZXRGZXRjaCxcbiAgQ2FjaGVTb3J0ZWRTZXRHZXRSYW5rLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlLFxuICBDYWNoZVNvcnRlZFNldEdldFNjb3JlcyxcbiAgQ2FjaGVTb3J0ZWRTZXRJbmNyZW1lbnRTY29yZSxcbiAgQ2FjaGVTb3J0ZWRTZXRSZW1vdmVFbGVtZW50LFxuICBDYWNoZVNvcnRlZFNldFJlbW92ZUVsZW1lbnRzLFxuICBDYWNoZVNvcnRlZFNldExlbmd0aCxcbiAgQ2FjaGVTb3J0ZWRTZXRMZW5ndGhCeVNjb3JlLFxuICBDYWNoZUl0ZW1HZXRUeXBlLFxuICBDYWNoZUl0ZW1HZXRUdGwsXG4gIENhY2hlS2V5RXhpc3RzLFxuICBDYWNoZUtleXNFeGlzdCxcbiAgQ2FjaGVVcGRhdGVUdGwsXG4gIENhY2hlSW5jcmVhc2VUdGwsXG4gIENhY2hlRGVjcmVhc2VUdGwsXG4gIENhY2hlSW5mbyxcbiAgQ2FjaGVTZXRCYXRjaCxcbiAgQ2FjaGVHZXRCYXRjaCxcbiAgLy8gVG9waWNDbGllbnQgUmVzcG9uc2UgVHlwZXNcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY1N1YnNjcmliZSxcbiAgVG9waWNJdGVtLFxuICBUb3BpY0Rpc2NvbnRpbnVpdHksXG4gIFRvcGljSGVhcnRiZWF0LFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgLy8gQXV0aENsaWVudCBSZXNwb25zZSBUeXBlc1xuICBHZW5lcmF0ZUFwaUtleSxcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBHZW5lcmF0ZUFwaUtleVxuICAgKi9cbiAgR2VuZXJhdGVBcGlLZXkgYXMgR2VuZXJhdGVBdXRoVG9rZW4sXG4gIFJlZnJlc2hBcGlLZXksXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgUmVmcmVzaEFwaUtleVxuICAgKi9cbiAgUmVmcmVzaEFwaUtleSBhcyBSZWZyZXNoQXV0aFRva2VuLFxuICBHZW5lcmF0ZURpc3Bvc2FibGVUb2tlbixcbiAgLy8gRXJyb3JzXG4gIE1vbWVudG9FcnJvckNvZGUsXG4gIFNka0Vycm9yLFxuICBDYWNoZUFscmVhZHlFeGlzdHNFcnJvcixcbiAgU3RvcmVBbHJlYWR5RXhpc3RzRXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIENhbmNlbGxlZEVycm9yLFxuICBDb25uZWN0aW9uRXJyb3IsXG4gIEZhaWxlZFByZWNvbmRpdGlvbkVycm9yLFxuICBMaW1pdEV4Y2VlZGVkRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIEludmFsaWRBcmd1bWVudEVycm9yLFxuICBVbmtub3duU2VydmljZUVycm9yLFxuICBTZXJ2ZXJVbmF2YWlsYWJsZUVycm9yLFxuICBUaW1lb3V0RXJyb3IsXG4gIEJhZFJlcXVlc3RFcnJvcixcbiAgUGVybWlzc2lvbkVycm9yLFxuICBDYWNoZU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlSXRlbU5vdEZvdW5kRXJyb3IsXG4gIFN0b3JlTm90Rm91bmRFcnJvcixcbiAgVW5rbm93bkVycm9yLFxufTtcbiJdfQ==
|
@@ -18,5 +18,4 @@ __exportStar(require("./cache"), exports);
|
|
18
18
|
__exportStar(require("./auth"), exports);
|
19
19
|
__exportStar(require("./pubsub"), exports);
|
20
20
|
__exportStar(require("./leaderboard"), exports);
|
21
|
-
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsZ0RBQThCO0FBQzlCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2FjaGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vcHVic3ViJztcbmV4cG9ydCAqIGZyb20gJy4vbGVhZGVyYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlJztcbiJdfQ==
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXdCO0FBQ3hCLHlDQUF1QjtBQUN2QiwyQ0FBeUI7QUFDekIsZ0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jYWNoZSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgnO1xuZXhwb3J0ICogZnJvbSAnLi9wdWJzdWInO1xuZXhwb3J0ICogZnJvbSAnLi9sZWFkZXJib2FyZCc7XG4iXX0=
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { TopicPublish, TopicItem, MomentoLogger, TopicSubscribe, SubscribeCallOptions, MomentoLoggerFactory, TopicDiscontinuity, TopicHeartbeat } from '../../../index';
|
1
|
+
import { TopicPublish, TopicItem, MomentoLogger, TopicSubscribe, SubscribeCallOptions, MomentoLoggerFactory, TopicDiscontinuity, TopicHeartbeat, SubscriptionRetryStrategy } from '../../../index';
|
2
2
|
import { SubscriptionState } from '../../subscription-state';
|
3
3
|
import { IPubsubClient } from './IPubsubClient';
|
4
4
|
import { ICacheServiceErrorMapper } from '../../../errors/ICacheServiceErrorMapper';
|
@@ -13,6 +13,7 @@ export interface SendSubscribeOptions {
|
|
13
13
|
onDiscontinuity: (discontinuity: TopicDiscontinuity) => void;
|
14
14
|
onHeartbeat: (heartbeat: TopicHeartbeat) => void;
|
15
15
|
onConnectionLost: () => void;
|
16
|
+
onSubscriptionEnd: () => void;
|
16
17
|
subscriptionState: SubscriptionState;
|
17
18
|
subscription: TopicSubscribe.Subscription;
|
18
19
|
/**
|
@@ -38,7 +39,9 @@ export declare abstract class AbstractPubsubClient<TGrpcError> implements IPubsu
|
|
38
39
|
private readonly loggerFactory;
|
39
40
|
private readonly logger;
|
40
41
|
private readonly cacheServiceErrorMapper;
|
41
|
-
protected
|
42
|
+
protected readonly retryStrategy?: SubscriptionRetryStrategy;
|
43
|
+
protected constructor(loggerFactory: MomentoLoggerFactory, logger: MomentoLogger, cacheServiceErrorMapper: ICacheServiceErrorMapper<TGrpcError>, retryStrategy?: SubscriptionRetryStrategy);
|
44
|
+
protected getRetryStrategy(): SubscriptionRetryStrategy | undefined;
|
42
45
|
protected getLogger(): MomentoLogger;
|
43
46
|
protected getCacheServiceErrorMapper(): ICacheServiceErrorMapper<TGrpcError>;
|
44
47
|
publish(cacheName: string, topicName: string, value: string | Uint8Array): Promise<TopicPublish.Response>;
|
@@ -46,5 +49,5 @@ export declare abstract class AbstractPubsubClient<TGrpcError> implements IPubsu
|
|
46
49
|
subscribe(cacheName: string, topicName: string, options: SubscribeCallOptions): Promise<TopicSubscribe.Response>;
|
47
50
|
protected abstract sendSubscribe(options: SendSubscribeOptions): Promise<TopicSubscribe.Response>;
|
48
51
|
protected prepareEndCallback(options: PrepareSubscribeCallbackOptions): () => void;
|
49
|
-
protected handleSubscribeError(options: PrepareSubscribeCallbackOptions, momentoError: TopicSubscribe.Error,
|
52
|
+
protected handleSubscribeError(options: PrepareSubscribeCallbackOptions, momentoError: TopicSubscribe.Error, retryDelayMillis: number | null): void;
|
50
53
|
}
|
@@ -2,14 +2,17 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.AbstractPubsubClient = void 0;
|
4
4
|
const utils_1 = require("../../utils");
|
5
|
-
const errors_1 = require("../../../errors");
|
6
5
|
const index_1 = require("../../../index");
|
7
6
|
const subscription_state_1 = require("../../subscription-state");
|
8
7
|
class AbstractPubsubClient {
|
9
|
-
constructor(loggerFactory, logger, cacheServiceErrorMapper) {
|
8
|
+
constructor(loggerFactory, logger, cacheServiceErrorMapper, retryStrategy) {
|
10
9
|
this.loggerFactory = loggerFactory;
|
11
10
|
this.logger = logger;
|
12
11
|
this.cacheServiceErrorMapper = cacheServiceErrorMapper;
|
12
|
+
this.retryStrategy = retryStrategy;
|
13
|
+
}
|
14
|
+
getRetryStrategy() {
|
15
|
+
return this.retryStrategy;
|
13
16
|
}
|
14
17
|
getLogger() {
|
15
18
|
return this.logger;
|
@@ -30,7 +33,7 @@ class AbstractPubsubClient {
|
|
30
33
|
return await this.sendPublish(cacheName, topicName, value);
|
31
34
|
}
|
32
35
|
async subscribe(cacheName, topicName, options) {
|
33
|
-
var _a, _b, _c, _d, _e;
|
36
|
+
var _a, _b, _c, _d, _e, _f;
|
34
37
|
try {
|
35
38
|
(0, utils_1.validateCacheName)(cacheName);
|
36
39
|
(0, utils_1.validateTopicName)(topicName);
|
@@ -54,6 +57,9 @@ class AbstractPubsubClient {
|
|
54
57
|
const onConnectionLost = (_e = options.onConnectionLost) !== null && _e !== void 0 ? _e : (() => {
|
55
58
|
return;
|
56
59
|
});
|
60
|
+
const onSubscriptionEnd = (_f = options.onSubscriptionEnd) !== null && _f !== void 0 ? _f : (() => {
|
61
|
+
return;
|
62
|
+
});
|
57
63
|
const subscriptionState = new subscription_state_1.SubscriptionState();
|
58
64
|
const subscription = new index_1.TopicSubscribe.Subscription(this.loggerFactory, subscriptionState);
|
59
65
|
return await this.sendSubscribe({
|
@@ -64,6 +70,7 @@ class AbstractPubsubClient {
|
|
64
70
|
onDiscontinuity: onDiscontinuity,
|
65
71
|
onHeartbeat: onHeartbeat,
|
66
72
|
onConnectionLost: onConnectionLost,
|
73
|
+
onSubscriptionEnd: onSubscriptionEnd,
|
67
74
|
subscriptionState: subscriptionState,
|
68
75
|
subscription: subscription,
|
69
76
|
restartedDueToError: false,
|
@@ -72,6 +79,7 @@ class AbstractPubsubClient {
|
|
72
79
|
}
|
73
80
|
prepareEndCallback(options) {
|
74
81
|
return () => {
|
82
|
+
var _a, _b;
|
75
83
|
// We want to restart on stream end, except if:
|
76
84
|
// 1. The stream was cancelled by the caller.
|
77
85
|
// 2. The stream was restarted following an error.
|
@@ -79,10 +87,12 @@ class AbstractPubsubClient {
|
|
79
87
|
options.subscriptionState.isSubscribed) {
|
80
88
|
this.logger.trace('Stream ended after error but was restarted on topic: %s', options.topicName);
|
81
89
|
options.restartedDueToError = false;
|
90
|
+
(_a = options.onSubscriptionEnd) === null || _a === void 0 ? void 0 : _a.call(options);
|
82
91
|
return;
|
83
92
|
}
|
84
93
|
else if (!options.subscriptionState.isSubscribed) {
|
85
94
|
this.logger.trace('Stream ended after unsubscribe on topic: %s', options.topicName);
|
95
|
+
(_b = options.onSubscriptionEnd) === null || _b === void 0 ? void 0 : _b.call(options);
|
86
96
|
return;
|
87
97
|
}
|
88
98
|
this.logger.trace('Stream ended on topic: %s; restarting.', options.topicName);
|
@@ -97,7 +107,7 @@ class AbstractPubsubClient {
|
|
97
107
|
});
|
98
108
|
};
|
99
109
|
}
|
100
|
-
handleSubscribeError(options, momentoError,
|
110
|
+
handleSubscribeError(options, momentoError, retryDelayMillis) {
|
101
111
|
this.logger.trace('Handling subscribe error');
|
102
112
|
// When the first message is an error, an irrecoverable error has happened,
|
103
113
|
// eg the cache does not exist. The user should not receive a subscription
|
@@ -109,23 +119,18 @@ class AbstractPubsubClient {
|
|
109
119
|
return;
|
110
120
|
}
|
111
121
|
this.logger.trace('Subscribe error was not the first message on the stream.');
|
112
|
-
// Another special case is when the cache is not found.
|
113
|
-
// This happens here if the user deletes the cache in the middle of
|
114
|
-
// a subscription.
|
115
|
-
if (momentoError.errorCode() === errors_1.MomentoErrorCode.CACHE_NOT_FOUND_ERROR) {
|
116
|
-
this.logger.trace('Stream ended due to cache not found error on topic: %s', options.topicName);
|
117
|
-
options.subscription.unsubscribe();
|
118
|
-
options.onError(momentoError, options.subscription);
|
119
|
-
return;
|
120
|
-
}
|
121
122
|
this.logger.trace('Checking to see if we should attempt to reconnect subscription.');
|
122
123
|
// For several types of errors having to with network interruptions, we wish to
|
123
124
|
// transparently restart the stream instead of propagating an error.
|
124
|
-
if (
|
125
|
+
if (retryDelayMillis === null) {
|
126
|
+
this.logger.trace('Error occurred on subscription, not attempting to reconnect: %s', momentoError.toString());
|
127
|
+
options.subscription.unsubscribe();
|
128
|
+
options.onError(momentoError, options.subscription);
|
129
|
+
}
|
130
|
+
else {
|
125
131
|
options.restartedDueToError = true;
|
126
|
-
|
127
|
-
|
128
|
-
(0, utils_1.sleep)(reconnectDelayMillis)
|
132
|
+
this.logger.trace('Error occurred on subscription, possibly a network interruption. Will attempt to restart stream in %s ms.', retryDelayMillis);
|
133
|
+
(0, utils_1.sleep)(retryDelayMillis)
|
129
134
|
.then(() => {
|
130
135
|
if (!options.subscriptionState.isSubscribed) {
|
131
136
|
this.logger.trace('Subscription was unsubscribed before retrying; aborting reconnect.');
|
@@ -147,12 +152,8 @@ class AbstractPubsubClient {
|
|
147
152
|
this.logger.trace('Error when sleeping prior to sendSubscribe to reconnect: %s', e);
|
148
153
|
return;
|
149
154
|
});
|
150
|
-
return;
|
151
155
|
}
|
152
|
-
this.logger.trace('Subscribe error was not a re-connectable error.');
|
153
|
-
this.logger.trace('Subscribe error was not one of the known error types; calling error handler.');
|
154
|
-
options.onError(momentoError, options.subscription);
|
155
156
|
}
|
156
157
|
}
|
157
158
|
exports.AbstractPubsubClient = AbstractPubsubClient;
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBS3FCO0FBQ3JCLDRDQUFpRDtBQUNqRCwwQ0FTd0I7QUFDeEIsaUVBQTJEO0FBNEMzRCxNQUFzQixvQkFBb0I7SUFPeEMsWUFDRSxhQUFtQyxFQUNuQyxNQUFxQixFQUNyQix1QkFBNkQ7UUFFN0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLHVCQUF1QixHQUFHLHVCQUF1QixDQUFDO0lBQ3pELENBQUM7SUFFUyxTQUFTO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRVMsMEJBQTBCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDO0lBQ3RDLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUNsQixTQUFpQixFQUNqQixTQUFpQixFQUNqQixLQUEwQjtRQUUxQixJQUFJO1lBQ0YsSUFBQSx5QkFBaUIsRUFBQyxTQUFTLENBQUMsQ0FBQztZQUM3QixJQUFBLHlCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzlCO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FDcEQsR0FBWSxFQUNaLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FDbkMsQ0FBQztZQUNGLDhEQUE4RDtTQUMvRDtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLHdEQUF3RCxFQUN4RCxJQUFBLHNCQUFjLEVBQUMsU0FBUyxDQUFDLEVBQ3pC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QUFPO1lBQ1QsQ0FBQyxDQUFDLENBQUM7WUFDTCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLDhFQUE4RSxDQUMvRSxDQUFDO1FBQ0YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRjtBQWxRRCxvREFrUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBzbGVlcCxcbiAgdHJ1bmNhdGVTdHJpbmcsXG4gIHZhbGlkYXRlQ2FjaGVOYW1lLFxuICB2YWxpZGF0ZVRvcGljTmFtZSxcbn0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHtNb21lbnRvRXJyb3JDb2RlfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtcbiAgVG9waWNQdWJsaXNoLFxuICBUb3BpY0l0ZW0sXG4gIE1vbWVudG9Mb2dnZXIsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBTdWJzY3JpYmVDYWxsT3B0aW9ucyxcbiAgTW9tZW50b0xvZ2dlckZhY3RvcnksXG4gIFRvcGljRGlzY29udGludWl0eSxcbiAgVG9waWNIZWFydGJlYXQsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7U3Vic2NyaXB0aW9uU3RhdGV9IGZyb20gJy4uLy4uL3N1YnNjcmlwdGlvbi1zdGF0ZSc7XG5pbXBvcnQge0lQdWJzdWJDbGllbnR9IGZyb20gJy4vSVB1YnN1YkNsaWVudCc7XG5pbXBvcnQge0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzL0lDYWNoZVNlcnZpY2VFcnJvck1hcHBlcic7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIHBhcmFtZXRlcnMgZm9yIHRoZSBgc2VuZFN1YnNjcmliZWAgbWV0aG9kLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlbmRTdWJzY3JpYmVPcHRpb25zIHtcbiAgY2FjaGVOYW1lOiBzdHJpbmc7XG4gIHRvcGljTmFtZTogc3RyaW5nO1xuICBvbkl0ZW06IChpdGVtOiBUb3BpY0l0ZW0pID0+IHZvaWQ7XG4gIG9uRXJyb3I6IChcbiAgICBlcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgc3Vic2NyaXB0aW9uOiBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb25cbiAgKSA9PiB2b2lkO1xuICBvbkRpc2NvbnRpbnVpdHk6IChkaXNjb250aW51aXR5OiBUb3BpY0Rpc2NvbnRpbnVpdHkpID0+IHZvaWQ7XG4gIG9uSGVhcnRiZWF0OiAoaGVhcnRiZWF0OiBUb3BpY0hlYXJ0YmVhdCkgPT4gdm9pZDtcbiAgb25Db25uZWN0aW9uTG9zdDogKCkgPT4gdm9pZDtcbiAgc3Vic2NyaXB0aW9uU3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlO1xuICBzdWJzY3JpcHRpb246IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZHVlIHRvIGFuIGVycm9yLiBJZiBzbywgd2Ugc2tpcCB0aGUgZW5kIHN0cmVhbSBoYW5kbGVyXG4gICAqIGxvZ2ljIGFzIHRoZSBlcnJvciBoYW5kbGVyIHdpbGwgaGF2ZSByZXN0YXJ0ZWQgdGhlIHN0cmVhbS5cbiAgICovXG4gIHJlc3RhcnRlZER1ZVRvRXJyb3I6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiB0aGUgZmlyc3QgbWVzc2FnZSBpcyBhbiBlcnJvciwgd2UgcmV0dXJuIGFuIGVycm9yIGltbWVkaWF0ZWx5IGFuZCBkbyBub3Qgc3Vic2NyaWJlLlxuICAgKi9cbiAgZmlyc3RNZXNzYWdlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBwYXJhbWV0ZXJzIGZvciB0aGUgc3Vic2NyaWJlIGNhbGxiYWNrIHByZXBhcmUgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zIGV4dGVuZHMgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb21pc2UgcmVzb2x2ZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlc29sdmU6IChcbiAgICB2YWx1ZTogVG9waWNTdWJzY3JpYmUuUmVzcG9uc2UgfCBQcm9taXNlTGlrZTxUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24+XG4gICkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UHVic3ViQ2xpZW50PFRHcnBjRXJyb3I+XG4gIGltcGxlbWVudHMgSVB1YnN1YkNsaWVudFxue1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlckZhY3Rvcnk6IE1vbWVudG9Mb2dnZXJGYWN0b3J5O1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTW9tZW50b0xvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+O1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBsb2dnZXJGYWN0b3J5OiBNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbiAgICBsb2dnZXI6IE1vbWVudG9Mb2dnZXIsXG4gICAgY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXI6IElDYWNoZVNlcnZpY2VFcnJvck1hcHBlcjxUR3JwY0Vycm9yPlxuICApIHtcbiAgICB0aGlzLmxvZ2dlckZhY3RvcnkgPSBsb2dnZXJGYWN0b3J5O1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIgPSBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRMb2dnZXIoKTogTW9tZW50b0xvZ2dlciB7XG4gICAgcmV0dXJuIHRoaXMubG9nZ2VyO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldENhY2hlU2VydmljZUVycm9yTWFwcGVyKCk6IElDYWNoZVNlcnZpY2VFcnJvck1hcHBlcjxUR3JwY0Vycm9yPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXI7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT4ge1xuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZUNhY2hlTmFtZShjYWNoZU5hbWUpO1xuICAgICAgdmFsaWRhdGVUb3BpY05hbWUodG9waWNOYW1lKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHJldHVybiB0aGlzLmNhY2hlU2VydmljZUVycm9yTWFwcGVyLnJldHVybk9yVGhyb3dFcnJvcihcbiAgICAgICAgZXJyIGFzIEVycm9yLFxuICAgICAgICBlcnIgPT4gbmV3IFRvcGljUHVibGlzaC5FcnJvcihlcnIpXG4gICAgICApO1xuICAgICAgLy8gKSAgbmV3IFRvcGljUHVibGlzaC5FcnJvcihub3JtYWxpemVTZGtFcnJvcihlcnIgYXMgRXJyb3IpKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBwdWJsaXNoIHJlcXVlc3Q7IHRvcGljOiAlcywgbWVzc2FnZSBsZW5ndGg6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSksXG4gICAgICB2YWx1ZS5sZW5ndGhcbiAgICApO1xuXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFB1Ymxpc2goY2FjaGVOYW1lLCB0b3BpY05hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZW5kUHVibGlzaChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICB2YWx1ZTogc3RyaW5nIHwgVWludDhBcnJheVxuICApOiBQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT47XG5cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNTdWJzY3JpYmUuRXJyb3IoZXJyKVxuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnSXNzdWluZyBzdWJzY3JpYmUgcmVxdWVzdDsgdG9waWM6ICVzJyxcbiAgICAgIHRydW5jYXRlU3RyaW5nKHRvcGljTmFtZSlcbiAgICApO1xuXG4gICAgY29uc3Qgb25JdGVtID1cbiAgICAgIG9wdGlvbnMub25JdGVtID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkVycm9yID1cbiAgICAgIG9wdGlvbnMub25FcnJvciA/P1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSk7XG4gICAgY29uc3Qgb25EaXNjb250aW51aXR5ID1cbiAgICAgIG9wdGlvbnMub25EaXNjb250aW51aXR5ID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkhlYXJ0YmVhdCA9XG4gICAgICBvcHRpb25zLm9uSGVhcnRiZWF0ID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkNvbm5lY3Rpb25Mb3N0ID1cbiAgICAgIG9wdGlvbnMub25Db25uZWN0aW9uTG9zdCA/P1xuICAgICAgKCgpID0+IHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSk7XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb25TdGF0ZSA9IG5ldyBTdWJzY3JpcHRpb25TdGF0ZSgpO1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IG5ldyBUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24oXG4gICAgICB0aGlzLmxvZ2dlckZhY3RvcnksXG4gICAgICBzdWJzY3JpcHRpb25TdGF0ZVxuICAgICk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuc2VuZFN1YnNjcmliZSh7XG4gICAgICBjYWNoZU5hbWU6IGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZTogdG9waWNOYW1lLFxuICAgICAgb25JdGVtOiBvbkl0ZW0sXG4gICAgICBvbkVycm9yOiBvbkVycm9yLFxuICAgICAgb25EaXNjb250aW51aXR5OiBvbkRpc2NvbnRpbnVpdHksXG4gICAgICBvbkhlYXJ0YmVhdDogb25IZWFydGJlYXQsXG4gICAgICBvbkNvbm5lY3Rpb25Mb3N0OiBvbkNvbm5lY3Rpb25Mb3N0LFxuICAgICAgc3Vic2NyaXB0aW9uU3RhdGU6IHN1YnNjcmlwdGlvblN0YXRlLFxuICAgICAgc3Vic2NyaXB0aW9uOiBzdWJzY3JpcHRpb24sXG4gICAgICByZXN0YXJ0ZWREdWVUb0Vycm9yOiBmYWxzZSxcbiAgICAgIGZpcnN0TWVzc2FnZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzZW5kU3Vic2NyaWJlKFxuICAgIG9wdGlvbnM6IFNlbmRTdWJzY3JpYmVPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+O1xuXG4gIHByb3RlY3RlZCBwcmVwYXJlRW5kQ2FsbGJhY2soXG4gICAgb3B0aW9uczogUHJlcGFyZVN1YnNjcmliZUNhbGxiYWNrT3B0aW9uc1xuICApOiAoKSA9PiB2b2lkIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgLy8gV2Ugd2FudCB0byByZXN0YXJ0IG9uIHN0cmVhbSBlbmQsIGV4Y2VwdCBpZjpcbiAgICAgIC8vIDEuIFRoZSBzdHJlYW0gd2FzIGNhbmNlbGxlZCBieSB0aGUgY2FsbGVyLlxuICAgICAgLy8gMi4gVGhlIHN0cmVhbSB3YXMgcmVzdGFydGVkIGZvbGxvd2luZyBhbiBlcnJvci5cbiAgICAgIGlmIChcbiAgICAgICAgb3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yICYmXG4gICAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uU3RhdGUuaXNTdWJzY3JpYmVkXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICAgJ1N0cmVhbSBlbmRlZCBhZnRlciBlcnJvciBidXQgd2FzIHJlc3RhcnRlZCBvbiB0b3BpYzogJXMnLFxuICAgICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICAgICk7XG4gICAgICAgIG9wdGlvbnMucmVzdGFydGVkRHVlVG9FcnJvciA9IGZhbHNlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKCFvcHRpb25zLnN1YnNjcmlwdGlvblN0YXRlLmlzU3Vic2NyaWJlZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIHVuc3Vic2NyaWJlIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ1N0cmVhbSBlbmRlZCBvbiB0b3BpYzogJXM7IHJlc3RhcnRpbmcuJyxcbiAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICk7XG5cbiAgICAgIC8vIFdoZW4gcmVzdGFydGluZyB0aGUgc3RyZWFtIHdlIGRvIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBwcm9taXNlcyxcbiAgICAgIC8vIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgYWxyZWFkeSByZXR1cm5lZCB0aGUgc3Vic2NyaXB0aW9uIG9iamVjdCB0byB0aGUgdXNlci5cbiAgICAgIHRoaXMuc2VuZFN1YnNjcmliZShvcHRpb25zKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVTdWJzY3JpYmVFcnJvcihcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zLFxuICAgIG1vbWVudG9FcnJvcjogVG9waWNTdWJzY3JpYmUuRXJyb3IsXG4gICAgc2hvdWxkUmVjb25uZWN0U3Vic2NyaXB0aW9uOiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnRyYWNlKCdIYW5kbGluZyBzdWJzY3JpYmUgZXJyb3InKTtcbiAgICAvLyBXaGVuIHRoZSBmaXJzdCBtZXNzYWdlIGlzIGFuIGVycm9yLCBhbiBpcnJlY292ZXJhYmxlIGVycm9yIGhhcyBoYXBwZW5lZCxcbiAgICAvLyBlZyB0aGUgY2FjaGUgZG9lcyBub3QgZXhpc3QuIFRoZSB1c2VyIHNob3VsZCBub3QgcmVjZWl2ZSBhIHN1YnNjcmlwdGlvblxuICAgIC8vIG9iamVjdCBidXQgYW4gZXJyb3IuXG4gICAgaWYgKG9wdGlvbnMuZmlyc3RNZXNzYWdlKSB7XG4gICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgJ0ZpcnN0IG1lc3NhZ2Ugb24gc3Vic2NyaXB0aW9uIHdhcyBhbiBlcnJvcjsgdG9waWM6ICVzLCBlcnJvcjogJXMnLFxuICAgICAgICB0cnVuY2F0ZVN0cmluZyhvcHRpb25zLnRvcGljTmFtZSksXG4gICAgICAgIG1vbWVudG9FcnJvci50b1N0cmluZygpXG4gICAgICApO1xuXG4gICAgICBvcHRpb25zLnJlc29sdmUobW9tZW50b0Vycm9yKTtcbiAgICAgIG9wdGlvbnMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnU3Vic2NyaWJlIGVycm9yIHdhcyBub3QgdGhlIGZpcnN0IG1lc3NhZ2Ugb24gdGhlIHN0cmVhbS4nXG4gICAgKTtcblxuICAgIC8vIEFub3RoZXIgc3BlY2lhbCBjYXNlIGlzIHdoZW4gdGhlIGNhY2hlIGlzIG5vdCBmb3VuZC5cbiAgICAvLyBUaGlzIGhhcHBlbnMgaGVyZSBpZiB0aGUgdXNlciBkZWxldGVzIHRoZSBjYWNoZSBpbiB0aGUgbWlkZGxlIG9mXG4gICAgLy8gYSBzdWJzY3JpcHRpb24uXG4gICAgaWYgKG1vbWVudG9FcnJvci5lcnJvckNvZGUoKSA9PT0gTW9tZW50b0Vycm9yQ29kZS5DQUNIRV9OT1RfRk9VTkRfRVJST1IpIHtcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAnU3RyZWFtIGVuZGVkIGR1ZSB0byBjYWNoZSBub3QgZm91bmQgZXJyb3Igb24gdG9waWM6ICVzJyxcbiAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICk7XG4gICAgICBvcHRpb25zLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgb3B0aW9ucy5vbkVycm9yKG1vbWVudG9FcnJvciwgb3B0aW9ucy5zdWJzY3JpcHRpb24pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgJ0NoZWNraW5nIHRvIHNlZSBpZiB3ZSBzaG91bGQgYXR0ZW1wdCB0byByZWNvbm5lY3Qgc3Vic2NyaXB0aW9uLidcbiAgICApO1xuXG4gICAgLy8gRm9yIHNldmVyYWwgdHlwZXMgb2YgZXJyb3JzIGhhdmluZyB0byB3aXRoIG5ldHdvcmsgaW50ZXJydXB0aW9ucywgd2Ugd2lzaCB0b1xuICAgIC8vIHRyYW5zcGFyZW50bHkgcmVzdGFydCB0aGUgc3RyZWFtIGluc3RlYWQgb2YgcHJvcGFnYXRpbmcgYW4gZXJyb3IuXG4gICAgaWYgKHNob3VsZFJlY29ubmVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgb3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHJlY29ubmVjdERlbGF5TWlsbGlzID0gNTAwO1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdFcnJvciBvY2N1cnJlZCBvbiBzdWJzY3JpcHRpb24sIHBvc3NpYmx5IGEgbmV0d29yayBpbnRlcnJ1cHRpb24uIFdpbGwgYXR0ZW1wdCB0byByZXN0YXJ0IHN0cmVhbSBpbiAlcyBtcy4nLFxuICAgICAgICByZWNvbm5lY3REZWxheU1pbGxpc1xuICAgICAgKTtcbiAgICAgIHNsZWVwKHJlY29ubmVjdERlbGF5TWlsbGlzKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgaWYgKCFvcHRpb25zLnN1YnNjcmlwdGlvblN0YXRlLmlzU3Vic2NyaWJlZCkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICAgICAgICdTdWJzY3JpcHRpb24gd2FzIHVuc3Vic2NyaWJlZCBiZWZvcmUgcmV0cnlpbmc7IGFib3J0aW5nIHJlY29ubmVjdC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFdoZW4gcmVzdGFydGluZyB0aGUgc3RyZWFtIHdlIGRvIG5vdCBkbyBhbnl0aGluZyB3aXRoIHRoZSBwcm9taXNlcyxcbiAgICAgICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICAgICAgdGhpcy5zZW5kU3Vic2NyaWJlKG9wdGlvbnMpXG4gICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goZSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAgICAgICAgICdFcnJvciB3aGVuIGNhbGxpbmcgc2VuZFN1YnNjcmliZSB0byByZWNvbm5lY3Q6ICVzJyxcbiAgICAgICAgICAgICAgICBlXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAgICAgJ0Vycm9yIHdoZW4gc2xlZXBpbmcgcHJpb3IgdG8gc2VuZFN1YnNjcmliZSB0byByZWNvbm5lY3Q6ICVzJyxcbiAgICAgICAgICAgIGVcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXIudHJhY2UoJ1N1YnNjcmliZSBlcnJvciB3YXMgbm90IGEgcmUtY29ubmVjdGFibGUgZXJyb3IuJyk7XG5cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdTdWJzY3JpYmUgZXJyb3Igd2FzIG5vdCBvbmUgb2YgdGhlIGtub3duIGVycm9yIHR5cGVzOyBjYWxsaW5nIGVycm9yIGhhbmRsZXIuJ1xuICAgICk7XG4gICAgb3B0aW9ucy5vbkVycm9yKG1vbWVudG9FcnJvciwgb3B0aW9ucy5zdWJzY3JpcHRpb24pO1xuICB9XG59XG4iXX0=
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RQdWJzdWJDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvaW50ZXJuYWwvY2xpZW50cy9wdWJzdWIvQWJzdHJhY3RQdWJzdWJDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBS3FCO0FBQ3JCLDBDQVV3QjtBQUN4QixpRUFBMkQ7QUE2QzNELE1BQXNCLG9CQUFvQjtJQVF4QyxZQUNFLGFBQW1DLEVBQ25DLE1BQXFCLEVBQ3JCLHVCQUE2RCxFQUM3RCxhQUF5QztRQUV6QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsdUJBQXVCLENBQUM7UUFDdkQsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVTLGdCQUFnQjtRQUN4QixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVTLFNBQVM7UUFDakIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFUywwQkFBMEI7UUFDbEMsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQTBCO1FBRTFCLElBQUk7WUFDRixJQUFBLHlCQUFpQixFQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzdCLElBQUEseUJBQWlCLEVBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7UUFBQyxPQUFPLEdBQUcsRUFBRTtZQUNaLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixDQUNwRCxHQUFZLEVBQ1osR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLG9CQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUNuQyxDQUFDO1lBQ0YsOERB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Q0FDRixDQUFDO29CQUNGLE9BQU87Z0JBQ1QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0wsT0FBTztZQUNULENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsNkRBQTZELEVBQzdELENBQUMsQ0FDRixDQUFDO2dCQUNGLE9BQU87WUFDVCxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztDQUNGO0FBalFELG9EQWlRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHNsZWVwLFxuICB0cnVuY2F0ZVN0cmluZyxcbiAgdmFsaWRhdGVDYWNoZU5hbWUsXG4gIHZhbGlkYXRlVG9waWNOYW1lLFxufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge1xuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljSXRlbSxcbiAgTW9tZW50b0xvZ2dlcixcbiAgVG9waWNTdWJzY3JpYmUsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBNb21lbnRvTG9nZ2VyRmFjdG9yeSxcbiAgVG9waWNEaXNjb250aW51aXR5LFxuICBUb3BpY0hlYXJ0YmVhdCxcbiAgU3Vic2NyaXB0aW9uUmV0cnlTdHJhdGVneSxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb25TdGF0ZX0gZnJvbSAnLi4vLi4vc3Vic2NyaXB0aW9uLXN0YXRlJztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SUNhY2hlU2VydmljZUVycm9yTWFwcGVyfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMvSUNhY2hlU2VydmljZUVycm9yTWFwcGVyJztcblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgcGFyYW1ldGVycyBmb3IgdGhlIGBzZW5kU3Vic2NyaWJlYCBtZXRob2QuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICBjYWNoZU5hbWU6IHN0cmluZztcbiAgdG9waWNOYW1lOiBzdHJpbmc7XG4gIG9uSXRlbTogKGl0ZW06IFRvcGljSXRlbSkgPT4gdm9pZDtcbiAgb25FcnJvcjogKFxuICAgIGVycm9yOiBUb3BpY1N1YnNjcmliZS5FcnJvcixcbiAgICBzdWJzY3JpcHRpb246IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvblxuICApID0+IHZvaWQ7XG4gIG9uRGlzY29udGludWl0eTogKGRpc2NvbnRpbnVpdHk6IFRvcGljRGlzY29udGludWl0eSkgPT4gdm9pZDtcbiAgb25IZWFydGJlYXQ6IChoZWFydGJlYXQ6IFRvcGljSGVhcnRiZWF0KSA9PiB2b2lkO1xuICBvbkNvbm5lY3Rpb25Mb3N0OiAoKSA9PiB2b2lkO1xuICBvblN1YnNjcmlwdGlvbkVuZDogKCkgPT4gdm9pZDtcbiAgc3Vic2NyaXB0aW9uU3RhdGU6IFN1YnNjcmlwdGlvblN0YXRlO1xuICBzdWJzY3JpcHRpb246IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZHVlIHRvIGFuIGVycm9yLiBJZiBzbywgd2Ugc2tpcCB0aGUgZW5kIHN0cmVhbSBoYW5kbGVyXG4gICAqIGxvZ2ljIGFzIHRoZSBlcnJvciBoYW5kbGVyIHdpbGwgaGF2ZSByZXN0YXJ0ZWQgdGhlIHN0cmVhbS5cbiAgICovXG4gIHJlc3RhcnRlZER1ZVRvRXJyb3I6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBJZiB0aGUgZmlyc3QgbWVzc2FnZSBpcyBhbiBlcnJvciwgd2UgcmV0dXJuIGFuIGVycm9yIGltbWVkaWF0ZWx5IGFuZCBkbyBub3Qgc3Vic2NyaWJlLlxuICAgKi9cbiAgZmlyc3RNZXNzYWdlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBwYXJhbWV0ZXJzIGZvciB0aGUgc3Vic2NyaWJlIGNhbGxiYWNrIHByZXBhcmUgbWV0aG9kcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zIGV4dGVuZHMgU2VuZFN1YnNjcmliZU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIHByb21pc2UgcmVzb2x2ZSBmdW5jdGlvbi5cbiAgICovXG4gIHJlc29sdmU6IChcbiAgICB2YWx1ZTogVG9waWNTdWJzY3JpYmUuUmVzcG9uc2UgfCBQcm9taXNlTGlrZTxUb3BpY1N1YnNjcmliZS5TdWJzY3JpcHRpb24+XG4gICkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0UHVic3ViQ2xpZW50PFRHcnBjRXJyb3I+XG4gIGltcGxlbWVudHMgSVB1YnN1YkNsaWVudFxue1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlckZhY3Rvcnk6IE1vbWVudG9Mb2dnZXJGYWN0b3J5O1xuICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTW9tZW50b0xvZ2dlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+O1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcmV0cnlTdHJhdGVneT86IFN1YnNjcmlwdGlvblJldHJ5U3RyYXRlZ3k7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGxvZ2dlckZhY3Rvcnk6IE1vbWVudG9Mb2dnZXJGYWN0b3J5LFxuICAgIGxvZ2dlcjogTW9tZW50b0xvZ2dlcixcbiAgICBjYWNoZVNlcnZpY2VFcnJvck1hcHBlcjogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+LFxuICAgIHJldHJ5U3RyYXRlZ3k/OiBTdWJzY3JpcHRpb25SZXRyeVN0cmF0ZWd5XG4gICkge1xuICAgIHRoaXMubG9nZ2VyRmFjdG9yeSA9IGxvZ2dlckZhY3Rvcnk7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5jYWNoZVNlcnZpY2VFcnJvck1hcHBlciA9IGNhY2hlU2VydmljZUVycm9yTWFwcGVyO1xuICAgIHRoaXMucmV0cnlTdHJhdGVneSA9IHJldHJ5U3RyYXRlZ3k7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UmV0cnlTdHJhdGVneSgpOiBTdWJzY3JpcHRpb25SZXRyeVN0cmF0ZWd5IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5yZXRyeVN0cmF0ZWd5O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldExvZ2dlcigpOiBNb21lbnRvTG9nZ2VyIHtcbiAgICByZXR1cm4gdGhpcy5sb2dnZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0Q2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIoKTogSUNhY2hlU2VydmljZUVycm9yTWFwcGVyPFRHcnBjRXJyb3I+IHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZVNlcnZpY2VFcnJvck1hcHBlcjtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlQ2FjaGVOYW1lKGNhY2hlTmFtZSk7XG4gICAgICB2YWxpZGF0ZVRvcGljTmFtZSh0b3BpY05hbWUpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVTZXJ2aWNlRXJyb3JNYXBwZXIucmV0dXJuT3JUaHJvd0Vycm9yKFxuICAgICAgICBlcnIgYXMgRXJyb3IsXG4gICAgICAgIGVyciA9PiBuZXcgVG9waWNQdWJsaXNoLkVycm9yKGVycilcbiAgICAgICk7XG4gICAgICAvLyApICBuZXcgVG9waWNQdWJsaXNoLkVycm9yKG5vcm1hbGl6ZVNka0Vycm9yKGVyciBhcyBFcnJvcikpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHB1Ymxpc2ggcmVxdWVzdDsgdG9waWM6ICVzLCBtZXNzYWdlIGxlbmd0aDogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKSxcbiAgICAgIHZhbHVlLmxlbmd0aFxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zZW5kUHVibGlzaChjYWNoZU5hbWUsIHRvcGljTmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRQdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPjtcblxuICBwdWJsaWMgYXN5bmMgc3Vic2NyaWJlKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIG9wdGlvbnM6IFN1YnNjcmliZUNhbGxPcHRpb25zXG4gICk6IFByb21pc2U8VG9waWNTdWJzY3JpYmUuUmVzcG9uc2U+IHtcbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVDYWNoZU5hbWUoY2FjaGVOYW1lKTtcbiAgICAgIHZhbGlkYXRlVG9waWNOYW1lKHRvcGljTmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gdGhpcy5jYWNoZVNlcnZpY2VFcnJvck1hcHBlci5yZXR1cm5PclRocm93RXJyb3IoXG4gICAgICAgIGVyciBhcyBFcnJvcixcbiAgICAgICAgZXJyID0+IG5ldyBUb3BpY1N1YnNjcmliZS5FcnJvcihlcnIpXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICdJc3N1aW5nIHN1YnNjcmliZSByZXF1ZXN0OyB0b3BpYzogJXMnLFxuICAgICAgdHJ1bmNhdGVTdHJpbmcodG9waWNOYW1lKVxuICAgICk7XG5cbiAgICBjb25zdCBvbkl0ZW0gPVxuICAgICAgb3B0aW9ucy5vbkl0ZW0gPz9cbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uRXJyb3IgPVxuICAgICAgb3B0aW9ucy5vbkVycm9yID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvbkRpc2NvbnRpbnVpdHkgPVxuICAgICAgb3B0aW9ucy5vbkRpc2NvbnRpbnVpdHkgPz9cbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uSGVhcnRiZWF0ID1cbiAgICAgIG9wdGlvbnMub25IZWFydGJlYXQgPz9cbiAgICAgICgoKSA9PiB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0pO1xuICAgIGNvbnN0IG9uQ29ubmVjdGlvbkxvc3QgPVxuICAgICAgb3B0aW9ucy5vbkNvbm5lY3Rpb25Mb3N0ID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcbiAgICBjb25zdCBvblN1YnNjcmlwdGlvbkVuZCA9XG4gICAgICBvcHRpb25zLm9uU3Vic2NyaXB0aW9uRW5kID8/XG4gICAgICAoKCkgPT4ge1xuICAgICAgICByZXR1cm47XG4gICAgICB9KTtcblxuICAgIGNvbnN0IHN1YnNjcmlwdGlvblN0YXRlID0gbmV3IFN1YnNjcmlwdGlvblN0YXRlKCk7XG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gbmV3IFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbihcbiAgICAgIHRoaXMubG9nZ2VyRmFjdG9yeSxcbiAgICAgIHN1YnNjcmlwdGlvblN0YXRlXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5zZW5kU3Vic2NyaWJlKHtcbiAgICAgIGNhY2hlTmFtZTogY2FjaGVOYW1lLFxuICAgICAgdG9waWNOYW1lOiB0b3BpY05hbWUsXG4gICAgICBvbkl0ZW06IG9uSXRlbSxcbiAgICAgIG9uRXJyb3I6IG9uRXJyb3IsXG4gICAgICBvbkRpc2NvbnRpbnVpdHk6IG9uRGlzY29udGludWl0eSxcbiAgICAgIG9uSGVhcnRiZWF0OiBvbkhlYXJ0YmVhdCxcbiAgICAgIG9uQ29ubmVjdGlvbkxvc3Q6IG9uQ29ubmVjdGlvbkxvc3QsXG4gICAgICBvblN1YnNjcmlwdGlvbkVuZDogb25TdWJzY3JpcHRpb25FbmQsXG4gICAgICBzdWJzY3JpcHRpb25TdGF0ZTogc3Vic2NyaXB0aW9uU3RhdGUsXG4gICAgICBzdWJzY3JpcHRpb246IHN1YnNjcmlwdGlvbixcbiAgICAgIHJlc3RhcnRlZER1ZVRvRXJyb3I6IGZhbHNlLFxuICAgICAgZmlyc3RNZXNzYWdlOiB0cnVlLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IHNlbmRTdWJzY3JpYmUoXG4gICAgb3B0aW9uczogU2VuZFN1YnNjcmliZU9wdGlvbnNcbiAgKTogUHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT47XG5cbiAgcHJvdGVjdGVkIHByZXBhcmVFbmRDYWxsYmFjayhcbiAgICBvcHRpb25zOiBQcmVwYXJlU3Vic2NyaWJlQ2FsbGJhY2tPcHRpb25zXG4gICk6ICgpID0+IHZvaWQge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBXZSB3YW50IHRvIHJlc3RhcnQgb24gc3RyZWFtIGVuZCwgZXhjZXB0IGlmOlxuICAgICAgLy8gMS4gVGhlIHN0cmVhbSB3YXMgY2FuY2VsbGVkIGJ5IHRoZSBjYWxsZXIuXG4gICAgICAvLyAyLiBUaGUgc3RyZWFtIHdhcyByZXN0YXJ0ZWQgZm9sbG93aW5nIGFuIGVycm9yLlxuICAgICAgaWYgKFxuICAgICAgICBvcHRpb25zLnJlc3RhcnRlZER1ZVRvRXJyb3IgJiZcbiAgICAgICAgb3B0aW9ucy5zdWJzY3JpcHRpb25TdGF0ZS5pc1N1YnNjcmliZWRcbiAgICAgICkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIGVycm9yIGJ1dCB3YXMgcmVzdGFydGVkIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucy5yZXN0YXJ0ZWREdWVUb0Vycm9yID0gZmFsc2U7XG4gICAgICAgIG9wdGlvbnMub25TdWJzY3JpcHRpb25FbmQ/LigpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKCFvcHRpb25zLnN1YnNjcmlwdGlvblN0YXRlLmlzU3Vic2NyaWJlZCkge1xuICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAnU3RyZWFtIGVuZGVkIGFmdGVyIHVuc3Vic2NyaWJlIG9uIHRvcGljOiAlcycsXG4gICAgICAgICAgb3B0aW9ucy50b3BpY05hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucy5vblN1YnNjcmlwdGlvbkVuZD8uKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdTdHJlYW0gZW5kZWQgb24gdG9waWM6ICVzOyByZXN0YXJ0aW5nLicsXG4gICAgICAgIG9wdGlvbnMudG9waWNOYW1lXG4gICAgICApO1xuXG4gICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAvLyBiZWNhdXNlIHdlIHNob3VsZCBoYXZlIGFscmVhZHkgcmV0dXJuZWQgdGhlIHN1YnNjcmlwdGlvbiBvYmplY3QgdG8gdGhlIHVzZXIuXG4gICAgICB0aGlzLnNlbmRTdWJzY3JpYmUob3B0aW9ucylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU3Vic2NyaWJlRXJyb3IoXG4gICAgb3B0aW9uczogUHJlcGFyZVN1YnNjcmliZUNhbGxiYWNrT3B0aW9ucyxcbiAgICBtb21lbnRvRXJyb3I6IFRvcGljU3Vic2NyaWJlLkVycm9yLFxuICAgIHJldHJ5RGVsYXlNaWxsaXM6IG51bWJlciB8IG51bGxcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoJ0hhbmRsaW5nIHN1YnNjcmliZSBlcnJvcicpO1xuICAgIC8vIFdoZW4gdGhlIGZpcnN0IG1lc3NhZ2UgaXMgYW4gZXJyb3IsIGFuIGlycmVjb3ZlcmFibGUgZXJyb3IgaGFzIGhhcHBlbmVkLFxuICAgIC8vIGVnIHRoZSBjYWNoZSBkb2VzIG5vdCBleGlzdC4gVGhlIHVzZXIgc2hvdWxkIG5vdCByZWNlaXZlIGEgc3Vic2NyaXB0aW9uXG4gICAgLy8gb2JqZWN0IGJ1dCBhbiBlcnJvci5cbiAgICBpZiAob3B0aW9ucy5maXJzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAnRmlyc3QgbWVzc2FnZSBvbiBzdWJzY3JpcHRpb24gd2FzIGFuIGVycm9yOyB0b3BpYzogJXMsIGVycm9yOiAlcycsXG4gICAgICAgIHRydW5jYXRlU3RyaW5nKG9wdGlvbnMudG9waWNOYW1lKSxcbiAgICAgICAgbW9tZW50b0Vycm9yLnRvU3RyaW5nKClcbiAgICAgICk7XG5cbiAgICAgIG9wdGlvbnMucmVzb2x2ZShtb21lbnRvRXJyb3IpO1xuICAgICAgb3B0aW9ucy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAnU3Vic2NyaWJlIGVycm9yIHdhcyBub3QgdGhlIGZpcnN0IG1lc3NhZ2Ugb24gdGhlIHN0cmVhbS4nXG4gICAgKTtcblxuICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgJ0NoZWNraW5nIHRvIHNlZSBpZiB3ZSBzaG91bGQgYXR0ZW1wdCB0byByZWNvbm5lY3Qgc3Vic2NyaXB0aW9uLidcbiAgICApO1xuXG4gICAgLy8gRm9yIHNldmVyYWwgdHlwZXMgb2YgZXJyb3JzIGhhdmluZyB0byB3aXRoIG5ldHdvcmsgaW50ZXJydXB0aW9ucywgd2Ugd2lzaCB0b1xuICAgIC8vIHRyYW5zcGFyZW50bHkgcmVzdGFydCB0aGUgc3RyZWFtIGluc3RlYWQgb2YgcHJvcGFnYXRpbmcgYW4gZXJyb3IuXG4gICAgaWYgKHJldHJ5RGVsYXlNaWxsaXMgPT09IG51bGwpIHtcbiAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAnRXJyb3Igb2NjdXJyZWQgb24gc3Vic2NyaXB0aW9uLCBub3QgYXR0ZW1wdGluZyB0byByZWNvbm5lY3Q6ICVzJyxcbiAgICAgICAgbW9tZW50b0Vycm9yLnRvU3RyaW5nKClcbiAgICAgICk7XG4gICAgICBvcHRpb25zLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgb3B0aW9ucy5vbkVycm9yKG1vbWVudG9FcnJvciwgb3B0aW9ucy5zdWJzY3JpcHRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLnJlc3RhcnRlZER1ZVRvRXJyb3IgPSB0cnVlO1xuICAgICAgdGhpcy5sb2dnZXIudHJhY2UoXG4gICAgICAgICdFcnJvciBvY2N1cnJlZCBvbiBzdWJzY3JpcHRpb24sIHBvc3NpYmx5IGEgbmV0d29yayBpbnRlcnJ1cHRpb24uIFdpbGwgYXR0ZW1wdCB0byByZXN0YXJ0IHN0cmVhbSBpbiAlcyBtcy4nLFxuICAgICAgICByZXRyeURlbGF5TWlsbGlzXG4gICAgICApO1xuICAgICAgc2xlZXAocmV0cnlEZWxheU1pbGxpcylcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIGlmICghb3B0aW9ucy5zdWJzY3JpcHRpb25TdGF0ZS5pc1N1YnNjcmliZWQpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLnRyYWNlKFxuICAgICAgICAgICAgICAnU3Vic2NyaXB0aW9uIHdhcyB1bnN1YnNjcmliZWQgYmVmb3JlIHJldHJ5aW5nOyBhYm9ydGluZyByZWNvbm5lY3QuJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBXaGVuIHJlc3RhcnRpbmcgdGhlIHN0cmVhbSB3ZSBkbyBub3QgZG8gYW55dGhpbmcgd2l0aCB0aGUgcHJvbWlzZXMsXG4gICAgICAgICAgLy8gYmVjYXVzZSB3ZSBzaG91bGQgaGF2ZSBhbHJlYWR5IHJldHVybmVkIHRoZSBzdWJzY3JpcHRpb24gb2JqZWN0IHRvIHRoZSB1c2VyLlxuICAgICAgICAgIHRoaXMuc2VuZFN1YnNjcmliZShvcHRpb25zKVxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKGUgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAgICAgICAnRXJyb3Igd2hlbiBjYWxsaW5nIHNlbmRTdWJzY3JpYmUgdG8gcmVjb25uZWN0OiAlcycsXG4gICAgICAgICAgICAgICAgZVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaChlID0+IHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci50cmFjZShcbiAgICAgICAgICAgICdFcnJvciB3aGVuIHNsZWVwaW5nIHByaW9yIHRvIHNlbmRTdWJzY3JpYmUgdG8gcmVjb25uZWN0OiAlcycsXG4gICAgICAgICAgICBlXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
@@ -3,12 +3,20 @@ import { MomentoLogger, SubscribeCallOptions, TopicPublish, TopicSubscribe, List
|
|
3
3
|
import { IPubsubClient } from './IPubsubClient';
|
4
4
|
import { IWebhookClient } from './IWebhookClient';
|
5
5
|
import { PutWebhookCallOptions } from '../../../utils/webhook-call-options';
|
6
|
+
interface IStreamClientWithCount {
|
7
|
+
numActiveSubscriptions: number;
|
8
|
+
client: IPubsubClient;
|
9
|
+
}
|
6
10
|
export declare abstract class AbstractTopicClient implements ITopicClient {
|
7
11
|
protected readonly logger: MomentoLogger;
|
8
12
|
protected readonly pubsubClients: IPubsubClient[];
|
13
|
+
protected readonly pubsubStreamClients: IStreamClientWithCount[];
|
14
|
+
protected readonly pubsubUnaryClients: IPubsubClient[];
|
9
15
|
protected readonly webhookClient: IWebhookClient;
|
10
|
-
private
|
11
|
-
|
16
|
+
private nextPubsubStreamClientIndex;
|
17
|
+
private nextPubsubUnaryClientIndex;
|
18
|
+
private readonly maxConcurrentSubscriptions;
|
19
|
+
protected constructor(logger: MomentoLogger, pubsubStreamClients: IPubsubClient[], pubsubUnaryClients: IPubsubClient[], webhookClient: IWebhookClient);
|
12
20
|
/**
|
13
21
|
* Publishes a value to a topic.
|
14
22
|
*
|
@@ -85,5 +93,10 @@ export declare abstract class AbstractTopicClient implements ITopicClient {
|
|
85
93
|
* {@link RotateWebhookSecret.Error} on failure.
|
86
94
|
*/
|
87
95
|
rotateWebhookSecret(cacheName: string, webhookName: string): Promise<RotateWebhookSecret.Response>;
|
88
|
-
protected
|
96
|
+
protected getNextPublishClient(): IPubsubClient;
|
97
|
+
protected getNextSubscribeClient(): {
|
98
|
+
client: IPubsubClient;
|
99
|
+
decrementSubscriptionCount: () => void;
|
100
|
+
};
|
89
101
|
}
|
102
|
+
export {};
|
@@ -2,12 +2,22 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.AbstractTopicClient = void 0;
|
4
4
|
const index_1 = require("../../../index");
|
5
|
+
const errors_1 = require("../../../errors");
|
6
|
+
class StreamClientWithCount {
|
7
|
+
constructor(client) {
|
8
|
+
this.numActiveSubscriptions = 0;
|
9
|
+
this.client = client;
|
10
|
+
}
|
11
|
+
}
|
5
12
|
class AbstractTopicClient {
|
6
|
-
constructor(logger,
|
7
|
-
this.
|
13
|
+
constructor(logger, pubsubStreamClients, pubsubUnaryClients, webhookClient) {
|
14
|
+
this.nextPubsubStreamClientIndex = 0;
|
15
|
+
this.nextPubsubUnaryClientIndex = 0;
|
8
16
|
this.logger = logger;
|
9
|
-
this.
|
17
|
+
this.pubsubStreamClients = pubsubStreamClients.map(client => new StreamClientWithCount(client));
|
18
|
+
this.pubsubUnaryClients = pubsubUnaryClients;
|
10
19
|
this.webhookClient = webhookClient;
|
20
|
+
this.maxConcurrentSubscriptions = 100 * this.pubsubStreamClients.length;
|
11
21
|
}
|
12
22
|
/**
|
13
23
|
* Publishes a value to a topic.
|
@@ -20,7 +30,7 @@ class AbstractTopicClient {
|
|
20
30
|
* {@link TopicPublish.Error} on failure.
|
21
31
|
*/
|
22
32
|
async publish(cacheName, topicName, value) {
|
23
|
-
return await this.
|
33
|
+
return await this.getNextPublishClient().publish(cacheName, topicName, value);
|
24
34
|
}
|
25
35
|
/**
|
26
36
|
* Subscribes to a topic.
|
@@ -35,7 +45,23 @@ class AbstractTopicClient {
|
|
35
45
|
* {@link TopicSubscribe.Error} on failure.
|
36
46
|
*/
|
37
47
|
async subscribe(cacheName, topicName, options) {
|
38
|
-
|
48
|
+
try {
|
49
|
+
const { client, decrementSubscriptionCount } = this.getNextSubscribeClient();
|
50
|
+
const subscribeOptions = {
|
51
|
+
...options,
|
52
|
+
onSubscriptionEnd: () => {
|
53
|
+
var _a;
|
54
|
+
// Call any existing onSubscriptionEnd handler
|
55
|
+
(_a = options.onSubscriptionEnd) === null || _a === void 0 ? void 0 : _a.call(options);
|
56
|
+
// Decrement the subscription count
|
57
|
+
decrementSubscriptionCount();
|
58
|
+
},
|
59
|
+
};
|
60
|
+
return await client.subscribe(cacheName, topicName, subscribeOptions);
|
61
|
+
}
|
62
|
+
catch (e) {
|
63
|
+
return new index_1.TopicSubscribe.Error(e);
|
64
|
+
}
|
39
65
|
}
|
40
66
|
/**
|
41
67
|
* Deletes a webhook
|
@@ -113,12 +139,37 @@ class AbstractTopicClient {
|
|
113
139
|
webhookName,
|
114
140
|
});
|
115
141
|
}
|
116
|
-
|
117
|
-
const client = this.
|
118
|
-
this.
|
119
|
-
(this.
|
142
|
+
getNextPublishClient() {
|
143
|
+
const client = this.pubsubUnaryClients[this.nextPubsubUnaryClientIndex];
|
144
|
+
this.nextPubsubUnaryClientIndex =
|
145
|
+
(this.nextPubsubUnaryClientIndex + 1) % this.pubsubUnaryClients.length;
|
120
146
|
return client;
|
121
147
|
}
|
148
|
+
getNextSubscribeClient() {
|
149
|
+
// Check if there's any client with capacity
|
150
|
+
let totalActiveStreams = 0;
|
151
|
+
for (const clientWithCount of this.pubsubStreamClients) {
|
152
|
+
totalActiveStreams += clientWithCount.numActiveSubscriptions;
|
153
|
+
}
|
154
|
+
if (totalActiveStreams < this.maxConcurrentSubscriptions) {
|
155
|
+
// Try to get a client with capacity for another subscription.
|
156
|
+
// Allow up to maxConcurrentSubscriptions attempts.
|
157
|
+
for (let i = 0; i < this.maxConcurrentSubscriptions; i++) {
|
158
|
+
const clientWithCount = this.pubsubStreamClients[this.nextPubsubStreamClientIndex % this.pubsubStreamClients.length];
|
159
|
+
if (clientWithCount.numActiveSubscriptions < 100) {
|
160
|
+
this.nextPubsubStreamClientIndex++;
|
161
|
+
clientWithCount.numActiveSubscriptions++;
|
162
|
+
return {
|
163
|
+
client: clientWithCount.client,
|
164
|
+
decrementSubscriptionCount: () => {
|
165
|
+
clientWithCount.numActiveSubscriptions--;
|
166
|
+
},
|
167
|
+
};
|
168
|
+
}
|
169
|
+
}
|
170
|
+
}
|
171
|
+
throw new errors_1.ClientResourceExhaustedError('Already at maximum number of subscriptions');
|
172
|
+
}
|
122
173
|
}
|
123
174
|
exports.AbstractTopicClient = AbstractTopicClient;
|
124
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUt4QixNQUFzQixtQkFBbUI7SUFNdkMsWUFDRSxNQUFxQixFQUNyQixhQUE4QixFQUM5QixhQUE2QjtRQUx2QiwwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFPaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQTBCO1FBRTFCLE9BQU8sTUFBTSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxPQUFPLENBQzdDLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxDQUNOLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxLQUFLLENBQUMsU0FBUyxDQUNwQixTQUFpQixFQUNqQixTQUFpQixFQUNqQixPQUE2QjtRQUU3QixPQUFPLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsU0FBUyxDQUMvQyxTQUFTLEVBQ1QsU0FBUyxFQUNULE9BQU8sQ0FDUixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FDeEIsU0FBaUIsRUFDakIsV0FBbUI7UUFFbkIsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSSxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQWlCO1FBQ3pDLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSSxLQUFLLENBQUMsVUFBVSxDQUNyQixTQUFpQixFQUNqQixXQUFtQixFQUNuQixPQUE4QjtRQUU5QixJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBQ2hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLEtBQUssR0FBRyxJQUFJLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDO1lBQ3pDLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixFQUFFLEVBQUU7Z0JBQ0YsU0FBUztnQkFDVCxXQUFXO2FBQ1o7WUFDRCxXQUFXLEVBQUUsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsZ0JBQWdCLENBQzNCLFNBQWlCLEVBQ2pCLFdBQW1CO1FBRW5CLE9BQU8sTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUMsU0FBUyxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksS0FBSyxDQUFDLG1CQUFtQixDQUM5QixTQUFpQixFQUNqQixXQUFtQjtRQUVuQixPQUFPLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQztZQUNsRCxTQUFTO1lBQ1QsV0FBVztTQUNaLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUyxtQkFBbUI7UUFDM0IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMscUJBQXFCO1lBQ3hCLENBQUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQy9ELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQWxLRCxrREFrS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lUb3BpY0NsaWVudH0gZnJvbSAnLi4vLi4vLi4vY2xpZW50cy9JVG9waWNDbGllbnQnO1xuaW1wb3J0IHtcbiAgTW9tZW50b0xvZ2dlcixcbiAgU3Vic2NyaWJlQ2FsbE9wdGlvbnMsXG4gIFRvcGljUHVibGlzaCxcbiAgVG9waWNTdWJzY3JpYmUsXG4gIExpc3RXZWJob29rcyxcbiAgUHV0V2ViaG9vayxcbiAgRGVsZXRlV2ViaG9vayxcbiAgR2V0V2ViaG9va1NlY3JldCxcbiAgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbixcbiAgUm90YXRlV2ViaG9va1NlY3JldCxcbn0gZnJvbSAnLi4vLi4vLi4vaW5kZXgnO1xuaW1wb3J0IHtJUHVic3ViQ2xpZW50fSBmcm9tICcuL0lQdWJzdWJDbGllbnQnO1xuaW1wb3J0IHtJV2ViaG9va0NsaWVudH0gZnJvbSAnLi9JV2ViaG9va0NsaWVudCc7XG5pbXBvcnQge1B1dFdlYmhvb2tDYWxsT3B0aW9uc30gZnJvbSAnLi4vLi4vLi4vdXRpbHMvd2ViaG9vay1jYWxsLW9wdGlvbnMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RUb3BpY0NsaWVudCBpbXBsZW1lbnRzIElUb3BpY0NsaWVudCB7XG4gIHByb3RlY3RlZCByZWFkb25seSBsb2dnZXI6IE1vbWVudG9Mb2dnZXI7XG4gIHByb3RlY3RlZCByZWFkb25seSBwdWJzdWJDbGllbnRzOiBJUHVic3ViQ2xpZW50W107XG4gIHByb3RlY3RlZCByZWFkb25seSB3ZWJob29rQ2xpZW50OiBJV2ViaG9va0NsaWVudDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViQ2xpZW50SW5kZXggPSAwO1xuXG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihcbiAgICBsb2dnZXI6IE1vbWVudG9Mb2dnZXIsXG4gICAgcHVic3ViQ2xpZW50czogSVB1YnN1YkNsaWVudFtdLFxuICAgIHdlYmhvb2tDbGllbnQ6IElXZWJob29rQ2xpZW50XG4gICkge1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyO1xuICAgIHRoaXMucHVic3ViQ2xpZW50cyA9IHB1YnN1YkNsaWVudHM7XG4gICAgdGhpcy53ZWJob29rQ2xpZW50ID0gd2ViaG9va0NsaWVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBQdWJsaXNoZXMgYSB2YWx1ZSB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHB1Ymxpc2ggdG8uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0b3BpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdG9waWMgdG8gcHVibGlzaCB0by5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBVaW50OEFycmF5fSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBwdWJsaXNoLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1B1Ymxpc2guUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBUb3BpY1B1Ymxpc2guU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljUHVibGlzaC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwdWJsaXNoKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHRvcGljTmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBzdHJpbmcgfCBVaW50OEFycmF5XG4gICk6IFByb21pc2U8VG9waWNQdWJsaXNoLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TmV4dFB1YnN1YkNsaWVudCgpLnB1Ymxpc2goXG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWUsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBzdWJzY3JpYmUgdG8uXG4gICAqIEBwYXJhbSB7U3Vic2NyaWJlQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHN1YnNjcmlwdGlvbi4gRGVmYXVsdHMgdG8gbm8tb3AgaGFuZGxlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25JdGVtIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLm9uRXJyb3IgLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYW4gZXJyb3IgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbn0gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuZ2V0TmV4dFB1YnN1YkNsaWVudCgpLnN1YnNjcmliZShcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHRvcGljTmFtZSxcbiAgICAgIG9wdGlvbnNcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSB3ZWJob29rXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgYXNzb2NpYXRlZCB3aXRoIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERlbGV0ZVdlYmhvb2suUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBEZWxldGVXZWJob29rLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBEZWxldGVXZWJob29rLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZVdlYmhvb2soXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZ1xuICApOiBQcm9taXNlPERlbGV0ZVdlYmhvb2suUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LmRlbGV0ZVdlYmhvb2soe2NhY2hlTmFtZSwgd2ViaG9va05hbWV9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0cyB3ZWJob29rcyBhc3NvY2lhdGVkIHdpdGggYSBjYWNoZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIGNhY2hlIHRvIGxpc3Qgd2ViaG9va3MgYXNzb2NpYXRlZCB3aXRoIGl0XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPExpc3RXZWJob29rcy5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIExpc3RXZWJob29rcy5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgTGlzdFdlYmhvb2tzLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxpc3RXZWJob29rcyhjYWNoZU5hbWU6IHN0cmluZyk6IFByb21pc2U8TGlzdFdlYmhvb2tzLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5saXN0V2ViaG9va3MoY2FjaGVOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHdlYmhvb2ssIG9yIHVwZGF0ZXMgYW4gZXhpc3Rpbmcgb25lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gYXNzb2NpYXRlIHRoZSB3ZWJob29rIHdpdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyBmb3IgdGhlIHdlYmhvb2sgdG8gbGlzdGVuIHRvXG4gICAqIEBwYXJhbSB7V2ViaG9va0Rlc3RpbmF0aW9uIHwgc3RyaW5nfSB3ZWJob29rRGVzdGluYXRpb24gLSBUaGUgdXJsIHRvIGFzc29jaWF0ZSB0aGUgd2ViaG9vayB3aXRoXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFB1dFdlYmhvb2suUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBQdXRXZWJob29rLlN1Y2Nlc3N9IG9uIHN1Y2Nlc3MuXG4gICAqIHtAbGluayBQdXRXZWJob29rLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1dFdlYmhvb2soXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgd2ViaG9va05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBQdXRXZWJob29rQ2FsbE9wdGlvbnNcbiAgKTogUHJvbWlzZTxQdXRXZWJob29rLlJlc3BvbnNlPiB7XG4gICAgbGV0IF9kZXN0ID0gb3B0aW9ucy5kZXN0aW5hdGlvbjtcbiAgICBpZiAodHlwZW9mIF9kZXN0ID09PSAnc3RyaW5nJykge1xuICAgICAgX2Rlc3QgPSBuZXcgUG9zdFVybFdlYmhvb2tEZXN0aW5hdGlvbihfZGVzdCk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQucHV0V2ViaG9vayh7XG4gICAgICB0b3BpY05hbWU6IG9wdGlvbnMudG9waWNOYW1lLFxuICAgICAgaWQ6IHtcbiAgICAgICAgY2FjaGVOYW1lLFxuICAgICAgICB3ZWJob29rTmFtZSxcbiAgICAgIH0sXG4gICAgICBkZXN0aW5hdGlvbjogX2Rlc3QsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc2lnbmluZyBzZWNyZXQgZm9yIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxHZXRXZWJob29rU2VjcmV0LlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgR2V0V2ViaG9va1NlY3JldC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgR2V0V2ViaG9va1NlY3JldC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRXZWJob29rU2VjcmV0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxHZXRXZWJob29rU2VjcmV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5nZXRXZWJob29rU2VjcmV0KHtjYWNoZU5hbWUsIHdlYmhvb2tOYW1lfSk7XG4gIH1cblxuICAvKipcbiAgICogUm90YXRlcyB0aGUgc2lnbmluZyBzZWNyZXQgZm9yIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxSb3RhdGVXZWJob29rU2VjcmV0LlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgUm90YXRlV2ViaG9va1NlY3JldC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgUm90YXRlV2ViaG9va1NlY3JldC5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByb3RhdGVXZWJob29rU2VjcmV0KFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxSb3RhdGVXZWJob29rU2VjcmV0LlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5yb3RhdGVXZWJob29rU2VjcmV0KHtcbiAgICAgIGNhY2hlTmFtZSxcbiAgICAgIHdlYmhvb2tOYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE5leHRQdWJzdWJDbGllbnQoKTogSVB1YnN1YkNsaWVudCB7XG4gICAgY29uc3QgY2xpZW50ID0gdGhpcy5wdWJzdWJDbGllbnRzW3RoaXMubmV4dFB1YnN1YkNsaWVudEluZGV4XTtcbiAgICB0aGlzLm5leHRQdWJzdWJDbGllbnRJbmRleCA9XG4gICAgICAodGhpcy5uZXh0UHVic3ViQ2xpZW50SW5kZXggKyAxKSAlIHRoaXMucHVic3ViQ2xpZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxufVxuIl19
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RUb3BpY0NsaWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC9jbGllbnRzL3B1YnN1Yi9BYnN0cmFjdFRvcGljQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDBDQVd3QjtBQUl4Qiw0Q0FBdUU7QUFPdkUsTUFBTSxxQkFBcUI7SUFJekIsWUFBWSxNQUFxQjtRQUhqQywyQkFBc0IsR0FBRyxDQUFDLENBQUM7UUFJekIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsTUFBc0IsbUJBQW1CO0lBVXZDLFlBQ0UsTUFBcUIsRUFDckIsbUJBQW9DLEVBQ3BDLGtCQUFtQyxFQUNuQyxhQUE2QjtRQVJ2QixnQ0FBMkIsR0FBRyxDQUFDLENBQUM7UUFDaEMsK0JBQTBCLEdBQUcsQ0FBQyxDQUFDO1FBU3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQ2hELE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FDNUMsQ0FBQztRQUNGLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7SUFDMUUsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFNBQWlCLEVBQ2pCLFNBQWlCLEVBQ2pCLEtBQTBCO1FBRTFCLE9BQU8sTUFBTSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxPQUFPLENBQzlDLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxDQUNOLENBQUM7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RCxrQkFBa0IsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUM7U0FDOUQ7UUFDRCxJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUN4RCw4REFBOEQ7WUFDOUQsbURBQW1EO1lBQ25ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsMEJBQTBCLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hELE1BQU0sZUFBZSxHQUNuQixJQUFJLENBQUMsbUJBQW1CLENBQ3RCLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUNuRSxDQUFDO2dCQUNKLElBQUksZUFBZSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsRUFBRTtvQkFDaEQsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7b0JBQ25DLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN6QyxPQUFPO3dCQUNMLE1BQU0sRUFBRSxlQUFlLENBQUMsTUFBTTt3QkFDOUIsMEJBQTBCLEVBQUUsR0FBRyxFQUFFOzRCQUMvQixlQUFlLENBQUMsc0JBQXNCLEVBQUUsQ0FBQzt3QkFDM0MsQ0FBQztxQkFDRixDQUFDO2lCQUNIO2FBQ0Y7U0FDRjtRQUVELE1BQU0sSUFBSSxxQ0FBNEIsQ0FDcEMsNENBQTRDLENBQzdDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF6TkQsa0RBeU5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJVG9waWNDbGllbnR9IGZyb20gJy4uLy4uLy4uL2NsaWVudHMvSVRvcGljQ2xpZW50JztcbmltcG9ydCB7XG4gIE1vbWVudG9Mb2dnZXIsXG4gIFN1YnNjcmliZUNhbGxPcHRpb25zLFxuICBUb3BpY1B1Ymxpc2gsXG4gIFRvcGljU3Vic2NyaWJlLFxuICBMaXN0V2ViaG9va3MsXG4gIFB1dFdlYmhvb2ssXG4gIERlbGV0ZVdlYmhvb2ssXG4gIEdldFdlYmhvb2tTZWNyZXQsXG4gIFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24sXG4gIFJvdGF0ZVdlYmhvb2tTZWNyZXQsXG59IGZyb20gJy4uLy4uLy4uL2luZGV4JztcbmltcG9ydCB7SVB1YnN1YkNsaWVudH0gZnJvbSAnLi9JUHVic3ViQ2xpZW50JztcbmltcG9ydCB7SVdlYmhvb2tDbGllbnR9IGZyb20gJy4vSVdlYmhvb2tDbGllbnQnO1xuaW1wb3J0IHtQdXRXZWJob29rQ2FsbE9wdGlvbnN9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3dlYmhvb2stY2FsbC1vcHRpb25zJztcbmltcG9ydCB7Q2xpZW50UmVzb3VyY2VFeGhhdXN0ZWRFcnJvciwgU2RrRXJyb3J9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5cbmludGVyZmFjZSBJU3RyZWFtQ2xpZW50V2l0aENvdW50IHtcbiAgbnVtQWN0aXZlU3Vic2NyaXB0aW9uczogbnVtYmVyO1xuICBjbGllbnQ6IElQdWJzdWJDbGllbnQ7XG59XG5cbmNsYXNzIFN0cmVhbUNsaWVudFdpdGhDb3VudCBpbXBsZW1lbnRzIElTdHJlYW1DbGllbnRXaXRoQ291bnQge1xuICBudW1BY3RpdmVTdWJzY3JpcHRpb25zID0gMDtcbiAgY2xpZW50OiBJUHVic3ViQ2xpZW50O1xuXG4gIGNvbnN0cnVjdG9yKGNsaWVudDogSVB1YnN1YkNsaWVudCkge1xuICAgIHRoaXMuY2xpZW50ID0gY2xpZW50O1xuICB9XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFRvcGljQ2xpZW50IGltcGxlbWVudHMgSVRvcGljQ2xpZW50IHtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvZ2dlcjogTW9tZW50b0xvZ2dlcjtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YkNsaWVudHM6IElQdWJzdWJDbGllbnRbXTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YlN0cmVhbUNsaWVudHM6IElTdHJlYW1DbGllbnRXaXRoQ291bnRbXTtcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHB1YnN1YlVuYXJ5Q2xpZW50czogSVB1YnN1YkNsaWVudFtdO1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgd2ViaG9va0NsaWVudDogSVdlYmhvb2tDbGllbnQ7XG4gIHByaXZhdGUgbmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ID0gMDtcbiAgcHJpdmF0ZSBuZXh0UHVic3ViVW5hcnlDbGllbnRJbmRleCA9IDA7XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnM7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIGxvZ2dlcjogTW9tZW50b0xvZ2dlcixcbiAgICBwdWJzdWJTdHJlYW1DbGllbnRzOiBJUHVic3ViQ2xpZW50W10sXG4gICAgcHVic3ViVW5hcnlDbGllbnRzOiBJUHVic3ViQ2xpZW50W10sXG4gICAgd2ViaG9va0NsaWVudDogSVdlYmhvb2tDbGllbnRcbiAgKSB7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXI7XG4gICAgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzID0gcHVic3ViU3RyZWFtQ2xpZW50cy5tYXAoXG4gICAgICBjbGllbnQgPT4gbmV3IFN0cmVhbUNsaWVudFdpdGhDb3VudChjbGllbnQpXG4gICAgKTtcbiAgICB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50cyA9IHB1YnN1YlVuYXJ5Q2xpZW50cztcbiAgICB0aGlzLndlYmhvb2tDbGllbnQgPSB3ZWJob29rQ2xpZW50O1xuICAgIHRoaXMubWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnMgPSAxMDAgKiB0aGlzLnB1YnN1YlN0cmVhbUNsaWVudHMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2hlcyBhIHZhbHVlIHRvIGEgdG9waWMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjYWNoZU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgY2FjaGUgdG8gY29udGFpbmluZyB0aGUgdG9waWMgdG8gcHVibGlzaCB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBwdWJsaXNoIHRvLlxuICAgKiBAcGFyYW0ge3N0cmluZyB8IFVpbnQ4QXJyYXl9IHZhbHVlIC0gVGhlIHZhbHVlIHRvIHB1Ymxpc2guXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRvcGljUHVibGlzaC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljUHVibGlzaC5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgVG9waWNQdWJsaXNoLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1Ymxpc2goXG4gICAgY2FjaGVOYW1lOiBzdHJpbmcsXG4gICAgdG9waWNOYW1lOiBzdHJpbmcsXG4gICAgdmFsdWU6IHN0cmluZyB8IFVpbnQ4QXJyYXlcbiAgKTogUHJvbWlzZTxUb3BpY1B1Ymxpc2guUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5nZXROZXh0UHVibGlzaENsaWVudCgpLnB1Ymxpc2goXG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB0b3BpY05hbWUsXG4gICAgICB2YWx1ZVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBhIHRvcGljLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGNvbnRhaW5pbmcgdGhlIHRvcGljIHRvIHN1YnNjcmliZSB0by5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRvcGljTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB0b3BpYyB0byBzdWJzY3JpYmUgdG8uXG4gICAqIEBwYXJhbSB7U3Vic2NyaWJlQ2FsbE9wdGlvbnN9IG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHN1YnNjcmlwdGlvbi4gRGVmYXVsdHMgdG8gbm8tb3AgaGFuZGxlcnMuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IG9wdGlvbnMub25JdGVtIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGRhdGEgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBvcHRpb25zLm9uRXJyb3IgLSBUaGUgY2FsbGJhY2sgdG8gaW52b2tlIHdoZW4gYW4gZXJyb3IgaXMgcmVjZWl2ZWQuIERlZmF1bHRzIHRvIG5vLW9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUb3BpY1N1YnNjcmliZS5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLlN1YnNjcmlwdGlvbn0gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFRvcGljU3Vic2NyaWJlLkVycm9yfSBvbiBmYWlsdXJlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHN1YnNjcmliZShcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB0b3BpY05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBTdWJzY3JpYmVDYWxsT3B0aW9uc1xuICApOiBQcm9taXNlPFRvcGljU3Vic2NyaWJlLlJlc3BvbnNlPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtjbGllbnQsIGRlY3JlbWVudFN1YnNjcmlwdGlvbkNvdW50fSA9XG4gICAgICAgIHRoaXMuZ2V0TmV4dFN1YnNjcmliZUNsaWVudCgpO1xuICAgICAgY29uc3Qgc3Vic2NyaWJlT3B0aW9ucyA9IHtcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgICAgb25TdWJzY3JpcHRpb25FbmQ6ICgpID0+IHtcbiAgICAgICAgICAvLyBDYWxsIGFueSBleGlzdGluZyBvblN1YnNjcmlwdGlvbkVuZCBoYW5kbGVyXG4gICAgICAgICAgb3B0aW9ucy5vblN1YnNjcmlwdGlvbkVuZD8uKCk7XG4gICAgICAgICAgLy8gRGVjcmVtZW50IHRoZSBzdWJzY3JpcHRpb24gY291bnRcbiAgICAgICAgICBkZWNyZW1lbnRTdWJzY3JpcHRpb25Db3VudCgpO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHJldHVybiBhd2FpdCBjbGllbnQuc3Vic2NyaWJlKGNhY2hlTmFtZSwgdG9waWNOYW1lLCBzdWJzY3JpYmVPcHRpb25zKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gbmV3IFRvcGljU3Vic2NyaWJlLkVycm9yKGUgYXMgU2RrRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgd2ViaG9va1xuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCB0aGUgd2ViaG9va1xuICAgKiBAcGFyYW0ge3N0cmluZ30gd2ViaG9va05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgd2ViaG9va1xuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxEZWxldGVXZWJob29rLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgRGVsZXRlV2ViaG9vay5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgRGVsZXRlV2ViaG9vay5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkZWxldGVXZWJob29rKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxEZWxldGVXZWJob29rLlJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMud2ViaG9va0NsaWVudC5kZWxldGVXZWJob29rKHtjYWNoZU5hbWUsIHdlYmhvb2tOYW1lfSk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdHMgd2ViaG9va3MgYXNzb2NpYXRlZCB3aXRoIGEgY2FjaGVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBjYWNoZSB0byBsaXN0IHdlYmhvb2tzIGFzc29jaWF0ZWQgd2l0aCBpdFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxMaXN0V2ViaG9va3MuUmVzcG9uc2U+fSAtXG4gICAqIHtAbGluayBMaXN0V2ViaG9va3MuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIExpc3RXZWJob29rcy5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsaXN0V2ViaG9va3MoY2FjaGVOYW1lOiBzdHJpbmcpOiBQcm9taXNlPExpc3RXZWJob29rcy5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQubGlzdFdlYmhvb2tzKGNhY2hlTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyB3ZWJob29rLCBvciB1cGRhdGVzIGFuIGV4aXN0aW5nIG9uZVxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2FjaGVOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGNhY2hlIHRvIGFzc29jaWF0ZSB0aGUgd2ViaG9vayB3aXRoXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB3ZWJob29rTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7UHV0V2ViaG9va0NhbGxPcHRpb25zfSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIHRoZSB3ZWJob29rXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0b3BpY05hbWUgLSBUaGUgbmFtZSBvZiB0aGUgdG9waWMgZm9yIHRoZSB3ZWJob29rIHRvIGxpc3RlbiB0b1xuICAgKiBAcGFyYW0ge1dlYmhvb2tEZXN0aW5hdGlvbiB8IHN0cmluZ30gd2ViaG9va0Rlc3RpbmF0aW9uIC0gVGhlIHVybCB0byBhc3NvY2lhdGUgdGhlIHdlYmhvb2sgd2l0aFxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxQdXRXZWJob29rLlJlc3BvbnNlPn0gLVxuICAgKiB7QGxpbmsgUHV0V2ViaG9vay5TdWNjZXNzfSBvbiBzdWNjZXNzLlxuICAgKiB7QGxpbmsgUHV0V2ViaG9vay5FcnJvcn0gb24gZmFpbHVyZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwdXRXZWJob29rKFxuICAgIGNhY2hlTmFtZTogc3RyaW5nLFxuICAgIHdlYmhvb2tOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uczogUHV0V2ViaG9va0NhbGxPcHRpb25zXG4gICk6IFByb21pc2U8UHV0V2ViaG9vay5SZXNwb25zZT4ge1xuICAgIGxldCBfZGVzdCA9IG9wdGlvbnMuZGVzdGluYXRpb247XG4gICAgaWYgKHR5cGVvZiBfZGVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIF9kZXN0ID0gbmV3IFBvc3RVcmxXZWJob29rRGVzdGluYXRpb24oX2Rlc3QpO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdGhpcy53ZWJob29rQ2xpZW50LnB1dFdlYmhvb2soe1xuICAgICAgdG9waWNOYW1lOiBvcHRpb25zLnRvcGljTmFtZSxcbiAgICAgIGlkOiB7XG4gICAgICAgIGNhY2hlTmFtZSxcbiAgICAgICAgd2ViaG9va05hbWUsXG4gICAgICB9LFxuICAgICAgZGVzdGluYXRpb246IF9kZXN0LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHNpZ25pbmcgc2VjcmV0IGZvciBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8R2V0V2ViaG9va1NlY3JldC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIEdldFdlYmhvb2tTZWNyZXQuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIEdldFdlYmhvb2tTZWNyZXQuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0V2ViaG9va1NlY3JldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8R2V0V2ViaG9va1NlY3JldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQuZ2V0V2ViaG9va1NlY3JldCh7Y2FjaGVOYW1lLCB3ZWJob29rTmFtZX0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvdGF0ZXMgdGhlIHNpZ25pbmcgc2VjcmV0IGZvciBhIHdlYmhvb2tcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNhY2hlTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBjYWNoZSBhc3NvY2lhdGVkIHdpdGggdGhlIHdlYmhvb2tcbiAgICogQHBhcmFtIHtzdHJpbmd9IHdlYmhvb2tOYW1lIC0gVGhlIG5hbWUgb2YgdGhlIHdlYmhvb2tcbiAgICogQHJldHVybnMge1Byb21pc2U8Um90YXRlV2ViaG9va1NlY3JldC5SZXNwb25zZT59IC1cbiAgICoge0BsaW5rIFJvdGF0ZVdlYmhvb2tTZWNyZXQuU3VjY2Vzc30gb24gc3VjY2Vzcy5cbiAgICoge0BsaW5rIFJvdGF0ZVdlYmhvb2tTZWNyZXQuRXJyb3J9IG9uIGZhaWx1cmUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcm90YXRlV2ViaG9va1NlY3JldChcbiAgICBjYWNoZU5hbWU6IHN0cmluZyxcbiAgICB3ZWJob29rTmFtZTogc3RyaW5nXG4gICk6IFByb21pc2U8Um90YXRlV2ViaG9va1NlY3JldC5SZXNwb25zZT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLndlYmhvb2tDbGllbnQucm90YXRlV2ViaG9va1NlY3JldCh7XG4gICAgICBjYWNoZU5hbWUsXG4gICAgICB3ZWJob29rTmFtZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0UHVibGlzaENsaWVudCgpOiBJUHVic3ViQ2xpZW50IHtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50c1t0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4XTtcbiAgICB0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ID1cbiAgICAgICh0aGlzLm5leHRQdWJzdWJVbmFyeUNsaWVudEluZGV4ICsgMSkgJSB0aGlzLnB1YnN1YlVuYXJ5Q2xpZW50cy5sZW5ndGg7XG4gICAgcmV0dXJuIGNsaWVudDtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXROZXh0U3Vic2NyaWJlQ2xpZW50KCk6IHtcbiAgICBjbGllbnQ6IElQdWJzdWJDbGllbnQ7XG4gICAgZGVjcmVtZW50U3Vic2NyaXB0aW9uQ291bnQ6ICgpID0+IHZvaWQ7XG4gIH0ge1xuICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYW55IGNsaWVudCB3aXRoIGNhcGFjaXR5XG4gICAgbGV0IHRvdGFsQWN0aXZlU3RyZWFtcyA9IDA7XG4gICAgZm9yIChjb25zdCBjbGllbnRXaXRoQ291bnQgb2YgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzKSB7XG4gICAgICB0b3RhbEFjdGl2ZVN0cmVhbXMgKz0gY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnM7XG4gICAgfVxuICAgIGlmICh0b3RhbEFjdGl2ZVN0cmVhbXMgPCB0aGlzLm1heENvbmN1cnJlbnRTdWJzY3JpcHRpb25zKSB7XG4gICAgICAvLyBUcnkgdG8gZ2V0IGEgY2xpZW50IHdpdGggY2FwYWNpdHkgZm9yIGFub3RoZXIgc3Vic2NyaXB0aW9uLlxuICAgICAgLy8gQWxsb3cgdXAgdG8gbWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnMgYXR0ZW1wdHMuXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubWF4Q29uY3VycmVudFN1YnNjcmlwdGlvbnM7IGkrKykge1xuICAgICAgICBjb25zdCBjbGllbnRXaXRoQ291bnQgPVxuICAgICAgICAgIHRoaXMucHVic3ViU3RyZWFtQ2xpZW50c1tcbiAgICAgICAgICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4ICUgdGhpcy5wdWJzdWJTdHJlYW1DbGllbnRzLmxlbmd0aFxuICAgICAgICAgIF07XG4gICAgICAgIGlmIChjbGllbnRXaXRoQ291bnQubnVtQWN0aXZlU3Vic2NyaXB0aW9ucyA8IDEwMCkge1xuICAgICAgICAgIHRoaXMubmV4dFB1YnN1YlN0cmVhbUNsaWVudEluZGV4Kys7XG4gICAgICAgICAgY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnMrKztcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2xpZW50OiBjbGllbnRXaXRoQ291bnQuY2xpZW50LFxuICAgICAgICAgICAgZGVjcmVtZW50U3Vic2NyaXB0aW9uQ291bnQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgY2xpZW50V2l0aENvdW50Lm51bUFjdGl2ZVN1YnNjcmlwdGlvbnMtLTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGllbnRSZXNvdXJjZUV4aGF1c3RlZEVycm9yKFxuICAgICAgJ0FscmVhZHkgYXQgbWF4aW11bSBudW1iZXIgb2Ygc3Vic2NyaXB0aW9ucydcbiAgICApO1xuICB9XG59XG4iXX0=
|
@@ -18,18 +18,13 @@ interface TokenAndEndpoints {
|
|
18
18
|
controlEndpoint: string | undefined;
|
19
19
|
cacheEndpoint: string | undefined;
|
20
20
|
tokenEndpoint: string | undefined;
|
21
|
-
storageEndpoint: string | undefined;
|
22
21
|
authToken: string;
|
23
22
|
}
|
24
|
-
export interface Endpoint {
|
25
|
-
endpoint: string;
|
26
|
-
secureConnection?: boolean;
|
27
|
-
}
|
28
23
|
export interface AllEndpoints {
|
29
|
-
controlEndpoint:
|
30
|
-
cacheEndpoint:
|
31
|
-
tokenEndpoint:
|
32
|
-
|
24
|
+
controlEndpoint: string;
|
25
|
+
cacheEndpoint: string;
|
26
|
+
tokenEndpoint: string;
|
27
|
+
secureConnection?: boolean;
|
33
28
|
}
|
34
29
|
export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
|
35
30
|
/**
|