@gomomento/sdk-core 1.85.0 → 1.87.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 (33) 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/index.d.ts +1 -0
  4. package/dist/src/index.js +2 -1
  5. package/dist/src/internal/clients/cache/AbstractCacheClient.d.ts +1 -1
  6. package/dist/src/internal/clients/cache/AbstractCacheClient.js +1 -1
  7. package/dist/src/internal/clients/pubsub/AbstractTopicClient.d.ts +4 -1
  8. package/dist/src/internal/clients/pubsub/AbstractTopicClient.js +15 -3
  9. package/dist/src/internal/utils/auth.d.ts +7 -3
  10. package/dist/src/internal/utils/auth.js +19 -7
  11. package/dist/src/messages/responses/cache-batch-set.d.ts +1 -4
  12. package/dist/src/messages/responses/cache-dictionary-fetch.d.ts +18 -54
  13. package/dist/src/messages/responses/cache-dictionary-fetch.js +23 -46
  14. package/dist/src/messages/responses/cache-dictionary-get-field.d.ts +19 -58
  15. package/dist/src/messages/responses/cache-dictionary-get-field.js +19 -52
  16. package/dist/src/messages/responses/cache-dictionary-get-fields.d.ts +19 -56
  17. package/dist/src/messages/responses/cache-dictionary-get-fields.js +27 -50
  18. package/dist/src/messages/responses/cache-get.d.ts +19 -54
  19. package/dist/src/messages/responses/cache-get.js +22 -45
  20. package/dist/src/messages/responses/cache-list-concatenate-back.d.ts +10 -0
  21. package/dist/src/messages/responses/cache-list-length.d.ts +11 -4
  22. package/dist/src/messages/responses/cache-set-add-element.d.ts +0 -10
  23. package/dist/src/messages/responses/cache-set-if-absent.d.ts +1 -10
  24. package/dist/src/messages/responses/cache-set.d.ts +10 -43
  25. package/dist/src/messages/responses/cache-set.js +13 -34
  26. package/dist/src/messages/responses/create-cache.d.ts +0 -10
  27. package/dist/src/messages/responses/enums/index.d.ts +24 -0
  28. package/dist/src/messages/responses/enums/index.js +33 -0
  29. package/dist/src/messages/responses/response-base.d.ts +14 -0
  30. package/dist/src/messages/responses/response-base.js +35 -2
  31. package/dist/src/messages/responses/webhook/list-webhooks.d.ts +10 -1
  32. package/dist/src/messages/responses/webhook/put-webhook.d.ts +1 -10
  33. package/package.json +1 -1
@@ -20,10 +20,14 @@ interface TokenAndEndpoints {
20
20
  tokenEndpoint: string | undefined;
21
21
  authToken: string;
22
22
  }
23
+ export interface Endpoint {
24
+ endpoint: string;
25
+ secureConnection?: boolean;
26
+ }
23
27
  export interface AllEndpoints {
24
- controlEndpoint: string;
25
- cacheEndpoint: string;
26
- tokenEndpoint: string;
28
+ controlEndpoint: Endpoint;
29
+ cacheEndpoint: Endpoint;
30
+ tokenEndpoint: Endpoint;
27
31
  }
28
32
  export declare function populateAllEndpointsFromBaseEndpoint(endpointOverride: BaseEndpointOverride): AllEndpoints;
29
33
  /**
@@ -15,9 +15,18 @@ function populateAllEndpointsFromBaseEndpoint(endpointOverride) {
15
15
  prefix = `${endpointOverride.endpointPrefix}.`;
16
16
  }
17
17
  return {
18
- controlEndpoint: `${prefix}control.${endpointOverride.baseEndpoint}`,
19
- cacheEndpoint: `${prefix}cache.${endpointOverride.baseEndpoint}`,
20
- tokenEndpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
18
+ controlEndpoint: {
19
+ endpoint: `${prefix}control.${endpointOverride.baseEndpoint}`,
20
+ secureConnection: endpointOverride.secureConnection,
21
+ },
22
+ cacheEndpoint: {
23
+ endpoint: `${prefix}cache.${endpointOverride.baseEndpoint}`,
24
+ secureConnection: endpointOverride.secureConnection,
25
+ },
26
+ tokenEndpoint: {
27
+ endpoint: `${prefix}token.${endpointOverride.baseEndpoint}`,
28
+ secureConnection: endpointOverride.secureConnection,
29
+ },
21
30
  };
22
31
  }
23
32
  exports.populateAllEndpointsFromBaseEndpoint = populateAllEndpointsFromBaseEndpoint;
@@ -40,10 +49,13 @@ const decodeAuthToken = (token) => {
40
49
  if (!base64DecodedToken.endpoint || !base64DecodedToken.api_key) {
41
50
  throw new errors_1.InvalidArgumentError('failed to parse token');
42
51
  }
52
+ const endpoints = populateAllEndpointsFromBaseEndpoint({
53
+ baseEndpoint: base64DecodedToken.endpoint,
54
+ });
43
55
  return {
44
- ...populateAllEndpointsFromBaseEndpoint({
45
- baseEndpoint: base64DecodedToken.endpoint,
46
- }),
56
+ controlEndpoint: endpoints.controlEndpoint.endpoint,
57
+ cacheEndpoint: endpoints.cacheEndpoint.endpoint,
58
+ tokenEndpoint: endpoints.tokenEndpoint.endpoint,
47
59
  authToken: base64DecodedToken.api_key,
48
60
  };
49
61
  }
@@ -69,4 +81,4 @@ exports.decodeAuthToken = decodeAuthToken;
69
81
  class InternalSuperUserPermissions extends permission_scope_1.PredefinedScope {
70
82
  }
71
83
  exports.InternalSuperUserPermissions = InternalSuperUserPermissions;
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQWlCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1FBQ3BFLGFBQWEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7UUFDaEUsYUFBYSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtLQUNqRSxDQUFDO0FBQ0osQ0FBQztBQVpELG9GQVlDO0FBRUQ7OztHQUdHO0FBQ0ksTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFjLEVBQXFCLEVBQUU7SUFDbkUsSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNWLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO0tBQ3hEO0lBRUQsSUFBSTtRQUNGLHlHQUF5RztRQUN6RyxnSEFBZ0g7UUFDaEgscUhBQXFIO1FBQ3JILHlIQUF5SDtRQUN6SCxnQ0FBZ0M7UUFDaEMsSUFBSSxJQUFBLHFCQUFRLEVBQUMsS0FBSyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNuQyxJQUFBLHlCQUFnQixFQUFDLEtBQUssQ0FBQyxDQUNBLENBQUM7WUFDMUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRTtnQkFDL0QsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDekQ7WUFDRCxPQUFPO2dCQUNMLEdBQUcsb0NBQW9DLENBQUM7b0JBQ3RDLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxRQUFRO2lCQUMxQyxDQUFDO2dCQUNGLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsa0hBQWtIO1lBQ2xILGdIQUFnSDtZQUNoSCxvSEFBb0g7WUFDcEgsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBZSxLQUFLLENBQUMsQ0FBQztZQUN0RSxPQUFPO2dCQUNMLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO2dCQUN0QyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBeENXLFFBQUEsZUFBZSxtQkF3QzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsbEVuZHBvaW50cyB7XG4gIGNvbnRyb2xFbmRwb2ludDogc3RyaW5nO1xuICBjYWNoZUVuZHBvaW50OiBzdHJpbmc7XG4gIHRva2VuRW5kcG9pbnQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgZW5kcG9pbnRPdmVycmlkZTogQmFzZUVuZHBvaW50T3ZlcnJpZGVcbik6IEFsbEVuZHBvaW50cyB7XG4gIGxldCBwcmVmaXggPSAnJztcbiAgaWYgKGVuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXgpIHtcbiAgICBwcmVmaXggPSBgJHtlbmRwb2ludE92ZXJyaWRlLmVuZHBvaW50UHJlZml4fS5gO1xuICB9XG4gIHJldHVybiB7XG4gICAgY29udHJvbEVuZHBvaW50OiBgJHtwcmVmaXh9Y29udHJvbC4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgY2FjaGVFbmRwb2ludDogYCR7cHJlZml4fWNhY2hlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICB0b2tlbkVuZHBvaW50OiBgJHtwcmVmaXh9dG9rZW4uJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICB9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0b2tlblxuICogQHJldHVybnMgVG9rZW5BbmRFbmRwb2ludHNcbiAqL1xuZXhwb3J0IGNvbnN0IGRlY29kZUF1dGhUb2tlbiA9ICh0b2tlbj86IHN0cmluZyk6IFRva2VuQW5kRW5kcG9pbnRzID0+IHtcbiAgaWYgKCF0b2tlbikge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignbWFsZm9ybWVkIGF1dGggdG9rZW4nKTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgLy8gdjEgYXBpIHRva2VucyBkb24ndCBoYXZlIGFuIGVuZHBvaW50IGFzIHBhcnQgb2YgdGhlaXIgY2xhaW1zLiBJbnN0ZWFkLCB3aGVuIHRoZSBTREsgcmV0dXJucyB0b2tlbnMsIHdlXG4gICAgLy8gZ2l2ZSBpdCB0byB0aGVtIGFzIGEgYmFzZTY0IGVuY29kZWQgc3RyaW5nIG9mICd7IFwiYXBpX2tleVwiOiBcIjx0aGUga2V5PlwiLCBcImVuZHBvaW50XCI6IFwicHJvZC5tb21lbnRvaHEuY29tXCIgfScuXG4gICAgLy8gU2luY2UgaW4gdGhlIG5lYXIgZnV0dXJlLCBtb3N0IGN1c3RvbWVycyBhcmUgZ29pbmcgdG8gYmUgdXNpbmcgdGhlc2UgbmV3ZXIgdG9rZW5zLCB3ZSBhcmUgZmlyc3QgY2hlY2tpbmcgdG8gc2VlIGlmXG4gICAgLy8gdGhleSBhcmUgYmFzZTY0IGVuY29kZWQsIHdoaWNoIHdpbGwgdGVsbCB1cyB0aGF0IHRoZXkgYXJlIG91ciB2MSBhcGkgdG9rZW5zLiBJZiBpdHMgbm90LCB3ZSB3aWxsIGZhbGwgYmFjayB0byBkZWNvZGluZ1xuICAgIC8vIGl0IGFzIG9uZSBvZiBvdXIgbGVnYWN5IGp3dHMuXG4gICAgaWYgKGlzQmFzZTY0KHRva2VuKSkge1xuICAgICAgY29uc3QgYmFzZTY0RGVjb2RlZFRva2VuID0gSlNPTi5wYXJzZShcbiAgICAgICAgZGVjb2RlRnJvbUJhc2U2NCh0b2tlbilcbiAgICAgICkgYXMgQmFzZTY0RGVjb2RlZFYxVG9rZW47XG4gICAgICBpZiAoIWJhc2U2NERlY29kZWRUb2tlbi5lbmRwb2ludCB8fCAhYmFzZTY0RGVjb2RlZFRva2VuLmFwaV9rZXkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgdG9rZW4nKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCh7XG4gICAgICAgICAgYmFzZUVuZHBvaW50OiBiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnQsXG4gICAgICAgIH0pLFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy9hdXRoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCwyQ0FBbUM7QUFDbkMsNkNBQXNDO0FBQ3RDLHFDQUEwQztBQUMxQyx5RUFBbUU7QUFtQm5FLFNBQVMscUJBQXFCLENBQUksU0FBaUI7SUFDakQsT0FBTyxJQUFBLG9CQUFTLEVBQUksU0FBUyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQXNCRCxTQUFnQixvQ0FBb0MsQ0FDbEQsZ0JBQXNDO0lBRXRDLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNoQixJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRTtRQUNuQyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEdBQUcsQ0FBQztLQUNoRDtJQUNELE9BQU87UUFDTCxlQUFlLEVBQUU7WUFDZixRQUFRLEVBQUUsR0FBRyxNQUFNLFdBQVcsZ0JBQWdCLENBQUMsWUFBWSxFQUFFO1lBQzdELGdCQUFnQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtTQUNwRDtRQUNELGFBQWEsRUFBRTtZQUNiLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUU7WUFDM0QsZ0JBQWdCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1NBQ3BEO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLGdCQUFnQixDQUFDLFlBQVksRUFBRTtZQUMzRCxnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7U0FDcEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQXJCRCxvRkFxQkM7QUFFRDs7O0dBR0c7QUFDSSxNQUFNLGVBQWUsR0FBRyxDQUFDLEtBQWMsRUFBcUIsRUFBRTtJQUNuRSxJQUFJLENBQUMsS0FBSyxFQUFFO1FBQ1YsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDeEQ7SUFFRCxJQUFJO1FBQ0YseUdBQXlHO1FBQ3pHLGdIQUFnSDtRQUNoSCxxSEFBcUg7UUFDckgseUhBQXlIO1FBQ3pILGdDQUFnQztRQUNoQyxJQUFJLElBQUEscUJBQVEsRUFBQyxLQUFLLENBQUMsRUFBRTtZQUNuQixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQ25DLElBQUEseUJBQWdCLEVBQUMsS0FBSyxDQUFDLENBQ0EsQ0FBQztZQUMxQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFO2dCQUMvRCxNQUFNLElBQUksNkJBQW9CLENBQUMsdUJBQXVCLENBQUMsQ0FBQzthQUN6RDtZQUNELE1BQU0sU0FBUyxHQUFHLG9DQUFvQyxDQUFDO2dCQUNyRCxZQUFZLEVBQUUsa0JBQWtCLENBQUMsUUFBUTthQUMxQyxDQUFDLENBQUM7WUFDSCxPQUFPO2dCQUNMLGVBQWUsRUFBRSxTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVE7Z0JBQ25ELGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQy9DLGFBQWEsRUFBRSxTQUFTLENBQUMsYUFBYSxDQUFDLFFBQVE7Z0JBQy9DLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO2FBQ3RDLENBQUM7U0FDSDthQUFNO1lBQ0wsa0hBQWtIO1lBQ2xILGdIQUFnSDtZQUNoSCxvSEFBb0g7WUFDcEgsTUFBTSxrQkFBa0IsR0FBRyxxQkFBcUIsQ0FBZSxLQUFLLENBQUMsQ0FBQztZQUN0RSxPQUFPO2dCQUNMLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFO2dCQUN0QyxhQUFhLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztnQkFDbkMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ25DLFNBQVMsRUFBRSxLQUFLO2FBQ2pCLENBQUM7U0FDSDtLQUNGO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDViw0RUFBNEU7UUFDNUUsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDBCQUEwQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyxDQUFDO0FBM0NXLFFBQUEsZUFBZSxtQkEyQzFCO0FBRUYsTUFBYSw0QkFBNkIsU0FBUSxrQ0FBZTtDQUFHO0FBQXBFLG9FQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgand0RGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xuaW1wb3J0IHtpc0Jhc2U2NH0gZnJvbSAnLi92YWxpZGF0b3JzJztcbmltcG9ydCB7ZGVjb2RlRnJvbUJhc2U2NH0gZnJvbSAnLi9zdHJpbmcnO1xuaW1wb3J0IHtQcmVkZWZpbmVkU2NvcGV9IGZyb20gJy4uLy4uL2F1dGgvdG9rZW5zL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtCYXNlRW5kcG9pbnRPdmVycmlkZX0gZnJvbSAnLi4vLi4vYXV0aCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGVnYWN5Q2xhaW1zIHtcbiAgLyoqXG4gICAqIGNvbnRyb2wgcGxhbmUgZW5kcG9pbnRcbiAgICovXG4gIGNwOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBjYWNoZSBlbmRwb2ludFxuICAgKi9cbiAgYzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2U2NERlY29kZWRWMVRva2VuIHtcbiAgYXBpX2tleTogc3RyaW5nO1xuICBlbmRwb2ludDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBkZWNvZGVBdXRoVG9rZW5DbGFpbXM8VD4oYXV0aFRva2VuOiBzdHJpbmcpOiBUIHtcbiAgcmV0dXJuIGp3dERlY29kZTxUPihhdXRoVG9rZW4pO1xufVxuXG5pbnRlcmZhY2UgVG9rZW5BbmRFbmRwb2ludHMge1xuICAvLyBJZiB3ZSBkZWNvZGUgYSBKV1QgdGhhdCBkb2Vzbid0IGFjdHVhbGx5IGhhdmUgdGhlIGNvbnRyb2xFbmRwb2ludC9jYWNoZUVuZHBvaW50IGNsYWltcywgdGhlbiB0aGV5IHdpbGwgY29tZSBiYWNrXG4gIC8vIGFzIHVuZGVmaW5lZDsgdGh1cyB3ZSBuZWVkIHRoZSB0eXBlcyBoZXJlIHRvIGJlIGBzdHJpbmcgfCB1bmRlZmluZWRgLlxuICBjb250cm9sRW5kcG9pbnQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY2FjaGVFbmRwb2ludDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0b2tlbkVuZHBvaW50OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVuZHBvaW50IHtcbiAgZW5kcG9pbnQ6IHN0cmluZztcbiAgc2VjdXJlQ29ubmVjdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxsRW5kcG9pbnRzIHtcbiAgY29udHJvbEVuZHBvaW50OiBFbmRwb2ludDtcbiAgY2FjaGVFbmRwb2ludDogRW5kcG9pbnQ7XG4gIHRva2VuRW5kcG9pbnQ6IEVuZHBvaW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wdWxhdGVBbGxFbmRwb2ludHNGcm9tQmFzZUVuZHBvaW50KFxuICBlbmRwb2ludE92ZXJyaWRlOiBCYXNlRW5kcG9pbnRPdmVycmlkZVxuKTogQWxsRW5kcG9pbnRzIHtcbiAgbGV0IHByZWZpeCA9ICcnO1xuICBpZiAoZW5kcG9pbnRPdmVycmlkZS5lbmRwb2ludFByZWZpeCkge1xuICAgIHByZWZpeCA9IGAke2VuZHBvaW50T3ZlcnJpZGUuZW5kcG9pbnRQcmVmaXh9LmA7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBjb250cm9sRW5kcG9pbnQ6IHtcbiAgICAgIGVuZHBvaW50OiBgJHtwcmVmaXh9Y29udHJvbC4ke2VuZHBvaW50T3ZlcnJpZGUuYmFzZUVuZHBvaW50fWAsXG4gICAgICBzZWN1cmVDb25uZWN0aW9uOiBlbmRwb2ludE92ZXJyaWRlLnNlY3VyZUNvbm5lY3Rpb24sXG4gICAgfSxcbiAgICBjYWNoZUVuZHBvaW50OiB7XG4gICAgICBlbmRwb2ludDogYCR7cHJlZml4fWNhY2hlLiR7ZW5kcG9pbnRPdmVycmlkZS5iYXNlRW5kcG9pbnR9YCxcbiAgICAgIHNlY3VyZUNvbm5lY3Rpb246IGVuZHBvaW50T3ZlcnJpZGUuc2VjdXJlQ29ubmVjdGlvbixcbiAgICB9LFxuICAgIHRva2VuRW5kcG9pbnQ6IHtcbiAgICAgIGVuZHBvaW50OiBgJHtwcmVmaXh9dG9rZW4uJHtlbmRwb2ludE92ZXJyaWRlLmJhc2VFbmRwb2ludH1gLFxuICAgICAgc2VjdXJlQ29ubmVjdGlvbjogZW5kcG9pbnRPdmVycmlkZS5zZWN1cmVDb25uZWN0aW9uLFxuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHRva2VuXG4gKiBAcmV0dXJucyBUb2tlbkFuZEVuZHBvaW50c1xuICovXG5leHBvcnQgY29uc3QgZGVjb2RlQXV0aFRva2VuID0gKHRva2VuPzogc3RyaW5nKTogVG9rZW5BbmRFbmRwb2ludHMgPT4ge1xuICBpZiAoIXRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdtYWxmb3JtZWQgYXV0aCB0b2tlbicpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyB2MSBhcGkgdG9rZW5zIGRvbid0IGhhdmUgYW4gZW5kcG9pbnQgYXMgcGFydCBvZiB0aGVpciBjbGFpbXMuIEluc3RlYWQsIHdoZW4gdGhlIFNESyByZXR1cm5zIHRva2Vucywgd2VcbiAgICAvLyBnaXZlIGl0IHRvIHRoZW0gYXMgYSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgb2YgJ3sgXCJhcGlfa2V5XCI6IFwiPHRoZSBrZXk+XCIsIFwiZW5kcG9pbnRcIjogXCJwcm9kLm1vbWVudG9ocS5jb21cIiB9Jy5cbiAgICAvLyBTaW5jZSBpbiB0aGUgbmVhciBmdXR1cmUsIG1vc3QgY3VzdG9tZXJzIGFyZSBnb2luZyB0byBiZSB1c2luZyB0aGVzZSBuZXdlciB0b2tlbnMsIHdlIGFyZSBmaXJzdCBjaGVja2luZyB0byBzZWUgaWZcbiAgICAvLyB0aGV5IGFyZSBiYXNlNjQgZW5jb2RlZCwgd2hpY2ggd2lsbCB0ZWxsIHVzIHRoYXQgdGhleSBhcmUgb3VyIHYxIGFwaSB0b2tlbnMuIElmIGl0cyBub3QsIHdlIHdpbGwgZmFsbCBiYWNrIHRvIGRlY29kaW5nXG4gICAgLy8gaXQgYXMgb25lIG9mIG91ciBsZWdhY3kgand0cy5cbiAgICBpZiAoaXNCYXNlNjQodG9rZW4pKSB7XG4gICAgICBjb25zdCBiYXNlNjREZWNvZGVkVG9rZW4gPSBKU09OLnBhcnNlKFxuICAgICAgICBkZWNvZGVGcm9tQmFzZTY0KHRva2VuKVxuICAgICAgKSBhcyBCYXNlNjREZWNvZGVkVjFUb2tlbjtcbiAgICAgIGlmICghYmFzZTY0RGVjb2RlZFRva2VuLmVuZHBvaW50IHx8ICFiYXNlNjREZWNvZGVkVG9rZW4uYXBpX2tleSkge1xuICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2ZhaWxlZCB0byBwYXJzZSB0b2tlbicpO1xuICAgICAgfVxuICAgICAgY29uc3QgZW5kcG9pbnRzID0gcG9wdWxhdGVBbGxFbmRwb2ludHNGcm9tQmFzZUVuZHBvaW50KHtcbiAgICAgICAgYmFzZUVuZHBvaW50OiBiYXNlNjREZWNvZGVkVG9rZW4uZW5kcG9pbnQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNvbnRyb2xFbmRwb2ludDogZW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludC5lbmRwb2ludCxcbiAgICAgICAgY2FjaGVFbmRwb2ludDogZW5kcG9pbnRzLmNhY2hlRW5kcG9pbnQuZW5kcG9pbnQsXG4gICAgICAgIHRva2VuRW5kcG9pbnQ6IGVuZHBvaW50cy50b2tlbkVuZHBvaW50LmVuZHBvaW50LFxuICAgICAgICBhdXRoVG9rZW46IGJhc2U2NERlY29kZWRUb2tlbi5hcGlfa2V5LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gVGhpcyBkZWNvZGUgZnVuY3Rpb24gdXNlcyBnZW5lcmljcyB0byBhZHZlcnRpc2UgdGhhdCB3ZSB3aWxsIHVzdWFsbHkgZXhwZWN0IHRvIGZpbmQgdGhlIExlZ2FjeUNsYWltcy4gIEhvd2V2ZXIsXG4gICAgICAvLyBpZiB0aGUgdG9rZW4gaXMgYSB2YWxpZCBKV1QgYnV0IG5vdCBhY3R1YWxseSBvbmUgb2Ygb3VyIGxlZ2FjeSB0b2tlbnMsIHRoZSBlbmRwb2ludCBjbGFpbXMgd2lsbCBiZSB1bmRlZmluZWQsXG4gICAgICAvLyB3aGljaCBpcyB3aHkgdGhlIHJldHVybiB0eXBlIGZvciB0aGlzIGZ1bmN0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBjb250cm9sRW5kcG9pbnQvY2FjaGVFbmRwb2ludCBtYXkgYmUgdW5kZWZpbmVkLlxuICAgICAgY29uc3QgZGVjb2RlZExlZ2FjeVRva2VuID0gZGVjb2RlQXV0aFRva2VuQ2xhaW1zPExlZ2FjeUNsYWltcz4odG9rZW4pO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY29udHJvbEVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uY3AsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRMZWdhY3lUb2tlbi5jLFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkTGVnYWN5VG9rZW4uYyxcbiAgICAgICAgYXV0aFRva2VuOiB0b2tlbixcbiAgICAgIH07XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9yZXN0cmljdC10ZW1wbGF0ZS1leHByZXNzaW9uc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihgZmFpbGVkIHRvIHBhcnNlIHRva2VuOiAke2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjbGFzcyBJbnRlcm5hbFN1cGVyVXNlclBlcm1pc3Npb25zIGV4dGVuZHMgUHJlZGVmaW5lZFNjb3BlIHt9XG4iXX0=
@@ -50,10 +50,7 @@ declare const Error_base: {
50
50
  new (...args: any[]): {
51
51
  _innerException: SdkError;
52
52
  message(): string;
53
- innerException(): SdkError; /**
54
- * Returns the status for each request in the batch as a list of CacheGet.Response objects.
55
- * @returns {CacheSet.Response[]}
56
- */
53
+ innerException(): SdkError;
57
54
  errorCode(): import("../..").MomentoErrorCode;
58
55
  toString(): string;
59
56
  };
@@ -1,32 +1,19 @@
1
- import { ResponseBase } from './response-base';
1
+ import { ResponseBase, BaseResponseMiss, BaseResponseError } from './response-base';
2
2
  import { SdkError } from '../../errors';
3
3
  import { _DictionaryFieldValuePair } from './grpc-response-types';
4
- /**
5
- * Parent response type for a dictionary fetch request. The
6
- * response object is resolved to a type-safe object of one of
7
- * the following subtypes:
8
- *
9
- * - {Hit}
10
- * - {Miss}
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 CacheDictionaryFetch.Error) {
18
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
19
- * // `CacheDictionaryFetch.Error` in this block, so you will have access to the properties
20
- * // of the Error class; e.g. `response.errorCode()`.
21
- * }
22
- * ```
23
- */
24
- export declare abstract class Response extends ResponseBase {
4
+ import { DictionaryFetchResponse } from './enums';
5
+ interface IResponse {
25
6
  value(): Record<string, string> | undefined;
7
+ type: DictionaryFetchResponse;
26
8
  }
27
- declare class _Hit extends Response {
9
+ /**
10
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
11
+ * `value*` accessors to retrieve the data in the appropriate format.
12
+ */
13
+ export declare class Hit extends ResponseBase implements IResponse {
28
14
  private readonly items;
29
15
  private readonly _displayListSizeLimit;
16
+ readonly type: DictionaryFetchResponse.Hit;
30
17
  constructor(items: _DictionaryFieldValuePair[]);
31
18
  /**
32
19
  * Returns the data as a Map whose keys and values are utf-8 strings, decoded from the underlying byte arrays.
@@ -74,40 +61,13 @@ declare class _Hit extends Response {
74
61
  private truncateValueStrings;
75
62
  toString(): string;
76
63
  }
77
- declare const Hit_base: {
78
- new (...args: any[]): {};
79
- } & typeof _Hit;
80
- /**
81
- * Indicates that the requested data was successfully retrieved from the cache. Provides
82
- * `value*` accessors to retrieve the data in the appropriate format.
83
- */
84
- export declare class Hit extends Hit_base {
85
- }
86
- declare class _Miss extends Response {
87
- }
88
- declare const Miss_base: {
89
- new (...args: any[]): {
90
- readonly is_miss: boolean;
91
- };
92
- } & typeof _Miss;
93
64
  /**
94
65
  * Indicates that the requested data was not available in the cache.
95
66
  */
96
- export declare class Miss extends Miss_base {
97
- }
98
- declare class _Error extends Response {
99
- protected _innerException: SdkError;
100
- constructor(_innerException: SdkError);
67
+ export declare class Miss extends BaseResponseMiss implements IResponse {
68
+ readonly type: DictionaryFetchResponse.Miss;
69
+ value(): Record<string, string> | undefined;
101
70
  }
102
- declare const Error_base: {
103
- new (...args: any[]): {
104
- _innerException: SdkError;
105
- message(): string;
106
- innerException(): SdkError;
107
- errorCode(): import("../../errors").MomentoErrorCode;
108
- toString(): string;
109
- };
110
- } & typeof _Error;
111
71
  /**
112
72
  * Indicates that an error occurred during the dictionary fetch request.
113
73
  *
@@ -118,6 +78,10 @@ declare const Error_base: {
118
78
  * - `message()` - a human-readable description of the error
119
79
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
120
80
  */
121
- export declare class Error extends Error_base {
81
+ export declare class Error extends BaseResponseError implements IResponse {
82
+ readonly type: DictionaryFetchResponse.Error;
83
+ constructor(_innerException: SdkError);
84
+ value(): Record<string, string> | undefined;
122
85
  }
86
+ export type Response = Hit | Miss | Error;
123
87
  export {};
@@ -1,41 +1,18 @@
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
  const TEXT_DECODER = new TextDecoder();
6
7
  /**
7
- * Parent response type for a dictionary fetch request. The
8
- * response object is resolved to a type-safe object of one of
9
- * the following subtypes:
10
- *
11
- * - {Hit}
12
- * - {Miss}
13
- * - {Error}
14
- *
15
- * `instanceof` type guards can be used to operate on the appropriate subtype.
16
- * @example
17
- * For example:
18
- * ```
19
- * if (response instanceof CacheDictionaryFetch.Error) {
20
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
21
- * // `CacheDictionaryFetch.Error` in this block, so you will have access to the properties
22
- * // of the Error class; e.g. `response.errorCode()`.
23
- * }
24
- * ```
8
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
9
+ * `value*` accessors to retrieve the data in the appropriate format.
25
10
  */
26
- class Response extends response_base_1.ResponseBase {
27
- value() {
28
- if (this instanceof Hit) {
29
- return this.value();
30
- }
31
- return undefined;
32
- }
33
- }
34
- exports.Response = Response;
35
- class _Hit extends Response {
11
+ class Hit extends response_base_1.ResponseBase {
36
12
  constructor(items) {
37
13
  super();
38
14
  this._displayListSizeLimit = 5;
15
+ this.type = enums_1.DictionaryFetchResponse.Hit;
39
16
  this.items = items;
40
17
  }
41
18
  /**
@@ -130,27 +107,20 @@ class _Hit extends Response {
130
107
  return `${super.toString()}: valueDictionaryStringString: ${this.truncateValueStrings()}`;
131
108
  }
132
109
  }
133
- /**
134
- * Indicates that the requested data was successfully retrieved from the cache. Provides
135
- * `value*` accessors to retrieve the data in the appropriate format.
136
- */
137
- class Hit extends (0, response_base_1.ResponseHit)(_Hit) {
138
- }
139
110
  exports.Hit = Hit;
140
- class _Miss extends Response {
141
- }
142
111
  /**
143
112
  * Indicates that the requested data was not available in the cache.
144
113
  */
145
- class Miss extends (0, response_base_1.ResponseMiss)(_Miss) {
146
- }
147
- exports.Miss = Miss;
148
- class _Error extends Response {
149
- constructor(_innerException) {
150
- super();
151
- this._innerException = _innerException;
114
+ class Miss extends response_base_1.BaseResponseMiss {
115
+ constructor() {
116
+ super(...arguments);
117
+ this.type = enums_1.DictionaryFetchResponse.Miss;
118
+ }
119
+ value() {
120
+ return undefined;
152
121
  }
153
122
  }
123
+ exports.Miss = Miss;
154
124
  /**
155
125
  * Indicates that an error occurred during the dictionary fetch request.
156
126
  *
@@ -161,7 +131,14 @@ class _Error extends Response {
161
131
  * - `message()` - a human-readable description of the error
162
132
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
163
133
  */
164
- class Error extends (0, response_base_1.ResponseError)(_Error) {
134
+ class Error extends response_base_1.BaseResponseError {
135
+ constructor(_innerException) {
136
+ super(_innerException);
137
+ this.type = enums_1.DictionaryFetchResponse.Error;
138
+ }
139
+ value() {
140
+ return undefined;
141
+ }
165
142
  }
166
143
  exports.Error = Error;
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1mZXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1mZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFLeUI7QUFJekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUV2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQXNCLFFBQVMsU0FBUSw0QkFBWTtJQUMxQyxLQUFLO1FBQ1YsSUFBSSxJQUFJLFlBQVksR0FBRyxFQUFFO1lBQ3ZCLE9BQVEsSUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBUEQsNEJBT0M7QUFFRCxNQUFNLElBQUssU0FBUSxRQUFRO0lBSXpCLFlBQVksS0FBa0M7UUFDNUMsS0FBSyxFQUFFLENBQUM7UUFITywwQkFBcUIsR0FBRyxDQUFDLENBQUM7UUFJekMsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksb0JBQW9CO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUU7WUFDckMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzFFLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFrQixDQUFDLENBQUM7SUFDaEMsQ0FB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R0FBSSxTQUFRLElBQUEsMkJBQVcsRUFBQyxJQUFJLENBQUM7Q0FBRztBQUE3QyxrQkFBNkM7QUFFN0MsTUFBTSxLQUFNLFNBQVEsUUFBUTtDQUFHO0FBRS9COztHQUVHO0FBQ0gsTUFBYSxJQUFLLFNBQVEsSUFBQSw0QkFBWSxFQUFDLEtBQUssQ0FBQztDQUFHO0FBQWhELG9CQUFnRDtBQUVoRCxNQUFNLE1BQU8sU0FBUSxRQUFRO0lBQzNCLFlBQXNCLGVBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksb0JBQWUsR0FBZixlQUFlLENBQVU7SUFFL0MsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsSUFBQSw2QkFBYSxFQUFDLE1BQU0sQ0FBQztDQUFHO0FBQW5ELHNCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlc3BvbnNlQmFzZSxcbiAgUmVzcG9uc2VIaXQsXG4gIFJlc3BvbnNlTWlzcyxcbiAgUmVzcG9uc2VFcnJvcixcbn0gZnJvbSAnLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge19EaWN0aW9uYXJ5RmllbGRWYWx1ZVBhaXJ9IGZyb20gJy4vZ3JwYy1yZXNwb25zZS10eXBlcyc7XG5cbmNvbnN0IFRFWFRfREVDT0RFUiA9IG5ldyBUZXh0RGVjb2RlcigpO1xuXG4vKipcbiAqIFBhcmVudCByZXNwb25zZSB0eXBlIGZvciBhIGRpY3Rpb25hcnkgZmV0Y2ggcmVxdWVzdC4gIFRoZVxuICogcmVzcG9uc2Ugb2JqZWN0IGlzIHJlc29sdmVkIHRvIGEgdHlwZS1zYWZlIG9iamVjdCBvZiBvbmUgb2ZcbiAqIHRoZSBmb2xsb3dpbmcgc3VidHlwZXM6XG4gKlxuICogLSB7SGl0fVxuICogLSB7TWlzc31cbiAqIC0ge0Vycm9yfVxuICpcbiAqIGBpbnN0YW5jZW9mYCB0eXBlIGd1YXJkcyBjYW4gYmUgdXNlZCB0byBvcGVyYXRlIG9uIHRoZSBhcHByb3ByaWF0ZSBzdWJ0eXBlLlxuICogQGV4YW1wbGVcbiAqIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBDYWNoZURpY3Rpb25hcnlGZXRjaC5FcnJvcikge1xuICogICAvLyBIYW5kbGUgZXJyb3IgYXMgYXBwcm9wcmlhdGUuICBUaGUgY29tcGlsZXIgd2lsbCBzbWFydC1jYXN0IGByZXNwb25zZWAgdG8gdHlwZVxuICogICAvLyBgQ2FjaGVEaWN0aW9uYXJ5RmV0Y2guRXJyb3JgIGluIHRoaXMgYmxvY2ssIHNvIHlvdSB3aWxsIGhhdmUgYWNjZXNzIHRvIHRoZSBwcm9wZXJ0aWVzXG4gKiAgIC8vIG9mIHRoZSBFcnJvciBjbGFzczsgZS5nLiBgcmVzcG9uc2UuZXJyb3JDb2RlKClgLlxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlQmFzZSB7XG4gIHB1YmxpYyB2YWx1ZSgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcyBpbnN0YW5jZW9mIEhpdCkge1xuICAgICAgcmV0dXJuICh0aGlzIGFzIEhpdCkudmFsdWUoKTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG5jbGFzcyBfSGl0IGV4dGVuZHMgUmVzcG9uc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zOiBfRGljdGlvbmFyeUZpZWxkVmFsdWVQYWlyW107XG4gIHByaXZhdGUgcmVhZG9ubHkgX2Rpc3BsYXlMaXN0U2l6ZUxpbWl0ID0gNTtcblxuICBjb25zdHJ1Y3RvcihpdGVtczogX0RpY3Rpb25hcnlGaWVsZFZhbHVlUGFpcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIE1hcCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvciB7dmFsdWVNYXBTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7TWFwPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZU1hcCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZU1hcFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBNYXAgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIEByZXR1cm5zIHtNYXA8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nU3RyaW5nKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICBhY2Muc2V0KFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5maWVsZCksIFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS52YWx1ZSkpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgTWFwIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2UgdmFsdWVzXG4gICAqIGFyZSBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIFVpbnQ4QXJyYXk+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nVWludDhBcnJheSgpOiBNYXA8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjYy5zZXQoVEVYVF9ERUNPREVSLmRlY29kZShpdGVtLmZpZWxkKSwgaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBVaW50OEFycmF5PigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLiAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvclxuICAgKiB7dmFsdWVSZWNvcmRTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZSgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBSZWNvcmQgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuICBUaGlzIGlzIGEgY29udmVuaWVuY2UgYWxpYXMgZm9yXG4gICAqIHt2YWx1ZVJlY29yZFN0cmluZ1N0cmluZ30uXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlUmVjb3JkU3RyaW5nU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIFJlY29yZCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCBpbiBtb3N0IHBsYWNlcyB3aGVyZSBhbiBPYmplY3QgaXMgZGVzaXJlZC5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVSZWNvcmRTdHJpbmdTdHJpbmcoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjY1tURVhUX0RFQ09ERVIuZGVjb2RlKGl0ZW0uZmllbGQpXSA9IFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2VcbiAgICogdmFsdWVzIGFyZSBieXRlIGFycmF5cy4gIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5Pn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZFN0cmluZ1VpbnQ4QXJyYXkoKTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5Pj4oKGFjYywgaXRlbSkgPT4ge1xuICAgICAgYWNjW1RFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5maWVsZCldID0gaXRlbS52YWx1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnVuY2F0ZVZhbHVlU3RyaW5ncygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleVZhbHVlSXRlcmFibGUgPSB0aGlzLnZhbHVlTWFwU3RyaW5nU3RyaW5nKCkuZW50cmllcygpO1xuICAgIGNvbnN0IGtleVZhbHVlQXJyYXkgPSBBcnJheS5mcm9tKGtleVZhbHVlSXRlcmFibGUpO1xuICAgIGlmIChrZXlWYWx1ZUFycmF5Lmxlbmd0aCA8PSB0aGlzLl9kaXNwbGF5TGlzdFNpemVMaW1pdCkge1xuICAgICAgY29uc3QgcGFpcnM6IHN0cmluZ1tdID0gW107XG4gICAgICBrZXlWYWx1ZUFycmF5LmZvckVhY2gocGFpciA9PiB7XG4gICAgICAgIHBhaXJzLnB1c2goYCR7cGFpclswXX06ICR7cGFpclsxXX1gKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHBhaXJzLmpvaW4oJywnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2xpY2VkQXJyYXkgPSBrZXlWYWx1ZUFycmF5LnNsaWNlKDAsIHRoaXMuX2Rpc3BsYXlMaXN0U2l6ZUxpbWl0KTtcbiAgICAgIGNvbnN0IHBhaXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgc2xpY2VkQXJyYXkuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgICAgcGFpcnMucHVzaChgJHtwYWlyWzBdfTogJHtwYWlyWzFdfWApO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcGFpcnMuam9pbignLCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogdmFsdWVEaWN0aW9uYXJ5U3RyaW5nU3RyaW5nOiAke3RoaXMudHJ1bmNhdGVWYWx1ZVN0cmluZ3MoKX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlLiAgUHJvdmlkZXNcbiAqIGB2YWx1ZSpgIGFjY2Vzc29ycyB0byByZXRyaWV2ZSB0aGUgZGF0YSBpbiB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgSGl0IGV4dGVuZHMgUmVzcG9uc2VIaXQoX0hpdCkge31cblxuY2xhc3MgX01pc3MgZXh0ZW5kcyBSZXNwb25zZSB7fVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNaXNzIGV4dGVuZHMgUmVzcG9uc2VNaXNzKF9NaXNzKSB7fVxuXG5jbGFzcyBfRXJyb3IgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBmZXRjaCByZXF1ZXN0LlxuICpcbiAqIFRoaXMgcmVzcG9uc2Ugb2JqZWN0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRoYXQgeW91IGNhbiB1c2UgdG8gZGV0ZXJtaW5lXG4gKiBob3cgeW91IHdvdWxkIGxpa2UgdG8gaGFuZGxlIHRoZSBlcnJvcjpcbiAqXG4gKiAtIGBlcnJvckNvZGUoKWAgLSBhIHVuaXF1ZSBNb21lbnRvIGVycm9yIGNvZGUgaW5kaWNhdGluZyB0aGUgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICogLSBgbWVzc2FnZSgpYCAtIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yXG4gKiAtIGBpbm5lckV4Y2VwdGlvbigpYCAtIHRoZSBvcmlnaW5hbCBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmFpbHVyZTsgY2FuIGJlIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yIGV4dGVuZHMgUmVzcG9uc2VFcnJvcihfRXJyb3IpIHt9XG4iXX0=
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1mZXRjaC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvY2FjaGUtZGljdGlvbmFyeS1mZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFJeUI7QUFHekIsbUNBQWdEO0FBRWhELE1BQU0sWUFBWSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFPdkM7OztHQUdHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsNEJBQVk7SUFLbkMsWUFBWSxLQUFrQztRQUM1QyxLQUFLLEVBQUUsQ0FBQztRQUpPLDBCQUFxQixHQUFHLENBQUMsQ0FBQztRQUNsQyxTQUFJLEdBQWdDLCtCQUF1QixDQUFDLEdBQUcsQ0FBQztRQUl2RSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFFBQVE7UUFDYixPQUFPLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNyQyxHQUFHLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDMUUsT0FBTyxHQUFHLENBQUM7UUFDYixDQUFDLEVBQUUsSUFBSSxHQUFHLEVBQWtCLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHdCQUF3QjtRQUM3QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFO1lBQ3JDLEdBQUcsQ0FBQyxHQUFHLENB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Q0FBQztDQUNGO0FBTkQsb0JBTUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxpQ0FBaUI7SUFFMUMsWUFBWSxlQUF5QjtRQUNuQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFGaEIsU0FBSSxHQUFrQywrQkFBdUIsQ0FBQyxLQUFLLENBQUM7SUFHN0UsQ0FBQztJQUVELEtBQUs7UUFDSCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFURCxzQkFTQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlc3BvbnNlQmFzZSxcbiAgQmFzZVJlc3BvbnNlTWlzcyxcbiAgQmFzZVJlc3BvbnNlRXJyb3IsXG59IGZyb20gJy4vcmVzcG9uc2UtYmFzZSc7XG5pbXBvcnQge1Nka0Vycm9yfSBmcm9tICcuLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtfRGljdGlvbmFyeUZpZWxkVmFsdWVQYWlyfSBmcm9tICcuL2dycGMtcmVzcG9uc2UtdHlwZXMnO1xuaW1wb3J0IHtEaWN0aW9uYXJ5RmV0Y2hSZXNwb25zZX0gZnJvbSAnLi9lbnVtcyc7XG5cbmNvbnN0IFRFWFRfREVDT0RFUiA9IG5ldyBUZXh0RGVjb2RlcigpO1xuXG5pbnRlcmZhY2UgSVJlc3BvbnNlIHtcbiAgdmFsdWUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZDtcbiAgdHlwZTogRGljdGlvbmFyeUZldGNoUmVzcG9uc2U7XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZyb20gdGhlIGNhY2hlLiAgUHJvdmlkZXNcbiAqIGB2YWx1ZSpgIGFjY2Vzc29ycyB0byByZXRyaWV2ZSB0aGUgZGF0YSBpbiB0aGUgYXBwcm9wcmlhdGUgZm9ybWF0LlxuICovXG5leHBvcnQgY2xhc3MgSGl0IGV4dGVuZHMgUmVzcG9uc2VCYXNlIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpdGVtczogX0RpY3Rpb25hcnlGaWVsZFZhbHVlUGFpcltdO1xuICBwcml2YXRlIHJlYWRvbmx5IF9kaXNwbGF5TGlzdFNpemVMaW1pdCA9IDU7XG4gIHJlYWRvbmx5IHR5cGU6IERpY3Rpb25hcnlGZXRjaFJlc3BvbnNlLkhpdCA9IERpY3Rpb25hcnlGZXRjaFJlc3BvbnNlLkhpdDtcblxuICBjb25zdHJ1Y3RvcihpdGVtczogX0RpY3Rpb25hcnlGaWVsZFZhbHVlUGFpcltdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLml0ZW1zID0gaXRlbXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIE1hcCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvciB7dmFsdWVNYXBTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7TWFwPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZU1hcCgpOiBNYXA8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZU1hcFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBNYXAgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIEByZXR1cm5zIHtNYXA8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nU3RyaW5nKCk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZSgoYWNjLCBpdGVtKSA9PiB7XG4gICAgICBhY2Muc2V0KFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5maWVsZCksIFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS52YWx1ZSkpO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgTWFwIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2UgdmFsdWVzXG4gICAqIGFyZSBieXRlIGFycmF5cy5cbiAgICogQHJldHVybnMge01hcDxzdHJpbmcsIFVpbnQ4QXJyYXk+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlTWFwU3RyaW5nVWludDhBcnJheSgpOiBNYXA8c3RyaW5nLCBVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlKChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjYy5zZXQoVEVYVF9ERUNPREVSLmRlY29kZShpdGVtLmZpZWxkKSwgaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIG5ldyBNYXA8c3RyaW5nLCBVaW50OEFycmF5PigpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYW5kIHZhbHVlcyBhcmUgdXRmLTggc3RyaW5ncywgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXlzLlxuICAgKiBUaGlzIGNhbiBiZSB1c2VkIGluIG1vc3QgcGxhY2VzIHdoZXJlIGFuIE9iamVjdCBpcyBkZXNpcmVkLiAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGFsaWFzIGZvclxuICAgKiB7dmFsdWVSZWNvcmRTdHJpbmdTdHJpbmd9LlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZSgpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVJlY29yZFN0cmluZ1N0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSBSZWNvcmQgd2hvc2Uga2V5cyBhbmQgdmFsdWVzIGFyZSB1dGYtOCBzdHJpbmdzLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheXMuXG4gICAqIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuICBUaGlzIGlzIGEgY29udmVuaWVuY2UgYWxpYXMgZm9yXG4gICAqIHt2YWx1ZVJlY29yZFN0cmluZ1N0cmluZ30uXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fVxuICAgKi9cbiAgcHVibGljIHZhbHVlUmVjb3JkKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlUmVjb3JkU3RyaW5nU3RyaW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIFJlY29yZCB3aG9zZSBrZXlzIGFuZCB2YWx1ZXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5cy5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCBpbiBtb3N0IHBsYWNlcyB3aGVyZSBhbiBPYmplY3QgaXMgZGVzaXJlZC5cbiAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgdmFsdWVSZWNvcmRTdHJpbmdTdHJpbmcoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXMucmVkdWNlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+KChhY2MsIGl0ZW0pID0+IHtcbiAgICAgIGFjY1tURVhUX0RFQ09ERVIuZGVjb2RlKGl0ZW0uZmllbGQpXSA9IFRFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS52YWx1ZSk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgUmVjb3JkIHdob3NlIGtleXMgYXJlIHV0Zi04IHN0cmluZ3MsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LCBhbmQgd2hvc2VcbiAgICogdmFsdWVzIGFyZSBieXRlIGFycmF5cy4gIFRoaXMgY2FuIGJlIHVzZWQgaW4gbW9zdCBwbGFjZXMgd2hlcmUgYW4gT2JqZWN0IGlzIGRlc2lyZWQuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5Pn1cbiAgICovXG4gIHB1YmxpYyB2YWx1ZVJlY29yZFN0cmluZ1VpbnQ4QXJyYXkoKTogUmVjb3JkPHN0cmluZywgVWludDhBcnJheT4ge1xuICAgIHJldHVybiB0aGlzLml0ZW1zLnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBVaW50OEFycmF5Pj4oKGFjYywgaXRlbSkgPT4ge1xuICAgICAgYWNjW1RFWFRfREVDT0RFUi5kZWNvZGUoaXRlbS5maWVsZCldID0gaXRlbS52YWx1ZTtcbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwge30pO1xuICB9XG5cbiAgcHJpdmF0ZSB0cnVuY2F0ZVZhbHVlU3RyaW5ncygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGtleVZhbHVlSXRlcmFibGUgPSB0aGlzLnZhbHVlTWFwU3RyaW5nU3RyaW5nKCkuZW50cmllcygpO1xuICAgIGNvbnN0IGtleVZhbHVlQXJyYXkgPSBBcnJheS5mcm9tKGtleVZhbHVlSXRlcmFibGUpO1xuICAgIGlmIChrZXlWYWx1ZUFycmF5Lmxlbmd0aCA8PSB0aGlzLl9kaXNwbGF5TGlzdFNpemVMaW1pdCkge1xuICAgICAgY29uc3QgcGFpcnM6IHN0cmluZ1tdID0gW107XG4gICAgICBrZXlWYWx1ZUFycmF5LmZvckVhY2gocGFpciA9PiB7XG4gICAgICAgIHBhaXJzLnB1c2goYCR7cGFpclswXX06ICR7cGFpclsxXX1gKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHBhaXJzLmpvaW4oJywnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2xpY2VkQXJyYXkgPSBrZXlWYWx1ZUFycmF5LnNsaWNlKDAsIHRoaXMuX2Rpc3BsYXlMaXN0U2l6ZUxpbWl0KTtcbiAgICAgIGNvbnN0IHBhaXJzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgc2xpY2VkQXJyYXkuZm9yRWFjaChwYWlyID0+IHtcbiAgICAgICAgcGFpcnMucHVzaChgJHtwYWlyWzBdfTogJHtwYWlyWzFdfWApO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gcGFpcnMuam9pbignLCcpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtzdXBlci50b1N0cmluZygpfTogdmFsdWVEaWN0aW9uYXJ5U3RyaW5nU3RyaW5nOiAke3RoaXMudHJ1bmNhdGVWYWx1ZVN0cmluZ3MoKX1gO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pc3MgZXh0ZW5kcyBCYXNlUmVzcG9uc2VNaXNzIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgdHlwZTogRGljdGlvbmFyeUZldGNoUmVzcG9uc2UuTWlzcyA9IERpY3Rpb25hcnlGZXRjaFJlc3BvbnNlLk1pc3M7XG5cbiAgdmFsdWUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBmZXRjaCByZXF1ZXN0LlxuICpcbiAqIFRoaXMgcmVzcG9uc2Ugb2JqZWN0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRoYXQgeW91IGNhbiB1c2UgdG8gZGV0ZXJtaW5lXG4gKiBob3cgeW91IHdvdWxkIGxpa2UgdG8gaGFuZGxlIHRoZSBlcnJvcjpcbiAqXG4gKiAtIGBlcnJvckNvZGUoKWAgLSBhIHVuaXF1ZSBNb21lbnRvIGVycm9yIGNvZGUgaW5kaWNhdGluZyB0aGUgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICogLSBgbWVzc2FnZSgpYCAtIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yXG4gKiAtIGBpbm5lckV4Y2VwdGlvbigpYCAtIHRoZSBvcmlnaW5hbCBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmFpbHVyZTsgY2FuIGJlIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yIGV4dGVuZHMgQmFzZVJlc3BvbnNlRXJyb3IgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICByZWFkb25seSB0eXBlOiBEaWN0aW9uYXJ5RmV0Y2hSZXNwb25zZS5FcnJvciA9IERpY3Rpb25hcnlGZXRjaFJlc3BvbnNlLkVycm9yO1xuICBjb25zdHJ1Y3RvcihfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoX2lubmVyRXhjZXB0aW9uKTtcbiAgfVxuXG4gIHZhbHVlKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzcG9uc2UgPSBIaXQgfCBNaXNzIHwgRXJyb3I7XG4iXX0=
@@ -1,31 +1,19 @@
1
1
  import { SdkError } from '../../errors';
2
- import { ResponseBase } from './response-base';
3
- /**
4
- * Parent response type for a dictionary get field 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 CacheDictionaryGetField.Error) {
17
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
18
- * // `CacheDictionaryGetField.Error` in this block, so you will have access to the properties
19
- * // of the Error class; e.g. `response.errorCode()`.
20
- * }
21
- * ```
22
- */
23
- export declare abstract class Response extends ResponseBase {
2
+ import { BaseResponseError, BaseResponseMiss, ResponseBase } from './response-base';
3
+ import { DictionaryGetFieldResponse } from './enums';
4
+ interface IResponse {
24
5
  value(): string | undefined;
6
+ type: DictionaryGetFieldResponse;
25
7
  }
26
- declare class _Hit extends Response {
8
+ /**
9
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
10
+ * `value*` accessors to retrieve the data in the appropriate format.
11
+ */
12
+ export declare class Hit extends ResponseBase implements IResponse {
27
13
  private readonly body;
28
- constructor(body: Uint8Array);
14
+ private readonly field;
15
+ readonly type: DictionaryGetFieldResponse.Hit;
16
+ constructor(body: Uint8Array, field: Uint8Array);
29
17
  /**
30
18
  * Returns the data as a utf-8 string, decoded from the underlying byte array.
31
19
  * @returns string
@@ -42,17 +30,6 @@ declare class _Hit extends Response {
42
30
  */
43
31
  valueUint8Array(): Uint8Array;
44
32
  toString(): string;
45
- }
46
- declare const Hit_base: {
47
- new (...args: any[]): {};
48
- } & typeof _Hit;
49
- /**
50
- * Indicates that the requested data was successfully retrieved from the cache. Provides
51
- * `value*` accessors to retrieve the data in the appropriate format.
52
- */
53
- export declare class Hit extends Hit_base {
54
- private readonly field;
55
- constructor(body: Uint8Array, field: Uint8Array);
56
33
  /**
57
34
  * Returns the field name for the retrieved element, as a utf-8 string decoded from the underlying byte array.
58
35
  * @returns {string}
@@ -64,18 +41,12 @@ export declare class Hit extends Hit_base {
64
41
  */
65
42
  fieldUint8Array(): Uint8Array;
66
43
  }
67
- declare class _Miss extends Response {
68
- }
69
- declare const Miss_base: {
70
- new (...args: any[]): {
71
- readonly is_miss: boolean;
72
- };
73
- } & typeof _Miss;
74
44
  /**
75
45
  * Indicates that the requested data was not available in the cache.
76
46
  */
77
- export declare class Miss extends Miss_base {
47
+ export declare class Miss extends BaseResponseMiss implements IResponse {
78
48
  private readonly field;
49
+ readonly type: DictionaryGetFieldResponse.Miss;
79
50
  constructor(field: Uint8Array);
80
51
  /**
81
52
  * Returns the field name for the retrieved element, as a utf-8 string decoded from the underlying byte array.
@@ -87,20 +58,8 @@ export declare class Miss extends Miss_base {
87
58
  * @returns {Uint8Array}
88
59
  */
89
60
  fieldUint8Array(): Uint8Array;
61
+ value(): string | undefined;
90
62
  }
91
- declare class _Error extends Response {
92
- protected _innerException: SdkError;
93
- constructor(_innerException: SdkError);
94
- }
95
- declare const Error_base: {
96
- new (...args: any[]): {
97
- _innerException: SdkError;
98
- message(): string;
99
- innerException(): SdkError;
100
- errorCode(): import("../../errors").MomentoErrorCode;
101
- toString(): string;
102
- };
103
- } & typeof _Error;
104
63
  /**
105
64
  * Indicates that an error occurred during the dictionary get field request.
106
65
  *
@@ -111,9 +70,9 @@ declare const Error_base: {
111
70
  * - `message()` - a human-readable description of the error
112
71
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
113
72
  */
114
- export declare class Error extends Error_base {
115
- _innerException: SdkError;
73
+ export declare class Error extends BaseResponseError implements IResponse {
116
74
  private readonly field;
75
+ readonly type: DictionaryGetFieldResponse.Error;
117
76
  constructor(_innerException: SdkError, field: Uint8Array);
118
77
  /**
119
78
  * Returns the field name for the retrieved element, as a utf-8 string decoded from the underlying byte array.
@@ -125,5 +84,7 @@ export declare class Error extends Error_base {
125
84
  * @returns {Uint8Array}
126
85
  */
127
86
  fieldUint8Array(): Uint8Array;
87
+ value(): string | undefined;
128
88
  }
89
+ export type Response = Hit | Miss | Error;
129
90
  export {};
@@ -1,42 +1,20 @@
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
5
  const utils_1 = require("../../internal/utils");
6
+ const enums_1 = require("./enums");
6
7
  const TEXT_DECODER = new TextDecoder();
7
8
  /**
8
- * Parent response type for a dictionary get field request. The
9
- * response object is resolved to a type-safe object of one of
10
- * the following subtypes:
11
- *
12
- * - {Hit}
13
- * - {Miss}
14
- * - {Error}
15
- *
16
- * `instanceof` type guards can be used to operate on the appropriate subtype.
17
- * @example
18
- * For example:
19
- * ```
20
- * if (response instanceof CacheDictionaryGetField.Error) {
21
- * // Handle error as appropriate. The compiler will smart-cast `response` to type
22
- * // `CacheDictionaryGetField.Error` in this block, so you will have access to the properties
23
- * // of the Error class; e.g. `response.errorCode()`.
24
- * }
25
- * ```
9
+ * Indicates that the requested data was successfully retrieved from the cache. Provides
10
+ * `value*` accessors to retrieve the data in the appropriate format.
26
11
  */
27
- class Response extends response_base_1.ResponseBase {
28
- value() {
29
- if (this instanceof Hit) {
30
- return this.value();
31
- }
32
- return undefined;
33
- }
34
- }
35
- exports.Response = Response;
36
- class _Hit extends Response {
37
- constructor(body) {
12
+ class Hit extends response_base_1.ResponseBase {
13
+ constructor(body, field) {
38
14
  super();
15
+ this.type = enums_1.DictionaryGetFieldResponse.Hit;
39
16
  this.body = body;
17
+ this.field = field;
40
18
  }
41
19
  /**
42
20
  * Returns the data as a utf-8 string, decoded from the underlying byte array.
@@ -63,16 +41,6 @@ class _Hit extends Response {
63
41
  const display = (0, utils_1.truncateString)(this.valueString());
64
42
  return `${super.toString()}: ${display}`;
65
43
  }
66
- }
67
- /**
68
- * Indicates that the requested data was successfully retrieved from the cache. Provides
69
- * `value*` accessors to retrieve the data in the appropriate format.
70
- */
71
- class Hit extends (0, response_base_1.ResponseHit)(_Hit) {
72
- constructor(body, field) {
73
- super(body);
74
- this.field = field;
75
- }
76
44
  /**
77
45
  * Returns the field name for the retrieved element, as a utf-8 string decoded from the underlying byte array.
78
46
  * @returns {string}
@@ -89,14 +57,13 @@ class Hit extends (0, response_base_1.ResponseHit)(_Hit) {
89
57
  }
90
58
  }
91
59
  exports.Hit = Hit;
92
- class _Miss extends Response {
93
- }
94
60
  /**
95
61
  * Indicates that the requested data was not available in the cache.
96
62
  */
97
- class Miss extends (0, response_base_1.ResponseMiss)(_Miss) {
63
+ class Miss extends response_base_1.BaseResponseMiss {
98
64
  constructor(field) {
99
65
  super();
66
+ this.type = enums_1.DictionaryGetFieldResponse.Miss;
100
67
  this.field = field;
101
68
  }
102
69
  /**
@@ -113,14 +80,11 @@ class Miss extends (0, response_base_1.ResponseMiss)(_Miss) {
113
80
  fieldUint8Array() {
114
81
  return this.field;
115
82
  }
116
- }
117
- exports.Miss = Miss;
118
- class _Error extends Response {
119
- constructor(_innerException) {
120
- super();
121
- this._innerException = _innerException;
83
+ value() {
84
+ return undefined;
122
85
  }
123
86
  }
87
+ exports.Miss = Miss;
124
88
  /**
125
89
  * Indicates that an error occurred during the dictionary get field request.
126
90
  *
@@ -131,10 +95,10 @@ class _Error extends Response {
131
95
  * - `message()` - a human-readable description of the error
132
96
  * - `innerException()` - the original error that caused the failure; can be re-thrown.
133
97
  */
134
- class Error extends (0, response_base_1.ResponseError)(_Error) {
98
+ class Error extends response_base_1.BaseResponseError {
135
99
  constructor(_innerException, field) {
136
100
  super(_innerException);
137
- this._innerException = _innerException;
101
+ this.type = enums_1.DictionaryGetFieldResponse.Error;
138
102
  this.field = field;
139
103
  }
140
104
  /**
@@ -151,6 +115,9 @@ class Error extends (0, response_base_1.ResponseError)(_Error) {
151
115
  fieldUint8Array() {
152
116
  return this.field;
153
117
  }
118
+ value() {
119
+ return undefined;
120
+ }
154
121
  }
155
122
  exports.Error = Error;
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUt5QjtBQUN6QixnREFBb0Q7QUFFcEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztBQUV2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQXNCLFFBQVMsU0FBUSw0QkFBWTtJQUMxQyxLQUFLO1FBQ1YsSUFBSSxJQUFJLFlBQVksR0FBRyxFQUFFO1lBQ3ZCLE9BQVEsSUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzlCO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBUEQsNEJBT0M7QUFFRCxNQUFNLElBQUssU0FBUSxRQUFRO0lBRXpCLFlBQVksSUFBZ0I7UUFDMUIsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNuRCxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7Q0FDRjtBQUVEOzs7R0FHRztBQUNILE1BQWEsR0FBSSxTQUFRLElBQUEsMkJBQVcsRUFBQyxJQUFJLENBQUM7SUFHeEMsWUFBWSxJQUFnQixFQUFFLEtBQWlCO1FBQzdDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXZCRCxrQkF1QkM7QUFFRCxNQUFNLEtBQU0sU0FBUSxRQUFRO0NBQUc7QUFFL0I7O0dBRUc7QUFDSCxNQUFhLElBQUssU0FBUSxJQUFBLDRCQUFZLEVBQUMsS0FBSyxDQUFDO0lBRzNDLFlBQVksS0FBaUI7UUFDM0IsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF2QkQsb0JBdUJDO0FBRUQsTUFBTSxNQUFPLFNBQVEsUUFBUTtJQUMzQixZQUFzQixlQUF5QjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURZLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBRS9DLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLElBQUEsNkJBQWEsRUFBQyxNQUFNLENBQUM7SUFHOUMsWUFBbUIsZUFBeUIsRUFBRSxLQUFpQjtRQUM3RCxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFETixvQkFBZSxHQUFmLGVBQWUsQ0FBVTtRQUUxQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0NBQ0Y7QUF2QkQsc0JBdUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZGtFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7XG4gIFJlc3BvbnNlQmFzZSxcbiAgUmVzcG9uc2VFcnJvcixcbiAgUmVzcG9uc2VIaXQsXG4gIFJlc3BvbnNlTWlzcyxcbn0gZnJvbSAnLi9yZXNwb25zZS1iYXNlJztcbmltcG9ydCB7dHJ1bmNhdGVTdHJpbmd9IGZyb20gJy4uLy4uL2ludGVybmFsL3V0aWxzJztcblxuY29uc3QgVEVYVF9ERUNPREVSID0gbmV3IFRleHREZWNvZGVyKCk7XG5cbi8qKlxuICogUGFyZW50IHJlc3BvbnNlIHR5cGUgZm9yIGEgZGljdGlvbmFyeSBnZXQgZmllbGQgcmVxdWVzdC4gIFRoZVxuICogcmVzcG9uc2Ugb2JqZWN0IGlzIHJlc29sdmVkIHRvIGEgdHlwZS1zYWZlIG9iamVjdCBvZiBvbmUgb2ZcbiAqIHRoZSBmb2xsb3dpbmcgc3VidHlwZXM6XG4gKlxuICogLSB7SGl0fVxuICogLSB7TWlzc31cbiAqIC0ge0Vycm9yfVxuICpcbiAqIGBpbnN0YW5jZW9mYCB0eXBlIGd1YXJkcyBjYW4gYmUgdXNlZCB0byBvcGVyYXRlIG9uIHRoZSBhcHByb3ByaWF0ZSBzdWJ0eXBlLlxuICogQGV4YW1wbGVcbiAqIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBDYWNoZURpY3Rpb25hcnlHZXRGaWVsZC5FcnJvcikge1xuICogICAvLyBIYW5kbGUgZXJyb3IgYXMgYXBwcm9wcmlhdGUuICBUaGUgY29tcGlsZXIgd2lsbCBzbWFydC1jYXN0IGByZXNwb25zZWAgdG8gdHlwZVxuICogICAvLyBgQ2FjaGVEaWN0aW9uYXJ5R2V0RmllbGQuRXJyb3JgIGluIHRoaXMgYmxvY2ssIHNvIHlvdSB3aWxsIGhhdmUgYWNjZXNzIHRvIHRoZSBwcm9wZXJ0aWVzXG4gKiAgIC8vIG9mIHRoZSBFcnJvciBjbGFzczsgZS5nLiBgcmVzcG9uc2UuZXJyb3JDb2RlKClgLlxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlQmFzZSB7XG4gIHB1YmxpYyB2YWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzIGluc3RhbmNlb2YgSGl0KSB7XG4gICAgICByZXR1cm4gKHRoaXMgYXMgSGl0KS52YWx1ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmNsYXNzIF9IaXQgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYm9keTogVWludDhBcnJheTtcbiAgY29uc3RydWN0b3IoYm9keTogVWludDhBcnJheSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5ib2R5ID0gYm9keTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgdXRmLTggc3RyaW5nLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheS5cbiAgICogQHJldHVybnMgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVN0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSB1dGYtOCBzdHJpbmcsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB2YWx1ZVN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBURVhUX0RFQ09ERVIuZGVjb2RlKHRoaXMuYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIHZhbHVlVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5ib2R5O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRydW5jYXRlU3RyaW5nKHRoaXMudmFsdWVTdHJpbmcoKSk7XG4gICAgcmV0dXJuIGAke3N1cGVyLnRvU3RyaW5nKCl9OiAke2Rpc3BsYXl9YDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHJldHJpZXZlZCBmcm9tIHRoZSBjYWNoZS4gIFByb3ZpZGVzXG4gKiBgdmFsdWUqYCBhY2Nlc3NvcnMgdG8gcmV0cmlldmUgdGhlIGRhdGEgaW4gdGhlIGFwcHJvcHJpYXRlIGZvcm1hdC5cbiAqL1xuZXhwb3J0IGNsYXNzIEhpdCBleHRlbmRzIFJlc3BvbnNlSGl0KF9IaXQpIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogVWludDhBcnJheTtcblxuICBjb25zdHJ1Y3Rvcihib2R5OiBVaW50OEFycmF5LCBmaWVsZDogVWludDhBcnJheSkge1xuICAgIHN1cGVyKGJvZHkpO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZCBuYW1lIGZvciB0aGUgcmV0cmlldmVkIGVsZW1lbnQsIGFzIGEgdXRmLTggc3RyaW5nIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGZpZWxkU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmllbGQgbmFtZSBmb3IgdGhlIHJldHJpZXZlZCBlbGVtZW50LCBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIGZpZWxkVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxufVxuXG5jbGFzcyBfTWlzcyBleHRlbmRzIFJlc3BvbnNlIHt9XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgdGhlIHJlcXVlc3RlZCBkYXRhIHdhcyBub3QgYXZhaWxhYmxlIGluIHRoZSBjYWNoZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1pc3MgZXh0ZW5kcyBSZXNwb25zZU1pc3MoX01pc3MpIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogVWludDhBcnJheTtcblxuICBjb25zdHJ1Y3RvcihmaWVsZDogVWludDhBcnJheSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5maWVsZCA9IGZpZWxkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpZWxkIG5hbWUgZm9yIHRoZSByZXRyaWV2ZWQgZWxlbWVudCwgYXMgYSB1dGYtOCBzdHJpbmcgZGVjb2RlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9XG4gICAqL1xuICBwdWJsaWMgZmllbGRTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gVEVYVF9ERUNPREVSLmRlY29kZSh0aGlzLmZpZWxkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZCBuYW1lIGZvciB0aGUgcmV0cmlldmVkIGVsZW1lbnQsIGFzIGEgYnl0ZSBhcnJheS5cbiAgICogQHJldHVybnMge1VpbnQ4QXJyYXl9XG4gICAqL1xuICBwdWJsaWMgZmllbGRVaW50OEFycmF5KCk6IFVpbnQ4QXJyYXkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkO1xuICB9XG59XG5cbmNsYXNzIF9FcnJvciBleHRlbmRzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBkaWN0aW9uYXJ5IGdldCBmaWVsZCByZXF1ZXN0LlxuICpcbiAqIFRoaXMgcmVzcG9uc2Ugb2JqZWN0IGluY2x1ZGVzIHRoZSBmb2xsb3dpbmcgZmllbGRzIHRoYXQgeW91IGNhbiB1c2UgdG8gZGV0ZXJtaW5lXG4gKiBob3cgeW91IHdvdWxkIGxpa2UgdG8gaGFuZGxlIHRoZSBlcnJvcjpcbiAqXG4gKiAtIGBlcnJvckNvZGUoKWAgLSBhIHVuaXF1ZSBNb21lbnRvIGVycm9yIGNvZGUgaW5kaWNhdGluZyB0aGUgdHlwZSBvZiBlcnJvciB0aGF0IG9jY3VycmVkLlxuICogLSBgbWVzc2FnZSgpYCAtIGEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yXG4gKiAtIGBpbm5lckV4Y2VwdGlvbigpYCAtIHRoZSBvcmlnaW5hbCBlcnJvciB0aGF0IGNhdXNlZCB0aGUgZmFpbHVyZTsgY2FuIGJlIHJlLXRocm93bi5cbiAqL1xuZXhwb3J0IGNsYXNzIEVycm9yIGV4dGVuZHMgUmVzcG9uc2VFcnJvcihfRXJyb3IpIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogVWludDhBcnJheTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgX2lubmVyRXhjZXB0aW9uOiBTZGtFcnJvciwgZmllbGQ6IFVpbnQ4QXJyYXkpIHtcbiAgICBzdXBlcihfaW5uZXJFeGNlcHRpb24pO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZCBuYW1lIGZvciB0aGUgcmV0cmlldmVkIGVsZW1lbnQsIGFzIGEgdXRmLTggc3RyaW5nIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGZpZWxkU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmllbGQgbmFtZSBmb3IgdGhlIHJldHJpZXZlZCBlbGVtZW50LCBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIGZpZWxkVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtZGljdGlvbmFyeS1nZXQtZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL2NhY2hlLWRpY3Rpb25hcnktZ2V0LWZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUl5QjtBQUN6QixnREFBb0Q7QUFDcEQsbUNBQW1EO0FBRW5ELE1BQU0sWUFBWSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7QUFPdkM7OztHQUdHO0FBQ0gsTUFBYSxHQUFJLFNBQVEsNEJBQVk7SUFNbkMsWUFBWSxJQUFnQixFQUFFLEtBQWlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBSkQsU0FBSSxHQUNYLGtDQUEwQixDQUFDLEdBQUcsQ0FBQztRQUkvQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSztRQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE1BQU0sT0FBTyxHQUFHLElBQUEsc0JBQWMsRUFBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNuRCxPQUFPLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7Q0FDRjtBQXhERCxrQkF3REM7QUFFRDs7R0FFRztBQUNILE1BQWEsSUFBSyxTQUFRLGdDQUFnQjtJQUt4QyxZQUFZLEtBQWlCO1FBQzNCLEtBQUssRUFBRSxDQUFDO1FBSkQsU0FBSSxHQUNYLGtDQUEwQixDQUFDLElBQUksQ0FBQztRQUloQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksV0FBVztRQUNoQixPQUFPLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxlQUFlO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTdCRCxvQkE2QkM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFhLEtBQU0sU0FBUSxpQ0FBaUI7SUFLMUMsWUFBWSxlQUF5QixFQUFFLEtBQWlCO1FBQ3RELEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUpoQixTQUFJLEdBQ1gsa0NBQTBCLENBQUMsS0FBSyxDQUFDO1FBSWpDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxXQUFXO1FBQ2hCLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBN0JELHNCQTZCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1xuICBCYXNlUmVzcG9uc2VFcnJvcixcbiAgQmFzZVJlc3BvbnNlTWlzcyxcbiAgUmVzcG9uc2VCYXNlLFxufSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuaW1wb3J0IHt0cnVuY2F0ZVN0cmluZ30gZnJvbSAnLi4vLi4vaW50ZXJuYWwvdXRpbHMnO1xuaW1wb3J0IHtEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZX0gZnJvbSAnLi9lbnVtcyc7XG5cbmNvbnN0IFRFWFRfREVDT0RFUiA9IG5ldyBUZXh0RGVjb2RlcigpO1xuXG5pbnRlcmZhY2UgSVJlc3BvbnNlIHtcbiAgdmFsdWUoKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0eXBlOiBEaWN0aW9uYXJ5R2V0RmllbGRSZXNwb25zZTtcbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgdGhhdCB0aGUgcmVxdWVzdGVkIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgZnJvbSB0aGUgY2FjaGUuICBQcm92aWRlc1xuICogYHZhbHVlKmAgYWNjZXNzb3JzIHRvIHJldHJpZXZlIHRoZSBkYXRhIGluIHRoZSBhcHByb3ByaWF0ZSBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjbGFzcyBIaXQgZXh0ZW5kcyBSZXNwb25zZUJhc2UgaW1wbGVtZW50cyBJUmVzcG9uc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGJvZHk6IFVpbnQ4QXJyYXk7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGQ6IFVpbnQ4QXJyYXk7XG4gIHJlYWRvbmx5IHR5cGU6IERpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLkhpdCA9XG4gICAgRGljdGlvbmFyeUdldEZpZWxkUmVzcG9uc2UuSGl0O1xuXG4gIGNvbnN0cnVjdG9yKGJvZHk6IFVpbnQ4QXJyYXksIGZpZWxkOiBVaW50OEFycmF5KSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmJvZHkgPSBib2R5O1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkYXRhIGFzIGEgdXRmLTggc3RyaW5nLCBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheS5cbiAgICogQHJldHVybnMgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgdmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZVN0cmluZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRhdGEgYXMgYSB1dGYtOCBzdHJpbmcsIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyB2YWx1ZVN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBURVhUX0RFQ09ERVIuZGVjb2RlKHRoaXMuYm9keSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGF0YSBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIHZhbHVlVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5ib2R5O1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgY29uc3QgZGlzcGxheSA9IHRydW5jYXRlU3RyaW5nKHRoaXMudmFsdWVTdHJpbmcoKSk7XG4gICAgcmV0dXJuIGAke3N1cGVyLnRvU3RyaW5nKCl9OiAke2Rpc3BsYXl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZCBuYW1lIGZvciB0aGUgcmV0cmlldmVkIGVsZW1lbnQsIGFzIGEgdXRmLTggc3RyaW5nIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGZpZWxkU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmllbGQgbmFtZSBmb3IgdGhlIHJldHJpZXZlZCBlbGVtZW50LCBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIGZpZWxkVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSByZXF1ZXN0ZWQgZGF0YSB3YXMgbm90IGF2YWlsYWJsZSBpbiB0aGUgY2FjaGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBNaXNzIGV4dGVuZHMgQmFzZVJlc3BvbnNlTWlzcyBpbXBsZW1lbnRzIElSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZmllbGQ6IFVpbnQ4QXJyYXk7XG4gIHJlYWRvbmx5IHR5cGU6IERpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLk1pc3MgPVxuICAgIERpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLk1pc3M7XG5cbiAgY29uc3RydWN0b3IoZmllbGQ6IFVpbnQ4QXJyYXkpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZmllbGQgPSBmaWVsZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBmaWVsZCBuYW1lIGZvciB0aGUgcmV0cmlldmVkIGVsZW1lbnQsIGFzIGEgdXRmLTggc3RyaW5nIGRlY29kZWQgZnJvbSB0aGUgdW5kZXJseWluZyBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGZpZWxkU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFRFWFRfREVDT0RFUi5kZWNvZGUodGhpcy5maWVsZCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmllbGQgbmFtZSBmb3IgdGhlIHJldHJpZXZlZCBlbGVtZW50LCBhcyBhIGJ5dGUgYXJyYXkuXG4gICAqIEByZXR1cm5zIHtVaW50OEFycmF5fVxuICAgKi9cbiAgcHVibGljIGZpZWxkVWludDhBcnJheSgpOiBVaW50OEFycmF5IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZDtcbiAgfVxuXG4gIHZhbHVlKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgZGljdGlvbmFyeSBnZXQgZmllbGQgcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIEJhc2VSZXNwb25zZUVycm9yIGltcGxlbWVudHMgSVJlc3BvbnNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmaWVsZDogVWludDhBcnJheTtcbiAgcmVhZG9ubHkgdHlwZTogRGljdGlvbmFyeUdldEZpZWxkUmVzcG9uc2UuRXJyb3IgPVxuICAgIERpY3Rpb25hcnlHZXRGaWVsZFJlc3BvbnNlLkVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IsIGZpZWxkOiBVaW50OEFycmF5KSB7XG4gICAgc3VwZXIoX2lubmVyRXhjZXB0aW9uKTtcbiAgICB0aGlzLmZpZWxkID0gZmllbGQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZmllbGQgbmFtZSBmb3IgdGhlIHJldHJpZXZlZCBlbGVtZW50LCBhcyBhIHV0Zi04IHN0cmluZyBkZWNvZGVkIGZyb20gdGhlIHVuZGVybHlpbmcgYnl0ZSBhcnJheS5cbiAgICogQHJldHVybnMge3N0cmluZ31cbiAgICovXG4gIHB1YmxpYyBmaWVsZFN0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiBURVhUX0RFQ09ERVIuZGVjb2RlKHRoaXMuZmllbGQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGZpZWxkIG5hbWUgZm9yIHRoZSByZXRyaWV2ZWQgZWxlbWVudCwgYXMgYSBieXRlIGFycmF5LlxuICAgKiBAcmV0dXJucyB7VWludDhBcnJheX1cbiAgICovXG4gIHB1YmxpYyBmaWVsZFVpbnQ4QXJyYXkoKTogVWludDhBcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQ7XG4gIH1cblxuICB2YWx1ZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUmVzcG9uc2UgPSBIaXQgfCBNaXNzIHwgRXJyb3I7XG4iXX0=