@gomomento/sdk-core 1.86.0 → 1.88.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.
Files changed (160) hide show
  1. package/dist/src/auth/credential-provider.d.ts +26 -0
  2. package/dist/src/auth/credential-provider.js +45 -7
  3. package/dist/src/errors/errors.js +1 -1
  4. package/dist/src/index.d.ts +1 -0
  5. package/dist/src/index.js +2 -1
  6. package/dist/src/internal/utils/auth.d.ts +7 -3
  7. package/dist/src/internal/utils/auth.js +19 -7
  8. package/dist/src/messages/responses/cache-batch-get.d.ts +18 -51
  9. package/dist/src/messages/responses/cache-batch-get.js +23 -56
  10. package/dist/src/messages/responses/cache-batch-set.d.ts +14 -51
  11. package/dist/src/messages/responses/cache-batch-set.js +12 -42
  12. package/dist/src/messages/responses/cache-delete.d.ts +11 -44
  13. package/dist/src/messages/responses/cache-delete.js +14 -35
  14. package/dist/src/messages/responses/cache-dictionary-fetch.d.ts +18 -54
  15. package/dist/src/messages/responses/cache-dictionary-fetch.js +23 -46
  16. package/dist/src/messages/responses/cache-dictionary-get-field.d.ts +19 -58
  17. package/dist/src/messages/responses/cache-dictionary-get-field.js +19 -52
  18. package/dist/src/messages/responses/cache-dictionary-get-fields.d.ts +19 -56
  19. package/dist/src/messages/responses/cache-dictionary-get-fields.js +27 -50
  20. package/dist/src/messages/responses/cache-dictionary-increment.d.ts +14 -46
  21. package/dist/src/messages/responses/cache-dictionary-increment.js +14 -41
  22. package/dist/src/messages/responses/cache-dictionary-length.d.ts +19 -53
  23. package/dist/src/messages/responses/cache-dictionary-length.js +26 -40
  24. package/dist/src/messages/responses/cache-dictionary-remove-field.d.ts +10 -43
  25. package/dist/src/messages/responses/cache-dictionary-remove-field.js +13 -34
  26. package/dist/src/messages/responses/cache-dictionary-remove-fields.d.ts +10 -43
  27. package/dist/src/messages/responses/cache-dictionary-remove-fields.js +13 -34
  28. package/dist/src/messages/responses/cache-dictionary-set-field.d.ts +10 -43
  29. package/dist/src/messages/responses/cache-dictionary-set-field.js +13 -34
  30. package/dist/src/messages/responses/cache-dictionary-set-fields.d.ts +10 -43
  31. package/dist/src/messages/responses/cache-dictionary-set-fields.js +13 -34
  32. package/dist/src/messages/responses/cache-flush.d.ts +12 -45
  33. package/dist/src/messages/responses/cache-flush.js +15 -36
  34. package/dist/src/messages/responses/cache-get.d.ts +19 -54
  35. package/dist/src/messages/responses/cache-get.js +22 -45
  36. package/dist/src/messages/responses/cache-increment.d.ts +24 -51
  37. package/dist/src/messages/responses/cache-increment.js +27 -49
  38. package/dist/src/messages/responses/cache-item-get-ttl.d.ts +22 -55
  39. package/dist/src/messages/responses/cache-item-get-ttl.js +27 -41
  40. package/dist/src/messages/responses/cache-item-get-type.d.ts +22 -55
  41. package/dist/src/messages/responses/cache-item-get-type.js +27 -41
  42. package/dist/src/messages/responses/cache-key-exists.d.ts +16 -47
  43. package/dist/src/messages/responses/cache-key-exists.js +17 -38
  44. package/dist/src/messages/responses/cache-keys-exist.d.ts +16 -47
  45. package/dist/src/messages/responses/cache-keys-exist.js +16 -37
  46. package/dist/src/messages/responses/cache-list-concatenate-back.d.ts +13 -46
  47. package/dist/src/messages/responses/cache-list-concatenate-back.js +13 -37
  48. package/dist/src/messages/responses/cache-list-concatenate-front.d.ts +13 -46
  49. package/dist/src/messages/responses/cache-list-concatenate-front.js +13 -37
  50. package/dist/src/messages/responses/cache-list-fetch.d.ts +23 -58
  51. package/dist/src/messages/responses/cache-list-fetch.js +26 -49
  52. package/dist/src/messages/responses/cache-list-length.d.ts +27 -59
  53. package/dist/src/messages/responses/cache-list-length.js +32 -42
  54. package/dist/src/messages/responses/cache-list-pop-back.d.ts +22 -57
  55. package/dist/src/messages/responses/cache-list-pop-back.js +25 -48
  56. package/dist/src/messages/responses/cache-list-pop-front.d.ts +22 -57
  57. package/dist/src/messages/responses/cache-list-pop-front.js +25 -48
  58. package/dist/src/messages/responses/cache-list-push-back.d.ts +13 -46
  59. package/dist/src/messages/responses/cache-list-push-back.js +13 -37
  60. package/dist/src/messages/responses/cache-list-push-front.d.ts +13 -46
  61. package/dist/src/messages/responses/cache-list-push-front.js +13 -37
  62. package/dist/src/messages/responses/cache-list-remove-value.d.ts +11 -44
  63. package/dist/src/messages/responses/cache-list-remove-value.js +14 -35
  64. package/dist/src/messages/responses/cache-list-retain.d.ts +11 -44
  65. package/dist/src/messages/responses/cache-list-retain.js +14 -35
  66. package/dist/src/messages/responses/cache-set-add-element.d.ts +10 -53
  67. package/dist/src/messages/responses/cache-set-add-element.js +13 -34
  68. package/dist/src/messages/responses/cache-set-add-elements.d.ts +12 -45
  69. package/dist/src/messages/responses/cache-set-add-elements.js +17 -38
  70. package/dist/src/messages/responses/cache-set-fetch.d.ts +18 -54
  71. package/dist/src/messages/responses/cache-set-fetch.js +23 -46
  72. package/dist/src/messages/responses/cache-set-if-absent-or-equal.d.ts +15 -55
  73. package/dist/src/messages/responses/cache-set-if-absent-or-equal.js +21 -41
  74. package/dist/src/messages/responses/cache-set-if-absent.d.ts +14 -63
  75. package/dist/src/messages/responses/cache-set-if-absent.js +20 -40
  76. package/dist/src/messages/responses/cache-set-if-equal.d.ts +15 -55
  77. package/dist/src/messages/responses/cache-set-if-equal.js +21 -41
  78. package/dist/src/messages/responses/cache-set-if-not-equal.d.ts +15 -55
  79. package/dist/src/messages/responses/cache-set-if-not-equal.js +21 -41
  80. package/dist/src/messages/responses/cache-set-if-not-exists.d.ts +14 -54
  81. package/dist/src/messages/responses/cache-set-if-not-exists.js +20 -40
  82. package/dist/src/messages/responses/cache-set-if-present-and-not-equal.d.ts +15 -55
  83. package/dist/src/messages/responses/cache-set-if-present-and-not-equal.js +21 -41
  84. package/dist/src/messages/responses/cache-set-if-present.d.ts +15 -55
  85. package/dist/src/messages/responses/cache-set-if-present.js +21 -41
  86. package/dist/src/messages/responses/cache-set-remove-element.d.ts +10 -43
  87. package/dist/src/messages/responses/cache-set-remove-element.js +13 -34
  88. package/dist/src/messages/responses/cache-set-remove-elements.d.ts +13 -46
  89. package/dist/src/messages/responses/cache-set-remove-elements.js +13 -34
  90. package/dist/src/messages/responses/cache-set-sample.d.ts +18 -54
  91. package/dist/src/messages/responses/cache-set-sample.js +23 -46
  92. package/dist/src/messages/responses/cache-set.d.ts +10 -43
  93. package/dist/src/messages/responses/cache-set.js +13 -34
  94. package/dist/src/messages/responses/cache-sorted-set-fetch.js +1 -1
  95. package/dist/src/messages/responses/cache-sorted-set-get-score.d.ts +6 -1
  96. package/dist/src/messages/responses/cache-sorted-set-get-score.js +1 -1
  97. package/dist/src/messages/responses/cache-sorted-set-get-scores.js +1 -1
  98. package/dist/src/messages/responses/cache-sorted-set-increment-score.js +1 -1
  99. package/dist/src/messages/responses/cache-ttl-decrease.d.ts +19 -53
  100. package/dist/src/messages/responses/cache-ttl-decrease.js +29 -39
  101. package/dist/src/messages/responses/cache-ttl-increase.d.ts +19 -53
  102. package/dist/src/messages/responses/cache-ttl-increase.js +29 -39
  103. package/dist/src/messages/responses/cache-ttl-update.d.ts +15 -55
  104. package/dist/src/messages/responses/cache-ttl-update.js +21 -41
  105. package/dist/src/messages/responses/create-cache.d.ts +15 -58
  106. package/dist/src/messages/responses/create-cache.js +21 -39
  107. package/dist/src/messages/responses/delete-cache.d.ts +11 -44
  108. package/dist/src/messages/responses/delete-cache.js +14 -35
  109. package/dist/src/messages/responses/enums/auth/generate-api-key.d.ts +4 -0
  110. package/dist/src/messages/responses/enums/auth/generate-api-key.js +9 -0
  111. package/dist/src/messages/responses/enums/auth/generate-disposable-token.d.ts +4 -0
  112. package/dist/src/messages/responses/enums/auth/generate-disposable-token.js +9 -0
  113. package/dist/src/messages/responses/enums/auth/index.d.ts +3 -0
  114. package/dist/src/messages/responses/enums/auth/index.js +10 -0
  115. package/dist/src/messages/responses/enums/auth/refresh-api-key.d.ts +4 -0
  116. package/dist/src/messages/responses/enums/auth/refresh-api-key.js +9 -0
  117. package/dist/src/messages/responses/enums/cache/control/index.d.ts +17 -0
  118. package/dist/src/messages/responses/enums/cache/control/index.js +25 -0
  119. package/dist/src/messages/responses/enums/cache/dictionary/index.d.ts +40 -0
  120. package/dist/src/messages/responses/enums/cache/dictionary/index.js +53 -0
  121. package/dist/src/messages/responses/enums/cache/index.d.ts +5 -0
  122. package/dist/src/messages/responses/enums/cache/index.js +22 -0
  123. package/dist/src/messages/responses/enums/cache/list/index.d.ts +44 -0
  124. package/dist/src/messages/responses/enums/cache/list/index.js +58 -0
  125. package/dist/src/messages/responses/enums/cache/scalar/index.d.ts +95 -0
  126. package/dist/src/messages/responses/enums/cache/scalar/index.js +122 -0
  127. package/dist/src/messages/responses/enums/cache/set/index.d.ts +26 -0
  128. package/dist/src/messages/responses/enums/cache/set/index.js +36 -0
  129. package/dist/src/messages/responses/enums/index.d.ts +4 -0
  130. package/dist/src/messages/responses/enums/index.js +21 -0
  131. package/dist/src/messages/responses/enums/leaderboard/index.d.ts +20 -0
  132. package/dist/src/messages/responses/enums/leaderboard/index.js +29 -0
  133. package/dist/src/messages/responses/enums/topics/index.d.ts +8 -0
  134. package/dist/src/messages/responses/enums/topics/index.js +14 -0
  135. package/dist/src/messages/responses/generate-api-key.d.ts +10 -27
  136. package/dist/src/messages/responses/generate-api-key.js +10 -18
  137. package/dist/src/messages/responses/generate-disposable-token.d.ts +10 -27
  138. package/dist/src/messages/responses/generate-disposable-token.js +10 -18
  139. package/dist/src/messages/responses/leaderboard/leaderboard-delete.d.ts +10 -43
  140. package/dist/src/messages/responses/leaderboard/leaderboard-delete.js +13 -34
  141. package/dist/src/messages/responses/leaderboard/leaderboard-fetch.d.ts +12 -45
  142. package/dist/src/messages/responses/leaderboard/leaderboard-fetch.js +11 -35
  143. package/dist/src/messages/responses/leaderboard/leaderboard-length.d.ts +12 -45
  144. package/dist/src/messages/responses/leaderboard/leaderboard-length.js +11 -35
  145. package/dist/src/messages/responses/leaderboard/leaderboard-remove-elements.d.ts +10 -43
  146. package/dist/src/messages/responses/leaderboard/leaderboard-remove-elements.js +13 -34
  147. package/dist/src/messages/responses/leaderboard/leaderboard-upsert.d.ts +11 -44
  148. package/dist/src/messages/responses/leaderboard/leaderboard-upsert.js +14 -35
  149. package/dist/src/messages/responses/list-caches.d.ts +13 -46
  150. package/dist/src/messages/responses/list-caches.js +11 -35
  151. package/dist/src/messages/responses/refresh-api-key.d.ts +10 -27
  152. package/dist/src/messages/responses/refresh-api-key.js +10 -18
  153. package/dist/src/messages/responses/response-base.d.ts +20 -0
  154. package/dist/src/messages/responses/response-base.js +42 -2
  155. package/dist/src/messages/responses/topic-publish.d.ts +10 -43
  156. package/dist/src/messages/responses/topic-publish.js +13 -34
  157. package/dist/src/messages/responses/topic-subscribe.d.ts +10 -37
  158. package/dist/src/messages/responses/topic-subscribe.js +10 -33
  159. package/dist/src/messages/responses/webhook/put-webhook.d.ts +1 -10
  160. package/package.json +1 -1
@@ -1,55 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Error = exports.Miss = exports.Hit = exports.Response = void 0;
3
+ exports.Error = exports.Miss = exports.Hit = void 0;
4
4
  const errors_1 = require("../../errors");
5
5
  const response_base_1 = require("./response-base");
6
- const CacheDictionaryGetFieldResponse = require("./cache-dictionary-get-field");
6
+ const cache_dictionary_get_field_1 = require("./cache-dictionary-get-field");
7
7
  const grpc_response_types_1 = require("./grpc-response-types");
8
+ const enums_1 = require("./enums");
8
9
  const TEXT_DECODER = new TextDecoder();
9
10
  /**
10
- * Parent response type for a dictionary get fields request. The
11
- * response object is resolved to a type-safe object of one of
12
- * the following subtypes:
13
- *
14
- * - {Hit}
15
- * - {Miss}
16
- * - {Error}
17
- *
18
- * `instanceof` type guards can be used to operate on the appropriate subtype.
19
- * @example
20
- * For example:
21
- * ```
22
- * if (response instanceof CacheDictionaryGetFields.Error) {
23
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
24
- * // `CacheDictionaryGetFields.Error` in this block, so you will have access to the properties
25
- * // of the Error class; e.g. `response.errorCode()`.
26
- * }
27
- * ```
11
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
12
+ * `value*` accessors to retrieve the data in the appropriate format.
28
13
  */
29
- class Response extends response_base_1.ResponseBase {
30
- value() {
31
- if (this instanceof Hit) {
32
- return this.value();
33
- }
34
- return undefined;
35
- }
36
- }
37
- exports.Response = Response;
38
- class _Hit extends Response {
14
+ class Hit extends response_base_1.ResponseBase {
39
15
  constructor(items, fields) {
40
16
  super();
17
+ this.type = enums_1.CacheDictionaryGetFieldsResponse.Hit;
41
18
  this.responses = [];
42
19
  this.items = items;
43
20
  this.fields = fields;
44
21
  items.forEach((item, index) => {
45
22
  if (item.result === grpc_response_types_1._ECacheResult.Hit) {
46
- this.responses.push(new CacheDictionaryGetFieldResponse.Hit(item.cacheBody, fields[index]));
23
+ this.responses.push(new cache_dictionary_get_field_1.Hit(item.cacheBody, fields[index]));
47
24
  }
48
25
  else if (item.result === grpc_response_types_1._ECacheResult.Miss) {
49
- this.responses.push(new CacheDictionaryGetFieldResponse.Miss(fields[index]));
26
+ this.responses.push(new cache_dictionary_get_field_1.Miss(fields[index]));
50
27
  }
51
28
  else {
52
- this.responses.push(new CacheDictionaryGetFieldResponse.Error(new errors_1.UnknownError(item.result.toString()), fields[index]));
29
+ this.responses.push(new cache_dictionary_get_field_1.Error(new errors_1.UnknownError(item.result.toString()), fields[index]));
53
30
  }
54
31
  });
55
32
  }
@@ -139,27 +116,20 @@ class _Hit extends Response {
139
116
  return `${super.toString()}: valueDictionaryStringString: ${stringRepresentation.slice(0, -2)}`;
140
117
  }
141
118
  }
142
- /**
143
- * Indicates that the requested data was successfully retrieved from the cache. Provides
144
- * `value*` accessors to retrieve the data in the appropriate format.
145
- */
146
- class Hit extends (0, response_base_1.ResponseHit)(_Hit) {
147
- }
148
119
  exports.Hit = Hit;
149
- class _Miss extends Response {
150
- }
151
120
  /**
152
121
  * Indicates that the requested data was not available in the cache.
153
122
  */
154
- class Miss extends (0, response_base_1.ResponseMiss)(_Miss) {
155
- }
156
- exports.Miss = Miss;
157
- class _Error extends Response {
158
- constructor(_innerException) {
159
- super();
160
- this._innerException = _innerException;
123
+ class Miss extends response_base_1.BaseResponseMiss {
124
+ constructor() {
125
+ super(...arguments);
126
+ this.type = enums_1.CacheDictionaryGetFieldsResponse.Miss;
127
+ }
128
+ value() {
129
+ return undefined;
161
130
  }
162
131
  }
132
+ exports.Miss = Miss;
163
133
  /**
164
134
  * Indicates that an error occurred during the dictionary get fields request.
165
135
  *
@@ -170,7 +140,14 @@ class _Error extends Response {
170
140
  * - `message()` - a human-readable description of the error
171
141
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
172
142
  */
173
- class Error extends (0, response_base_1.ResponseError)(_Error) {
143
+ class Error extends response_base_1.BaseResponseError {
144
+ constructor(_innerException) {
145
+ super(_innerException);
146
+ this.type = enums_1.CacheDictionaryGetFieldsResponse.Error;
147
+ }
148
+ value() {
149
+ return undefined;
150
+ }
174
151
  }
175
152
  exports.Error = Error;
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQW9EO0FBQ3BELG1EQUt5QjtBQUN6QixnRkFBZ0Y7QUFDaEYsK0RBQWdGO0FBRWhGLE1BQU0sWUFBWSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFNdkM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxNQUFzQixRQUFTLFNBQVEsNEJBQVk7SUFDMUMsS0FBSztRQUNWLElBQUksSUFBSSxZQUFZLEdBQUcsRUFBRTtZQUN2QixPQUFRLElBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUM5QjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVBELDRCQU9DO0FBRUQsTUFBTSxJQUFLLFNBQVEsUUFBUTtJQUt6QixZQUFZLEtBQW1DLEVBQUUsTUFBb0I7UUFDbkUsS0FBSyxFQUFFLENBQUM7UUFISCxjQUFTLEdBQTBDLEVBQUUsQ0FBQztRQUkzRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUVyQixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQzVCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxtQ0FBYSxDQUFDLEdBQUcsRUFBRTtnQkFDckMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLElBQUksK0JBQStCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3ZFLENBQUM7YUFDSDtpQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssbUNBQWEsQ0FB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cm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtcbiAgUmVzcG9uc2VCYXNlLFxuICBSZXNwb25zZUhpdCxcbiAgUmVzcG9uc2VNaXNzLFxuICBSZXNwb25zZUVycm9yLFxufSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuaW1wb3J0ICogYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZSBmcm9tICcuL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkJztcbmltcG9ydCB7X0RpY3Rpb25hcnlHZXRSZXNwb25zZVBhcnQsIF9FQ2FjaGVSZXN1bHR9IGZyb20gJy4vZ3JwYy1yZXNwb25zZS10eXBlcyc7XG5cbmNvbnN0IFRFWFRfREVDT0RFUiA9IG5ldyBUZXh0RGVjb2RlcigpO1xudHlwZSBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlVHlwZSA9XG4gIHwgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZS5IaXRcbiAgfCBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLk1pc3NcbiAgfCBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLkVycm9yO1xuXG4vKipcbiAqIFBhcmVudCByZXNwb25zZSB0eXBlIGZvciBhIGRpY3Rpb25hcnkgZ2V0IGZpZWxkcyByZXF1ZXN0LiAgVGhlXG4gKiByZXNwb25zZSBvYmplY3QgaXMgcmVzb2x2ZWQgdG8gYSB0eXBlLXNhZmUgb2JqZWN0IG9mIG9uZSBvZlxuICogdGhlIGZvbGxvd2luZyBzdWJ0eXBlczpcbiAqXG4gKiAtIHtIaXR9XG4gKiAtIHtNaXNzfVxuICogLSB7RXJyb3J9XG4gKlxuICogYGluc3RhbmNlb2ZgIHR5cGUgZ3VhcmRzIGNhbiBiZSB1c2VkIHRvIG9wZXJhdGUgb24gdGhlIGFwcHJvcHJpYXRlIHN1YnR5cGUuXG4gKiBAZXhhbXBsZVxuICogRm9yIGV4YW1wbGU6XG4gKiBgYGBcbiAqIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIENhY2hlRGljdGlvbmFyeUdldEZpZWxkcy5FcnJvcikge1xuICogICAvLyBIYW5kbGUgZXJyb3IgYXMgYXBwcm9wcmlhdGUuICBUaGUgY29tcGlsZXIgd2lsbCBzbWFydC1jYXN0IGByZXNwb25zZWAgdG8gdHlwZVxuICogICAvLyBgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzLkVycm9yYCBpbiB0aGlzIGJsb2NrLCBzbyB5b3Ugd2lsbCBoYXZlIGFjY2VzcyB0byB0aGUgcHJvcGVydGllc1xuICogICAvLyBvZiB0aGUgRXJyb3IgY2xhc3M7IGUuZy4gYHJlc3BvbnNlLmVycm9yQ29kZSgpYC5cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzcG9uc2UgZXh0ZW5kcyBSZXNwb25zZUJhc2Uge1xuICBwdWJsaWMgdmFsdWUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHRoaXMgaW5zdGFuY2VvZiBIaXQpIHtcbiAgICAgIHJldHVybiAodGhpcyBhcyBIaXQpLnZhbHVlKCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuY2xhc3MgX0hpdCBleHRlbmRzIFJlc3BvbnNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtczogX0RpY3Rpb25hcnlHZXRSZXNwb25zZVBhcnRbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZHM6IFVpbnQ4QXJyYXlbXTtcbiAgcHVibGljIHJlc3BvbnNlczogQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZVR5cGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBfRGljdGlvbmFyeUdldFJlc3BvbnNlUGFydFtdLCBmaWVsZHM6IFVpbnQ4QXJyYXlbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpdGVtLnJlc3VsdCA9PT0gX0VDYWNoZVJlc3VsdC5IaXQpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZXMucHVzaChcbiAgICAgICAgICBuZXcgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZS5IaXQoaXRlbS5jYWNoZUJvZHksIGZpZWxkc1tpbmRleF0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGl0ZW0ucmVzdWx0ID09PSBfRUNhY2hlUmVzdWx0Lk1pc3MpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZXMucHVzaChcbiAgICAgICAgICBuZXcgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZS5NaXNzKGZpZWxkc1tpbmRleF0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJlc3BvbnNlcy5wdXNoKFxuICAgICAgICAgIG5ldyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLkVycm9yKFxuICAgICAgICAgICAgbmV3IFVua25vd25FcnJvcihpdGVtLnJlc3VsdC50b1N0cmluZygpKSxcbiAgICAgICAgICAgIGZpZWxkc1tpbmRleF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIE1hcCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVNYXBTdHJpbmdTdHJpbmcoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjYy5zZXQoXG4gICAgICAgICAgVEVYVF9ERUNPREVSLmRlY29kZSh0aGlzLmZpZWxkc1tpbmRleF0pLFxuICAgICAgICAgIFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5jYWNoZUJvZHkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBNYXAgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBhbGlhcyBmb3Ige3ZhbHVlTWFwU3RyaW5nU3RyaW5nfS5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVNYXAoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVNYXBTdHJpbmdTdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgTWFwIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2UgdmFsdWVzXG4gICAqIGFyZSBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIFVpbnQ4QXJyYXk+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nVWludDhBcnJheSgpOiBNYXA8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjYy5zZXQoVEVYVF9ERUNPREVSLmRlY29kZSh0aGlzLmZpZWxkc1tpbmRleF0pLCBpdGVtLmNhY2hlQm9keSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBVaW50OEFycmF5PigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oKGFjYywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpdGVtLnJlc3VsdCA9PT0gX0VDYWNoZVJlc3VsdC5IaXQpIHtcbiAgICAgICAgYWNjW1RFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZHNbaW5kZXhdKV0gPSBURVhUX0RFQ09ERVIuZGVjb2RlKFxuICAgICAgICAgIGl0ZW0uY2FjaGVCb2R5XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLiAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvclxuICAgKiB7dmFsdWVSZWNvcmRTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBSZWNvcmQgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuICBUaGlzIGlzIGEgY29udmVuaWVuY2UgYWxpYXMgZm9yXG4gICAqIHt2YWx1ZVJlY29yZFN0cmluZ1N0cmluZ30uXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlUmVjb3JkU3RyaW5nU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIFJlY29yZCB3aG9zZSBrZXlzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheSwgYW5kIHdob3NlXG4gICAqIHZhbHVlcyBhcmUgYnl0ZSBhcnJheXMuICBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgVWludDhBcnJheT59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVSZWNvcmRTdHJpbmdVaW50OEFycmF5KCk6IFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgVWludDhBcnJheT4+KChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjY1tURVhUX0RFQ09ERVIuZGVjb2RlKHRoaXMuZmllbGRzW2luZGV4XSldID0gaXRlbS5jYWNoZUJvZHk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGxldCBzdHJpbmdSZXByZXNlbnRhdGlvbiA9ICcnO1xuICAgIHRoaXMudmFsdWVNYXBTdHJpbmdTdHJpbmcoKS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBjb25zdCBrZXlWYWx1ZSA9IGAke2tleX06ICR7dmFsdWV9LCBgO1xuICAgICAgc3RyaW5nUmVwcmVzZW50YXRpb24gPSBzdHJpbmdSZXByZXNlbnRhdGlvbiArIGtleVZhbHVlO1xuICAgIH0pO1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogdmFsdWVEaWN0aW9uYXJ5U3RyaW5nU3RyaW5nOiAke3N0cmluZ1JlcHJlc2VudGF0aW9uLnNsaWNlKFxuICAgICAgMCxcbiAgICAgIC0yXG4gICAgKX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlLiAgUHJvdmlkZXNcbiAqIGB2YWx1ZSpgIGFjY2Vzc29ycyB0byByZXRyaWV2ZSB0aGUgZGF0YSBpbiB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgSGl0IGV4dGVuZHMgUmVzcG9uc2VIaXQoX0hpdCkge31cblxuY2xhc3MgX01pc3MgZXh0ZW5kcyBSZXNwb25zZSB7fVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNaXNzIGV4dGVuZHMgUmVzcG9uc2VNaXNzKF9NaXNzKSB7fVxuXG5jbGFzcyBfRXJyb3IgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBnZXQgZmllbGRzIHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBSZXNwb25zZUVycm9yKF9FcnJvcikge31cbiJdfQ==
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21lc3NhZ2VzL3Jlc3BvbnNlcy9jYWNoZS1kaWN0aW9uYXJ5LWdldC1maWVsZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQW9EO0FBQ3BELG1EQUl5QjtBQUN6Qiw2RUFLc0M7QUFDdEMsK0RBQWdGO0FBQ2hGLG1DQUF5RDtBQUV6RCxNQUFNLFlBQVksR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0FBT3ZDOzs7R0FHRztBQUNILE1BQWEsR0FBSSxTQUFRLDRCQUFZO0lBT25DLFlBQVksS0FBbUMsRUFBRSxNQUFvQjtRQUNuRSxLQUFLLEVBQUUsQ0FBQztRQUxNLFNBQUksR0FDbEIsd0NBQWdDLENBQUMsR0FBRyxDQUFDO1FBQ2hDLGNBQVMsR0FBMEMsRUFBRSxDQUFDO1FBSTNELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBRXJCLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLG1DQUFhLENBQUMsR0FBRyxFQUFFO2dCQUNyQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsSUFBSSxnQ0FBa0MsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUN0RSxDQUFDO2FBQ0g7aUJBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLG1DQUFhLENBQUMsSUFBSSxFQUFFO2dCQUM3QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDakIsSUFBSSxpQ0FBbUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FDdkQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxT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SSxvQkFBb0IsR0FBRyxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ2pELE1BQU0sUUFBUSxHQUFHLEdBQUcsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQ3RDLG9CQUFvQixHQUFHLG9CQUFvQixHQUFHLFFBQVEsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLGtDQUFrQyxvQkFBb0IsQ0FBQyxLQUFLLENBQ3BGLENBQUMsRUFDRCxDQUFDLENBQUMsQ0FDSCxFQUFFLENBQUM7SUFDTixDQUFDO0NBQ0Y7QUFwSUQsa0JBb0lDO0FBRUQ7O0dBRUc7QUFDSCxNQUFhLElBQUssU0FBUSxnQ0FBZ0I7SUFBMUM7O1FBQ2tCLFNBQUksR0FDbEIsd0NBQWdDLENBQUMsSUFBSSxDQUFDO0lBSzFDLENBQUM7SUFIQyxLQUFLO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBUEQsb0JBT0M7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxpQ0FBaUI7SUFHMUMsWUFBWSxlQUF5QjtRQUNuQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFIVCxTQUFJLEdBQ2xCLHdDQUFnQyxDQUFDLEtBQUssQ0FBQztJQUd6QyxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVZELHNCQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZGtFcnJvciwgVW5rbm93bkVycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtcbiAgUmVzcG9uc2VCYXNlLFxuICBCYXNlUmVzcG9uc2VNaXNzLFxuICBCYXNlUmVzcG9uc2VFcnJvcixcbn0gZnJvbSAnLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7XG4gIHR5cGUgUmVzcG9uc2UgYXMgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZVR5cGUsXG4gIEhpdCBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlSGl0LFxuICBNaXNzIGFzIENhY2hlRGljdGlvbmFyeUdldEZpZWxkUmVzcG9uc2VNaXNzLFxuICBFcnJvciBhcyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlRXJyb3IsXG59IGZyb20gJy4vY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQnO1xuaW1wb3J0IHtfRGljdGlvbmFyeUdldFJlc3BvbnNlUGFydCwgX0VDYWNoZVJlc3VsdH0gZnJvbSAnLi9ncnBjLXJlc3BvbnNlLXR5cGVzJztcbmltcG9ydCB7Q2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzUmVzcG9uc2V9IGZyb20gJy4vZW51bXMnO1xuXG5jb25zdCBURVhUX0RFQ09ERVIgPSBuZXcgVGV4dERlY29kZXIoKTtcblxuaW50ZXJmYWNlIElSZXNwb25zZSB7XG4gIHZhbHVlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IHR5cGU6IENhY2hlRGljdGlvbmFyeUdldEZpZWxkc1Jlc3BvbnNlO1xufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZS4gIFByb3ZpZGVzXG4gKiBgdmFsdWUqYCBhY2Nlc3NvcnMgdG8gcmV0cmlldmUgdGhlIGRhdGEgaW4gdGhlIGFwcHJvcHJpYXRlIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEhpdCBleHRlbmRzIFJlc3BvbnNlQmFzZSBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbXM6IF9EaWN0aW9uYXJ5R2V0UmVzcG9uc2VQYXJ0W107XG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGRzOiBVaW50OEFycmF5W107XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHNSZXNwb25zZS5IaXQgPVxuICAgIENhY2hlRGljdGlvbmFyeUdldEZpZWxkc1Jlc3BvbnNlLkhpdDtcbiAgcHVibGljIHJlc3BvbnNlczogQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZVR5cGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKGl0ZW1zOiBfRGljdGlvbmFyeUdldFJlc3BvbnNlUGFydFtdLCBmaWVsZHM6IFVpbnQ4QXJyYXlbXSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pdGVtcyA9IGl0ZW1zO1xuICAgIHRoaXMuZmllbGRzID0gZmllbGRzO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpdGVtLnJlc3VsdCA9PT0gX0VDYWNoZVJlc3VsdC5IaXQpIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZXMucHVzaChcbiAgICAgICAgICBuZXcgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZUhpdChpdGVtLmNhY2hlQm9keSwgZmllbGRzW2luZGV4XSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuTWlzcykge1xuICAgICAgICB0aGlzLnJlc3BvbnNlcy5wdXNoKFxuICAgICAgICAgIG5ldyBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlTWlzcyhmaWVsZHNbaW5kZXhdKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yZXNwb25zZXMucHVzaChcbiAgICAgICAgICBuZXcgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZUVycm9yKFxuICAgICAgICAgICAgbmV3IFVua25vd25FcnJvcihpdGVtLnJlc3VsdC50b1N0cmluZygpKSxcbiAgICAgICAgICAgIGZpZWxkc1tpbmRleF1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIE1hcCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVNYXBTdHJpbmdTdHJpbmcoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjYy5zZXQoXG4gICAgICAgICAgVEVYVF9ERUNPREVSLmRlY29kZSh0aGlzLmZpZWxkc1tpbmRleF0pLFxuICAgICAgICAgIFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5jYWNoZUJvZHkpXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBNYXAgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgaXMgYSBjb252ZW5pZW5jZSBhbGlhcyBmb3Ige3ZhbHVlTWFwU3RyaW5nU3RyaW5nfS5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVNYXAoKTogTWFwPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMudmFsdWVNYXBTdHJpbmdTdHJpbmcoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgTWFwIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2UgdmFsdWVzXG4gICAqIGFyZSBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIFVpbnQ4QXJyYXk+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nVWludDhBcnJheSgpOiBNYXA8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjYy5zZXQoVEVYVF9ERUNPREVSLmRlY29kZSh0aGlzLmZpZWxkc1tpbmRleF0pLCBpdGVtLmNhY2hlQm9keSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBVaW50OEFycmF5PigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oKGFjYywgaXRlbSwgaW5kZXgpID0+IHtcbiAgICAgIGlmIChpdGVtLnJlc3VsdCA9PT0gX0VDYWNoZVJlc3VsdC5IaXQpIHtcbiAgICAgICAgYWNjW1RFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZHNbaW5kZXhdKV0gPSBURVhUX0RFQ09ERVIuZGVjb2RlKFxuICAgICAgICAgIGl0ZW0uY2FjaGVCb2R5XG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLiAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvclxuICAgKiB7dmFsdWVSZWNvcmRTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZCgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBSZWNvcmQgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuICBUaGlzIGlzIGEgY29udmVuaWVuY2UgYWxpYXMgZm9yXG4gICAqIHt2YWx1ZVJlY29yZFN0cmluZ1N0cmluZ30uXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlUmVjb3JkU3RyaW5nU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIFJlY29yZCB3aG9zZSBrZXlzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheSwgYW5kIHdob3NlXG4gICAqIHZhbHVlcyBhcmUgYnl0ZSBhcnJheXMuICBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgVWludDhBcnJheT59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVSZWNvcmRTdHJpbmdVaW50OEFycmF5KCk6IFJlY29yZDxzdHJpbmcsIFVpbnQ4QXJyYXk+IHtcbiAgICByZXR1cm4gdGhpcy5pdGVtcy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgVWludDhBcnJheT4+KChhY2MsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBpZiAoaXRlbS5yZXN1bHQgPT09IF9FQ2FjaGVSZXN1bHQuSGl0KSB7XG4gICAgICAgIGFjY1tURVhUX0RFQ09ERVIuZGVjb2RlKHRoaXMuZmllbGRzW2luZGV4XSldID0gaXRlbS5jYWNoZUJvZHk7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGxldCBzdHJpbmdSZXByZXNlbnRhdGlvbiA9ICcnO1xuICAgIHRoaXMudmFsdWVNYXBTdHJpbmdTdHJpbmcoKS5mb3JFYWNoKCh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICBjb25zdCBrZXlWYWx1ZSA9IGAke2tleX06ICR7dmFsdWV9LCBgO1xuICAgICAgc3RyaW5nUmVwcmVzZW50YXRpb24gPSBzdHJpbmdSZXByZXNlbnRhdGlvbiArIGtleVZhbHVlO1xuICAgIH0pO1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogdmFsdWVEaWN0aW9uYXJ5U3RyaW5nU3RyaW5nOiAke3N0cmluZ1JlcHJlc2VudGF0aW9uLnNsaWNlKFxuICAgICAgMCxcbiAgICAgIC0yXG4gICAgKX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VNaXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcHVibGljIHJlYWRvbmx5IHR5cGU6IENhY2hlRGljdGlvbmFyeUdldEZpZWxkc1Jlc3BvbnNlLk1pc3MgPVxuICAgIENhY2hlRGljdGlvbmFyeUdldEZpZWxkc1Jlc3BvbnNlLk1pc3M7XG5cbiAgdmFsdWUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBnZXQgZmllbGRzIHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBCYXNlUmVzcG9uc2VFcnJvciBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHB1YmxpYyByZWFkb25seSB0eXBlOiBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZHNSZXNwb25zZS5FcnJvciA9XG4gICAgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGRzUmVzcG9uc2UuRXJyb3I7XG4gIGNvbnN0cnVjdG9yKF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcihfaW5uZXJFeGNlcHRpb24pO1xuICB9XG5cbiAgdmFsdWUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBSZXNwb25zZSA9IEhpdCB8IE1pc3MgfCBFcnJvcjtcbiJdfQ==
@@ -1,29 +1,16 @@
1
1
  import { SdkError } from '../../errors';
2
- import { ResponseBase } from './response-base';
3
- /**
4
- * Parent response type for a dictionary increment request. The
5
- * response object is resolved to a type-safe object of one of
6
- * the following subtypes:
7
- *
8
- * - {Success}
9
- * - {Error}
10
- *
11
- * `instanceof` type guards can be used to operate on the appropriate subtype.
12
- * @example
13
- * For example:
14
- * ```
15
- * if (response instanceof CacheDictionaryIncrement.Error) {
16
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
17
- * // `CacheDictionaryIncrement.Error` in this block, so you will have access to the properties
18
- * // of the Error class; e.g. `response.errorCode()`.
19
- * }
20
- * ```
21
- */
22
- export declare abstract class Response extends ResponseBase {
2
+ import { BaseResponseError, BaseResponseSuccess } from './response-base';
3
+ import { CacheDictionaryIncrementResponse } from './enums';
4
+ interface IResponse {
23
5
  value(): number | undefined;
6
+ readonly type: CacheDictionaryIncrementResponse;
24
7
  }
25
- declare class _Success extends Response {
8
+ /**
9
+ * Indicates a Successful dictionary increment request.
10
+ */
11
+ export declare class Success extends BaseResponseSuccess implements IResponse {
26
12
  private readonly _value;
13
+ readonly type: CacheDictionaryIncrementResponse.Success;
27
14
  constructor(value: number);
28
15
  /**
29
16
  * The new value of the element after incrementing.
@@ -33,29 +20,6 @@ declare class _Success extends Response {
33
20
  valueNumber(): number;
34
21
  toString(): string;
35
22
  }
36
- declare const Success_base: {
37
- new (...args: any[]): {
38
- readonly is_success: boolean;
39
- };
40
- } & typeof _Success;
41
- /**
42
- * Indicates a Successful dictionary increment request.
43
- */
44
- export declare class Success extends Success_base {
45
- }
46
- declare class _Error extends Response {
47
- protected _innerException: SdkError;
48
- constructor(_innerException: SdkError);
49
- }
50
- declare const Error_base: {
51
- new (...args: any[]): {
52
- _innerException: SdkError;
53
- message(): string;
54
- innerException(): SdkError;
55
- errorCode(): import("../../errors").MomentoErrorCode;
56
- toString(): string;
57
- };
58
- } & typeof _Error;
59
23
  /**
60
24
  * Indicates that an error occurred during the dictionary increment request.
61
25
  *
@@ -66,6 +30,10 @@ declare const Error_base: {
66
30
  * - `message()` - a human-readable description of the error
67
31
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
68
32
  */
69
- export declare class Error extends Error_base {
33
+ export declare class Error extends BaseResponseError implements IResponse {
34
+ readonly type: CacheDictionaryIncrementResponse.Error;
35
+ constructor(_innerException: SdkError);
36
+ value(): undefined;
70
37
  }
38
+ export type Response = Success | Error;
71
39
  export {};
@@ -1,38 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Error = exports.Success = exports.Response = void 0;
3
+ exports.Error = exports.Success = void 0;
4
4
  const response_base_1 = require("./response-base");
5
+ const enums_1 = require("./enums");
5
6
  /**
6
- * Parent response type for a dictionary increment request. The
7
- * response object is resolved to a type-safe object of one of
8
- * the following subtypes:
9
- *
10
- * - {Success}
11
- * - {Error}
12
- *
13
- * `instanceof` type guards can be used to operate on the appropriate subtype.
14
- * @example
15
- * For example:
16
- * ```
17
- * if (response instanceof CacheDictionaryIncrement.Error) {
18
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
19
- * // `CacheDictionaryIncrement.Error` in this block, so you will have access to the properties
20
- * // of the Error class; e.g. `response.errorCode()`.
21
- * }
22
- * ```
7
+ * Indicates a Successful dictionary increment request.
23
8
  */
24
- class Response extends response_base_1.ResponseBase {
25
- value() {
26
- if (this instanceof Success) {
27
- return this.value();
28
- }
29
- return undefined;
30
- }
31
- }
32
- exports.Response = Response;
33
- class _Success extends Response {
9
+ class Success extends response_base_1.BaseResponseSuccess {
34
10
  constructor(value) {
35
11
  super();
12
+ this.type = enums_1.CacheDictionaryIncrementResponse.Success;
36
13
  this._value = value;
37
14
  }
38
15
  /**
@@ -49,18 +26,7 @@ class _Success extends Response {
49
26
  return `${super.toString()}: value: ${this.valueNumber()}`;
50
27
  }
51
28
  }
52
- /**
53
- * Indicates a Successful dictionary increment request.
54
- */
55
- class Success extends (0, response_base_1.ResponseSuccess)(_Success) {
56
- }
57
29
  exports.Success = Success;
58
- class _Error extends Response {
59
- constructor(_innerException) {
60
- super();
61
- this._innerException = _innerException;
62
- }
63
- }
64
30
  /**
65
31
  * Indicates that an error occurred during the dictionary increment request.
66
32
  *
@@ -71,7 +37,14 @@ class _Error extends Response {
71
37
  * - `message()` - a human-readable description of the error
72
38
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
73
39
  */
74
- class Error extends (0, response_base_1.ResponseError)(_Error) {
40
+ class Error extends response_base_1.BaseResponseError {
41
+ constructor(_innerException) {
42
+ super(_innerException);
43
+ this.type = enums_1.CacheDictionaryIncrementResponse.Error;
44
+ }
45
+ value() {
46
+ return undefined;
47
+ }
75
48
  }
76
49
  exports.Error = Error;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1pbmNyZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUE2RTtBQUU3RTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLDRCQUFZO0lBQzFDLEtBQUs7UUFDVixJQUFJLElBQUksWUFBWSxPQUFPLEVBQUU7WUFDM0IsT0FBUSxJQUFnQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBUEQsNEJBT0M7QUFFRCxNQUFNLFFBQVMsU0FBUSxRQUFRO0lBRzdCLFlBQVksS0FBYTtRQUN2QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFDTSxXQUFXO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRWUsUUFBUTtRQUN0QixPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxZQUFZLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO0lBQzdELENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsSUFBQSwrQkFBZSxFQUFDLFFBQVEsQ0FBQztDQUFHO0FBQXpELDBCQUF5RDtBQUV6RCxNQUFNLE1BQU8sU0FBUSxRQUFRO0lBQzNCLFlBQXNCLGVBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksb0JBQWUsR0FBZixlQUFlLENBQVU7SUFFL0MsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsSUFBQSw2QkFBYSxFQUFDLE1BQU0sQ0FBQztDQUFHO0FBQW5ELHNCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1Jlc3BvbnNlQmFzZSwgUmVzcG9uc2VFcnJvciwgUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuXG4vKipcbiAqIFBhcmVudCByZXNwb25zZSB0eXBlIGZvciBhIGRpY3Rpb25hcnkgaW5jcmVtZW50IHJlcXVlc3QuICBUaGVcbiAqIHJlc3BvbnNlIG9iamVjdCBpcyByZXNvbHZlZCB0byBhIHR5cGUtc2FmZSBvYmplY3Qgb2Ygb25lIG9mXG4gKiB0aGUgZm9sbG93aW5nIHN1YnR5cGVzOlxuICpcbiAqIC0ge1N1Y2Nlc3N9XG4gKiAtIHtFcnJvcn1cbiAqXG4gKiBgaW5zdGFuY2VvZmAgdHlwZSBndWFyZHMgY2FuIGJlIHVzZWQgdG8gb3BlcmF0ZSBvbiB0aGUgYXBwcm9wcmlhdGUgc3VidHlwZS5cbiAqIEBleGFtcGxlXG4gKiBGb3IgZXhhbXBsZTpcbiAqIGBgYFxuICogaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50LkVycm9yKSB7XG4gKiAgIC8vIEhhbmRsZSBlcnJvciBhcyBhcHByb3ByaWF0ZS4gIFRoZSBjb21waWxlciB3aWxsIHNtYXJ0LWNhc3QgYHJlc3BvbnNlYCB0byB0eXBlXG4gKiAgIC8vIGBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnQuRXJyb3JgIGluIHRoaXMgYmxvY2ssIHNvIHlvdSB3aWxsIGhhdmUgYWNjZXNzIHRvIHRoZSBwcm9wZXJ0aWVzXG4gKiAgIC8vIG9mIHRoZSBFcnJvciBjbGFzczsgZS5nLiBgcmVzcG9uc2UuZXJyb3JDb2RlKClgLlxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlQmFzZSB7XG4gIHB1YmxpYyB2YWx1ZSgpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzIGluc3RhbmNlb2YgU3VjY2Vzcykge1xuICAgICAgcmV0dXJuICh0aGlzIGFzIFN1Y2Nlc3MpLnZhbHVlKCk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuY2xhc3MgX1N1Y2Nlc3MgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbmV3IHZhbHVlIG9mIHRoZSBlbGVtZW50IGFmdGVyIGluY3JlbWVudGluZy5cbiAgICogQHJldHVybnMge251bWJlcn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuICBwdWJsaWMgdmFsdWVOdW1iZXIoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX06IHZhbHVlOiAke3RoaXMudmFsdWVOdW1iZXIoKX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIGEgU3VjY2Vzc2Z1bCBkaWN0aW9uYXJ5IGluY3JlbWVudCByZXF1ZXN0LlxuICovXG5leHBvcnQgY2xhc3MgU3VjY2VzcyBleHRlbmRzIFJlc3BvbnNlU3VjY2VzcyhfU3VjY2Vzcykge31cblxuY2xhc3MgX0Vycm9yIGV4dGVuZHMgUmVzcG9uc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2lubmVyRXhjZXB0aW9uOiBTZGtFcnJvcikge1xuICAgIHN1cGVyKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGRpY3Rpb25hcnkgaW5jcmVtZW50IHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBSZXNwb25zZUVycm9yKF9FcnJvcikge31cbiJdfQ==
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1pbmNyZW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktaW5jcmVtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUF1RTtBQUN2RSxtQ0FBeUQ7QUFPekQ7O0dBRUc7QUFDSCxNQUFhLE9BQVEsU0FBUSxtQ0FBbUI7SUFLOUMsWUFBWSxLQUFhO1FBQ3ZCLEtBQUssRUFBRSxDQUFDO1FBSkQsU0FBSSxHQUNYLHdDQUFnQyxDQUFDLE9BQU8sQ0FBQztRQUl6QyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ00sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVlLFFBQVE7UUFDdEIsT0FBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQUUsWUFBWSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztJQUM3RCxDQUFDO0NBQ0Y7QUF4QkQsMEJBd0JDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsaUNBQWlCO0lBRzFDLFlBQVksZUFBeUI7UUFDbkMsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBSGhCLFNBQUksR0FDWCx3Q0FBZ0MsQ0FBQyxLQUFLLENBQUM7SUFHekMsQ0FBQztJQUVNLEtBQUs7UUFDVixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFWRCxzQkFVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge0Jhc2VSZXNwb25zZUVycm9yLCBCYXNlUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuaW1wb3J0IHtDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnRSZXNwb25zZX0gZnJvbSAnLi9lbnVtcyc7XG5cbmludGVyZmFjZSBJUmVzcG9uc2Uge1xuICB2YWx1ZSgpOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IHR5cGU6IENhY2hlRGljdGlvbmFyeUluY3JlbWVudFJlc3BvbnNlO1xufVxuXG4vKipcbiAqIEluZGljYXRlcyBhIFN1Y2Nlc3NmdWwgZGljdGlvbmFyeSBpbmNyZW1lbnQgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VTdWNjZXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfdmFsdWU6IG51bWJlcjtcbiAgcmVhZG9ubHkgdHlwZTogQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50UmVzcG9uc2UuU3VjY2VzcyA9XG4gICAgQ2FjaGVEaWN0aW9uYXJ5SW5jcmVtZW50UmVzcG9uc2UuU3VjY2VzcztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuZXcgdmFsdWUgb2YgdGhlIGVsZW1lbnQgYWZ0ZXIgaW5jcmVtZW50aW5nLlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgcHVibGljIHZhbHVlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG4gIHB1YmxpYyB2YWx1ZU51bWJlcigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogdmFsdWU6ICR7dGhpcy52YWx1ZU51bWJlcigpfWA7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCBhbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdGhlIGRpY3Rpb25hcnkgaW5jcmVtZW50IHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBCYXNlUmVzcG9uc2VFcnJvciBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHJlYWRvbmx5IHR5cGU6IENhY2hlRGljdGlvbmFyeUluY3JlbWVudFJlc3BvbnNlLkVycm9yID1cbiAgICBDYWNoZURpY3Rpb25hcnlJbmNyZW1lbnRSZXNwb25zZS5FcnJvcjtcbiAgY29uc3RydWN0b3IoX2lubmVyRXhjZXB0aW9uOiBTZGtFcnJvcikge1xuICAgIHN1cGVyKF9pbm5lckV4Y2VwdGlvbik7XG4gIH1cblxuICBwdWJsaWMgdmFsdWUoKTogdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlID0gU3VjY2VzcyB8IEVycm9yO1xuIl19
@@ -1,28 +1,15 @@
1
1
  import { SdkError } from '../../errors';
2
- import { ResponseBase } from './response-base';
2
+ import { BaseResponseError, BaseResponseMiss, ResponseBase } from './response-base';
3
+ import { CacheDictionaryLengthResponse } from './enums';
4
+ interface IResponse {
5
+ value(): number | undefined;
6
+ readonly type: CacheDictionaryLengthResponse;
7
+ }
3
8
  /**
4
- * Parent response type for a dictionary length request. The
5
- * response object is resolved to a type-safe object of one of
6
- * the following subtypes:
7
- *
8
- * - {Hit}
9
- * - {Miss}
10
- * - {Error}
11
- *
12
- * `instanceof` type guards can be used to operate on the appropriate subtype.
13
- * @example
14
- * For example:
15
- * ```
16
- * if (response instanceof CacheDictionaryLength.Error) {
17
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
18
- * // `CacheDictionaryLength.Error` in this block, so you will have access to the properties
19
- * // of the Error class; e.g. `response.errorCode()`.
20
- * }
21
- * ```
9
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
10
+ * `value*` accessors to retrieve the data in the appropriate format.
22
11
  */
23
- export declare abstract class Response extends ResponseBase {
24
- }
25
- declare class _Hit extends Response {
12
+ export declare class Hit extends ResponseBase implements IResponse {
26
13
  private readonly _length;
27
14
  constructor(length: number);
28
15
  /**
@@ -31,41 +18,16 @@ declare class _Hit extends Response {
31
18
  */
32
19
  length(): number;
33
20
  toString(): string;
21
+ readonly type: CacheDictionaryLengthResponse.Hit;
22
+ value(): number;
34
23
  }
35
- declare const Hit_base: {
36
- new (...args: any[]): {};
37
- } & typeof _Hit;
38
- /**
39
- * Indicates that the requested data was successfully retrieved from the cache. Provides
40
- * `value*` accessors to retrieve the data in the appropriate format.
41
- */
42
- export declare class Hit extends Hit_base {
43
- }
44
- declare class _Miss extends Response {
45
- }
46
- declare const Miss_base: {
47
- new (...args: any[]): {
48
- readonly is_miss: boolean;
49
- };
50
- } & typeof _Miss;
51
24
  /**
52
25
  * Indicates that the requested data was not available in the cache.
53
26
  */
54
- export declare class Miss extends Miss_base {
27
+ export declare class Miss extends BaseResponseMiss implements IResponse {
28
+ readonly type: CacheDictionaryLengthResponse.Miss;
29
+ value(): undefined;
55
30
  }
56
- declare class _Error extends Response {
57
- protected _innerException: SdkError;
58
- constructor(_innerException: SdkError);
59
- }
60
- declare const Error_base: {
61
- new (...args: any[]): {
62
- _innerException: SdkError;
63
- message(): string;
64
- innerException(): SdkError;
65
- errorCode(): import("../../errors").MomentoErrorCode;
66
- toString(): string;
67
- };
68
- } & typeof _Error;
69
31
  /**
70
32
  * Indicates that an error occurred during the dictionary length request.
71
33
  *
@@ -76,6 +38,10 @@ declare const Error_base: {
76
38
  * - `message()` - a human-readable description of the error
77
39
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
78
40
  */
79
- export declare class Error extends Error_base {
41
+ export declare class Error extends BaseResponseError implements IResponse {
42
+ constructor(_innerException: SdkError);
43
+ readonly type: CacheDictionaryLengthResponse.Error;
44
+ value(): undefined;
80
45
  }
46
+ export type Response = Hit | Miss | Error;
81
47
  export {};
@@ -1,33 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Error = exports.Miss = exports.Hit = exports.Response = void 0;
3
+ exports.Error = exports.Miss = exports.Hit = void 0;
4
4
  const response_base_1 = require("./response-base");
5
+ const enums_1 = require("./enums");
5
6
  /**
6
- * Parent response type for a dictionary length request. The
7
- * response object is resolved to a type-safe object of one of
8
- * the following subtypes:
9
- *
10
- * - {Hit}
11
- * - {Miss}
12
- * - {Error}
13
- *
14
- * `instanceof` type guards can be used to operate on the appropriate subtype.
15
- * @example
16
- * For example:
17
- * ```
18
- * if (response instanceof CacheDictionaryLength.Error) {
19
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
20
- * // `CacheDictionaryLength.Error` in this block, so you will have access to the properties
21
- * // of the Error class; e.g. `response.errorCode()`.
22
- * }
23
- * ```
7
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
8
+ * `value*` accessors to retrieve the data in the appropriate format.
24
9
  */
25
- class Response extends response_base_1.ResponseBase {
26
- }
27
- exports.Response = Response;
28
- class _Hit extends Response {
10
+ class Hit extends response_base_1.ResponseBase {
29
11
  constructor(length) {
30
12
  super();
13
+ this.type = enums_1.CacheDictionaryLengthResponse.Hit;
31
14
  this._length = length;
32
15
  }
33
16
  /**
@@ -40,28 +23,24 @@ class _Hit extends Response {
40
23
  toString() {
41
24
  return `${super.toString()}: length ${this._length}`;
42
25
  }
43
- }
44
- /**
45
- * Indicates that the requested data was successfully retrieved from the cache. Provides
46
- * `value*` accessors to retrieve the data in the appropriate format.
47
- */
48
- class Hit extends (0, response_base_1.ResponseHit)(_Hit) {
26
+ value() {
27
+ return this._length;
28
+ }
49
29
  }
50
30
  exports.Hit = Hit;
51
- class _Miss extends Response {
52
- }
53
31
  /**
54
32
  * Indicates that the requested data was not available in the cache.
55
33
  */
56
- class Miss extends (0, response_base_1.ResponseMiss)(_Miss) {
57
- }
58
- exports.Miss = Miss;
59
- class _Error extends Response {
60
- constructor(_innerException) {
61
- super();
62
- this._innerException = _innerException;
34
+ class Miss extends response_base_1.BaseResponseMiss {
35
+ constructor() {
36
+ super(...arguments);
37
+ this.type = enums_1.CacheDictionaryLengthResponse.Miss;
38
+ }
39
+ value() {
40
+ return undefined;
63
41
  }
64
42
  }
43
+ exports.Miss = Miss;
65
44
  /**
66
45
  * Indicates that an error occurred during the dictionary length request.
67
46
  *
@@ -72,7 +51,14 @@ class _Error extends Response {
72
51
  * - `message()` - a human-readable description of the error
73
52
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
74
53
  */
75
- class Error extends (0, response_base_1.ResponseError)(_Error) {
54
+ class Error extends response_base_1.BaseResponseError {
55
+ constructor(_innerException) {
56
+ super(_innerException);
57
+ this.type = enums_1.CacheDictionaryLengthResponse.Error;
58
+ }
59
+ value() {
60
+ return undefined;
61
+ }
76
62
  }
77
63
  exports.Error = Error;
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1sZW5ndGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktbGVuZ3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUt5QjtBQUV6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQXNCLFFBQVMsU0FBUSw0QkFBWTtDQUFHO0FBQXRELDRCQUFzRDtBQUV0RCxNQUFNLElBQUssU0FBUSxRQUFRO0lBRXpCLFlBQVksTUFBYztRQUN4QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZELENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQWEsR0FBSSxTQUFRLElBQUEsMkJBQVcsRUFBQyxJQUFJLENBQUM7Q0FBRztBQUE3QyxrQkFBNkM7QUFFN0MsTUFBTSxLQUFNLFNBQVEsUUFBUTtDQUFHO0FBRS9COztHQUVHO0FBQ0gsTUFBYSxJQUFLLFNBQVEsSUFBQSw0QkFBWSxFQUFDLEtBQUssQ0FBQztDQUFHO0FBQWhELG9CQUFnRDtBQUVoRCxNQUFNLE1BQU8sU0FBUSxRQUFRO0lBQzNCLFlBQXNCLGVBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksb0JBQWUsR0FBZixlQUFlLENBQVU7SUFFL0MsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsSUFBQSw2QkFBYSxFQUFDLE1BQU0sQ0FBQztDQUFHO0FBQW5ELHNCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1xuICBSZXNwb25zZUJhc2UsXG4gIFJlc3BvbnNlRXJyb3IsXG4gIFJlc3BvbnNlSGl0LFxuICBSZXNwb25zZU1pc3MsXG59IGZyb20gJy4vcmVzcG9uc2UtYmFzZSc7XG5cbi8qKlxuICogUGFyZW50IHJlc3BvbnNlIHR5cGUgZm9yIGEgZGljdGlvbmFyeSBsZW5ndGggcmVxdWVzdC4gIFRoZVxuICogcmVzcG9uc2Ugb2JqZWN0IGlzIHJlc29sdmVkIHRvIGEgdHlwZS1zYWZlIG9iamVjdCBvZiBvbmUgb2ZcbiAqIHRoZSBmb2xsb3dpbmcgc3VidHlwZXM6XG4gKlxuICogLSB7SGl0fVxuICogLSB7TWlzc31cbiAqIC0ge0Vycm9yfVxuICpcbiAqIGBpbnN0YW5jZW9mYCB0eXBlIGd1YXJkcyBjYW4gYmUgdXNlZCB0byBvcGVyYXRlIG9uIHRoZSBhcHByb3ByaWF0ZSBzdWJ0eXBlLlxuICogQGV4YW1wbGVcbiAqIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBDYWNoZURpY3Rpb25hcnlMZW5ndGguRXJyb3IpIHtcbiAqICAgLy8gSGFuZGxlIGVycm9yIGFzIGFwcHJvcHJpYXRlLiAgVGhlIGNvbXBpbGVyIHdpbGwgc21hcnQtY2FzdCBgcmVzcG9uc2VgIHRvIHR5cGVcbiAqICAgLy8gYENhY2hlRGljdGlvbmFyeUxlbmd0aC5FcnJvcmAgaW4gdGhpcyBibG9jaywgc28geW91IHdpbGwgaGF2ZSBhY2Nlc3MgdG8gdGhlIHByb3BlcnRpZXNcbiAqICAgLy8gb2YgdGhlIEVycm9yIGNsYXNzOyBlLmcuIGByZXNwb25zZS5lcnJvckNvZGUoKWAuXG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3BvbnNlIGV4dGVuZHMgUmVzcG9uc2VCYXNlIHt9XG5cbmNsYXNzIF9IaXQgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2xlbmd0aDogbnVtYmVyO1xuICBjb25zdHJ1Y3RvcihsZW5ndGg6IG51bWJlcikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5fbGVuZ3RoID0gbGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxlbmd0aCBvZiB0aGUgZGljdGlvbmFyeVxuICAgKiBAcmV0dXJucyB7bnVtYmVyfVxuICAgKi9cbiAgcHVibGljIGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7c3VwZXIudG9TdHJpbmcoKX06IGxlbmd0aCAke3RoaXMuX2xlbmd0aH1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlLiAgUHJvdmlkZXNcbiAqIGB2YWx1ZSpgIGFjY2Vzc29ycyB0byByZXRyaWV2ZSB0aGUgZGF0YSBpbiB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgSGl0IGV4dGVuZHMgUmVzcG9uc2VIaXQoX0hpdCkge31cblxuY2xhc3MgX01pc3MgZXh0ZW5kcyBSZXNwb25zZSB7fVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNaXNzIGV4dGVuZHMgUmVzcG9uc2VNaXNzKF9NaXNzKSB7fVxuXG5jbGFzcyBfRXJyb3IgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBsZW5ndGggcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIFJlc3BvbnNlRXJyb3IoX0Vycm9yKSB7fVxuIl19
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1sZW5ndGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktbGVuZ3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUl5QjtBQUN6QixtQ0FBc0Q7QUFPdEQ7OztHQUdHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsNEJBQVk7SUFFbkMsWUFBWSxNQUFjO1FBQ3hCLEtBQUssRUFBRSxDQUFDO1FBZ0JELFNBQUksR0FDWCxxQ0FBNkIsQ0FBQyxHQUFHLENBQUM7UUFoQmxDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxNQUFNO1FBQ1gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLFlBQVksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZELENBQUM7SUFLRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQXpCRCxrQkF5QkM7QUFFRDs7R0FFRztBQUNILE1BQWEsSUFBSyxTQUFRLGdDQUFnQjtJQUExQzs7UUFDVyxTQUFJLEdBQ1gscUNBQTZCLENBQUMsSUFBSSxDQUFDO0lBS3ZDLENBQUM7SUFIQyxLQUFLO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBUEQsb0JBT0M7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxpQ0FBaUI7SUFDMUMsWUFBWSxlQUF5QjtRQUNuQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFHaEIsU0FBSSxHQUNYLHFDQUE2QixDQUFDLEtBQUssQ0FBQztJQUh0QyxDQUFDO0lBS0QsS0FBSztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQVhELHNCQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZGtFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7XG4gIEJhc2VSZXNwb25zZUVycm9yLFxuICBCYXNlUmVzcG9uc2VNaXNzLFxuICBSZXNwb25zZUJhc2UsXG59IGZyb20gJy4vcmVzcG9uc2UtYmFzZSc7XG5pbXBvcnQge0NhY2hlRGljdGlvbmFyeUxlbmd0aFJlc3BvbnNlfSBmcm9tICcuL2VudW1zJztcblxuaW50ZXJmYWNlIElSZXNwb25zZSB7XG4gIHZhbHVlKCk6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgdHlwZTogQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoUmVzcG9uc2U7XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlLiAgUHJvdmlkZXNcbiAqIGB2YWx1ZSpgIGFjY2Vzc29ycyB0byByZXRyaWV2ZSB0aGUgZGF0YSBpbiB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgSGl0IGV4dGVuZHMgUmVzcG9uc2VCYXNlIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbGVuZ3RoOiBudW1iZXI7XG4gIGNvbnN0cnVjdG9yKGxlbmd0aDogbnVtYmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLl9sZW5ndGggPSBsZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgbGVuZ3RoIG9mIHRoZSBkaWN0aW9uYXJ5XG4gICAqIEByZXR1cm5zIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgbGVuZ3RoKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2xlbmd0aDtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogbGVuZ3RoICR7dGhpcy5fbGVuZ3RofWA7XG4gIH1cblxuICByZWFkb25seSB0eXBlOiBDYWNoZURpY3Rpb25hcnlMZW5ndGhSZXNwb25zZS5IaXQgPVxuICAgIENhY2hlRGljdGlvbmFyeUxlbmd0aFJlc3BvbnNlLkhpdDtcblxuICB2YWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sZW5ndGg7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIGRhdGEgd2FzIG5vdCBhdmFpbGFibGUgaW4gdGhlIGNhY2hlLlxuICovXG5leHBvcnQgY2xhc3MgTWlzcyBleHRlbmRzIEJhc2VSZXNwb25zZU1pc3MgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBDYWNoZURpY3Rpb25hcnlMZW5ndGhSZXNwb25zZS5NaXNzID1cbiAgICBDYWNoZURpY3Rpb25hcnlMZW5ndGhSZXNwb25zZS5NaXNzO1xuXG4gIHZhbHVlKCk6IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBsZW5ndGggcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZUVycm9yIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IoX2lubmVyRXhjZXB0aW9uOiBTZGtFcnJvcikge1xuICAgIHN1cGVyKF9pbm5lckV4Y2VwdGlvbik7XG4gIH1cblxuICByZWFkb25seSB0eXBlOiBDYWNoZURpY3Rpb25hcnlMZW5ndGhSZXNwb25zZS5FcnJvciA9XG4gICAgQ2FjaGVEaWN0aW9uYXJ5TGVuZ3RoUmVzcG9uc2UuRXJyb3I7XG5cbiAgdmFsdWUoKTogdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJlc3BvbnNlID0gSGl0IHwgTWlzcyB8IEVycm9yO1xuIl19
@@ -1,51 +1,15 @@
1
1
  import { SdkError } from '../../errors';
2
- import { ResponseBase } from './response-base';
3
- /**
4
- * Parent response type for a dictionary remove field request. The
5
- * response object is resolved to a type-safe object of one of
6
- * the following subtypes:
7
- *
8
- * - {Success}
9
- * - {Error}
10
- *
11
- * `instanceof` type guards can be used to operate on the appropriate subtype.
12
- * @example
13
- * For example:
14
- * ```
15
- * if (response instanceof CacheDictionaryRemoveField.Error) {
16
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
17
- * // `CacheDictionaryRemoveField.Error` in this block, so you will have access to the properties
18
- * // of the Error class; e.g. `response.errorCode()`.
19
- * }
20
- * ```
21
- */
22
- export declare abstract class Response extends ResponseBase {
2
+ import { BaseResponseError, BaseResponseSuccess } from './response-base';
3
+ import { CacheDictionaryRemoveFieldResponse } from './enums';
4
+ interface IResponse {
5
+ readonly type: CacheDictionaryRemoveFieldResponse;
23
6
  }
24
- declare class _Success extends Response {
25
- }
26
- declare const Success_base: {
27
- new (...args: any[]): {
28
- readonly is_success: boolean;
29
- };
30
- } & typeof _Success;
31
7
  /**
32
8
  * Indicates a Successful dictionary remove field request.
33
9
  */
34
- export declare class Success extends Success_base {
35
- }
36
- declare class _Error extends Response {
37
- protected _innerException: SdkError;
38
- constructor(_innerException: SdkError);
10
+ export declare class Success extends BaseResponseSuccess implements IResponse {
11
+ readonly type: CacheDictionaryRemoveFieldResponse.Success;
39
12
  }
40
- declare const Error_base: {
41
- new (...args: any[]): {
42
- _innerException: SdkError;
43
- message(): string;
44
- innerException(): SdkError;
45
- errorCode(): import("../../errors").MomentoErrorCode;
46
- toString(): string;
47
- };
48
- } & typeof _Error;
49
13
  /**
50
14
  * Indicates that an error occurred during the dictionary remove field request.
51
15
  *
@@ -56,6 +20,9 @@ declare const Error_base: {
56
20
  * - `message()` - a human-readable description of the error
57
21
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
58
22
  */
59
- export declare class Error extends Error_base {
23
+ export declare class Error extends BaseResponseError implements IResponse {
24
+ readonly type: CacheDictionaryRemoveFieldResponse.Error;
25
+ constructor(_innerException: SdkError);
60
26
  }
27
+ export type Response = Success | Error;
61
28
  export {};