@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
@@ -10,6 +10,14 @@ interface CredentialProviderProps {
10
10
  * optionally overrides the default cacheEndpoint
11
11
  */
12
12
  cacheEndpoint?: string;
13
+ /**
14
+ * optionally overrides the default vectorEndpoint
15
+ */
16
+ tokenEndpoint?: string;
17
+ /**
18
+ * optionally overrides the default vectorEndpoint
19
+ */
20
+ vectorEndpoint?: string;
13
21
  }
14
22
  /**
15
23
  * Provides information that the CacheClient needs in order to establish a connection to and authenticate with
@@ -30,6 +38,14 @@ export declare abstract class CredentialProvider {
30
38
  * @returns {string} The host which the Momento client will connect to for Momento data plane operations
31
39
  */
32
40
  abstract getCacheEndpoint(): string;
41
+ /**
42
+ * @returns {string} The host which the Momento client will connect to for Momento token operations
43
+ */
44
+ abstract getTokenEndpoint(): string;
45
+ /**
46
+ * @returns {string} The host which the Momento client will connect to for Momento vector index operations
47
+ */
48
+ abstract getVectorEndpoint(): string;
33
49
  /**
34
50
  * @returns {boolean} true if the cache endpoint was manually overridden at construction time; false otherwise
35
51
  */
@@ -38,6 +54,14 @@ export declare abstract class CredentialProvider {
38
54
  * @returns {boolean} true if the control endpoint was manually overridden at construction time; false otherwise
39
55
  */
40
56
  abstract isControlEndpointOverridden(): boolean;
57
+ /**
58
+ * @returns {boolean} true if the token endpoint was manually overridden at construction time; false otherwise
59
+ */
60
+ abstract isTokenEndpointOverridden(): boolean;
61
+ /**
62
+ * @returns {boolean} true if the vector endpoint was manually overridden at construction time; false otherwise
63
+ */
64
+ abstract isVectorEndpointOverridden(): boolean;
41
65
  static fromEnvironmentVariable(props: EnvMomentoTokenProviderProps): CredentialProvider;
42
66
  static fromString(props: StringMomentoTokenProviderProps): CredentialProvider;
43
67
  }
@@ -45,8 +69,12 @@ declare abstract class CredentialProviderBase implements CredentialProvider {
45
69
  abstract getAuthToken(): string;
46
70
  abstract getCacheEndpoint(): string;
47
71
  abstract getControlEndpoint(): string;
72
+ abstract getTokenEndpoint(): string;
73
+ abstract getVectorEndpoint(): string;
48
74
  abstract isCacheEndpointOverridden(): boolean;
49
75
  abstract isControlEndpointOverridden(): boolean;
76
+ abstract isTokenEndpointOverridden(): boolean;
77
+ abstract isVectorEndpointOverridden(): boolean;
50
78
  valueOf(): object;
51
79
  }
52
80
  export interface StringMomentoTokenProviderProps extends CredentialProviderProps {
@@ -64,8 +92,12 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
64
92
  private readonly authToken;
65
93
  private readonly controlEndpoint;
66
94
  private readonly cacheEndpoint;
95
+ private readonly tokenEndpoint;
96
+ private readonly vectorEndpoint;
67
97
  private readonly controlEndpointOverridden;
68
98
  private readonly cacheEndpointOverridden;
99
+ private readonly tokenEndpointOverridden;
100
+ private readonly vectorEndpointOverridden;
69
101
  /**
70
102
  * @param {StringMomentoTokenProviderProps} props configuration options for the token provider
71
103
  */
@@ -73,8 +105,12 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
73
105
  getAuthToken(): string;
74
106
  getCacheEndpoint(): string;
75
107
  getControlEndpoint(): string;
108
+ getTokenEndpoint(): string;
109
+ getVectorEndpoint(): string;
76
110
  isControlEndpointOverridden(): boolean;
77
111
  isCacheEndpointOverridden(): boolean;
112
+ isTokenEndpointOverridden(): boolean;
113
+ isVectorEndpointOverridden(): boolean;
78
114
  }
79
115
  export interface EnvMomentoTokenProviderProps extends CredentialProviderProps {
80
116
  /**
@@ -35,7 +35,7 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
35
35
  * @param {StringMomentoTokenProviderProps} props configuration options for the token provider
36
36
  */
37
37
  constructor(props) {
38
- var _a, _b;
38
+ var _a, _b, _c, _d;
39
39
  super();
40
40
  const decodedToken = (0, utils_1.decodeAuthToken)(props.authToken);
41
41
  this.authToken = decodedToken.authToken;
@@ -49,8 +49,20 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
49
49
  if (cacheEndpoint === undefined) {
50
50
  throw new Error('Malformed token; unable to determine cache endpoint. Depending on the type of token you are using, you may need to specify the cacheEndpoint explicitly.');
51
51
  }
52
+ this.tokenEndpointOverridden = props.tokenEndpoint !== undefined;
53
+ const tokenEndpoint = (_c = props.tokenEndpoint) !== null && _c !== void 0 ? _c : decodedToken.tokenEndpoint;
54
+ if (tokenEndpoint === undefined) {
55
+ throw new Error('Malformed token; unable to determine token endpoint. Depending on the type of token you are using, you may need to specify the tokenEndpoint explicitly.');
56
+ }
57
+ this.vectorEndpointOverridden = props.vectorEndpoint !== undefined;
58
+ const vectorEndpoint = (_d = props.vectorEndpoint) !== null && _d !== void 0 ? _d : decodedToken.vectorEndpoint;
59
+ if (vectorEndpoint === undefined) {
60
+ throw new Error('Malformed token; unable to determine vector endpoint. Depending on the type of token you are using, you may need to specify the vectorEndpoint explicitly.');
61
+ }
52
62
  this.controlEndpoint = controlEndpoint;
53
63
  this.cacheEndpoint = cacheEndpoint;
64
+ this.tokenEndpoint = decodedToken.tokenEndpoint || cacheEndpoint;
65
+ this.vectorEndpoint = vectorEndpoint;
54
66
  }
55
67
  getAuthToken() {
56
68
  return this.authToken;
@@ -61,12 +73,24 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
61
73
  getControlEndpoint() {
62
74
  return this.controlEndpoint;
63
75
  }
76
+ getTokenEndpoint() {
77
+ return this.tokenEndpoint;
78
+ }
79
+ getVectorEndpoint() {
80
+ return this.vectorEndpoint;
81
+ }
64
82
  isControlEndpointOverridden() {
65
83
  return this.controlEndpointOverridden;
66
84
  }
67
85
  isCacheEndpointOverridden() {
68
86
  return this.cacheEndpointOverridden;
69
87
  }
88
+ isTokenEndpointOverridden() {
89
+ return this.tokenEndpointOverridden;
90
+ }
91
+ isVectorEndpointOverridden() {
92
+ return this.vectorEndpointOverridden;
93
+ }
70
94
  }
71
95
  exports.StringMomentoTokenProvider = StringMomentoTokenProvider;
72
96
  /**
@@ -79,19 +103,19 @@ class EnvMomentoTokenProvider extends StringMomentoTokenProvider {
79
103
  * @param {EnvMomentoTokenProviderProps} props configuration options for the token provider
80
104
  */
81
105
  constructor(props) {
82
- var _a, _b;
83
106
  const authToken = process.env[props.environmentVariableName];
84
107
  if (!authToken) {
85
108
  throw new Error(`Missing required environment variable ${props.environmentVariableName}`);
86
109
  }
87
- const decodedToken = (0, utils_1.decodeAuthToken)(authToken);
88
110
  super({
89
- authToken: decodedToken.authToken,
90
- controlEndpoint: (_a = props.controlEndpoint) !== null && _a !== void 0 ? _a : decodedToken.controlEndpoint,
91
- cacheEndpoint: (_b = props.cacheEndpoint) !== null && _b !== void 0 ? _b : decodedToken.cacheEndpoint,
111
+ authToken: authToken,
112
+ controlEndpoint: props.controlEndpoint,
113
+ cacheEndpoint: props.cacheEndpoint,
114
+ tokenEndpoint: props.tokenEndpoint,
115
+ vectorEndpoint: props.vectorEndpoint,
92
116
  });
93
117
  this.environmentVariableName = props.environmentVariableName;
94
118
  }
95
119
  }
96
120
  exports.EnvMomentoTokenProvider = EnvMomentoTokenProvider;
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBZ0IvRDs7Ozs7R0FLRztBQUNILE1BQXNCLGtCQUFrQjtJQTBCdEMsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixLQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2YsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQXJDRCxnREFxQ0M7QUFFRCxNQUFlLHNCQUFzQjtJQVVuQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFVRDs7OztHQUlHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxzQkFBc0I7SUFPcEU7O09BRUc7SUFDSCxZQUFZLEtBQXNDOztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sWUFBWSxHQUFHLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FDbkIsTUFBQSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQ3hELElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLCtKQUErSixDQUNoSyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxhQUFhLEdBQUcsTUFBQSxLQUFLLENBQUMsYUFBYSxtQ0FBSSxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3hFLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUNiLDJKQUEySixDQUM1SixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCwyQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUMseUJBQXlCLENBQUM7SUFDeEMsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztJQUN0QyxDQUFDO0NBQ0Y7QUFyREQsZ0VBcURDO0FBU0Q7Ozs7R0FJRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsMEJBQTBCO0lBRXJFOztPQUVHO0lBQ0gsWUFBWSxLQUFtQzs7UUFDN0MsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLENBQ3pFLENBQUM7U0FDSDtRQUNELE1BQU0sWUFBWSxHQUFHLElBQUEsdUJBQWUsRUFBQyxTQUFTLENBQUMsQ0FBQztRQUNoRCxLQUFLLENBQUM7WUFDSixTQUFTLEVBQUUsWUFBWSxDQUFDLFNBQVM7WUFDakMsZUFBZSxFQUFFLE1BQUEsS0FBSyxDQUFDLGVBQWUsbUNBQUksWUFBWSxDQUFDLGVBQWU7WUFDdEUsYUFBYSxFQUFFLE1BQUEsS0FBSyxDQUFDLGFBQWEsbUNBQUksWUFBWSxDQUFDLGFBQWE7U0FDakUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFwQkQsMERBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZWNvZGVBdXRoVG9rZW4sIGZyb21FbnRyaWVzfSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIGFyZ3VtZW50cyBmb3IgaW5zdGFudGlhdGluZyBhbiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5pbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY29udHJvbEVuZHBvaW50XG4gICAqL1xuICBjb250cm9sRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBjYWNoZUVuZHBvaW50XG4gICAqL1xuICBjYWNoZUVuZHBvaW50Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3ZpZGVzIGluZm9ybWF0aW9uIHRoYXQgdGhlIENhY2hlQ2xpZW50IG5lZWRzIGluIG9yZGVyIHRvIGVzdGFibGlzaCBhIGNvbm5lY3Rpb24gdG8gYW5kIGF1dGhlbnRpY2F0ZSB3aXRoXG4gKiB0aGUgTW9tZW50byBzZXJ2aWNlLlxuICogQGV4cG9ydFxuICogQGludGVyZmFjZSBDcmVkZW50aWFsUHJvdmlkZXJcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBdXRoIHRva2VuIHByb3ZpZGVkIGJ5IHVzZXIsIHJlcXVpcmVkIHRvIGF1dGhlbnRpY2F0ZSB3aXRoIHRoZSBzZXJ2aWNlXG4gICAqL1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGNvbnRyb2wgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBkYXRhIHBsYW5lIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiB0aGUgY2FjaGUgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiB0aGUgY29udHJvbCBlbmRwb2ludCB3YXMgbWFudWFsbHkgb3ZlcnJpZGRlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZTsgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBzdGF0aWMgZnJvbUVudmlyb25tZW50VmFyaWFibGUoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RyaW5nKFxuICAgIHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cbn1cblxuYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSBpbXBsZW1lbnRzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBpc0NhY2hlRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG4gIGFic3RyYWN0IGlzQ29udHJvbEVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIGF1dGhUb2tlbiB0aGUgbW9tZW50byBhdXRoIHRva2VuXG4gICAqL1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBpbiBhIFN0cmluZ1xuICogQGV4cG9ydFxuICogQGNsYXNzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlckJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhUb2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xFbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge1N0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIHN1cGVyKCk7XG4gICAgY29uc3QgZGVjb2RlZFRva2VuID0gZGVjb2RlQXV0aFRva2VuKHByb3BzLmF1dGhUb2tlbik7XG4gICAgdGhpcy5hdXRoVG9rZW4gPSBkZWNvZGVkVG9rZW4uYXV0aFRva2VuO1xuICAgIHRoaXMuY29udHJvbEVuZHBvaW50T3ZlcnJpZGRlbiA9IHByb3BzLmNvbnRyb2xFbmRwb2ludCAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNvbnRyb2xFbmRwb2ludCA9XG4gICAgICBwcm9wcy5jb250cm9sRW5kcG9pbnQgPz8gZGVjb2RlZFRva2VuLmNvbnRyb2xFbmRwb2ludDtcbiAgICBpZiAoY29udHJvbEVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSBjb250cm9sIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSBjb250cm9sRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLmNhY2hlRW5kcG9pbnRPdmVycmlkZGVuID0gcHJvcHMuY2FjaGVFbmRwb2ludCAhPT0gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGNhY2hlRW5kcG9pbnQgPSBwcm9wcy5jYWNoZUVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50O1xuICAgIGlmIChjYWNoZUVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSBjYWNoZSBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY2FjaGVFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sRW5kcG9pbnQgPSBjb250cm9sRW5kcG9pbnQ7XG4gICAgdGhpcy5jYWNoZUVuZHBvaW50ID0gY2FjaGVFbmRwb2ludDtcbiAgfVxuXG4gIGdldEF1dGhUb2tlbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmF1dGhUb2tlbjtcbiAgfVxuXG4gIGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZUVuZHBvaW50O1xuICB9XG5cbiAgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbEVuZHBvaW50O1xuICB9XG5cbiAgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW47XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihhdXRoVG9rZW4pO1xuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogZGVjb2RlZFRva2VuLmF1dGhUb2tlbixcbiAgICAgIGNvbnRyb2xFbmRwb2ludDogcHJvcHMuY29udHJvbEVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQsXG4gICAgICBjYWNoZUVuZHBvaW50OiBwcm9wcy5jYWNoZUVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuIl19
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBd0IvRDs7Ozs7R0FLRztBQUNILE1BQXNCLGtCQUFrQjtJQThDdEMsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixLQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2YsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQXpERCxnREF5REM7QUFFRCxNQUFlLHNCQUFzQjtJQWdCbkMsT0FBTztRQUNMLDZEQUE2RDtRQUM3RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxXQUFXLENBQUMsQ0FBQztRQUN4RSxNQUFNLEtBQUssR0FBRyxJQUFBLG1CQUFXLEVBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBVUQ7Ozs7R0FJRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsc0JBQXNCO0lBV3BFOztPQUVHO0lBQ0gsWUFBWSxLQUFzQzs7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLFlBQVksR0FBRyxJQUFBLHVCQUFlLEVBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJLENBQUMseUJBQXlCLEdBQUcsS0FBSyxDQUFDLGVBQWUsS0FBSyxT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LENBQUMsYUFBYTtZQUNsQyxjQUFjLEVBQUUsS0FBSyxDQUFDLGNBQWM7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQztJQUMvRCxDQUFDO0NBQ0Y7QUFyQkQsMERBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkZWNvZGVBdXRoVG9rZW4sIGZyb21FbnRyaWVzfSBmcm9tICcuLi9pbnRlcm5hbC91dGlscyc7XG5cbi8qKlxuICogRW5jYXBzdWxhdGVzIGFyZ3VtZW50cyBmb3IgaW5zdGFudGlhdGluZyBhbiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5pbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY29udHJvbEVuZHBvaW50XG4gICAqL1xuICBjb250cm9sRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBjYWNoZUVuZHBvaW50XG4gICAqL1xuICBjYWNoZUVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgdmVjdG9yRW5kcG9pbnRcbiAgICovXG4gIHRva2VuRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBvcHRpb25hbGx5IG92ZXJyaWRlcyB0aGUgZGVmYXVsdCB2ZWN0b3JFbmRwb2ludFxuICAgKi9cbiAgdmVjdG9yRW5kcG9pbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCB0aGUgQ2FjaGVDbGllbnQgbmVlZHMgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhbmQgYXV0aGVudGljYXRlIHdpdGhcbiAqIHRoZSBNb21lbnRvIHNlcnZpY2UuXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEF1dGggdG9rZW4gcHJvdmlkZWQgYnkgdXNlciwgcmVxdWlyZWQgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIHNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gY29udHJvbCBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGRhdGEgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdG9rZW4gb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdmVjdG9yIGluZGV4IG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNhY2hlIGVuZHBvaW50IHdhcyBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNvbnRyb2wgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSB0b2tlbiBlbmRwb2ludCB3YXMgbWFudWFsbHkgb3ZlcnJpZGRlbiBhdCBjb25zdHJ1Y3Rpb24gdGltZTsgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBhYnN0cmFjdCBpc1Rva2VuRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtib29sZWFufSB0cnVlIGlmIHRoZSB2ZWN0b3IgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNWZWN0b3JFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICBzdGF0aWMgZnJvbUVudmlyb25tZW50VmFyaWFibGUoXG4gICAgcHJvcHM6IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IEVudk1vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RyaW5nKFxuICAgIHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cbn1cblxuYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSBpbXBsZW1lbnRzIENyZWRlbnRpYWxQcm92aWRlciB7XG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRWZWN0b3JFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcbiAgYWJzdHJhY3QgaXNUb2tlbkVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc1ZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIHZhbHVlT2YoKTogb2JqZWN0IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgY29uc3QgZW50cmllcyA9IE9iamVjdC5lbnRyaWVzKHRoaXMpLmZpbHRlcigoW2tdKSA9PiBrICE9PSAnYXV0aFRva2VuJyk7XG4gICAgY29uc3QgY2xvbmUgPSBmcm9tRW50cmllcyhlbnRyaWVzKTtcbiAgICByZXR1cm4gY2xvbmUudmFsdWVPZigpO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIGF1dGhUb2tlbiB0aGUgbW9tZW50byBhdXRoIHRva2VuXG4gICAqL1xuICBhdXRoVG9rZW46IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBpbiBhIFN0cmluZ1xuICogQGV4cG9ydFxuICogQGNsYXNzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlckJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhUb2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xFbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0b2tlbkVuZHBvaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmVjdG9yRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGNhY2hlRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHRva2VuRW5kcG9pbnRPdmVycmlkZGVuOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IHZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHBhcmFtIHtTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB0b2tlbiBwcm92aWRlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihwcm9wcy5hdXRoVG9rZW4pO1xuICAgIHRoaXMuYXV0aFRva2VuID0gZGVjb2RlZFRva2VuLmF1dGhUb2tlbjtcbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy5jb250cm9sRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjb250cm9sRW5kcG9pbnQgPVxuICAgICAgcHJvcHMuY29udHJvbEVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQ7XG4gICAgaWYgKGNvbnRyb2xFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY29udHJvbCBlbmRwb2ludC4gIERlcGVuZGluZyBvbiB0aGUgdHlwZSBvZiB0b2tlbiB5b3UgYXJlIHVzaW5nLCB5b3UgbWF5IG5lZWQgdG8gc3BlY2lmeSB0aGUgY29udHJvbEVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgdGhpcy5jYWNoZUVuZHBvaW50T3ZlcnJpZGRlbiA9IHByb3BzLmNhY2hlRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjYWNoZUVuZHBvaW50ID0gcHJvcHMuY2FjaGVFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4uY2FjaGVFbmRwb2ludDtcbiAgICBpZiAoY2FjaGVFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgY2FjaGUgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNhY2hlRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMudG9rZW5FbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy50b2tlbkVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgdG9rZW5FbmRwb2ludCA9IHByb3BzLnRva2VuRW5kcG9pbnQgPz8gZGVjb2RlZFRva2VuLnRva2VuRW5kcG9pbnQ7XG4gICAgaWYgKHRva2VuRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIHRva2VuIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSB0b2tlbkVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLnZlY3RvckVuZHBvaW50T3ZlcnJpZGRlbiA9IHByb3BzLnZlY3RvckVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgdmVjdG9yRW5kcG9pbnQgPSBwcm9wcy52ZWN0b3JFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4udmVjdG9yRW5kcG9pbnQ7XG4gICAgaWYgKHZlY3RvckVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ01hbGZvcm1lZCB0b2tlbjsgdW5hYmxlIHRvIGRldGVybWluZSB2ZWN0b3IgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIHZlY3RvckVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludCA9IGNvbnRyb2xFbmRwb2ludDtcbiAgICB0aGlzLmNhY2hlRW5kcG9pbnQgPSBjYWNoZUVuZHBvaW50O1xuICAgIHRoaXMudG9rZW5FbmRwb2ludCA9IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50IHx8IGNhY2hlRW5kcG9pbnQ7XG4gICAgdGhpcy52ZWN0b3JFbmRwb2ludCA9IHZlY3RvckVuZHBvaW50O1xuICB9XG5cbiAgZ2V0QXV0aFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFRva2VuO1xuICB9XG5cbiAgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNhY2hlRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb250cm9sRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudG9rZW5FbmRwb2ludDtcbiAgfVxuXG4gIGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudmVjdG9yRW5kcG9pbnQ7XG4gIH1cblxuICBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbEVuZHBvaW50T3ZlcnJpZGRlbjtcbiAgfVxuXG4gIGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVFbmRwb2ludE92ZXJyaWRkZW47XG4gIH1cblxuICBpc1Rva2VuRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRva2VuRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG5cbiAgaXNWZWN0b3JFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudmVjdG9yRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLFxuICAgICAgY29udHJvbEVuZHBvaW50OiBwcm9wcy5jb250cm9sRW5kcG9pbnQsXG4gICAgICBjYWNoZUVuZHBvaW50OiBwcm9wcy5jYWNoZUVuZHBvaW50LFxuICAgICAgdG9rZW5FbmRwb2ludDogcHJvcHMudG9rZW5FbmRwb2ludCxcbiAgICAgIHZlY3RvckVuZHBvaW50OiBwcm9wcy52ZWN0b3JFbmRwb2ludCxcbiAgICB9KTtcbiAgICB0aGlzLmVudmlyb25tZW50VmFyaWFibGVOYW1lID0gcHJvcHMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { CacheSelector, DisposableTokenScope } from './token-scope';
2
+ export * from './token-scopes';
3
+ export declare function cacheKeyReadWrite(cacheSelector: CacheSelector, key: string): DisposableTokenScope;
4
+ export declare function cacheKeyPrefixReadWrite(cacheSelector: CacheSelector, keyPrefix: string): DisposableTokenScope;
5
+ export declare function cacheKeyReadOnly(cacheSelector: CacheSelector, key: string): DisposableTokenScope;
6
+ export declare function cacheKeyPrefixReadOnly(cacheSelector: CacheSelector, keyPrefix: string): DisposableTokenScope;
7
+ export declare function cacheKeyWriteOnly(cacheSelector: CacheSelector, key: string): DisposableTokenScope;
8
+ export declare function cacheKeyPrefixWriteOnly(cacheSelector: CacheSelector, keyPrefix: string): DisposableTokenScope;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.cacheKeyPrefixWriteOnly = exports.cacheKeyWriteOnly = exports.cacheKeyPrefixReadOnly = exports.cacheKeyReadOnly = exports.cacheKeyPrefixReadWrite = exports.cacheKeyReadWrite = void 0;
18
+ const token_scope_1 = require("./token-scope");
19
+ __exportStar(require("./token-scopes"), exports);
20
+ function cacheKeyReadWrite(cacheSelector, key) {
21
+ return {
22
+ permissions: [{ role: token_scope_1.CacheRole.ReadWrite, cache: cacheSelector, item: key }],
23
+ };
24
+ }
25
+ exports.cacheKeyReadWrite = cacheKeyReadWrite;
26
+ function cacheKeyPrefixReadWrite(cacheSelector, keyPrefix) {
27
+ return {
28
+ permissions: [
29
+ {
30
+ role: token_scope_1.CacheRole.ReadWrite,
31
+ cache: cacheSelector,
32
+ item: { keyPrefix: keyPrefix },
33
+ },
34
+ ],
35
+ };
36
+ }
37
+ exports.cacheKeyPrefixReadWrite = cacheKeyPrefixReadWrite;
38
+ function cacheKeyReadOnly(cacheSelector, key) {
39
+ return {
40
+ permissions: [{ role: token_scope_1.CacheRole.ReadOnly, cache: cacheSelector, item: key }],
41
+ };
42
+ }
43
+ exports.cacheKeyReadOnly = cacheKeyReadOnly;
44
+ function cacheKeyPrefixReadOnly(cacheSelector, keyPrefix) {
45
+ return {
46
+ permissions: [
47
+ {
48
+ role: token_scope_1.CacheRole.ReadOnly,
49
+ cache: cacheSelector,
50
+ item: { keyPrefix: keyPrefix },
51
+ },
52
+ ],
53
+ };
54
+ }
55
+ exports.cacheKeyPrefixReadOnly = cacheKeyPrefixReadOnly;
56
+ function cacheKeyWriteOnly(cacheSelector, key) {
57
+ return {
58
+ permissions: [{ role: token_scope_1.CacheRole.WriteOnly, cache: cacheSelector, item: key }],
59
+ };
60
+ }
61
+ exports.cacheKeyWriteOnly = cacheKeyWriteOnly;
62
+ function cacheKeyPrefixWriteOnly(cacheSelector, keyPrefix) {
63
+ return {
64
+ permissions: [
65
+ {
66
+ role: token_scope_1.CacheRole.WriteOnly,
67
+ cache: cacheSelector,
68
+ item: { keyPrefix: keyPrefix },
69
+ },
70
+ ],
71
+ };
72
+ }
73
+ exports.cacheKeyPrefixWriteOnly = cacheKeyPrefixWriteOnly;
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS10b2tlbi1zY29wZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNkU7QUFFN0UsaURBQStCO0FBRS9CLFNBQWdCLGlCQUFpQixDQUMvQixhQUE0QixFQUM1QixHQUFXO0lBRVgsT0FBTztRQUNMLFdBQVcsRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFFLHVCQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBUEQsOENBT0M7QUFFRCxTQUFnQix1QkFBdUIsQ0FDckMsYUFBNEIsRUFDNUIsU0FBaUI7SUFFakIsT0FBTztRQUNMLFdBQVcsRUFBRTtZQUNYO2dCQUNFLElBQUksRUFBRSx1QkFBUyxDQUFDLFNBQVM7Z0JBQ3pCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDO2FBQzdCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQWJELDBEQWFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLGFBQTRCLEVBQzVCLEdBQVc7SUFFWCxPQUFPO1FBQ0wsV0FBVyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsdUJBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7S0FDM0UsQ0FBQztBQUNKLENBQUM7QUFQRCw0Q0FPQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxhQUE0QixFQUM1QixTQUFpQjtJQUVqQixPQUFPO1FBQ0wsV0FBVyxFQUFFO1lBQ1g7Z0JBQ0UsSUFBSSxFQUFFLHVCQUFTLENBQUMsUUFBUTtnQkFDeEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUM7YUFDN0I7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBYkQsd0RBYUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsYUFBNEIsRUFDNUIsR0FBVztJQUVYLE9BQU87UUFDTCxXQUFXLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBRSx1QkFBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztLQUM1RSxDQUFDO0FBQ0osQ0FBQztBQVBELDhDQU9DO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLGFBQTRCLEVBQzVCLFNBQWlCO0lBRWpCLE9BQU87UUFDTCxXQUFXLEVBQUU7WUFDWDtnQkFDRSxJQUFJLEVBQUUsdUJBQVMsQ0FBQyxTQUFTO2dCQUN6QixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsSUFBSSxFQUFFLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQzthQUM3QjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFiRCwwREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FjaGVSb2xlLCBDYWNoZVNlbGVjdG9yLCBEaXNwb3NhYmxlVG9rZW5TY29wZX0gZnJvbSAnLi90b2tlbi1zY29wZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4tc2NvcGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5UmVhZFdyaXRlKFxuICBjYWNoZVNlbGVjdG9yOiBDYWNoZVNlbGVjdG9yLFxuICBrZXk6IHN0cmluZ1xuKTogRGlzcG9zYWJsZVRva2VuU2NvcGUge1xuICByZXR1cm4ge1xuICAgIHBlcm1pc3Npb25zOiBbe3JvbGU6IENhY2hlUm9sZS5SZWFkV3JpdGUsIGNhY2hlOiBjYWNoZVNlbGVjdG9yLCBpdGVtOiBrZXl9XSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5UHJlZml4UmVhZFdyaXRlKFxuICBjYWNoZVNlbGVjdG9yOiBDYWNoZVNlbGVjdG9yLFxuICBrZXlQcmVmaXg6IHN0cmluZ1xuKTogRGlzcG9zYWJsZVRva2VuU2NvcGUge1xuICByZXR1cm4ge1xuICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICB7XG4gICAgICAgIHJvbGU6IENhY2hlUm9sZS5SZWFkV3JpdGUsXG4gICAgICAgIGNhY2hlOiBjYWNoZVNlbGVjdG9yLFxuICAgICAgICBpdGVtOiB7a2V5UHJlZml4OiBrZXlQcmVmaXh9LFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FjaGVLZXlSZWFkT25seShcbiAgY2FjaGVTZWxlY3RvcjogQ2FjaGVTZWxlY3RvcixcbiAga2V5OiBzdHJpbmdcbik6IERpc3Bvc2FibGVUb2tlblNjb3BlIHtcbiAgcmV0dXJuIHtcbiAgICBwZXJtaXNzaW9uczogW3tyb2xlOiBDYWNoZVJvbGUuUmVhZE9ubHksIGNhY2hlOiBjYWNoZVNlbGVjdG9yLCBpdGVtOiBrZXl9XSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5UHJlZml4UmVhZE9ubHkoXG4gIGNhY2hlU2VsZWN0b3I6IENhY2hlU2VsZWN0b3IsXG4gIGtleVByZWZpeDogc3RyaW5nXG4pOiBEaXNwb3NhYmxlVG9rZW5TY29wZSB7XG4gIHJldHVybiB7XG4gICAgcGVybWlzc2lvbnM6IFtcbiAgICAgIHtcbiAgICAgICAgcm9sZTogQ2FjaGVSb2xlLlJlYWRPbmx5LFxuICAgICAgICBjYWNoZTogY2FjaGVTZWxlY3RvcixcbiAgICAgICAgaXRlbToge2tleVByZWZpeDoga2V5UHJlZml4fSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5V3JpdGVPbmx5KFxuICBjYWNoZVNlbGVjdG9yOiBDYWNoZVNlbGVjdG9yLFxuICBrZXk6IHN0cmluZ1xuKTogRGlzcG9zYWJsZVRva2VuU2NvcGUge1xuICByZXR1cm4ge1xuICAgIHBlcm1pc3Npb25zOiBbe3JvbGU6IENhY2hlUm9sZS5Xcml0ZU9ubHksIGNhY2hlOiBjYWNoZVNlbGVjdG9yLCBpdGVtOiBrZXl9XSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5UHJlZml4V3JpdGVPbmx5KFxuICBjYWNoZVNlbGVjdG9yOiBDYWNoZVNlbGVjdG9yLFxuICBrZXlQcmVmaXg6IHN0cmluZ1xuKTogRGlzcG9zYWJsZVRva2VuU2NvcGUge1xuICByZXR1cm4ge1xuICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICB7XG4gICAgICAgIHJvbGU6IENhY2hlUm9sZS5Xcml0ZU9ubHksXG4gICAgICAgIGNhY2hlOiBjYWNoZVNlbGVjdG9yLFxuICAgICAgICBpdGVtOiB7a2V5UHJlZml4OiBrZXlQcmVmaXh9LFxuICAgICAgfSxcbiAgICBdLFxuICB9O1xufVxuIl19
@@ -3,15 +3,14 @@ export declare enum CacheRole {
3
3
  ReadOnly = "readonly",
4
4
  WriteOnly = "writeonly"
5
5
  }
6
- declare class All {
7
- }
8
- export declare const AllCaches: All;
9
- export declare const AllTopics: All;
6
+ export declare const AllCaches: unique symbol;
7
+ export declare const AllTopics: unique symbol;
8
+ export declare const AllCacheItems: unique symbol;
10
9
  export interface CacheName {
11
10
  name: string;
12
11
  }
13
- export declare function isCacheName(cache: CacheName | All): cache is CacheName;
14
- export type CacheSelector = All | CacheName | string;
12
+ export declare function isCacheName(cache: CacheName | typeof AllCaches): cache is CacheName;
13
+ export type CacheSelector = typeof AllCaches | CacheName | string;
15
14
  export interface CachePermission {
16
15
  role: CacheRole;
17
16
  /**
@@ -29,8 +28,8 @@ export declare enum TopicRole {
29
28
  export interface TopicName {
30
29
  name: string;
31
30
  }
32
- export declare function isTopicName(topic: TopicName | All): topic is TopicName;
33
- export type TopicSelector = All | TopicName | string;
31
+ export declare function isTopicName(topic: TopicName | typeof AllTopics): topic is TopicName;
32
+ export type TopicSelector = typeof AllTopics | TopicName | string;
34
33
  export interface TopicPermission {
35
34
  role: TopicRole;
36
35
  /**
@@ -54,4 +53,26 @@ export declare function asPermissionsObject(scope: TokenScope): Permissions;
54
53
  export declare abstract class PredefinedScope {
55
54
  }
56
55
  export type TokenScope = typeof AllDataReadWrite | Permissions | PredefinedScope;
57
- export {};
56
+ export interface CacheItemKey {
57
+ key: string;
58
+ }
59
+ export interface CacheItemKeyPrefix {
60
+ keyPrefix: string;
61
+ }
62
+ export declare function isCacheItemKey(cacheItem: CacheItemSelector): cacheItem is CacheItemKey;
63
+ export declare function isCacheItemKeyPrefix(cacheItem: CacheItemSelector): cacheItem is CacheItemKeyPrefix;
64
+ export type CacheItemSelector = typeof AllCacheItems | CacheItemKey | CacheItemKeyPrefix | string;
65
+ export interface DisposableTokenCachePermission extends CachePermission {
66
+ /**
67
+ * Scope the token permissions to select cache items
68
+ */
69
+ item: CacheItemSelector;
70
+ }
71
+ export declare function isDisposableTokenCachePermission(p: Permission): boolean;
72
+ export declare function asDisposableTokenCachePermission(p: Permission): DisposableTokenCachePermission;
73
+ export interface DisposableTokenCachePermissions {
74
+ permissions: Array<DisposableTokenCachePermission>;
75
+ }
76
+ export type DisposableTokenScope = Permissions | PredefinedScope | DisposableTokenCachePermissions;
77
+ export declare function isDisposableTokenPermissionsObject(scope: DisposableTokenScope): boolean;
78
+ export declare function asDisposableTokenPermissionsObject(scope: DisposableTokenScope): DisposableTokenCachePermissions;
@@ -1,17 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PredefinedScope = exports.asPermissionsObject = exports.isPermissionsObject = exports.AllDataReadWrite = exports.asTopicPermission = exports.isTopicPermission = exports.isTopicName = exports.TopicRole = exports.asCachePermission = exports.isCachePermission = exports.isCacheName = exports.AllTopics = exports.AllCaches = exports.CacheRole = void 0;
3
+ exports.asDisposableTokenPermissionsObject = exports.isDisposableTokenPermissionsObject = exports.asDisposableTokenCachePermission = exports.isDisposableTokenCachePermission = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = exports.PredefinedScope = exports.asPermissionsObject = exports.isPermissionsObject = exports.AllDataReadWrite = exports.asTopicPermission = exports.isTopicPermission = exports.isTopicName = exports.TopicRole = exports.asCachePermission = exports.isCachePermission = exports.isCacheName = exports.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.CacheRole = void 0;
4
4
  var CacheRole;
5
5
  (function (CacheRole) {
6
6
  CacheRole["ReadWrite"] = "readwrite";
7
7
  CacheRole["ReadOnly"] = "readonly";
8
8
  CacheRole["WriteOnly"] = "writeonly";
9
9
  })(CacheRole = exports.CacheRole || (exports.CacheRole = {}));
10
- class All {
11
- }
12
- exports.AllCaches = new All();
13
- exports.AllTopics = new All();
10
+ exports.AllCaches = Symbol();
11
+ exports.AllTopics = Symbol();
12
+ exports.AllCacheItems = Symbol();
14
13
  function isCacheName(cache) {
14
+ if (cache === exports.AllCaches) {
15
+ return false;
16
+ }
15
17
  return 'name' in cache;
16
18
  }
17
19
  exports.isCacheName = isCacheName;
@@ -33,6 +35,9 @@ var TopicRole;
33
35
  TopicRole["PublishOnly"] = "publishonly";
34
36
  })(TopicRole = exports.TopicRole || (exports.TopicRole = {}));
35
37
  function isTopicName(topic) {
38
+ if (topic === exports.AllTopics) {
39
+ return false;
40
+ }
36
41
  return 'name' in topic;
37
42
  }
38
43
  exports.isTopicName = isTopicName;
@@ -74,4 +79,54 @@ exports.asPermissionsObject = asPermissionsObject;
74
79
  class PredefinedScope {
75
80
  }
76
81
  exports.PredefinedScope = PredefinedScope;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC90b2tlbnMvdG9rZW4tc2NvcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQUVELE1BQU0sR0FBRztDQUFHO0FBQ0MsUUFBQSxTQUFTLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztBQUN0QixRQUFBLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO0FBS25DLFNBQWdCLFdBQVcsQ0FBQyxLQUFzQjtJQUNoRCxPQUFPLE1BQU0sSUFBSSxLQUFLLENBQUM7QUFDekIsQ0FBQztBQUZELGtDQUVDO0FBV0QsU0FBZ0IsaUJBQWlCLENBQUMsQ0FBYTtJQUM3QyxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFGRCw4Q0FFQztBQUVELFNBQWdCLGlCQUFpQixDQUFDLENBQWE7SUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLE1BQU0sSUFBSSxLQUFLLENBQ2IsK0NBQStDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDbkUsQ0FBQztLQUNIO0lBQ0QsT0FBTyxDQUFvQixDQUFDO0FBQzlCLENBQUM7QUFQRCw4Q0FPQztBQUVELElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQixrREFBcUMsQ0FBQTtJQUNyQyw0Q0FBK0IsQ0FBQTtJQUMvQix3Q0FBMkIsQ0FBQTtBQUM3QixDQUFDLEVBSlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFJcEI7QUFLRCxTQUFnQixXQUFXLENBQUMsS0FBc0I7SUFDaEQsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFGRCxrQ0FFQztBQWVELFNBQWdCLGlCQUFpQixDQUFDLENBQWE7SUFDN0MsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhO0lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25FLENBQUM7S0FDSDtJQUNELE9BQU8sQ0FBb0IsQ0FBQztBQUM5QixDQUFDO0FBUEQsOENBT0M7QUFRWSxRQUFBLGdCQUFnQixHQUFnQjtJQUMzQyxXQUFXLEVBQUU7UUFDWCxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBUyxFQUFDO1FBQzdDLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsaUJBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQVMsRUFBQztLQUN2RTtDQUNGLENBQUM7QUFFRixTQUFTLGtCQUFrQixDQUFDLENBQWE7SUFDdkMsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBaUI7SUFDbkQsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3RDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQU5ELGtEQU1DO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBaUI7SUFDbkQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsNENBQTRDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDcEUsQ0FBQztLQUNIO0lBQ0QsT0FBTyxLQUFvQixDQUFDO0FBQzlCLENBQUM7QUFQRCxrREFPQztBQUVELE1BQXNCLGVBQWU7Q0FBRztBQUF4QywwQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDYWNoZVJvbGUge1xuICBSZWFkV3JpdGUgPSAncmVhZHdyaXRlJyxcbiAgUmVhZE9ubHkgPSAncmVhZG9ubHknLFxuICBXcml0ZU9ubHkgPSAnd3JpdGVvbmx5Jyxcbn1cblxuY2xhc3MgQWxsIHt9XG5leHBvcnQgY29uc3QgQWxsQ2FjaGVzID0gbmV3IEFsbCgpO1xuZXhwb3J0IGNvbnN0IEFsbFRvcGljcyA9IG5ldyBBbGwoKTtcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZU5hbWUge1xuICBuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDYWNoZU5hbWUoY2FjaGU6IENhY2hlTmFtZSB8IEFsbCk6IGNhY2hlIGlzIENhY2hlTmFtZSB7XG4gIHJldHVybiAnbmFtZScgaW4gY2FjaGU7XG59XG5leHBvcnQgdHlwZSBDYWNoZVNlbGVjdG9yID0gQWxsIHwgQ2FjaGVOYW1lIHwgc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlUGVybWlzc2lvbiB7XG4gIHJvbGU6IENhY2hlUm9sZTtcbiAgLyoqXG4gICAqIFNjb3BlIHRoZSB0b2tlbiBwZXJtaXNzaW9ucyB0byBzZWxlY3QgY2FjaGVzXG4gICAqL1xuICBjYWNoZTogQ2FjaGVTZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FjaGVQZXJtaXNzaW9uKHA6IFBlcm1pc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuICdyb2xlJyBpbiBwICYmICdjYWNoZScgaW4gcCAmJiAhKCd0b3BpYycgaW4gcCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc0NhY2hlUGVybWlzc2lvbihwOiBQZXJtaXNzaW9uKTogQ2FjaGVQZXJtaXNzaW9uIHtcbiAgaWYgKCFpc0NhY2hlUGVybWlzc2lvbihwKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBwZXJtaXNzaW9uIGlzIG5vdCBhIENhY2hlUGVybWlzc2lvbiBvYmplY3Q6ICR7SlNPTi5zdHJpbmdpZnkocCl9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHAgYXMgQ2FjaGVQZXJtaXNzaW9uO1xufVxuXG5leHBvcnQgZW51bSBUb3BpY1JvbGUge1xuICBQdWJsaXNoU3Vic2NyaWJlID0gJ3B1Ymxpc2hzdWJzY3JpYmUnLFxuICBTdWJzY3JpYmVPbmx5ID0gJ3N1YnNjcmliZW9ubHknLFxuICBQdWJsaXNoT25seSA9ICdwdWJsaXNob25seScsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9waWNOYW1lIHtcbiAgbmFtZTogc3RyaW5nO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGlzVG9waWNOYW1lKHRvcGljOiBUb3BpY05hbWUgfCBBbGwpOiB0b3BpYyBpcyBUb3BpY05hbWUge1xuICByZXR1cm4gJ25hbWUnIGluIHRvcGljO1xufVxuZXhwb3J0IHR5cGUgVG9waWNTZWxlY3RvciA9IEFsbCB8IFRvcGljTmFtZSB8IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBUb3BpY1Blcm1pc3Npb24ge1xuICByb2xlOiBUb3BpY1JvbGU7XG4gIC8qKlxuICAgKiBTY29wZSB0aGUgdG9rZW4gcGVybWlzc2lvbnMgdG8gc2VsZWN0IGNhY2hlc1xuICAgKi9cbiAgY2FjaGU6IENhY2hlU2VsZWN0b3I7XG4gIC8qKlxuICAgKiBTY29wZSB0aGUgdG9rZW4gcGVybWlzc2lvbnMgdG8gc2VsZWN0IHRvcGljc1xuICAgKi9cbiAgdG9waWM6IFRvcGljU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RvcGljUGVybWlzc2lvbihwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAncm9sZScgaW4gcCAmJiAnY2FjaGUnIGluIHAgJiYgJ3RvcGljJyBpbiBwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNUb3BpY1Blcm1pc3Npb24ocDogUGVybWlzc2lvbik6IFRvcGljUGVybWlzc2lvbiB7XG4gIGlmICghaXNUb3BpY1Blcm1pc3Npb24ocCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgcGVybWlzc2lvbiBpcyBub3QgYSBUb3BpY1Blcm1pc3Npb24gb2JqZWN0OiAke0pTT04uc3RyaW5naWZ5KHApfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBwIGFzIFRvcGljUGVybWlzc2lvbjtcbn1cblxuZXhwb3J0IHR5cGUgUGVybWlzc2lvbiA9IENhY2hlUGVybWlzc2lvbiB8IFRvcGljUGVybWlzc2lvbjtcblxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9ucyB7XG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcbn1cblxuZXhwb3J0IGNvbnN0IEFsbERhdGFSZWFkV3JpdGU6IFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogW1xuICAgIHtyb2xlOiBDYWNoZVJvbGUuUmVhZFdyaXRlLCBjYWNoZTogQWxsQ2FjaGVzfSxcbiAgICB7cm9sZTogVG9waWNSb2xlLlB1Ymxpc2hTdWJzY3JpYmUsIGNhY2hlOiBBbGxDYWNoZXMsIHRvcGljOiBBbGxUb3BpY3N9LFxuICBdLFxufTtcblxuZnVuY3Rpb24gaXNQZXJtaXNzaW9uT2JqZWN0KHA6IFBlcm1pc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQ2FjaGVQZXJtaXNzaW9uKHApIHx8IGlzVG9waWNQZXJtaXNzaW9uKHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQZXJtaXNzaW9uc09iamVjdChzY29wZTogVG9rZW5TY29wZSk6IGJvb2xlYW4ge1xuICBpZiAoISgncGVybWlzc2lvbnMnIGluIHNjb3BlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHNjb3BlLnBlcm1pc3Npb25zO1xuICByZXR1cm4gcGVybWlzc2lvbnMuZXZlcnkocCA9PiBpc1Blcm1pc3Npb25PYmplY3QocCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNQZXJtaXNzaW9uc09iamVjdChzY29wZTogVG9rZW5TY29wZSk6IFBlcm1pc3Npb25zIHtcbiAgaWYgKCFpc1Blcm1pc3Npb25zT2JqZWN0KHNjb3BlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUb2tlbiBzY29wZSBpcyBub3QgYSBQZXJtaXNzaW9ucyBvYmplY3Q6ICR7SlNPTi5zdHJpbmdpZnkoc2NvcGUpfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBzY29wZSBhcyBQZXJtaXNzaW9ucztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFByZWRlZmluZWRTY29wZSB7fVxuXG5leHBvcnQgdHlwZSBUb2tlblNjb3BlID1cbiAgfCB0eXBlb2YgQWxsRGF0YVJlYWRXcml0ZVxuICB8IFBlcm1pc3Npb25zXG4gIHwgUHJlZGVmaW5lZFNjb3BlO1xuIl19
82
+ function isCacheItemKey(cacheItem) {
83
+ if (cacheItem === exports.AllCacheItems) {
84
+ return false;
85
+ }
86
+ if (typeof cacheItem === 'string') {
87
+ return true;
88
+ }
89
+ return 'key' in cacheItem;
90
+ }
91
+ exports.isCacheItemKey = isCacheItemKey;
92
+ function isCacheItemKeyPrefix(cacheItem) {
93
+ if (cacheItem === exports.AllCacheItems) {
94
+ return false;
95
+ }
96
+ if (typeof cacheItem === 'string') {
97
+ return false;
98
+ }
99
+ return 'keyPrefix' in cacheItem;
100
+ }
101
+ exports.isCacheItemKeyPrefix = isCacheItemKeyPrefix;
102
+ function isDisposableTokenCachePermission(p) {
103
+ return 'role' in p && 'cache' in p && 'item' in p && !('topic' in p);
104
+ }
105
+ exports.isDisposableTokenCachePermission = isDisposableTokenCachePermission;
106
+ function asDisposableTokenCachePermission(p) {
107
+ if (!isDisposableTokenCachePermission(p)) {
108
+ throw new Error(`permission is not a DisposableTokenCachePermission object: ${JSON.stringify(p)}`);
109
+ }
110
+ return p;
111
+ }
112
+ exports.asDisposableTokenCachePermission = asDisposableTokenCachePermission;
113
+ function isDisposableTokenPermissionObject(p) {
114
+ return isDisposableTokenCachePermission(p);
115
+ }
116
+ function isDisposableTokenPermissionsObject(scope) {
117
+ if (!('permissions' in scope)) {
118
+ return false;
119
+ }
120
+ const permissions = scope.permissions;
121
+ return permissions.every(p => isDisposableTokenPermissionObject(p));
122
+ }
123
+ exports.isDisposableTokenPermissionsObject = isDisposableTokenPermissionsObject;
124
+ function asDisposableTokenPermissionsObject(scope) {
125
+ console.log(`AS_DISPOSABLE_TOKEN_PERMISSIONS_OBJECT: ${JSON.stringify(scope)}`);
126
+ if (!isDisposableTokenPermissionsObject(scope)) {
127
+ throw new Error(`Token scope is not a DisposableTokenCachePermissions object: ${JSON.stringify(scope)}`);
128
+ }
129
+ return scope;
130
+ }
131
+ exports.asDisposableTokenPermissionsObject = asDisposableTokenPermissionsObject;
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc2NvcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC90b2tlbnMvdG9rZW4tc2NvcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLG9DQUF1QixDQUFBO0lBQ3ZCLGtDQUFxQixDQUFBO0lBQ3JCLG9DQUF1QixDQUFBO0FBQ3pCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQUVZLFFBQUEsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3JCLFFBQUEsU0FBUyxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3JCLFFBQUEsYUFBYSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBS3RDLFNBQWdCLFdBQVcsQ0FDekIsS0FBbUM7SUFFbkMsSUFBSSxLQUFLLEtBQUssaUJBQVMsRUFBRTtRQUN2QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFQRCxrQ0FPQztBQVdELFNBQWdCLGlCQUFpQixDQUFDLENBQWE7SUFDN0MsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhO0lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25FLENBQUM7S0FDSDtJQUNELE9BQU8sQ0FBb0IsQ0FBQztBQUM5QixDQUFDO0FBUEQsOENBT0M7QUFFRCxJQUFZLFNBSVg7QUFKRCxXQUFZLFNBQVM7SUFDbkIsa0RBQXFDLENBQUE7SUFD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cG9ydCBlbnVtIENhY2hlUm9sZSB7XG4gIFJlYWRXcml0ZSA9ICdyZWFkd3JpdGUnLFxuICBSZWFkT25seSA9ICdyZWFkb25seScsXG4gIFdyaXRlT25seSA9ICd3cml0ZW9ubHknLFxufVxuXG5leHBvcnQgY29uc3QgQWxsQ2FjaGVzID0gU3ltYm9sKCk7XG5leHBvcnQgY29uc3QgQWxsVG9waWNzID0gU3ltYm9sKCk7XG5leHBvcnQgY29uc3QgQWxsQ2FjaGVJdGVtcyA9IFN5bWJvbCgpO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlTmFtZSB7XG4gIG5hbWU6IHN0cmluZztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc0NhY2hlTmFtZShcbiAgY2FjaGU6IENhY2hlTmFtZSB8IHR5cGVvZiBBbGxDYWNoZXNcbik6IGNhY2hlIGlzIENhY2hlTmFtZSB7XG4gIGlmIChjYWNoZSA9PT0gQWxsQ2FjaGVzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAnbmFtZScgaW4gY2FjaGU7XG59XG5leHBvcnQgdHlwZSBDYWNoZVNlbGVjdG9yID0gdHlwZW9mIEFsbENhY2hlcyB8IENhY2hlTmFtZSB8IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZVBlcm1pc3Npb24ge1xuICByb2xlOiBDYWNoZVJvbGU7XG4gIC8qKlxuICAgKiBTY29wZSB0aGUgdG9rZW4gcGVybWlzc2lvbnMgdG8gc2VsZWN0IGNhY2hlc1xuICAgKi9cbiAgY2FjaGU6IENhY2hlU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NhY2hlUGVybWlzc2lvbihwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAncm9sZScgaW4gcCAmJiAnY2FjaGUnIGluIHAgJiYgISgndG9waWMnIGluIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNDYWNoZVBlcm1pc3Npb24ocDogUGVybWlzc2lvbik6IENhY2hlUGVybWlzc2lvbiB7XG4gIGlmICghaXNDYWNoZVBlcm1pc3Npb24ocCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgcGVybWlzc2lvbiBpcyBub3QgYSBDYWNoZVBlcm1pc3Npb24gb2JqZWN0OiAke0pTT04uc3RyaW5naWZ5KHApfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBwIGFzIENhY2hlUGVybWlzc2lvbjtcbn1cblxuZXhwb3J0IGVudW0gVG9waWNSb2xlIHtcbiAgUHVibGlzaFN1YnNjcmliZSA9ICdwdWJsaXNoc3Vic2NyaWJlJyxcbiAgU3Vic2NyaWJlT25seSA9ICdzdWJzY3JpYmVvbmx5JyxcbiAgUHVibGlzaE9ubHkgPSAncHVibGlzaG9ubHknLFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvcGljTmFtZSB7XG4gIG5hbWU6IHN0cmluZztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1RvcGljTmFtZShcbiAgdG9waWM6IFRvcGljTmFtZSB8IHR5cGVvZiBBbGxUb3BpY3Ncbik6IHRvcGljIGlzIFRvcGljTmFtZSB7XG4gIGlmICh0b3BpYyA9PT0gQWxsVG9waWNzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAnbmFtZScgaW4gdG9waWM7XG59XG5leHBvcnQgdHlwZSBUb3BpY1NlbGVjdG9yID0gdHlwZW9mIEFsbFRvcGljcyB8IFRvcGljTmFtZSB8IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBUb3BpY1Blcm1pc3Npb24ge1xuICByb2xlOiBUb3BpY1JvbGU7XG4gIC8qKlxuICAgKiBTY29wZSB0aGUgdG9rZW4gcGVybWlzc2lvbnMgdG8gc2VsZWN0IGNhY2hlc1xuICAgKi9cbiAgY2FjaGU6IENhY2hlU2VsZWN0b3I7XG4gIC8qKlxuICAgKiBTY29wZSB0aGUgdG9rZW4gcGVybWlzc2lvbnMgdG8gc2VsZWN0IHRvcGljc1xuICAgKi9cbiAgdG9waWM6IFRvcGljU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1RvcGljUGVybWlzc2lvbihwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAncm9sZScgaW4gcCAmJiAnY2FjaGUnIGluIHAgJiYgJ3RvcGljJyBpbiBwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNUb3BpY1Blcm1pc3Npb24ocDogUGVybWlzc2lvbik6IFRvcGljUGVybWlzc2lvbiB7XG4gIGlmICghaXNUb3BpY1Blcm1pc3Npb24ocCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgcGVybWlzc2lvbiBpcyBub3QgYSBUb3BpY1Blcm1pc3Npb24gb2JqZWN0OiAke0pTT04uc3RyaW5naWZ5KHApfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBwIGFzIFRvcGljUGVybWlzc2lvbjtcbn1cblxuZXhwb3J0IHR5cGUgUGVybWlzc2lvbiA9IENhY2hlUGVybWlzc2lvbiB8IFRvcGljUGVybWlzc2lvbjtcblxuZXhwb3J0IGludGVyZmFjZSBQZXJtaXNzaW9ucyB7XG4gIHBlcm1pc3Npb25zOiBBcnJheTxQZXJtaXNzaW9uPjtcbn1cblxuZXhwb3J0IGNvbnN0IEFsbERhdGFSZWFkV3JpdGU6IFBlcm1pc3Npb25zID0ge1xuICBwZXJtaXNzaW9uczogW1xuICAgIHtyb2xlOiBDYWNoZVJvbGUuUmVhZFdyaXRlLCBjYWNoZTogQWxsQ2FjaGVzfSxcbiAgICB7cm9sZTogVG9waWNSb2xlLlB1Ymxpc2hTdWJzY3JpYmUsIGNhY2hlOiBBbGxDYWNoZXMsIHRvcGljOiBBbGxUb3BpY3N9LFxuICBdLFxufTtcblxuZnVuY3Rpb24gaXNQZXJtaXNzaW9uT2JqZWN0KHA6IFBlcm1pc3Npb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQ2FjaGVQZXJtaXNzaW9uKHApIHx8IGlzVG9waWNQZXJtaXNzaW9uKHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNQZXJtaXNzaW9uc09iamVjdChzY29wZTogVG9rZW5TY29wZSk6IGJvb2xlYW4ge1xuICBpZiAoISgncGVybWlzc2lvbnMnIGluIHNjb3BlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHNjb3BlLnBlcm1pc3Npb25zO1xuICByZXR1cm4gcGVybWlzc2lvbnMuZXZlcnkocCA9PiBpc1Blcm1pc3Npb25PYmplY3QocCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNQZXJtaXNzaW9uc09iamVjdChzY29wZTogVG9rZW5TY29wZSk6IFBlcm1pc3Npb25zIHtcbiAgaWYgKCFpc1Blcm1pc3Npb25zT2JqZWN0KHNjb3BlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUb2tlbiBzY29wZSBpcyBub3QgYSBQZXJtaXNzaW9ucyBvYmplY3Q6ICR7SlNPTi5zdHJpbmdpZnkoc2NvcGUpfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBzY29wZSBhcyBQZXJtaXNzaW9ucztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFByZWRlZmluZWRTY29wZSB7fVxuXG5leHBvcnQgdHlwZSBUb2tlblNjb3BlID1cbiAgfCB0eXBlb2YgQWxsRGF0YVJlYWRXcml0ZVxuICB8IFBlcm1pc3Npb25zXG4gIHwgUHJlZGVmaW5lZFNjb3BlO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlSXRlbUtleSB7XG4gIGtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENhY2hlSXRlbUtleVByZWZpeCB7XG4gIGtleVByZWZpeDogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDYWNoZUl0ZW1LZXkoXG4gIGNhY2hlSXRlbTogQ2FjaGVJdGVtU2VsZWN0b3Jcbik6IGNhY2hlSXRlbSBpcyBDYWNoZUl0ZW1LZXkge1xuICBpZiAoY2FjaGVJdGVtID09PSBBbGxDYWNoZUl0ZW1zKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlb2YgY2FjaGVJdGVtID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiAna2V5JyBpbiBjYWNoZUl0ZW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NhY2hlSXRlbUtleVByZWZpeChcbiAgY2FjaGVJdGVtOiBDYWNoZUl0ZW1TZWxlY3RvclxuKTogY2FjaGVJdGVtIGlzIENhY2hlSXRlbUtleVByZWZpeCB7XG4gIGlmIChjYWNoZUl0ZW0gPT09IEFsbENhY2hlSXRlbXMpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgaWYgKHR5cGVvZiBjYWNoZUl0ZW0gPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiAna2V5UHJlZml4JyBpbiBjYWNoZUl0ZW07XG59XG5cbmV4cG9ydCB0eXBlIENhY2hlSXRlbVNlbGVjdG9yID1cbiAgfCB0eXBlb2YgQWxsQ2FjaGVJdGVtc1xuICB8IENhY2hlSXRlbUtleVxuICB8IENhY2hlSXRlbUtleVByZWZpeFxuICB8IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24gZXh0ZW5kcyBDYWNoZVBlcm1pc3Npb24ge1xuICAvKipcbiAgICogU2NvcGUgdGhlIHRva2VuIHBlcm1pc3Npb25zIHRvIHNlbGVjdCBjYWNoZSBpdGVtc1xuICAgKi9cbiAgaXRlbTogQ2FjaGVJdGVtU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbihwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAncm9sZScgaW4gcCAmJiAnY2FjaGUnIGluIHAgJiYgJ2l0ZW0nIGluIHAgJiYgISgndG9waWMnIGluIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24oXG4gIHA6IFBlcm1pc3Npb25cbik6IERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbiB7XG4gIGlmICghaXNEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24ocCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgcGVybWlzc2lvbiBpcyBub3QgYSBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24gb2JqZWN0OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBwXG4gICAgICApfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBwIGFzIERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb25zIHtcbiAgcGVybWlzc2lvbnM6IEFycmF5PERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbj47XG59XG5cbmV4cG9ydCB0eXBlIERpc3Bvc2FibGVUb2tlblNjb3BlID1cbiAgfCBQZXJtaXNzaW9uc1xuICB8IFByZWRlZmluZWRTY29wZVxuICB8IERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbnM7XG5cbmZ1bmN0aW9uIGlzRGlzcG9zYWJsZVRva2VuUGVybWlzc2lvbk9iamVjdChwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0Rpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbihwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzcG9zYWJsZVRva2VuUGVybWlzc2lvbnNPYmplY3QoXG4gIHNjb3BlOiBEaXNwb3NhYmxlVG9rZW5TY29wZVxuKTogYm9vbGVhbiB7XG4gIGlmICghKCdwZXJtaXNzaW9ucycgaW4gc2NvcGUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGNvbnN0IHBlcm1pc3Npb25zID0gc2NvcGUucGVybWlzc2lvbnM7XG4gIHJldHVybiBwZXJtaXNzaW9ucy5ldmVyeShwID0+IGlzRGlzcG9zYWJsZVRva2VuUGVybWlzc2lvbk9iamVjdChwKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc0Rpc3Bvc2FibGVUb2tlblBlcm1pc3Npb25zT2JqZWN0KFxuICBzY29wZTogRGlzcG9zYWJsZVRva2VuU2NvcGVcbik6IERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbnMge1xuICBjb25zb2xlLmxvZyhcbiAgICBgQVNfRElTUE9TQUJMRV9UT0tFTl9QRVJNSVNTSU9OU19PQkpFQ1Q6ICR7SlNPTi5zdHJpbmdpZnkoc2NvcGUpfWBcbiAgKTtcbiAgaWYgKCFpc0Rpc3Bvc2FibGVUb2tlblBlcm1pc3Npb25zT2JqZWN0KHNjb3BlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBUb2tlbiBzY29wZSBpcyBub3QgYSBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb25zIG9iamVjdDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgc2NvcGVcbiAgICAgICl9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHNjb3BlIGFzIERpc3Bvc2FibGVUb2tlbkNhY2hlUGVybWlzc2lvbnM7XG59XG4iXX0=
@@ -1,6 +1,7 @@
1
- import { ExpiresIn, GenerateAuthToken, RefreshAuthToken } from '../index';
2
- import { TokenScope } from '../auth/tokens/token-scope';
1
+ import { ExpiresIn, GenerateAuthToken, GenerateDisposableToken, RefreshAuthToken } from '../index';
2
+ import { DisposableTokenScope, TokenScope } from '../auth/tokens/token-scope';
3
3
  export interface IAuthClient {
4
4
  generateAuthToken(scope: TokenScope, expiresIn: ExpiresIn): Promise<GenerateAuthToken.Response>;
5
5
  refreshAuthToken(refreshToken: string): Promise<RefreshAuthToken.Response>;
6
+ generateDisposableToken(scope: DisposableTokenScope, expiresIn: ExpiresIn): Promise<GenerateDisposableToken.Response>;
6
7
  }
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUF1dGhDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy9JQXV0aENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtFeHBpcmVzSW4sIEdlbmVyYXRlQXV0aFRva2VuLCBSZWZyZXNoQXV0aFRva2VufSBmcm9tICcuLi9pbmRleCc7XG5pbXBvcnQge1Rva2VuU2NvcGV9IGZyb20gJy4uL2F1dGgvdG9rZW5zL3Rva2VuLXNjb3BlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXV0aENsaWVudCB7XG4gIGdlbmVyYXRlQXV0aFRva2VuKFxuICAgIHNjb3BlOiBUb2tlblNjb3BlLFxuICAgIGV4cGlyZXNJbjogRXhwaXJlc0luXG4gICk6IFByb21pc2U8R2VuZXJhdGVBdXRoVG9rZW4uUmVzcG9uc2U+O1xuXG4gIHJlZnJlc2hBdXRoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBQcm9taXNlPFJlZnJlc2hBdXRoVG9rZW4uUmVzcG9uc2U+O1xufVxuIl19
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUF1dGhDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50cy9JQXV0aENsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRXhwaXJlc0luLFxuICBHZW5lcmF0ZUF1dGhUb2tlbixcbiAgR2VuZXJhdGVEaXNwb3NhYmxlVG9rZW4sXG4gIFJlZnJlc2hBdXRoVG9rZW4sXG59IGZyb20gJy4uL2luZGV4JztcbmltcG9ydCB7RGlzcG9zYWJsZVRva2VuU2NvcGUsIFRva2VuU2NvcGV9IGZyb20gJy4uL2F1dGgvdG9rZW5zL3Rva2VuLXNjb3BlJztcblxuZXhwb3J0IGludGVyZmFjZSBJQXV0aENsaWVudCB7XG4gIGdlbmVyYXRlQXV0aFRva2VuKFxuICAgIHNjb3BlOiBUb2tlblNjb3BlLFxuICAgIGV4cGlyZXNJbjogRXhwaXJlc0luXG4gICk6IFByb21pc2U8R2VuZXJhdGVBdXRoVG9rZW4uUmVzcG9uc2U+O1xuXG4gIHJlZnJlc2hBdXRoVG9rZW4ocmVmcmVzaFRva2VuOiBzdHJpbmcpOiBQcm9taXNlPFJlZnJlc2hBdXRoVG9rZW4uUmVzcG9uc2U+O1xuXG4gIGdlbmVyYXRlRGlzcG9zYWJsZVRva2VuKFxuICAgIHNjb3BlOiBEaXNwb3NhYmxlVG9rZW5TY29wZSxcbiAgICBleHBpcmVzSW46IEV4cGlyZXNJblxuICApOiBQcm9taXNlPEdlbmVyYXRlRGlzcG9zYWJsZVRva2VuLlJlc3BvbnNlPjtcbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { IVectorIndexControlClient } from '../internal/clients';
2
+ import { VectorAddItemBatch, VectorDeleteItemBatch, VectorSearch } from '../messages/responses/vector';
3
+ import { VectorIndexItem } from '../messages/vector-index';
4
+ export interface SearchOptions {
5
+ topK?: number;
6
+ metadataFields?: Array<string>;
7
+ }
8
+ export interface IVectorIndexClient extends IVectorIndexControlClient {
9
+ addItemBatch(indexName: string, items: Array<VectorIndexItem>): Promise<VectorAddItemBatch.Response>;
10
+ search(indexName: string, queryVector: Array<number>, options?: SearchOptions): Promise<VectorSearch.Response>;
11
+ deleteItemBatch(indexName: string, ids: Array<string>): Promise<VectorDeleteItemBatch.Response>;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSVZlY3RvckluZGV4Q2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudHMvSVZlY3RvckluZGV4Q2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0lWZWN0b3JJbmRleENvbnRyb2xDbGllbnR9IGZyb20gJy4uL2ludGVybmFsL2NsaWVudHMnO1xuaW1wb3J0IHtcbiAgVmVjdG9yQWRkSXRlbUJhdGNoLFxuICBWZWN0b3JEZWxldGVJdGVtQmF0Y2gsXG4gIFZlY3RvclNlYXJjaCxcbn0gZnJvbSAnLi4vbWVzc2FnZXMvcmVzcG9uc2VzL3ZlY3Rvcic7XG5pbXBvcnQge1ZlY3RvckluZGV4SXRlbX0gZnJvbSAnLi4vbWVzc2FnZXMvdmVjdG9yLWluZGV4JztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hPcHRpb25zIHtcbiAgdG9wSz86IG51bWJlcjtcbiAgbWV0YWRhdGFGaWVsZHM/OiBBcnJheTxzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElWZWN0b3JJbmRleENsaWVudCBleHRlbmRzIElWZWN0b3JJbmRleENvbnRyb2xDbGllbnQge1xuICBhZGRJdGVtQmF0Y2goXG4gICAgaW5kZXhOYW1lOiBzdHJpbmcsXG4gICAgaXRlbXM6IEFycmF5PFZlY3RvckluZGV4SXRlbT5cbiAgKTogUHJvbWlzZTxWZWN0b3JBZGRJdGVtQmF0Y2guUmVzcG9uc2U+O1xuXG4gIHNlYXJjaChcbiAgICBpbmRleE5hbWU6IHN0cmluZyxcbiAgICBxdWVyeVZlY3RvcjogQXJyYXk8bnVtYmVyPixcbiAgICBvcHRpb25zPzogU2VhcmNoT3B0aW9uc1xuICApOiBQcm9taXNlPFZlY3RvclNlYXJjaC5SZXNwb25zZT47XG5cbiAgZGVsZXRlSXRlbUJhdGNoKFxuICAgIGluZGV4TmFtZTogc3RyaW5nLFxuICAgIGlkczogQXJyYXk8c3RyaW5nPlxuICApOiBQcm9taXNlPFZlY3RvckRlbGV0ZUl0ZW1CYXRjaC5SZXNwb25zZT47XG59XG4iXX0=
@@ -57,13 +57,18 @@ import * as TopicSubscribe from './messages/responses/topic-subscribe';
57
57
  import { TopicItem } from './messages/responses/topic-item';
58
58
  import * as GenerateAuthToken from './messages/responses/generate-auth-token';
59
59
  import * as RefreshAuthToken from './messages/responses/refresh-auth-token';
60
+ import * as GenerateDisposableToken from './messages/responses/generate-disposable-token';
61
+ export * as vector from './messages/responses/vector';
62
+ export * from './messages/responses/vector';
60
63
  import { CacheInfo } from './messages/cache-info';
61
64
  import { SubscribeCallOptions, CollectionTtl, SortedSetOrder, ExpiresIn, ExpiresAt, ItemType } from './utils';
62
- import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider } from './auth/credential-provider';
65
+ import { CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider } from './auth';
63
66
  import { MomentoErrorCode, SdkError, AlreadyExistsError, AuthenticationError, CancelledError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, NotFoundError, UnknownError } from './errors';
64
67
  export { MomentoLogger, MomentoLoggerFactory, } from './config/logging/momento-logger';
65
68
  export { NoopMomentoLogger, NoopMomentoLoggerFactory, } from './config/logging/noop-momento-logger';
66
69
  export { ICacheClient, SetOptions, SetIfNotExistsOptions, IncrementOptions, } from './clients/ICacheClient';
67
- export { CacheRole, CachePermission, TopicRole, TopicPermission, Permission, Permissions, AllDataReadWrite, TokenScope, CacheName, isCacheName, TopicName, isTopicName, CacheSelector, TopicSelector, AllCaches, AllTopics, } from './auth/tokens/token-scope';
70
+ export { IVectorIndexClient, SearchOptions } from './clients/IVectorIndexClient';
71
+ export { CacheRole, CachePermission, TopicRole, TopicPermission, Permission, Permissions, AllDataReadWrite, TokenScope, DisposableTokenScope, CacheName, isCacheName, TopicName, isTopicName, CacheSelector, TopicSelector, CacheItemSelector, AllCaches, AllTopics, AllCacheItems, CacheItemKey, CacheItemKeyPrefix, isCacheItemKey, isCacheItemKeyPrefix, } from './auth/tokens/token-scope';
68
72
  export * as TokenScopes from './auth/tokens/token-scopes';
69
- export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, SortedSetOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, CacheGet, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CreateSigningKey, ListSigningKeys, RevokeSigningKey, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetRemoveElements, CacheSetRemoveElement, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, TopicPublish, TopicSubscribe, TopicItem, SubscribeCallOptions, GenerateAuthToken, RefreshAuthToken, MomentoErrorCode, SdkError, AlreadyExistsError, AuthenticationError, CancelledError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, NotFoundError, UnknownError, };
73
+ export * as DisposableTokenScopes from './auth/tokens/disposable-token-scopes';
74
+ export { ExpiresIn, ExpiresAt, CollectionTtl, ItemType, SortedSetOrder, CredentialProvider, StringMomentoTokenProvider, EnvMomentoTokenProvider, CacheGet, CacheListConcatenateBack, CacheListConcatenateFront, CacheListFetch, CacheListLength, CacheListPopBack, CacheListPopFront, CacheListPushBack, CacheListPushFront, CacheListRemoveValue, CacheListRetain, CacheSet, CacheSetIfNotExists, CacheDelete, CacheFlush, CreateCache, DeleteCache, ListCaches, CacheIncrement, CreateSigningKey, ListSigningKeys, RevokeSigningKey, CacheSetFetch, CacheDictionaryFetch, CacheDictionarySetField, CacheDictionarySetFields, CacheDictionaryGetField, CacheDictionaryGetFields, CacheDictionaryRemoveField, CacheDictionaryRemoveFields, CacheDictionaryIncrement, CacheDictionaryLength, CacheSetAddElements, CacheSetAddElement, CacheSetRemoveElements, CacheSetRemoveElement, CacheSortedSetPutElement, CacheSortedSetPutElements, CacheSortedSetFetch, CacheSortedSetGetRank, CacheSortedSetGetScore, CacheSortedSetGetScores, CacheSortedSetIncrementScore, CacheSortedSetRemoveElement, CacheSortedSetRemoveElements, CacheSortedSetLength, CacheSortedSetLengthByScore, CacheItemGetType, CacheItemGetTtl, CacheKeyExists, CacheKeysExist, CacheUpdateTtl, CacheIncreaseTtl, CacheDecreaseTtl, CacheInfo, TopicPublish, TopicSubscribe, TopicItem, SubscribeCallOptions, GenerateAuthToken, RefreshAuthToken, GenerateDisposableToken, MomentoErrorCode, SdkError, AlreadyExistsError, AuthenticationError, CancelledError, FailedPreconditionError, LimitExceededError, InternalServerError, InvalidArgumentError, UnknownServiceError, ServerUnavailableError, TimeoutError, BadRequestError, PermissionError, NotFoundError, UnknownError, };