@gomomento/sdk-core 1.35.0 → 1.37.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 (47) hide show
  1. package/dist/src/auth/credential-provider.d.ts +36 -0
  2. package/dist/src/auth/credential-provider.js +31 -7
  3. package/dist/src/auth/tokens/disposable-token-scopes.d.ts +8 -0
  4. package/dist/src/auth/tokens/disposable-token-scopes.js +74 -0
  5. package/dist/src/auth/tokens/token-scope.d.ts +30 -9
  6. package/dist/src/auth/tokens/token-scope.js +61 -6
  7. package/dist/src/clients/IAuthClient.d.ts +3 -2
  8. package/dist/src/clients/IAuthClient.js +1 -1
  9. package/dist/src/clients/IVectorIndexClient.d.ts +12 -0
  10. package/dist/src/clients/IVectorIndexClient.js +3 -0
  11. package/dist/src/index.d.ts +8 -3
  12. package/dist/src/index.js +30 -7
  13. package/dist/src/internal/clients/auth/AbstractAuthClient.d.ts +12 -2
  14. package/dist/src/internal/clients/auth/AbstractAuthClient.js +13 -1
  15. package/dist/src/internal/clients/index.d.ts +1 -0
  16. package/dist/src/internal/clients/index.js +2 -1
  17. package/dist/src/internal/clients/vector/AbstractVectorIndexClient.d.ts +78 -0
  18. package/dist/src/internal/clients/vector/AbstractVectorIndexClient.js +91 -0
  19. package/dist/src/internal/clients/vector/IVectorIndexControlClient.d.ts +6 -0
  20. package/dist/src/internal/clients/vector/IVectorIndexControlClient.js +3 -0
  21. package/dist/src/internal/clients/vector/IVectorIndexDataClient.d.ts +8 -0
  22. package/dist/src/internal/clients/vector/IVectorIndexDataClient.js +3 -0
  23. package/dist/src/internal/clients/vector/index.d.ts +3 -0
  24. package/dist/src/internal/clients/vector/index.js +20 -0
  25. package/dist/src/internal/utils/auth.d.ts +2 -0
  26. package/dist/src/internal/utils/auth.js +7 -2
  27. package/dist/src/internal/utils/validators.d.ts +6 -0
  28. package/dist/src/internal/utils/validators.js +39 -2
  29. package/dist/src/messages/responses/generate-disposable-token.d.ts +47 -0
  30. package/dist/src/messages/responses/generate-disposable-token.js +42 -0
  31. package/dist/src/messages/responses/vector/create-vector-index.d.ts +67 -0
  32. package/dist/src/messages/responses/vector/create-vector-index.js +61 -0
  33. package/dist/src/messages/responses/vector/delete-vector-index.d.ts +61 -0
  34. package/dist/src/messages/responses/vector/delete-vector-index.js +54 -0
  35. package/dist/src/messages/responses/vector/index.d.ts +6 -0
  36. package/dist/src/messages/responses/vector/index.js +10 -0
  37. package/dist/src/messages/responses/vector/list-vector-indexes.d.ts +69 -0
  38. package/dist/src/messages/responses/vector/list-vector-indexes.js +68 -0
  39. package/dist/src/messages/responses/vector/vector-add-item-batch.d.ts +61 -0
  40. package/dist/src/messages/responses/vector/vector-add-item-batch.js +54 -0
  41. package/dist/src/messages/responses/vector/vector-delete-item-batch.d.ts +62 -0
  42. package/dist/src/messages/responses/vector/vector-delete-item-batch.js +55 -0
  43. package/dist/src/messages/responses/vector/vector-search.d.ts +70 -0
  44. package/dist/src/messages/responses/vector/vector-search.js +67 -0
  45. package/dist/src/messages/vector-index.d.ts +5 -0
  46. package/dist/src/messages/vector-index.js +3 -0
  47. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isBase64 = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlMinutes = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetName = exports.validateCacheName = void 0;
3
+ exports.isBase64 = exports.validateDisposableTokenExpiry = exports.validateTimeout = exports.validateValidForSeconds = exports.validateTtlMinutes = exports.validateTopK = exports.validateNumDimensions = exports.validateIndexName = exports.validateTopicName = exports.validateListSliceStartEnd = exports.validateListName = exports.validateDictionaryName = exports.validateSortedSetCount = exports.validateSortedSetOffset = exports.validateSortedSetScores = exports.validateSortedSetRanks = exports.validateSortedSetName = exports.validateSetName = exports.validateCacheKeyOrPrefix = exports.validateCacheName = void 0;
4
4
  const errors_1 = require("../../errors");
5
5
  const string_1 = require("./string");
6
6
  function validateCacheName(name) {
@@ -9,6 +9,12 @@ function validateCacheName(name) {
9
9
  }
10
10
  }
11
11
  exports.validateCacheName = validateCacheName;
12
+ function validateCacheKeyOrPrefix(name) {
13
+ if (isEmpty(name)) {
14
+ throw new errors_1.InvalidArgumentError('cache key or key prefix must not be empty');
15
+ }
16
+ }
17
+ exports.validateCacheKeyOrPrefix = validateCacheKeyOrPrefix;
12
18
  function validateSetName(name) {
13
19
  if (isEmpty(name)) {
14
20
  throw new errors_1.InvalidArgumentError('set name must not be empty');
@@ -84,6 +90,24 @@ function validateTopicName(name) {
84
90
  }
85
91
  }
86
92
  exports.validateTopicName = validateTopicName;
93
+ function validateIndexName(name) {
94
+ if (isEmpty(name)) {
95
+ throw new errors_1.InvalidArgumentError('index name must not be empty');
96
+ }
97
+ }
98
+ exports.validateIndexName = validateIndexName;
99
+ function validateNumDimensions(numDimensions) {
100
+ if (numDimensions <= 0) {
101
+ throw new errors_1.InvalidArgumentError('numDimensions must be greater than zero');
102
+ }
103
+ }
104
+ exports.validateNumDimensions = validateNumDimensions;
105
+ function validateTopK(topK) {
106
+ if (topK <= 0) {
107
+ throw new errors_1.InvalidArgumentError('topK must be greater than zero');
108
+ }
109
+ }
110
+ exports.validateTopK = validateTopK;
87
111
  function validateTtlMinutes(ttlMinutes) {
88
112
  if (ttlMinutes < 0) {
89
113
  throw new errors_1.InvalidArgumentError('ttlMinutes must be positive');
@@ -102,6 +126,19 @@ function validateTimeout(timeout) {
102
126
  }
103
127
  }
104
128
  exports.validateTimeout = validateTimeout;
129
+ function validateDisposableTokenExpiry(expiresIn) {
130
+ if (!expiresIn.doesExpire()) {
131
+ throw new errors_1.InvalidArgumentError('disposable tokens must have an expiry');
132
+ }
133
+ if (expiresIn.seconds() < 0) {
134
+ throw new errors_1.InvalidArgumentError('disposable token expiry must be positive');
135
+ }
136
+ if (expiresIn.seconds() > 60 * 60) {
137
+ // 60 seconds * 60 minutes
138
+ throw new errors_1.InvalidArgumentError('disposable tokens must expire within 1 hour');
139
+ }
140
+ }
141
+ exports.validateDisposableTokenExpiry = validateDisposableTokenExpiry;
105
142
  function isEmpty(str) {
106
143
  return !str.trim();
107
144
  }
@@ -114,4 +151,4 @@ function isBase64(str) {
114
151
  }
115
152
  }
116
153
  exports.isBase64 = isBase64;
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUNsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLGVBQWUsQ0FBQyxJQUFZO0lBQzFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ2pCLE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0tBQzlEO0FBQ0gsQ0FBQztBQUpELDBDQUlDO0FBRUQsU0FBZ0IscUJBQXFCLENBQUMsSUFBWTtJQUNoRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsbUNBQW1DLENBQUMsQ0FBQztLQUNyRTtBQUNILENBQUM7QUFKRCxzREFJQztBQUVELFNBQWdCLHNCQUFzQixDQUFDLFVBQWtCLEVBQUUsUUFBaUI7SUFDMUUsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1FBQzFCLE9BQU87S0FDUjtJQUNELElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxRQUFRLEdBQUcsQ0FBQyxJQUFJLFVBQVUsR0FBRyxRQUFRLEVBQUU7UUFDM0QsTUFBTSxJQUFJLDZCQUFvQixDQUFDLHVDQUF1QyxDQUFDLENBQUM7S0FDekU7SUFDRCxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxVQUFVLElBQUksUUFBUSxFQUFFO1FBQzVELE1BQU0sSUFBSSw2QkFBb0IsQ0FDNUIseURBQXlELENBQzFELENBQUM7S0FDSDtB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S0FDZDtBQUNILENBQUM7QUFORCw0QkFNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW52YWxpZEFyZ3VtZW50RXJyb3J9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge2RlY29kZUZyb21CYXNlNjQsIGVuY29kZVRvQmFzZTY0fSBmcm9tICcuL3N0cmluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NhY2hlIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc29ydGVkIHNldCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0UmFua3Moc3RhcnRfcmFuazogbnVtYmVyLCBlbmRfcmFuaz86IG51bWJlcikge1xuICBpZiAoZW5kX3JhbmsgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA+IDAgJiYgZW5kX3JhbmsgPiAwICYmIHN0YXJ0X3JhbmsgPiBlbmRfcmFuaykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgcmFuaycpO1xuICB9XG4gIGlmIChzdGFydF9yYW5rIDwgMCAmJiBlbmRfcmFuayA8IDAgJiYgc3RhcnRfcmFuayA+PSBlbmRfcmFuaykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICduZWdhdGl2ZSBzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIG5lZ2F0aXZlIGVuZCByYW5rJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0U2NvcmVzKG1pblNjb3JlPzogbnVtYmVyLCBtYXhTY29yZT86IG51bWJlcikge1xuICBpZiAobWluU2NvcmUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICBpZiAobWF4U2NvcmUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICBpZiAobWluU2NvcmUgPiBtYXhTY29yZSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdtaW5TY29yZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhTY29yZSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldE9mZnNldChvZmZzZXQ6IG51bWJlcikge1xuICBpZiAob2Zmc2V0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignb2Zmc2V0IG11c3QgYmUgbm9uLW5lZ2F0aXZlICg+PSAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpY3Rpb25hcnlOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZGljdGlvbmFyeSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdsaXN0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMaXN0U2xpY2VTdGFydEVuZChcbiAgc3RhcnRJbmRleD86IG51bWJlcixcbiAgZW5kSW5kZXg/OiBudW1iZXJcbikge1xuICBpZiAoc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkIHx8IGVuZEluZGV4ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgLy8gY2FuJ3QgdmFsaWRhdGUgYm91bmRzIGZvciBzdGFydCBhbmQgaW5kZXggb2YgZWl0aGVyIG9yIGFyZSBuZWdhdGl2ZSB3aXRob3V0IGxpc3QgbGVuZ3RoXG4gIGlmIChzdGFydEluZGV4ID4gMCB8fCBlbmRJbmRleCA8IDApIHJldHVybjtcbiAgaWYgKGVuZEluZGV4IDw9IHN0YXJ0SW5kZXgpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnZW5kSW5kZXggKGV4Y2x1c2l2ZSkgbXVzdCBiZSBsYXJnZXIgdGhhbiBzdGFydEluZGV4IChpbmNsdXNpdmUpJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVG9waWNOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndG9waWMgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVR0bE1pbnV0ZXModHRsTWludXRlczogbnVtYmVyKSB7XG4gIGlmICh0dGxNaW51dGVzIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndHRsTWludXRlcyBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVmFsaWRGb3JTZWNvbmRzKHZhbGlkRm9yU2Vjb25kczogbnVtYmVyKSB7XG4gIGlmICh2YWxpZEZvclNlY29uZHMgPCAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd2YWxpZEZvclNlY29uZHMgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVRpbWVvdXQodGltZW91dDogbnVtYmVyKSB7XG4gIGlmICh0aW1lb3V0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndGltZW91dCBtdXN0IGJlIHBvc2l0aXZlJyk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNFbXB0eShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gIXN0ci50cmltKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jhc2U2NChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBlbmNvZGVUb0Jhc2U2NChkZWNvZGVGcm9tQmFzZTY0KHN0cikpID09PSBzdHI7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9pbnRlcm5hbC91dGlscy92YWxpZGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlDQUFrRDtBQUVsRCxxQ0FBMEQ7QUFFMUQsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsOEJBQThCLENBQUMsQ0FBQztLQUNoRTtBQUNILENBQUM7QUFKRCw4Q0FJQztBQUVELFNBQWdCLHdCQUF3QixDQUFDLElBQVk7SUFDbkQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLDJDQUEyQyxDQUFDLENBQUM7S0FDN0U7QUFDSCxDQUFDO0FBSkQsNERBSUM7QUFFRCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUNqQixNQUFNLElBQUksNkJBQW9CLENBQUMsNEJBQTRCLENBQUMsQ0FBQztLQUM5RDtBQUNILENBQUM7QUFKRCwwQ0FJQztBQUVELFNBQWdCLHFCQUFxQixDQUFDLElBQVk7SUFDaEQsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDakIsTUFBTSxJQUFJLDZCQUFvQixDQUFDLG1DQUFtQyxDQUFDLENBQUM7S0FDckU7QUFDSCxDQUFDO0FBSkQsc0RBSUM7QUFFRCxTQUFnQixzQkFBc0IsQ0FBQyxVQUFrQixFQUFFLFFBQWlCO0lBQzFFLElBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtRQUMxQixPQUFPO0tBQ1I7SUFDRCxJQUFJLFVBQVUsR0FBRyxDQUFDLElBQUksUUFBUSxHQUFHLENBQUMsSUFBSSxVQUFVLEdBQUcsUUFBUSxFQUFFO1FBQzNELE1BQU0sSUFBSSw2QkFBb0IsQ0FBQyx1Q0FBdUMsQ0FB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Q0FBQztBQU5ELDRCQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbnZhbGlkQXJndW1lbnRFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7RXhwaXJlc0lufSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQge2RlY29kZUZyb21CYXNlNjQsIGVuY29kZVRvQmFzZTY0fSBmcm9tICcuL3N0cmluZyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUNhY2hlTmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2NhY2hlIG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDYWNoZUtleU9yUHJlZml4KG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY2FjaGUga2V5IG9yIGtleSBwcmVmaXggbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc2V0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTb3J0ZWRTZXROYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc29ydGVkIHNldCBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0UmFua3Moc3RhcnRfcmFuazogbnVtYmVyLCBlbmRfcmFuaz86IG51bWJlcikge1xuICBpZiAoZW5kX3JhbmsgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoc3RhcnRfcmFuayA+IDAgJiYgZW5kX3JhbmsgPiAwICYmIHN0YXJ0X3JhbmsgPiBlbmRfcmFuaykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignc3RhcnQgcmFuayBtdXN0IGJlIGxlc3MgdGhhbiBlbmQgcmFuaycpO1xuICB9XG4gIGlmIChzdGFydF9yYW5rIDwgMCAmJiBlbmRfcmFuayA8IDAgJiYgc3RhcnRfcmFuayA+PSBlbmRfcmFuaykge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICduZWdhdGl2ZSBzdGFydCByYW5rIG11c3QgYmUgbGVzcyB0aGFuIG5lZ2F0aXZlIGVuZCByYW5rJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU29ydGVkU2V0U2NvcmVzKG1pblNjb3JlPzogbnVtYmVyLCBtYXhTY29yZT86IG51bWJlcikge1xuICBpZiAobWluU2NvcmUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICBpZiAobWF4U2NvcmUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuICBpZiAobWluU2NvcmUgPiBtYXhTY29yZSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdtaW5TY29yZSBtdXN0IGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byBtYXhTY29yZSdcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldE9mZnNldChvZmZzZXQ6IG51bWJlcikge1xuICBpZiAob2Zmc2V0IDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignb2Zmc2V0IG11c3QgYmUgbm9uLW5lZ2F0aXZlICg+PSAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNvcnRlZFNldENvdW50KGNvdW50OiBudW1iZXIpIHtcbiAgaWYgKGNvdW50IDwgMSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignY291bnQgbXVzdCBiZSBzdHJpY3RseSBwb3NpdGl2ZSAoPiAwKScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpY3Rpb25hcnlOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcignZGljdGlvbmFyeSBuYW1lIG11c3Qgbm90IGJlIGVtcHR5Jyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTGlzdE5hbWUobmFtZTogc3RyaW5nKSB7XG4gIGlmIChpc0VtcHR5KG5hbWUpKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdsaXN0IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMaXN0U2xpY2VTdGFydEVuZChcbiAgc3RhcnRJbmRleD86IG51bWJlcixcbiAgZW5kSW5kZXg/OiBudW1iZXJcbikge1xuICBpZiAoc3RhcnRJbmRleCA9PT0gdW5kZWZpbmVkIHx8IGVuZEluZGV4ID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgLy8gY2FuJ3QgdmFsaWRhdGUgYm91bmRzIGZvciBzdGFydCBhbmQgaW5kZXggb2YgZWl0aGVyIG9yIGFyZSBuZWdhdGl2ZSB3aXRob3V0IGxpc3QgbGVuZ3RoXG4gIGlmIChzdGFydEluZGV4ID4gMCB8fCBlbmRJbmRleCA8IDApIHJldHVybjtcbiAgaWYgKGVuZEluZGV4IDw9IHN0YXJ0SW5kZXgpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoXG4gICAgICAnZW5kSW5kZXggKGV4Y2x1c2l2ZSkgbXVzdCBiZSBsYXJnZXIgdGhhbiBzdGFydEluZGV4IChpbmNsdXNpdmUpJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlVG9waWNOYW1lKG5hbWU6IHN0cmluZykge1xuICBpZiAoaXNFbXB0eShuYW1lKSkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndG9waWMgbmFtZSBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUluZGV4TmFtZShuYW1lOiBzdHJpbmcpIHtcbiAgaWYgKGlzRW1wdHkobmFtZSkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2luZGV4IG5hbWUgbXVzdCBub3QgYmUgZW1wdHknKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVOdW1EaW1lbnNpb25zKG51bURpbWVuc2lvbnM6IG51bWJlcikge1xuICBpZiAobnVtRGltZW5zaW9ucyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCdudW1EaW1lbnNpb25zIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUb3BLKHRvcEs6IG51bWJlcikge1xuICBpZiAodG9wSyA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCd0b3BLIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUdGxNaW51dGVzKHR0bE1pbnV0ZXM6IG51bWJlcikge1xuICBpZiAodHRsTWludXRlcyA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3R0bE1pbnV0ZXMgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVZhbGlkRm9yU2Vjb25kcyh2YWxpZEZvclNlY29uZHM6IG51bWJlcikge1xuICBpZiAodmFsaWRGb3JTZWNvbmRzIDwgMCkge1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigndmFsaWRGb3JTZWNvbmRzIG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVUaW1lb3V0KHRpbWVvdXQ6IG51bWJlcikge1xuICBpZiAodGltZW91dCA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ3RpbWVvdXQgbXVzdCBiZSBwb3NpdGl2ZScpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURpc3Bvc2FibGVUb2tlbkV4cGlyeShleHBpcmVzSW46IEV4cGlyZXNJbikge1xuICBpZiAoIWV4cGlyZXNJbi5kb2VzRXhwaXJlKCkpIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW5zIG11c3QgaGF2ZSBhbiBleHBpcnknKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA8IDApIHtcbiAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoJ2Rpc3Bvc2FibGUgdG9rZW4gZXhwaXJ5IG11c3QgYmUgcG9zaXRpdmUnKTtcbiAgfVxuICBpZiAoZXhwaXJlc0luLnNlY29uZHMoKSA+IDYwICogNjApIHtcbiAgICAvLyA2MCBzZWNvbmRzICogNjAgbWludXRlc1xuICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcihcbiAgICAgICdkaXNwb3NhYmxlIHRva2VucyBtdXN0IGV4cGlyZSB3aXRoaW4gMSBob3VyJ1xuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNFbXB0eShzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gIXN0ci50cmltKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Jhc2U2NChzdHI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICB0cnkge1xuICAgIHJldHVybiBlbmNvZGVUb0Jhc2U2NChkZWNvZGVGcm9tQmFzZTY0KHN0cikpID09PSBzdHI7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { ResponseBase } from './response-base';
2
+ import { SdkError } from '../../errors';
3
+ import { ExpiresAt } from '../../utils';
4
+ export declare abstract class Response extends ResponseBase {
5
+ }
6
+ declare class _Success extends Response {
7
+ readonly authToken: string;
8
+ readonly endpoint: string;
9
+ readonly expiresAt: ExpiresAt;
10
+ constructor(apiKey: string, endpoint: string, expiresAt: ExpiresAt);
11
+ }
12
+ declare const Success_base: {
13
+ new (...args: any[]): {
14
+ readonly is_success: boolean;
15
+ };
16
+ } & typeof _Success;
17
+ /**
18
+ * Indicates a Successful generate disposable token request.
19
+ */
20
+ export declare class Success extends Success_base {
21
+ }
22
+ declare class _Error extends Response {
23
+ protected _innerException: SdkError;
24
+ constructor(_innerException: SdkError);
25
+ }
26
+ declare const Error_base: {
27
+ new (...args: any[]): {
28
+ _innerException: SdkError;
29
+ message(): string;
30
+ innerException(): SdkError;
31
+ errorCode(): import("../../errors").MomentoErrorCode;
32
+ toString(): string;
33
+ };
34
+ } & typeof _Error;
35
+ /**
36
+ * Indicates that an error occurred during the generate disposable token request.
37
+ *
38
+ * This response object includes the following fields that you can use to determine
39
+ * how you would like to handle the error:
40
+ *
41
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
42
+ * - `message()` - a human-readable description of the error
43
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
44
+ */
45
+ export declare class Error extends Error_base {
46
+ }
47
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = exports.Response = void 0;
4
+ const response_base_1 = require("./response-base");
5
+ const utils_1 = require("../../internal/utils");
6
+ class Response extends response_base_1.ResponseBase {
7
+ }
8
+ exports.Response = Response;
9
+ class _Success extends Response {
10
+ constructor(apiKey, endpoint, expiresAt) {
11
+ super();
12
+ this.authToken = (0, utils_1.encodeToBase64)(JSON.stringify({ endpoint: endpoint, api_key: apiKey }));
13
+ this.endpoint = endpoint;
14
+ this.expiresAt = expiresAt;
15
+ }
16
+ }
17
+ /**
18
+ * Indicates a Successful generate disposable token request.
19
+ */
20
+ class Success extends (0, response_base_1.ResponseSuccess)(_Success) {
21
+ }
22
+ exports.Success = Success;
23
+ class _Error extends Response {
24
+ constructor(_innerException) {
25
+ super();
26
+ this._innerException = _innerException;
27
+ }
28
+ }
29
+ /**
30
+ * Indicates that an error occurred during the generate disposable token request.
31
+ *
32
+ * This response object includes the following fields that you can use to determine
33
+ * how you would like to handle the error:
34
+ *
35
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
36
+ * - `message()` - a human-readable description of the error
37
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
38
+ */
39
+ class Error extends (0, response_base_1.ResponseError)(_Error) {
40
+ }
41
+ exports.Error = Error;
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtZGlzcG9zYWJsZS10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvZ2VuZXJhdGUtZGlzcG9zYWJsZS10b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFBNkU7QUFFN0UsZ0RBQW9EO0FBR3BELE1BQXNCLFFBQVMsU0FBUSw0QkFBWTtDQUFHO0FBQXRELDRCQUFzRDtBQUV0RCxNQUFNLFFBQVMsU0FBUSxRQUFRO0lBSzdCLFlBQVksTUFBYyxFQUFFLFFBQWdCLEVBQUUsU0FBb0I7UUFDaEUsS0FBSyxFQUFFLENBQUM7UUFDUixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUEsc0JBQWMsRUFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQ3RELENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQWEsT0FBUSxTQUFRLElBQUEsK0JBQWUsRUFBQyxRQUFRLENBQUM7Q0FBRztBQUF6RCwwQkFBeUQ7QUFFekQsTUFBTSxNQUFPLFNBQVEsUUFBUTtJQUMzQixZQUFzQixlQUF5QjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURZLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBRS9DLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLElBQUEsNkJBQWEsRUFBQyxNQUFNLENBQUM7Q0FBRztBQUFuRCxzQkFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Jlc3BvbnNlQmFzZSwgUmVzcG9uc2VFcnJvciwgUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuL3Jlc3BvbnNlLWJhc2UnO1xuaW1wb3J0IHtTZGtFcnJvcn0gZnJvbSAnLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7ZW5jb2RlVG9CYXNlNjR9IGZyb20gJy4uLy4uL2ludGVybmFsL3V0aWxzJztcbmltcG9ydCB7RXhwaXJlc0F0fSBmcm9tICcuLi8uLi91dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlQmFzZSB7fVxuXG5jbGFzcyBfU3VjY2VzcyBleHRlbmRzIFJlc3BvbnNlIHtcbiAgcmVhZG9ubHkgYXV0aFRva2VuOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGV4cGlyZXNBdDogRXhwaXJlc0F0O1xuXG4gIGNvbnN0cnVjdG9yKGFwaUtleTogc3RyaW5nLCBlbmRwb2ludDogc3RyaW5nLCBleHBpcmVzQXQ6IEV4cGlyZXNBdCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5hdXRoVG9rZW4gPSBlbmNvZGVUb0Jhc2U2NChcbiAgICAgIEpTT04uc3RyaW5naWZ5KHtlbmRwb2ludDogZW5kcG9pbnQsIGFwaV9rZXk6IGFwaUtleX0pXG4gICAgKTtcbiAgICB0aGlzLmVuZHBvaW50ID0gZW5kcG9pbnQ7XG4gICAgdGhpcy5leHBpcmVzQXQgPSBleHBpcmVzQXQ7XG4gIH1cbn1cblxuLyoqXG4gKiBJbmRpY2F0ZXMgYSBTdWNjZXNzZnVsIGdlbmVyYXRlIGRpc3Bvc2FibGUgdG9rZW4gcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBSZXNwb25zZVN1Y2Nlc3MoX1N1Y2Nlc3MpIHt9XG5cbmNsYXNzIF9FcnJvciBleHRlbmRzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBnZW5lcmF0ZSBkaXNwb3NhYmxlIHRva2VuIHJlcXVlc3QuXG4gKlxuICogVGhpcyByZXNwb25zZSBvYmplY3QgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBmaWVsZHMgdGhhdCB5b3UgY2FuIHVzZSB0byBkZXRlcm1pbmVcbiAqIGhvdyB5b3Ugd291bGQgbGlrZSB0byBoYW5kbGUgdGhlIGVycm9yOlxuICpcbiAqIC0gYGVycm9yQ29kZSgpYCAtIGEgdW5pcXVlIE1vbWVudG8gZXJyb3IgY29kZSBpbmRpY2F0aW5nIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgb2NjdXJyZWQuXG4gKiAtIGBtZXNzYWdlKClgIC0gYSBodW1hbi1yZWFkYWJsZSBkZXNjcmlwdGlvbiBvZiB0aGUgZXJyb3JcbiAqIC0gYGlubmVyRXhjZXB0aW9uKClgIC0gdGhlIG9yaWdpbmFsIGVycm9yIHRoYXQgY2F1c2VkIHRoZSBmYWlsdXJlOyBjYW4gYmUgcmUtdGhyb3duLlxuICovXG5leHBvcnQgY2xhc3MgRXJyb3IgZXh0ZW5kcyBSZXNwb25zZUVycm9yKF9FcnJvcikge31cbiJdfQ==
@@ -0,0 +1,67 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { ResponseBase } from '../response-base';
3
+ /**
4
+ * Parent response type for a CreateVectorIndex request. The
5
+ * response object is resolved to a type-safe object of one of
6
+ * the following subtypes:
7
+ *
8
+ * - {Success}
9
+ * - {AlreadyExists}
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 CreateVectorIndex.Error) {
17
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
18
+ * // `CreateIndex.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 {
24
+ }
25
+ declare class _Success extends Response {
26
+ }
27
+ declare const Success_base: {
28
+ new (...args: any[]): {
29
+ readonly is_success: boolean;
30
+ };
31
+ } & typeof _Success;
32
+ /**
33
+ * Indicates a Successful CreateVectorIndex request.
34
+ */
35
+ export declare class Success extends Success_base {
36
+ }
37
+ declare class _Error extends Response {
38
+ protected _innerException: SdkError;
39
+ constructor(_innerException: SdkError);
40
+ }
41
+ declare const Error_base: {
42
+ new (...args: any[]): {
43
+ _innerException: SdkError;
44
+ message(): string;
45
+ innerException(): SdkError;
46
+ errorCode(): import("../../../errors").MomentoErrorCode;
47
+ toString(): string;
48
+ };
49
+ } & typeof _Error;
50
+ /**
51
+ * Indicates that an error occurred during the CreateVectorIndex request.
52
+ *
53
+ * This response object includes the following fields that you can use to determine
54
+ * how you would like to handle the error:
55
+ *
56
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
57
+ * - `message()` - a human-readable description of the error
58
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
59
+ */
60
+ export declare class Error extends Error_base {
61
+ }
62
+ /**
63
+ * Indicates that the index already exists, so there was nothing to do.
64
+ */
65
+ export declare class AlreadyExists extends Response {
66
+ }
67
+ export {};
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AlreadyExists = exports.Error = exports.Success = exports.Response = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ /**
6
+ * Parent response type for a CreateVectorIndex request. The
7
+ * response object is resolved to a type-safe object of one of
8
+ * the following subtypes:
9
+ *
10
+ * - {Success}
11
+ * - {AlreadyExists}
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 CreateVectorIndex.Error) {
19
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
20
+ * // `CreateIndex.Error` in this block, so you will have access to the properties
21
+ * // of the Error class; e.g. `response.errorCode()`.
22
+ * }
23
+ * ```
24
+ */
25
+ class Response extends response_base_1.ResponseBase {
26
+ }
27
+ exports.Response = Response;
28
+ class _Success extends Response {
29
+ }
30
+ /**
31
+ * Indicates a Successful CreateVectorIndex request.
32
+ */
33
+ class Success extends (0, response_base_1.ResponseSuccess)(_Success) {
34
+ }
35
+ exports.Success = Success;
36
+ class _Error extends Response {
37
+ constructor(_innerException) {
38
+ super();
39
+ this._innerException = _innerException;
40
+ }
41
+ }
42
+ /**
43
+ * Indicates that an error occurred during the CreateVectorIndex request.
44
+ *
45
+ * This response object includes the following fields that you can use to determine
46
+ * how you would like to handle the error:
47
+ *
48
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
49
+ * - `message()` - a human-readable description of the error
50
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
51
+ */
52
+ class Error extends (0, response_base_1.ResponseError)(_Error) {
53
+ }
54
+ exports.Error = Error;
55
+ /**
56
+ * Indicates that the index already exists, so there was nothing to do.
57
+ */
58
+ class AlreadyExists extends Response {
59
+ }
60
+ exports.AlreadyExists = AlreadyExists;
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXZlY3Rvci1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yL2NyZWF0ZS12ZWN0b3ItaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBQThFO0FBRTlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBc0IsUUFBUyxTQUFRLDRCQUFZO0NBQUc7QUFBdEQsNEJBQXNEO0FBRXRELE1BQU0sUUFBUyxTQUFRLFFBQVE7Q0FBRztBQUVsQzs7R0FFRztBQUNILE1BQWEsT0FBUSxTQUFRLElBQUEsK0JBQWUsRUFBQyxRQUFRLENBQUM7Q0FBRztBQUF6RCwwQkFBeUQ7QUFFekQsTUFBTSxNQUFPLFNBQVEsUUFBUTtJQUMzQixZQUFzQixlQUF5QjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURZLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBRS9DLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLElBQUEsNkJBQWEsRUFBQyxNQUFNLENBQUM7Q0FBRztBQUFuRCxzQkFBbUQ7QUFFbkQ7O0dBRUc7QUFDSCxNQUFhLGFBQWMsU0FBUSxRQUFRO0NBQUc7QUFBOUMsc0NBQThDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtTZGtFcnJvcn0gZnJvbSAnLi4vLi4vLi4vZXJyb3JzJztcbmltcG9ydCB7UmVzcG9uc2VCYXNlLCBSZXNwb25zZUVycm9yLCBSZXNwb25zZVN1Y2Nlc3N9IGZyb20gJy4uL3Jlc3BvbnNlLWJhc2UnO1xuXG4vKipcbiAqIFBhcmVudCByZXNwb25zZSB0eXBlIGZvciBhIENyZWF0ZVZlY3RvckluZGV4IHJlcXVlc3QuICBUaGVcbiAqIHJlc3BvbnNlIG9iamVjdCBpcyByZXNvbHZlZCB0byBhIHR5cGUtc2FmZSBvYmplY3Qgb2Ygb25lIG9mXG4gKiB0aGUgZm9sbG93aW5nIHN1YnR5cGVzOlxuICpcbiAqIC0ge1N1Y2Nlc3N9XG4gKiAtIHtBbHJlYWR5RXhpc3RzfVxuICogLSB7RXJyb3J9XG4gKlxuICogYGluc3RhbmNlb2ZgIHR5cGUgZ3VhcmRzIGNhbiBiZSB1c2VkIHRvIG9wZXJhdGUgb24gdGhlIGFwcHJvcHJpYXRlIHN1YnR5cGUuXG4gKiBAZXhhbXBsZVxuICogRm9yIGV4YW1wbGU6XG4gKiBgYGBcbiAqIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIENyZWF0ZVZlY3RvckluZGV4LkVycm9yKSB7XG4gKiAgIC8vIEhhbmRsZSBlcnJvciBhcyBhcHByb3ByaWF0ZS4gIFRoZSBjb21waWxlciB3aWxsIHNtYXJ0LWNhc3QgYHJlc3BvbnNlYCB0byB0eXBlXG4gKiAgIC8vIGBDcmVhdGVJbmRleC5FcnJvcmAgaW4gdGhpcyBibG9jaywgc28geW91IHdpbGwgaGF2ZSBhY2Nlc3MgdG8gdGhlIHByb3BlcnRpZXNcbiAqICAgLy8gb2YgdGhlIEVycm9yIGNsYXNzOyBlLmcuIGByZXNwb25zZS5lcnJvckNvZGUoKWAuXG4gKiB9XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc3BvbnNlIGV4dGVuZHMgUmVzcG9uc2VCYXNlIHt9XG5cbmNsYXNzIF9TdWNjZXNzIGV4dGVuZHMgUmVzcG9uc2Uge31cblxuLyoqXG4gKiBJbmRpY2F0ZXMgYSBTdWNjZXNzZnVsIENyZWF0ZVZlY3RvckluZGV4IHJlcXVlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWNjZXNzIGV4dGVuZHMgUmVzcG9uc2VTdWNjZXNzKF9TdWNjZXNzKSB7fVxuXG5jbGFzcyBfRXJyb3IgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfaW5uZXJFeGNlcHRpb246IFNka0Vycm9yKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IGFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgQ3JlYXRlVmVjdG9ySW5kZXggcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIFJlc3BvbnNlRXJyb3IoX0Vycm9yKSB7fVxuXG4vKipcbiAqIEluZGljYXRlcyB0aGF0IHRoZSBpbmRleCBhbHJlYWR5IGV4aXN0cywgc28gdGhlcmUgd2FzIG5vdGhpbmcgdG8gZG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBBbHJlYWR5RXhpc3RzIGV4dGVuZHMgUmVzcG9uc2Uge31cbiJdfQ==
@@ -0,0 +1,61 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { ResponseBase } from '../response-base';
3
+ /**
4
+ * Parent response type for a delete index 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 DeleteIndex.Error) {
16
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
17
+ * // `DeleteIndex.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 {
23
+ }
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
+ /**
32
+ * Indicates a Successful delete index request.
33
+ */
34
+ export declare class Success extends Success_base {
35
+ }
36
+ declare class _Error extends Response {
37
+ protected _innerException: SdkError;
38
+ constructor(_innerException: SdkError);
39
+ }
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
+ /**
50
+ * Indicates that an error occurred during the delete index request.
51
+ *
52
+ * This response object includes the following fields that you can use to determine
53
+ * how you would like to handle the error:
54
+ *
55
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
56
+ * - `message()` - a human-readable description of the error
57
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
58
+ */
59
+ export declare class Error extends Error_base {
60
+ }
61
+ export {};
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = exports.Response = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ /**
6
+ * Parent response type for a delete index 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 DeleteIndex.Error) {
18
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
19
+ * // `DeleteIndex.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
+ class Response extends response_base_1.ResponseBase {
25
+ }
26
+ exports.Response = Response;
27
+ class _Success extends Response {
28
+ }
29
+ /**
30
+ * Indicates a Successful delete index request.
31
+ */
32
+ class Success extends (0, response_base_1.ResponseSuccess)(_Success) {
33
+ }
34
+ exports.Success = Success;
35
+ class _Error extends Response {
36
+ constructor(_innerException) {
37
+ super();
38
+ this._innerException = _innerException;
39
+ }
40
+ }
41
+ /**
42
+ * Indicates that an error occurred during the delete index request.
43
+ *
44
+ * This response object includes the following fields that you can use to determine
45
+ * how you would like to handle the error:
46
+ *
47
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
48
+ * - `message()` - a human-readable description of the error
49
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
50
+ */
51
+ class Error extends (0, response_base_1.ResponseError)(_Error) {
52
+ }
53
+ exports.Error = Error;
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXZlY3Rvci1pbmRleC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yL2RlbGV0ZS12ZWN0b3ItaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBQThFO0FBRTlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFzQixRQUFTLFNBQVEsNEJBQVk7Q0FBRztBQUF0RCw0QkFBc0Q7QUFFdEQsTUFBTSxRQUFTLFNBQVEsUUFBUTtDQUFHO0FBRWxDOztHQUVHO0FBQ0gsTUFBYSxPQUFRLFNBQVEsSUFBQSwrQkFBZSxFQUFDLFFBQVEsQ0FBQztDQUFHO0FBQXpELDBCQUF5RDtBQUV6RCxNQUFNLE1BQU8sU0FBUSxRQUFRO0lBQzNCLFlBQXNCLGVBQXlCO1FBQzdDLEtBQUssRUFBRSxDQUFDO1FBRFksb0JBQWUsR0FBZixlQUFlLENBQVU7SUFFL0MsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBYSxLQUFNLFNBQVEsSUFBQSw2QkFBYSxFQUFDLE1BQU0sQ0FBQztDQUFHO0FBQW5ELHNCQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2RrRXJyb3J9IGZyb20gJy4uLy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQge1Jlc3BvbnNlQmFzZSwgUmVzcG9uc2VFcnJvciwgUmVzcG9uc2VTdWNjZXNzfSBmcm9tICcuLi9yZXNwb25zZS1iYXNlJztcblxuLyoqXG4gKiBQYXJlbnQgcmVzcG9uc2UgdHlwZSBmb3IgYSBkZWxldGUgaW5kZXggcmVxdWVzdC4gIFRoZVxuICogcmVzcG9uc2Ugb2JqZWN0IGlzIHJlc29sdmVkIHRvIGEgdHlwZS1zYWZlIG9iamVjdCBvZiBvbmUgb2ZcbiAqIHRoZSBmb2xsb3dpbmcgc3VidHlwZXM6XG4gKlxuICogLSB7U3VjY2Vzc31cbiAqIC0ge0Vycm9yfVxuICpcbiAqIGBpbnN0YW5jZW9mYCB0eXBlIGd1YXJkcyBjYW4gYmUgdXNlZCB0byBvcGVyYXRlIG9uIHRoZSBhcHByb3ByaWF0ZSBzdWJ0eXBlLlxuICogQGV4YW1wbGVcbiAqIEZvciBleGFtcGxlOlxuICogYGBgXG4gKiBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBEZWxldGVJbmRleC5FcnJvcikge1xuICogICAvLyBIYW5kbGUgZXJyb3IgYXMgYXBwcm9wcmlhdGUuICBUaGUgY29tcGlsZXIgd2lsbCBzbWFydC1jYXN0IGByZXNwb25zZWAgdG8gdHlwZVxuICogICAvLyBgRGVsZXRlSW5kZXguRXJyb3JgIGluIHRoaXMgYmxvY2ssIHNvIHlvdSB3aWxsIGhhdmUgYWNjZXNzIHRvIHRoZSBwcm9wZXJ0aWVzXG4gKiAgIC8vIG9mIHRoZSBFcnJvciBjbGFzczsgZS5nLiBgcmVzcG9uc2UuZXJyb3JDb2RlKClgLlxuICogfVxuICogYGBgXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlQmFzZSB7fVxuXG5jbGFzcyBfU3VjY2VzcyBleHRlbmRzIFJlc3BvbnNlIHt9XG5cbi8qKlxuICogSW5kaWNhdGVzIGEgU3VjY2Vzc2Z1bCBkZWxldGUgaW5kZXggcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBSZXNwb25zZVN1Y2Nlc3MoX1N1Y2Nlc3MpIHt9XG5cbmNsYXNzIF9FcnJvciBleHRlbmRzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBkZWxldGUgaW5kZXggcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIFJlc3BvbnNlRXJyb3IoX0Vycm9yKSB7fVxuIl19
@@ -0,0 +1,6 @@
1
+ export * as CreateVectorIndex from './create-vector-index';
2
+ export * as ListVectorIndexes from './list-vector-indexes';
3
+ export * as DeleteVectorIndex from './delete-vector-index';
4
+ export * as VectorAddItemBatch from './vector-add-item-batch';
5
+ export * as VectorSearch from './vector-search';
6
+ export * as VectorDeleteItemBatch from './vector-delete-item-batch';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VectorDeleteItemBatch = exports.VectorSearch = exports.VectorAddItemBatch = exports.DeleteVectorIndex = exports.ListVectorIndexes = exports.CreateVectorIndex = void 0;
4
+ exports.CreateVectorIndex = require("./create-vector-index");
5
+ exports.ListVectorIndexes = require("./list-vector-indexes");
6
+ exports.DeleteVectorIndex = require("./delete-vector-index");
7
+ exports.VectorAddItemBatch = require("./vector-add-item-batch");
8
+ exports.VectorSearch = require("./vector-search");
9
+ exports.VectorDeleteItemBatch = require("./vector-delete-item-batch");
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2REFBMkQ7QUFDM0QsNkRBQTJEO0FBQzNELDZEQUEyRDtBQUMzRCxnRUFBOEQ7QUFDOUQsa0RBQWdEO0FBQ2hELHNFQUFvRSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGFzIENyZWF0ZVZlY3RvckluZGV4IGZyb20gJy4vY3JlYXRlLXZlY3Rvci1pbmRleCc7XG5leHBvcnQgKiBhcyBMaXN0VmVjdG9ySW5kZXhlcyBmcm9tICcuL2xpc3QtdmVjdG9yLWluZGV4ZXMnO1xuZXhwb3J0ICogYXMgRGVsZXRlVmVjdG9ySW5kZXggZnJvbSAnLi9kZWxldGUtdmVjdG9yLWluZGV4JztcbmV4cG9ydCAqIGFzIFZlY3RvckFkZEl0ZW1CYXRjaCBmcm9tICcuL3ZlY3Rvci1hZGQtaXRlbS1iYXRjaCc7XG5leHBvcnQgKiBhcyBWZWN0b3JTZWFyY2ggZnJvbSAnLi92ZWN0b3Itc2VhcmNoJztcbmV4cG9ydCAqIGFzIFZlY3RvckRlbGV0ZUl0ZW1CYXRjaCBmcm9tICcuL3ZlY3Rvci1kZWxldGUtaXRlbS1iYXRjaCc7XG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { SdkError } from '../../../errors';
2
+ import { ResponseBase } from '../response-base';
3
+ /**
4
+ * Parent response type for a list indexes 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 ListIndexes.Error) {
16
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
17
+ * // `ListIndexes.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 {
23
+ }
24
+ declare class _Success extends Response {
25
+ private readonly indexNames;
26
+ constructor(indexNames: string[]);
27
+ /**
28
+ * An array of index names.
29
+ * @returns {string[]}
30
+ */
31
+ getIndexNames(): string[];
32
+ toString(): string;
33
+ }
34
+ declare const Success_base: {
35
+ new (...args: any[]): {
36
+ readonly is_success: boolean;
37
+ };
38
+ } & typeof _Success;
39
+ /**
40
+ * Indicates a Successful list indexes request.
41
+ */
42
+ export declare class Success extends Success_base {
43
+ }
44
+ declare class _Error extends Response {
45
+ protected _innerException: SdkError;
46
+ constructor(_innerException: SdkError);
47
+ }
48
+ declare const Error_base: {
49
+ new (...args: any[]): {
50
+ _innerException: SdkError;
51
+ message(): string;
52
+ innerException(): SdkError;
53
+ errorCode(): import("../../../errors").MomentoErrorCode;
54
+ toString(): string;
55
+ };
56
+ } & typeof _Error;
57
+ /**
58
+ * Indicates that an error occurred during the list indexes request.
59
+ *
60
+ * This response object includes the following fields that you can use to determine
61
+ * how you would like to handle the error:
62
+ *
63
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
64
+ * - `message()` - a human-readable description of the error
65
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
66
+ */
67
+ export declare class Error extends Error_base {
68
+ }
69
+ export {};
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Error = exports.Success = exports.Response = void 0;
4
+ const response_base_1 = require("../response-base");
5
+ /**
6
+ * Parent response type for a list indexes 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 ListIndexes.Error) {
18
+ * // Handle error as appropriate. The compiler will smart-cast `response` to type
19
+ * // `ListIndexes.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
+ class Response extends response_base_1.ResponseBase {
25
+ }
26
+ exports.Response = Response;
27
+ class _Success extends Response {
28
+ constructor(indexNames) {
29
+ super();
30
+ this.indexNames = indexNames;
31
+ }
32
+ /**
33
+ * An array of index names.
34
+ * @returns {string[]}
35
+ */
36
+ getIndexNames() {
37
+ return this.indexNames;
38
+ }
39
+ toString() {
40
+ return super.toString() + ': ' + this.indexNames.join(', ');
41
+ }
42
+ }
43
+ /**
44
+ * Indicates a Successful list indexes request.
45
+ */
46
+ class Success extends (0, response_base_1.ResponseSuccess)(_Success) {
47
+ }
48
+ exports.Success = Success;
49
+ class _Error extends Response {
50
+ constructor(_innerException) {
51
+ super();
52
+ this._innerException = _innerException;
53
+ }
54
+ }
55
+ /**
56
+ * Indicates that an error occurred during the list indexes request.
57
+ *
58
+ * This response object includes the following fields that you can use to determine
59
+ * how you would like to handle the error:
60
+ *
61
+ * - `errorCode()` - a unique Momento error code indicating the type of error that occurred.
62
+ * - `message()` - a human-readable description of the error
63
+ * - `innerException()` - the original error that caused the failure; can be re-thrown.
64
+ */
65
+ class Error extends (0, response_base_1.ResponseError)(_Error) {
66
+ }
67
+ exports.Error = Error;
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12ZWN0b3ItaW5kZXhlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tZXNzYWdlcy9yZXNwb25zZXMvdmVjdG9yL2xpc3QtdmVjdG9yLWluZGV4ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0Esb0RBQThFO0FBRTlFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFzQixRQUFTLFNBQVEsNEJBQVk7Q0FBRztBQUF0RCw0QkFBc0Q7QUFFdEQsTUFBTSxRQUFTLFNBQVEsUUFBUTtJQUU3QixZQUFZLFVBQW9CO1FBQzlCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGFBQWE7UUFDbEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFZSxRQUFRO1FBQ3RCLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5RCxDQUFDO0NBQ0Y7QUFFRDs7R0FFRztBQUNILE1BQWEsT0FBUSxTQUFRLElBQUEsK0JBQWUsRUFBQyxRQUFRLENBQUM7Q0FBRztBQUF6RCwwQkFBeUQ7QUFFekQsTUFBTSxNQUFPLFNBQVEsUUFBUTtJQUMzQixZQUFzQixlQUF5QjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQURZLG9CQUFlLEdBQWYsZUFBZSxDQUFVO0lBRS9DLENBQUM7Q0FDRjtBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILE1BQWEsS0FBTSxTQUFRLElBQUEsNkJBQWEsRUFBQyxNQUFNLENBQUM7Q0FBRztBQUFuRCxzQkFBbUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1Nka0Vycm9yfSBmcm9tICcuLi8uLi8uLi9lcnJvcnMnO1xuaW1wb3J0IHtSZXNwb25zZUJhc2UsIFJlc3BvbnNlRXJyb3IsIFJlc3BvbnNlU3VjY2Vzc30gZnJvbSAnLi4vcmVzcG9uc2UtYmFzZSc7XG5cbi8qKlxuICogUGFyZW50IHJlc3BvbnNlIHR5cGUgZm9yIGEgbGlzdCBpbmRleGVzIHJlcXVlc3QuICBUaGVcbiAqIHJlc3BvbnNlIG9iamVjdCBpcyByZXNvbHZlZCB0byBhIHR5cGUtc2FmZSBvYmplY3Qgb2Ygb25lIG9mXG4gKiB0aGUgZm9sbG93aW5nIHN1YnR5cGVzOlxuICpcbiAqIC0ge1N1Y2Nlc3N9XG4gKiAtIHtFcnJvcn1cbiAqXG4gKiBgaW5zdGFuY2VvZmAgdHlwZSBndWFyZHMgY2FuIGJlIHVzZWQgdG8gb3BlcmF0ZSBvbiB0aGUgYXBwcm9wcmlhdGUgc3VidHlwZS5cbiAqIEBleGFtcGxlXG4gKiBGb3IgZXhhbXBsZTpcbiAqIGBgYFxuICogaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgTGlzdEluZGV4ZXMuRXJyb3IpIHtcbiAqICAgLy8gSGFuZGxlIGVycm9yIGFzIGFwcHJvcHJpYXRlLiAgVGhlIGNvbXBpbGVyIHdpbGwgc21hcnQtY2FzdCBgcmVzcG9uc2VgIHRvIHR5cGVcbiAqICAgLy8gYExpc3RJbmRleGVzLkVycm9yYCBpbiB0aGlzIGJsb2NrLCBzbyB5b3Ugd2lsbCBoYXZlIGFjY2VzcyB0byB0aGUgcHJvcGVydGllc1xuICogICAvLyBvZiB0aGUgRXJyb3IgY2xhc3M7IGUuZy4gYHJlc3BvbnNlLmVycm9yQ29kZSgpYC5cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUmVzcG9uc2UgZXh0ZW5kcyBSZXNwb25zZUJhc2Uge31cblxuY2xhc3MgX1N1Y2Nlc3MgZXh0ZW5kcyBSZXNwb25zZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5kZXhOYW1lczogc3RyaW5nW107XG4gIGNvbnN0cnVjdG9yKGluZGV4TmFtZXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmluZGV4TmFtZXMgPSBpbmRleE5hbWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIGluZGV4IG5hbWVzLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119XG4gICAqL1xuICBwdWJsaWMgZ2V0SW5kZXhOYW1lcygpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleE5hbWVzO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBzdXBlci50b1N0cmluZygpICsgJzogJyArIHRoaXMuaW5kZXhOYW1lcy5qb2luKCcsICcpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIGEgU3VjY2Vzc2Z1bCBsaXN0IGluZGV4ZXMgcmVxdWVzdC5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Y2Nlc3MgZXh0ZW5kcyBSZXNwb25zZVN1Y2Nlc3MoX1N1Y2Nlc3MpIHt9XG5cbmNsYXNzIF9FcnJvciBleHRlbmRzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9pbm5lckV4Y2VwdGlvbjogU2RrRXJyb3IpIHtcbiAgICBzdXBlcigpO1xuICB9XG59XG5cbi8qKlxuICogSW5kaWNhdGVzIHRoYXQgYW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIHRoZSBsaXN0IGluZGV4ZXMgcmVxdWVzdC5cbiAqXG4gKiBUaGlzIHJlc3BvbnNlIG9iamVjdCBpbmNsdWRlcyB0aGUgZm9sbG93aW5nIGZpZWxkcyB0aGF0IHlvdSBjYW4gdXNlIHRvIGRldGVybWluZVxuICogaG93IHlvdSB3b3VsZCBsaWtlIHRvIGhhbmRsZSB0aGUgZXJyb3I6XG4gKlxuICogLSBgZXJyb3JDb2RlKClgIC0gYSB1bmlxdWUgTW9tZW50byBlcnJvciBjb2RlIGluZGljYXRpbmcgdGhlIHR5cGUgb2YgZXJyb3IgdGhhdCBvY2N1cnJlZC5cbiAqIC0gYG1lc3NhZ2UoKWAgLSBhIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvclxuICogLSBgaW5uZXJFeGNlcHRpb24oKWAgLSB0aGUgb3JpZ2luYWwgZXJyb3IgdGhhdCBjYXVzZWQgdGhlIGZhaWx1cmU7IGNhbiBiZSByZS10aHJvd24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFcnJvciBleHRlbmRzIFJlc3BvbnNlRXJyb3IoX0Vycm9yKSB7fVxuIl19