@gomomento/sdk-core 1.36.0 → 1.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/auth/credential-provider.d.ts +16 -21
- package/dist/src/auth/credential-provider.js +52 -25
- package/dist/src/auth/tokens/disposable-token-scope.d.ts +24 -0
- package/dist/src/auth/tokens/disposable-token-scope.js +55 -0
- package/dist/src/auth/tokens/disposable-token-scopes.d.ts +3 -2
- package/dist/src/auth/tokens/disposable-token-scopes.js +9 -9
- package/dist/src/auth/tokens/{token-scope.d.ts → permission-scope.d.ts} +7 -26
- package/dist/src/auth/tokens/permission-scope.js +82 -0
- package/dist/src/auth/tokens/{token-scopes.d.ts → permission-scopes.d.ts} +7 -7
- package/dist/src/auth/tokens/permission-scopes.js +59 -0
- package/dist/src/clients/IAuthClient.d.ts +12 -4
- package/dist/src/clients/IAuthClient.js +1 -1
- package/dist/src/clients/IVectorIndexClient.d.ts +12 -0
- package/dist/src/clients/IVectorIndexClient.js +3 -0
- package/dist/src/index.d.ts +23 -5
- package/dist/src/index.js +27 -19
- package/dist/src/internal/clients/auth/AbstractAuthClient.d.ts +26 -18
- package/dist/src/internal/clients/auth/AbstractAuthClient.js +29 -17
- package/dist/src/internal/clients/vector/AbstractVectorIndexClient.d.ts +78 -0
- package/dist/src/internal/clients/vector/AbstractVectorIndexClient.js +91 -0
- package/dist/src/internal/clients/vector/{IVectorControlClient.d.ts → IVectorIndexControlClient.d.ts} +1 -1
- package/dist/src/internal/clients/vector/IVectorIndexControlClient.js +3 -0
- package/dist/src/internal/clients/vector/IVectorIndexDataClient.d.ts +8 -0
- package/dist/src/internal/clients/vector/IVectorIndexDataClient.js +3 -0
- package/dist/src/internal/clients/vector/index.d.ts +3 -3
- package/dist/src/internal/clients/vector/index.js +4 -4
- package/dist/src/internal/utils/auth.d.ts +9 -1
- package/dist/src/internal/utils/auth.js +17 -8
- package/dist/src/internal/utils/validators.d.ts +1 -0
- package/dist/src/internal/utils/validators.js +8 -2
- package/dist/src/messages/responses/{generate-auth-token.d.ts → generate-api-key.d.ts} +5 -1
- package/dist/src/messages/responses/generate-api-key.js +49 -0
- package/dist/src/messages/responses/{refresh-auth-token.d.ts → refresh-api-key.d.ts} +6 -1
- package/dist/src/messages/responses/refresh-api-key.js +50 -0
- package/dist/src/messages/responses/vector/create-vector-index.d.ts +4 -4
- package/dist/src/messages/responses/vector/create-vector-index.js +5 -5
- package/dist/src/messages/responses/vector/index.d.ts +3 -0
- package/dist/src/messages/responses/vector/index.js +5 -2
- package/dist/src/messages/responses/vector/vector-add-item-batch.d.ts +61 -0
- package/dist/src/messages/responses/vector/vector-add-item-batch.js +54 -0
- package/dist/src/messages/responses/vector/vector-delete-item-batch.d.ts +62 -0
- package/dist/src/messages/responses/vector/vector-delete-item-batch.js +55 -0
- package/dist/src/messages/responses/vector/vector-search.d.ts +70 -0
- package/dist/src/messages/responses/vector/vector-search.js +67 -0
- package/dist/src/messages/vector-index.d.ts +5 -0
- package/dist/src/messages/vector-index.js +3 -0
- package/package.json +1 -1
- package/dist/src/auth/tokens/token-scope.js +0 -132
- package/dist/src/auth/tokens/token-scopes.js +0 -59
- package/dist/src/clients/IVectorClient.d.ts +0 -3
- package/dist/src/clients/IVectorClient.js +0 -3
- package/dist/src/internal/clients/vector/AbstractVectorClient.d.ts +0 -35
- package/dist/src/internal/clients/vector/AbstractVectorClient.js +0 -44
- package/dist/src/internal/clients/vector/IVectorControlClient.js +0 -3
- package/dist/src/messages/responses/generate-auth-token.js +0 -43
- package/dist/src/messages/responses/refresh-auth-token.js +0 -43
@@ -1,15 +1,13 @@
|
|
1
|
+
import { AllEndpoints } from '../internal/utils';
|
2
|
+
export interface BaseEndpointOverride {
|
3
|
+
baseEndpoint: string;
|
4
|
+
}
|
5
|
+
export type EndpointOverrides = BaseEndpointOverride | AllEndpoints;
|
1
6
|
/**
|
2
7
|
* Encapsulates arguments for instantiating an EnvMomentoTokenProvider
|
3
8
|
*/
|
4
9
|
interface CredentialProviderProps {
|
5
|
-
|
6
|
-
* optionally overrides the default controlEndpoint
|
7
|
-
*/
|
8
|
-
controlEndpoint?: string;
|
9
|
-
/**
|
10
|
-
* optionally overrides the default cacheEndpoint
|
11
|
-
*/
|
12
|
-
cacheEndpoint?: string;
|
10
|
+
endpointOverrides?: EndpointOverrides;
|
13
11
|
}
|
14
12
|
/**
|
15
13
|
* Provides information that the CacheClient needs in order to establish a connection to and authenticate with
|
@@ -35,13 +33,13 @@ export declare abstract class CredentialProvider {
|
|
35
33
|
*/
|
36
34
|
abstract getTokenEndpoint(): string;
|
37
35
|
/**
|
38
|
-
* @returns {
|
36
|
+
* @returns {string} The host which the Momento client will connect to for Momento vector index operations
|
39
37
|
*/
|
40
|
-
abstract
|
38
|
+
abstract getVectorEndpoint(): string;
|
41
39
|
/**
|
42
|
-
* @returns {boolean} true if the
|
40
|
+
* @returns {boolean} true if the endpoints were manually overridden at construction time; false otherwise
|
43
41
|
*/
|
44
|
-
abstract
|
42
|
+
abstract areEndpointsOverridden(): boolean;
|
45
43
|
static fromEnvironmentVariable(props: EnvMomentoTokenProviderProps): CredentialProvider;
|
46
44
|
static fromString(props: StringMomentoTokenProviderProps): CredentialProvider;
|
47
45
|
}
|
@@ -50,8 +48,8 @@ declare abstract class CredentialProviderBase implements CredentialProvider {
|
|
50
48
|
abstract getCacheEndpoint(): string;
|
51
49
|
abstract getControlEndpoint(): string;
|
52
50
|
abstract getTokenEndpoint(): string;
|
53
|
-
abstract
|
54
|
-
abstract
|
51
|
+
abstract getVectorEndpoint(): string;
|
52
|
+
abstract areEndpointsOverridden(): boolean;
|
55
53
|
valueOf(): object;
|
56
54
|
}
|
57
55
|
export interface StringMomentoTokenProviderProps extends CredentialProviderProps {
|
@@ -67,11 +65,8 @@ export interface StringMomentoTokenProviderProps extends CredentialProviderProps
|
|
67
65
|
*/
|
68
66
|
export declare class StringMomentoTokenProvider extends CredentialProviderBase {
|
69
67
|
private readonly authToken;
|
70
|
-
private readonly
|
71
|
-
private readonly
|
72
|
-
private readonly tokenEndpoint;
|
73
|
-
private readonly controlEndpointOverridden;
|
74
|
-
private readonly cacheEndpointOverridden;
|
68
|
+
private readonly allEndpoints;
|
69
|
+
private readonly endpointsOverridden;
|
75
70
|
/**
|
76
71
|
* @param {StringMomentoTokenProviderProps} props configuration options for the token provider
|
77
72
|
*/
|
@@ -80,8 +75,8 @@ export declare class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
80
75
|
getCacheEndpoint(): string;
|
81
76
|
getControlEndpoint(): string;
|
82
77
|
getTokenEndpoint(): string;
|
83
|
-
|
84
|
-
|
78
|
+
getVectorEndpoint(): string;
|
79
|
+
areEndpointsOverridden(): boolean;
|
85
80
|
}
|
86
81
|
export interface EnvMomentoTokenProviderProps extends CredentialProviderProps {
|
87
82
|
/**
|
@@ -2,6 +2,16 @@
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.EnvMomentoTokenProvider = exports.StringMomentoTokenProvider = exports.CredentialProvider = void 0;
|
4
4
|
const utils_1 = require("../internal/utils");
|
5
|
+
function isBaseEndpointOverride(endpointOverrides) {
|
6
|
+
return endpointOverrides.baseEndpoint !== undefined;
|
7
|
+
}
|
8
|
+
function isAllEndpoints(endpointOverrides) {
|
9
|
+
const allEndpoints = endpointOverrides;
|
10
|
+
return (allEndpoints.cacheEndpoint !== undefined &&
|
11
|
+
allEndpoints.controlEndpoint !== undefined &&
|
12
|
+
allEndpoints.tokenEndpoint !== undefined &&
|
13
|
+
allEndpoints.vectorEndpoint !== undefined);
|
14
|
+
}
|
5
15
|
/**
|
6
16
|
* Provides information that the CacheClient needs in order to establish a connection to and authenticate with
|
7
17
|
* the Momento service.
|
@@ -35,41 +45,61 @@ class StringMomentoTokenProvider extends CredentialProviderBase {
|
|
35
45
|
* @param {StringMomentoTokenProviderProps} props configuration options for the token provider
|
36
46
|
*/
|
37
47
|
constructor(props) {
|
38
|
-
var _a, _b;
|
39
48
|
super();
|
40
49
|
const decodedToken = (0, utils_1.decodeAuthToken)(props.authToken);
|
41
50
|
this.authToken = decodedToken.authToken;
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
51
|
+
if (props.endpointOverrides === undefined) {
|
52
|
+
this.endpointsOverridden = false;
|
53
|
+
if (decodedToken.controlEndpoint === undefined) {
|
54
|
+
throw new Error('Malformed token; unable to determine control endpoint. Depending on the type of token you are using, you may need to specify the controlEndpoint explicitly.');
|
55
|
+
}
|
56
|
+
if (decodedToken.cacheEndpoint === undefined) {
|
57
|
+
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.');
|
58
|
+
}
|
59
|
+
if (decodedToken.tokenEndpoint === undefined) {
|
60
|
+
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.');
|
61
|
+
}
|
62
|
+
if (decodedToken.vectorEndpoint === undefined) {
|
63
|
+
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.');
|
64
|
+
}
|
65
|
+
this.allEndpoints = {
|
66
|
+
controlEndpoint: decodedToken.controlEndpoint,
|
67
|
+
cacheEndpoint: decodedToken.cacheEndpoint,
|
68
|
+
tokenEndpoint: decodedToken.tokenEndpoint,
|
69
|
+
vectorEndpoint: decodedToken.vectorEndpoint,
|
70
|
+
};
|
71
|
+
}
|
72
|
+
else if (isAllEndpoints(props.endpointOverrides)) {
|
73
|
+
this.endpointsOverridden = true;
|
74
|
+
this.allEndpoints = props.endpointOverrides;
|
75
|
+
}
|
76
|
+
else if (isBaseEndpointOverride(props.endpointOverrides)) {
|
77
|
+
this.endpointsOverridden = true;
|
78
|
+
this.allEndpoints = (0, utils_1.populateAllEndpointsFromBaseEndpoint)(props.endpointOverrides.baseEndpoint);
|
46
79
|
}
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
80
|
+
else {
|
81
|
+
throw new Error(
|
82
|
+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
|
83
|
+
`Unsupported endpointOverrides: ${props.endpointOverrides}`);
|
51
84
|
}
|
52
|
-
this.controlEndpoint = controlEndpoint;
|
53
|
-
this.cacheEndpoint = cacheEndpoint;
|
54
|
-
this.tokenEndpoint = decodedToken.tokenEndpoint || cacheEndpoint;
|
55
85
|
}
|
56
86
|
getAuthToken() {
|
57
87
|
return this.authToken;
|
58
88
|
}
|
59
89
|
getCacheEndpoint() {
|
60
|
-
return this.cacheEndpoint;
|
90
|
+
return this.allEndpoints.cacheEndpoint;
|
61
91
|
}
|
62
92
|
getControlEndpoint() {
|
63
|
-
return this.controlEndpoint;
|
93
|
+
return this.allEndpoints.controlEndpoint;
|
64
94
|
}
|
65
95
|
getTokenEndpoint() {
|
66
|
-
return this.tokenEndpoint;
|
96
|
+
return this.allEndpoints.tokenEndpoint;
|
67
97
|
}
|
68
|
-
|
69
|
-
return this.
|
98
|
+
getVectorEndpoint() {
|
99
|
+
return this.allEndpoints.vectorEndpoint;
|
70
100
|
}
|
71
|
-
|
72
|
-
return this.
|
101
|
+
areEndpointsOverridden() {
|
102
|
+
return this.endpointsOverridden;
|
73
103
|
}
|
74
104
|
}
|
75
105
|
exports.StringMomentoTokenProvider = StringMomentoTokenProvider;
|
@@ -83,19 +113,16 @@ class EnvMomentoTokenProvider extends StringMomentoTokenProvider {
|
|
83
113
|
* @param {EnvMomentoTokenProviderProps} props configuration options for the token provider
|
84
114
|
*/
|
85
115
|
constructor(props) {
|
86
|
-
var _a, _b;
|
87
116
|
const authToken = process.env[props.environmentVariableName];
|
88
117
|
if (!authToken) {
|
89
118
|
throw new Error(`Missing required environment variable ${props.environmentVariableName}`);
|
90
119
|
}
|
91
|
-
const decodedToken = (0, utils_1.decodeAuthToken)(authToken);
|
92
120
|
super({
|
93
|
-
authToken:
|
94
|
-
|
95
|
-
cacheEndpoint: (_b = props.cacheEndpoint) !== null && _b !== void 0 ? _b : decodedToken.cacheEndpoint,
|
121
|
+
authToken: authToken,
|
122
|
+
endpointOverrides: props.endpointOverrides,
|
96
123
|
});
|
97
124
|
this.environmentVariableName = props.environmentVariableName;
|
98
125
|
}
|
99
126
|
}
|
100
127
|
exports.EnvMomentoTokenProvider = EnvMomentoTokenProvider;
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBQStEO0FBZ0IvRDs7Ozs7R0FLRztBQUNILE1BQXNCLGtCQUFrQjtJQStCdEMsTUFBTSxDQUFDLHVCQUF1QixDQUM1QixLQUFtQztRQUVuQyxPQUFPLElBQUksdUJBQXVCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQ2YsS0FBc0M7UUFFdEMsT0FBTyxJQUFJLDBCQUEwQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDRjtBQTFDRCxnREEwQ0M7QUFFRCxNQUFlLHNCQUFzQjtJQVluQyxPQUFPO1FBQ0wsNkRBQTZEO1FBQzdELE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLE1BQU0sS0FBSyxHQUFHLElBQUEsbUJBQVcsRUFBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxPQUFPLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6QixDQUFDO0NBQ0Y7QUFVRDs7OztHQUlHO0FBQ0gsTUFBYSwwQkFBMkIsU0FBUSxzQkFBc0I7SUFRcEU7O09BRUc7SUFDSCxZQUFZLEtBQXNDOztRQUNoRCxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sWUFBWSxHQUFHLElBQUEsdUJBQWUsRUFBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQztRQUNyRSxNQUFNLGVBQWUsR0FDbkIsTUFBQSxLQUFLLENBQUMsZUFBZSxtQ0FBSSxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQ3hELElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLCtKQUErSixDQUNoSyxDQUFDO1NBQ0g7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLGFBQWEsS0FBSyxTQUFTLENBQUM7UUFDakUsTUFBTSxhQUFhLEdBQUcsTUFBQSxLQUFLLENBQUMsYUFBYSxtQ0FBSSxZQUFZLENBQUMsYUFBYSxDQUFDO1FBQ3hFLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtZQUMvQixNQUFNLElBQUksS0FBSyxDQUNiLDJKQUEySixDQUM1SixDQUFDO1NBQ0g7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUN2QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsYUFBYSxHQUFHLFlBQVksQ0FBQyxhQUFhLElBQUksYUFBYSxDQUFDO0lBQ25FLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRUQsMkJBQTJCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQ3hDLENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBM0RELGdFQTJEQztBQVNEOzs7O0dBSUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLDBCQUEwQjtJQUVyRTs7T0FFRztJQUNILFlBQVksS0FBbUM7O1FBQzdDLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQ2IseUNBQXlDLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxDQUN6RSxDQUFDO1NBQ0g7UUFDRCxNQUFNLFlBQVksR0FBRyxJQUFBLHVCQUFlLEVBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFlBQVksQ0FBQyxTQUFTO1lBQ2pDLGVBQWUsRUFBRSxNQUFBLEtBQUssQ0FBQyxlQUFlLG1DQUFJLFlBQVksQ0FBQyxlQUFlO1lBQ3RFLGFBQWEsRUFBRSxNQUFBLEtBQUssQ0FBQyxhQUFhLG1DQUFJLFlBQVksQ0FBQyxhQUFhO1NBQ2pFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsdUJBQXVCLENBQUM7SUFDL0QsQ0FBQztDQUNGO0FBcEJELDBEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGVjb2RlQXV0aFRva2VuLCBmcm9tRW50cmllc30gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG4vKipcbiAqIEVuY2Fwc3VsYXRlcyBhcmd1bWVudHMgZm9yIGluc3RhbnRpYXRpbmcgYW4gRW52TW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIG9wdGlvbmFsbHkgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGNvbnRyb2xFbmRwb2ludFxuICAgKi9cbiAgY29udHJvbEVuZHBvaW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogb3B0aW9uYWxseSBvdmVycmlkZXMgdGhlIGRlZmF1bHQgY2FjaGVFbmRwb2ludFxuICAgKi9cbiAgY2FjaGVFbmRwb2ludD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm92aWRlcyBpbmZvcm1hdGlvbiB0aGF0IHRoZSBDYWNoZUNsaWVudCBuZWVkcyBpbiBvcmRlciB0byBlc3RhYmxpc2ggYSBjb25uZWN0aW9uIHRvIGFuZCBhdXRoZW50aWNhdGUgd2l0aFxuICogdGhlIE1vbWVudG8gc2VydmljZS5cbiAqIEBleHBvcnRcbiAqIEBpbnRlcmZhY2UgQ3JlZGVudGlhbFByb3ZpZGVyXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gQXV0aCB0b2tlbiBwcm92aWRlZCBieSB1c2VyLCByZXF1aXJlZCB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgc2VydmljZVxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QXV0aFRva2VuKCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byBjb250cm9sIHBsYW5lIG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gZGF0YSBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGhvc3Qgd2hpY2ggdGhlIE1vbWVudG8gY2xpZW50IHdpbGwgY29ubmVjdCB0byBmb3IgTW9tZW50byB0b2tlbiBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRUb2tlbkVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNhY2hlIGVuZHBvaW50IHdhcyBtYW51YWxseSBvdmVycmlkZGVuIGF0IGNvbnN0cnVjdGlvbiB0aW1lOyBmYWxzZSBvdGhlcndpc2VcbiAgICovXG4gIGFic3RyYWN0IGlzQ2FjaGVFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGNvbnRyb2wgZW5kcG9pbnQgd2FzIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgc3RhdGljIGZyb21FbnZpcm9ubWVudFZhcmlhYmxlKFxuICAgIHByb3BzOiBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gICk6IENyZWRlbnRpYWxQcm92aWRlciB7XG4gICAgcmV0dXJuIG5ldyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlcihwcm9wcyk7XG4gIH1cblxuICBzdGF0aWMgZnJvbVN0cmluZyhcbiAgICBwcm9wczogU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG59XG5cbmFic3RyYWN0IGNsYXNzIENyZWRlbnRpYWxQcm92aWRlckJhc2UgaW1wbGVtZW50cyBDcmVkZW50aWFsUHJvdmlkZXIge1xuICBhYnN0cmFjdCBnZXRBdXRoVG9rZW4oKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENhY2hlRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgYWJzdHJhY3QgaXNDYWNoZUVuZHBvaW50T3ZlcnJpZGRlbigpOiBib29sZWFuO1xuICBhYnN0cmFjdCBpc0NvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW4oKTogYm9vbGVhbjtcblxuICB2YWx1ZU9mKCk6IG9iamVjdCB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyh0aGlzKS5maWx0ZXIoKFtrXSkgPT4gayAhPT0gJ2F1dGhUb2tlbicpO1xuICAgIGNvbnN0IGNsb25lID0gZnJvbUVudHJpZXMoZW50cmllcyk7XG4gICAgcmV0dXJuIGNsb25lLnZhbHVlT2YoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIC8qKlxuICAgKiBhdXRoVG9rZW4gdGhlIG1vbWVudG8gYXV0aCB0b2tlblxuICAgKi9cbiAgYXV0aFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVhZHMgYW5kIHBhcnNlcyBhIG1vbWVudG8gYXV0aCB0b2tlbiBzdG9yZWQgaW4gYSBTdHJpbmdcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBhdXRoVG9rZW46IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sRW5kcG9pbnQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZUVuZHBvaW50OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdG9rZW5FbmRwb2ludDogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW46IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FjaGVFbmRwb2ludE92ZXJyaWRkZW46IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7U3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc30gcHJvcHMgY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgdG9rZW4gcHJvdmlkZXJcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzKSB7XG4gICAgc3VwZXIoKTtcbiAgICBjb25zdCBkZWNvZGVkVG9rZW4gPSBkZWNvZGVBdXRoVG9rZW4ocHJvcHMuYXV0aFRva2VuKTtcbiAgICB0aGlzLmF1dGhUb2tlbiA9IGRlY29kZWRUb2tlbi5hdXRoVG9rZW47XG4gICAgdGhpcy5jb250cm9sRW5kcG9pbnRPdmVycmlkZGVuID0gcHJvcHMuY29udHJvbEVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY29udHJvbEVuZHBvaW50ID1cbiAgICAgIHByb3BzLmNvbnRyb2xFbmRwb2ludCA/PyBkZWNvZGVkVG9rZW4uY29udHJvbEVuZHBvaW50O1xuICAgIGlmIChjb250cm9sRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNvbnRyb2wgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNvbnRyb2xFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICk7XG4gICAgfVxuICAgIHRoaXMuY2FjaGVFbmRwb2ludE92ZXJyaWRkZW4gPSBwcm9wcy5jYWNoZUVuZHBvaW50ICE9PSB1bmRlZmluZWQ7XG4gICAgY29uc3QgY2FjaGVFbmRwb2ludCA9IHByb3BzLmNhY2hlRW5kcG9pbnQgPz8gZGVjb2RlZFRva2VuLmNhY2hlRW5kcG9pbnQ7XG4gICAgaWYgKGNhY2hlRW5kcG9pbnQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNhY2hlIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSBjYWNoZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmNvbnRyb2xFbmRwb2ludCA9IGNvbnRyb2xFbmRwb2ludDtcbiAgICB0aGlzLmNhY2hlRW5kcG9pbnQgPSBjYWNoZUVuZHBvaW50O1xuICAgIHRoaXMudG9rZW5FbmRwb2ludCA9IGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50IHx8IGNhY2hlRW5kcG9pbnQ7XG4gIH1cblxuICBnZXRBdXRoVG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hdXRoVG9rZW47XG4gIH1cblxuICBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGVFbmRwb2ludDtcbiAgfVxuXG4gIGdldENvbnRyb2xFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xFbmRwb2ludDtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b2tlbkVuZHBvaW50O1xuICB9XG5cbiAgaXNDb250cm9sRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNvbnRyb2xFbmRwb2ludE92ZXJyaWRkZW47XG4gIH1cblxuICBpc0NhY2hlRW5kcG9pbnRPdmVycmlkZGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmNhY2hlRW5kcG9pbnRPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihhdXRoVG9rZW4pO1xuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogZGVjb2RlZFRva2VuLmF1dGhUb2tlbixcbiAgICAgIGNvbnRyb2xFbmRwb2ludDogcHJvcHMuY29udHJvbEVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQsXG4gICAgICBjYWNoZUVuZHBvaW50OiBwcm9wcy5jYWNoZUVuZHBvaW50ID8/IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuIl19
|
128
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2NyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkNBSzJCO0FBUTNCLFNBQVMsc0JBQXNCLENBQzdCLGlCQUFvQztJQUVwQyxPQUFRLGlCQUEwQyxDQUFDLFlBQVksS0FBSyxTQUFTLENBQUM7QUFDaEYsQ0FBQztBQUVELFNBQVMsY0FBYyxDQUNyQixpQkFBb0M7SUFFcEMsTUFBTSxZQUFZLEdBQUcsaUJBQWlDLENBQUM7SUFDdkQsT0FBTyxDQUNMLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUztRQUN4QyxZQUFZLENBQUMsZUFBZSxLQUFLLFNBQVM7UUFDMUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxTQUFTO1FBQ3hDLFlBQVksQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUMxQyxDQUFDO0FBQ0osQ0FBQztBQVNEOzs7OztHQUtHO0FBQ0gsTUFBc0Isa0JBQWtCO0lBK0J0QyxNQUFNLENBQUMsdUJBQXVCLENBQzVCLEtBQW1DO1FBRW5DLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUsQ0FDZixLQUFzQztRQUV0QyxPQUFPLElBQUksMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBMUNELGdEQTBDQztBQUVELE1BQWUsc0JBQXNCO0lBYW5DLE9BQU87UUFDTCw2REFBNkQ7UUFDN0QsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUM7UUFDeEUsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBVyxFQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVVEOzs7O0dBSUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLHNCQUFzQjtJQUtwRTs7T0FFRztJQUNILFlBQVksS0FBc0M7UUFDaEQsS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLFlBQVksR0FBRyxJQUFBLHVCQUFlLEVBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxTQUFTLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQztRQUN4QyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsS0FBSyxTQUFTLEVBQUU7WUFDekMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztZQUNqQyxJQUFJLFlBQVksQ0FBQyxlQUFlLEtBQUssU0FBUyxFQUFFO2dCQUM5QyxNQUFNLElBQUksS0FBSyxDQUNiLCtKQUErSixDQUNoSyxDQUFDO2FBQ0g7WUFDRCxJQUFJLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUM1QyxNQUFNLElBQUksS0FBSyxDQUNiLDJKQUEySixDQUM1SixDQUFDO2FBQ0g7WUFDRCxJQUFJLFlBQVksQ0FBQyxhQUFhLEtBQUssU0FBUyxFQUFFO2dCQUM1QyxNQUFNLElBQUksS0FBSyxDQUNiLDJKQUEySixDQUM1SixDQUFDO2FBQ0g7WUFDRCxJQUFJLFlBQVksQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO2dCQUM3QyxNQUFNLElBQUksS0FBSyxDQUNiLDZKQUE2SixDQUM5SixDQUFDO2FBQ0g7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHO2dCQUNsQixlQUFlLEVBQUUsWUFBWSxDQUFDLGVBQWU7Z0JBQzdDLGFBQWEsRUFBRSxZQUFZLENBQUMsYUFBYTtnQkFDekMsYUFBYSxFQUFFLFlBQVksQ0FBQyxhQUFhO2dCQUN6QyxjQUFjLEVBQUUsWUFBWSxDQUFDLGNBQWM7YUFDNUMsQ0FBQztTQUNIO2FBQU0sSUFBSSxjQUFjLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztTQUM3QzthQUFNLElBQUksc0JBQXNCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQUU7WUFDMUQsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUEsNENBQW9DLEVBQ3RELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQ3JDLENBQUM7U0FDSDthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUs7WUFDYiw0RUFBNEU7WUFDNUUsa0NBQWtDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUM1RCxDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUM7SUFDM0MsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUM7SUFDMUMsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUEvRUQsZ0VBK0VDO0FBU0Q7Ozs7R0FJRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsMEJBQTBCO0lBRXJFOztPQUVHO0lBQ0gsWUFBWSxLQUFtQztRQUM3QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzdELElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLHlDQUF5QyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsQ0FDekUsQ0FBQztTQUNIO1FBQ0QsS0FBSyxDQUFDO1lBQ0osU0FBUyxFQUFFLFNBQVM7WUFDcEIsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQjtTQUMzQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixDQUFDO0lBQy9ELENBQUM7Q0FDRjtBQWxCRCwwREFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBbGxFbmRwb2ludHMsXG4gIGRlY29kZUF1dGhUb2tlbixcbiAgZnJvbUVudHJpZXMsXG4gIHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludCxcbn0gZnJvbSAnLi4vaW50ZXJuYWwvdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhc2VFbmRwb2ludE92ZXJyaWRlIHtcbiAgYmFzZUVuZHBvaW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEVuZHBvaW50T3ZlcnJpZGVzID0gQmFzZUVuZHBvaW50T3ZlcnJpZGUgfCBBbGxFbmRwb2ludHM7XG5cbmZ1bmN0aW9uIGlzQmFzZUVuZHBvaW50T3ZlcnJpZGUoXG4gIGVuZHBvaW50T3ZlcnJpZGVzOiBFbmRwb2ludE92ZXJyaWRlc1xuKTogZW5kcG9pbnRPdmVycmlkZXMgaXMgQmFzZUVuZHBvaW50T3ZlcnJpZGUge1xuICByZXR1cm4gKGVuZHBvaW50T3ZlcnJpZGVzIGFzIEJhc2VFbmRwb2ludE92ZXJyaWRlKS5iYXNlRW5kcG9pbnQgIT09IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gaXNBbGxFbmRwb2ludHMoXG4gIGVuZHBvaW50T3ZlcnJpZGVzOiBFbmRwb2ludE92ZXJyaWRlc1xuKTogZW5kcG9pbnRPdmVycmlkZXMgaXMgQWxsRW5kcG9pbnRzIHtcbiAgY29uc3QgYWxsRW5kcG9pbnRzID0gZW5kcG9pbnRPdmVycmlkZXMgYXMgQWxsRW5kcG9pbnRzO1xuICByZXR1cm4gKFxuICAgIGFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICBhbGxFbmRwb2ludHMuY29udHJvbEVuZHBvaW50ICE9PSB1bmRlZmluZWQgJiZcbiAgICBhbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludCAhPT0gdW5kZWZpbmVkICYmXG4gICAgYWxsRW5kcG9pbnRzLnZlY3RvckVuZHBvaW50ICE9PSB1bmRlZmluZWRcbiAgKTtcbn1cblxuLyoqXG4gKiBFbmNhcHN1bGF0ZXMgYXJndW1lbnRzIGZvciBpbnN0YW50aWF0aW5nIGFuIEVudk1vbWVudG9Ub2tlblByb3ZpZGVyXG4gKi9cbmludGVyZmFjZSBDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB7XG4gIGVuZHBvaW50T3ZlcnJpZGVzPzogRW5kcG9pbnRPdmVycmlkZXM7XG59XG5cbi8qKlxuICogUHJvdmlkZXMgaW5mb3JtYXRpb24gdGhhdCB0aGUgQ2FjaGVDbGllbnQgbmVlZHMgaW4gb3JkZXIgdG8gZXN0YWJsaXNoIGEgY29ubmVjdGlvbiB0byBhbmQgYXV0aGVudGljYXRlIHdpdGhcbiAqIHRoZSBNb21lbnRvIHNlcnZpY2UuXG4gKiBAZXhwb3J0XG4gKiBAaW50ZXJmYWNlIENyZWRlbnRpYWxQcm92aWRlclxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IEF1dGggdG9rZW4gcHJvdmlkZWQgYnkgdXNlciwgcmVxdWlyZWQgdG8gYXV0aGVudGljYXRlIHdpdGggdGhlIHNlcnZpY2VcbiAgICovXG4gIGFic3RyYWN0IGdldEF1dGhUb2tlbigpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gY29udHJvbCBwbGFuZSBvcGVyYXRpb25zXG4gICAqL1xuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgaG9zdCB3aGljaCB0aGUgTW9tZW50byBjbGllbnQgd2lsbCBjb25uZWN0IHRvIGZvciBNb21lbnRvIGRhdGEgcGxhbmUgb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdG9rZW4gb3BlcmF0aW9uc1xuICAgKi9cbiAgYWJzdHJhY3QgZ2V0VG9rZW5FbmRwb2ludCgpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBob3N0IHdoaWNoIHRoZSBNb21lbnRvIGNsaWVudCB3aWxsIGNvbm5lY3QgdG8gZm9yIE1vbWVudG8gdmVjdG9yIGluZGV4IG9wZXJhdGlvbnNcbiAgICovXG4gIGFic3RyYWN0IGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQHJldHVybnMge2Jvb2xlYW59IHRydWUgaWYgdGhlIGVuZHBvaW50cyB3ZXJlIG1hbnVhbGx5IG92ZXJyaWRkZW4gYXQgY29uc3RydWN0aW9uIHRpbWU7IGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgYWJzdHJhY3QgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuO1xuXG4gIHN0YXRpYyBmcm9tRW52aXJvbm1lbnRWYXJpYWJsZShcbiAgICBwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wc1xuICApOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICAgIHJldHVybiBuZXcgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIocHJvcHMpO1xuICB9XG5cbiAgc3RhdGljIGZyb21TdHJpbmcoXG4gICAgcHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHNcbiAgKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgICByZXR1cm4gbmV3IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyKHByb3BzKTtcbiAgfVxufVxuXG5hYnN0cmFjdCBjbGFzcyBDcmVkZW50aWFsUHJvdmlkZXJCYXNlIGltcGxlbWVudHMgQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgYWJzdHJhY3QgZ2V0QXV0aFRva2VuKCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRDYWNoZUVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBnZXRDb250cm9sRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nO1xuXG4gIGFic3RyYWN0IGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZztcblxuICBhYnN0cmFjdCBhcmVFbmRwb2ludHNPdmVycmlkZGVuKCk6IGJvb2xlYW47XG5cbiAgdmFsdWVPZigpOiBvYmplY3Qge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXModGhpcykuZmlsdGVyKChba10pID0+IGsgIT09ICdhdXRoVG9rZW4nKTtcbiAgICBjb25zdCBjbG9uZSA9IGZyb21FbnRyaWVzKGVudHJpZXMpO1xuICAgIHJldHVybiBjbG9uZS52YWx1ZU9mKCk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzXG4gIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyUHJvcHMge1xuICAvKipcbiAgICogYXV0aFRva2VuIHRoZSBtb21lbnRvIGF1dGggdG9rZW5cbiAgICovXG4gIGF1dGhUb2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgYSBtb21lbnRvIGF1dGggdG9rZW4gc3RvcmVkIGluIGEgU3RyaW5nXG4gKiBAZXhwb3J0XG4gKiBAY2xhc3MgU3RyaW5nTW9tZW50b1Rva2VuUHJvdmlkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyIGV4dGVuZHMgQ3JlZGVudGlhbFByb3ZpZGVyQmFzZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXV0aFRva2VuOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgYWxsRW5kcG9pbnRzOiBBbGxFbmRwb2ludHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgZW5kcG9pbnRzT3ZlcnJpZGRlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQHBhcmFtIHtTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlclByb3BzfSBwcm9wcyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSB0b2tlbiBwcm92aWRlclxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvcHM6IFN0cmluZ01vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHMpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGRlY29kZWRUb2tlbiA9IGRlY29kZUF1dGhUb2tlbihwcm9wcy5hdXRoVG9rZW4pO1xuICAgIHRoaXMuYXV0aFRva2VuID0gZGVjb2RlZFRva2VuLmF1dGhUb2tlbjtcbiAgICBpZiAocHJvcHMuZW5kcG9pbnRPdmVycmlkZXMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuID0gZmFsc2U7XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLmNvbnRyb2xFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNvbnRyb2wgZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIGNvbnRyb2xFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZWNvZGVkVG9rZW4uY2FjaGVFbmRwb2ludCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnTWFsZm9ybWVkIHRva2VuOyB1bmFibGUgdG8gZGV0ZXJtaW5lIGNhY2hlIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSBjYWNoZUVuZHBvaW50IGV4cGxpY2l0bHkuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGRlY29kZWRUb2tlbi50b2tlbkVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgdG9rZW4gZW5kcG9pbnQuICBEZXBlbmRpbmcgb24gdGhlIHR5cGUgb2YgdG9rZW4geW91IGFyZSB1c2luZywgeW91IG1heSBuZWVkIHRvIHNwZWNpZnkgdGhlIHRva2VuRW5kcG9pbnQgZXhwbGljaXRseS4nXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAoZGVjb2RlZFRva2VuLnZlY3RvckVuZHBvaW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdNYWxmb3JtZWQgdG9rZW47IHVuYWJsZSB0byBkZXRlcm1pbmUgdmVjdG9yIGVuZHBvaW50LiAgRGVwZW5kaW5nIG9uIHRoZSB0eXBlIG9mIHRva2VuIHlvdSBhcmUgdXNpbmcsIHlvdSBtYXkgbmVlZCB0byBzcGVjaWZ5IHRoZSB2ZWN0b3JFbmRwb2ludCBleHBsaWNpdGx5LidcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuYWxsRW5kcG9pbnRzID0ge1xuICAgICAgICBjb250cm9sRW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jb250cm9sRW5kcG9pbnQsXG4gICAgICAgIGNhY2hlRW5kcG9pbnQ6IGRlY29kZWRUb2tlbi5jYWNoZUVuZHBvaW50LFxuICAgICAgICB0b2tlbkVuZHBvaW50OiBkZWNvZGVkVG9rZW4udG9rZW5FbmRwb2ludCxcbiAgICAgICAgdmVjdG9yRW5kcG9pbnQ6IGRlY29kZWRUb2tlbi52ZWN0b3JFbmRwb2ludCxcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmIChpc0FsbEVuZHBvaW50cyhwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzO1xuICAgIH0gZWxzZSBpZiAoaXNCYXNlRW5kcG9pbnRPdmVycmlkZShwcm9wcy5lbmRwb2ludE92ZXJyaWRlcykpIHtcbiAgICAgIHRoaXMuZW5kcG9pbnRzT3ZlcnJpZGRlbiA9IHRydWU7XG4gICAgICB0aGlzLmFsbEVuZHBvaW50cyA9IHBvcHVsYXRlQWxsRW5kcG9pbnRzRnJvbUJhc2VFbmRwb2ludChcbiAgICAgICAgcHJvcHMuZW5kcG9pbnRPdmVycmlkZXMuYmFzZUVuZHBvaW50XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcmVzdHJpY3QtdGVtcGxhdGUtZXhwcmVzc2lvbnNcbiAgICAgICAgYFVuc3VwcG9ydGVkIGVuZHBvaW50T3ZlcnJpZGVzOiAke3Byb3BzLmVuZHBvaW50T3ZlcnJpZGVzfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgZ2V0QXV0aFRva2VuKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aFRva2VuO1xuICB9XG5cbiAgZ2V0Q2FjaGVFbmRwb2ludCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFsbEVuZHBvaW50cy5jYWNoZUVuZHBvaW50O1xuICB9XG5cbiAgZ2V0Q29udHJvbEVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLmNvbnRyb2xFbmRwb2ludDtcbiAgfVxuXG4gIGdldFRva2VuRW5kcG9pbnQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hbGxFbmRwb2ludHMudG9rZW5FbmRwb2ludDtcbiAgfVxuXG4gIGdldFZlY3RvckVuZHBvaW50KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWxsRW5kcG9pbnRzLnZlY3RvckVuZHBvaW50O1xuICB9XG5cbiAgYXJlRW5kcG9pbnRzT3ZlcnJpZGRlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbmRwb2ludHNPdmVycmlkZGVuO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcyBleHRlbmRzIENyZWRlbnRpYWxQcm92aWRlclByb3BzIHtcbiAgLyoqXG4gICAqIHRoZSBuYW1lIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIHdoaWNoIHRoZSBhdXRoIHRva2VuIHdpbGwgYmUgcmVhZFxuICAgKi9cbiAgZW52aXJvbm1lbnRWYXJpYWJsZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGEgbW9tZW50byBhdXRoIHRva2VuIHN0b3JlZCBhcyBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZS5cbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbnZNb21lbnRvVG9rZW5Qcm92aWRlclxuICovXG5leHBvcnQgY2xhc3MgRW52TW9tZW50b1Rva2VuUHJvdmlkZXIgZXh0ZW5kcyBTdHJpbmdNb21lbnRvVG9rZW5Qcm92aWRlciB7XG4gIGVudmlyb25tZW50VmFyaWFibGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vudk1vbWVudG9Ub2tlblByb3ZpZGVyUHJvcHN9IHByb3BzIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHRva2VuIHByb3ZpZGVyXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9wczogRW52TW9tZW50b1Rva2VuUHJvdmlkZXJQcm9wcykge1xuICAgIGNvbnN0IGF1dGhUb2tlbiA9IHByb2Nlc3MuZW52W3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lXTtcbiAgICBpZiAoIWF1dGhUb2tlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZSAke3Byb3BzLmVudmlyb25tZW50VmFyaWFibGVOYW1lfWBcbiAgICAgICk7XG4gICAgfVxuICAgIHN1cGVyKHtcbiAgICAgIGF1dGhUb2tlbjogYXV0aFRva2VuLFxuICAgICAgZW5kcG9pbnRPdmVycmlkZXM6IHByb3BzLmVuZHBvaW50T3ZlcnJpZGVzLFxuICAgIH0pO1xuICAgIHRoaXMuZW52aXJvbm1lbnRWYXJpYWJsZU5hbWUgPSBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlTmFtZTtcbiAgfVxufVxuIl19
|
@@ -0,0 +1,24 @@
|
|
1
|
+
import { AllCacheItems, CachePermission, Permission, Permissions, PredefinedScope } from './permission-scope';
|
2
|
+
export interface CacheItemKey {
|
3
|
+
key: string;
|
4
|
+
}
|
5
|
+
export interface CacheItemKeyPrefix {
|
6
|
+
keyPrefix: string;
|
7
|
+
}
|
8
|
+
export declare function isCacheItemKey(cacheItem: CacheItemSelector): cacheItem is CacheItemKey;
|
9
|
+
export declare function isCacheItemKeyPrefix(cacheItem: CacheItemSelector): cacheItem is CacheItemKeyPrefix;
|
10
|
+
export type CacheItemSelector = typeof AllCacheItems | CacheItemKey | CacheItemKeyPrefix | string;
|
11
|
+
export interface DisposableTokenCachePermission extends CachePermission {
|
12
|
+
/**
|
13
|
+
* Scope the token permissions to select cache items
|
14
|
+
*/
|
15
|
+
item: CacheItemSelector;
|
16
|
+
}
|
17
|
+
export declare function isDisposableTokenCachePermission(p: Permission): boolean;
|
18
|
+
export declare function asDisposableTokenCachePermission(p: Permission): DisposableTokenCachePermission;
|
19
|
+
export interface DisposableTokenCachePermissions {
|
20
|
+
permissions: Array<DisposableTokenCachePermission>;
|
21
|
+
}
|
22
|
+
export type DisposableTokenScope = Permissions | PredefinedScope | DisposableTokenCachePermissions;
|
23
|
+
export declare function isDisposableTokenPermissionsObject(scope: DisposableTokenScope): boolean;
|
24
|
+
export declare function asDisposableTokenPermissionsObject(scope: DisposableTokenScope): DisposableTokenCachePermissions;
|
@@ -0,0 +1,55 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.asDisposableTokenPermissionsObject = exports.isDisposableTokenPermissionsObject = exports.asDisposableTokenCachePermission = exports.isDisposableTokenCachePermission = exports.isCacheItemKeyPrefix = exports.isCacheItemKey = void 0;
|
4
|
+
const permission_scope_1 = require("./permission-scope");
|
5
|
+
function isCacheItemKey(cacheItem) {
|
6
|
+
if (cacheItem === permission_scope_1.AllCacheItems) {
|
7
|
+
return false;
|
8
|
+
}
|
9
|
+
if (typeof cacheItem === 'string') {
|
10
|
+
return true;
|
11
|
+
}
|
12
|
+
return 'key' in cacheItem;
|
13
|
+
}
|
14
|
+
exports.isCacheItemKey = isCacheItemKey;
|
15
|
+
function isCacheItemKeyPrefix(cacheItem) {
|
16
|
+
if (cacheItem === permission_scope_1.AllCacheItems) {
|
17
|
+
return false;
|
18
|
+
}
|
19
|
+
if (typeof cacheItem === 'string') {
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
return 'keyPrefix' in cacheItem;
|
23
|
+
}
|
24
|
+
exports.isCacheItemKeyPrefix = isCacheItemKeyPrefix;
|
25
|
+
function isDisposableTokenCachePermission(p) {
|
26
|
+
return 'role' in p && 'cache' in p && 'item' in p && !('topic' in p);
|
27
|
+
}
|
28
|
+
exports.isDisposableTokenCachePermission = isDisposableTokenCachePermission;
|
29
|
+
function asDisposableTokenCachePermission(p) {
|
30
|
+
if (!isDisposableTokenCachePermission(p)) {
|
31
|
+
throw new Error(`permission is not a DisposableTokenCachePermission object: ${JSON.stringify(p)}`);
|
32
|
+
}
|
33
|
+
return p;
|
34
|
+
}
|
35
|
+
exports.asDisposableTokenCachePermission = asDisposableTokenCachePermission;
|
36
|
+
function isDisposableTokenPermissionObject(p) {
|
37
|
+
return isDisposableTokenCachePermission(p);
|
38
|
+
}
|
39
|
+
function isDisposableTokenPermissionsObject(scope) {
|
40
|
+
if (!('permissions' in scope)) {
|
41
|
+
return false;
|
42
|
+
}
|
43
|
+
const permissions = scope.permissions;
|
44
|
+
return permissions.every(p => isDisposableTokenPermissionObject(p));
|
45
|
+
}
|
46
|
+
exports.isDisposableTokenPermissionsObject = isDisposableTokenPermissionsObject;
|
47
|
+
function asDisposableTokenPermissionsObject(scope) {
|
48
|
+
console.log(`AS_DISPOSABLE_TOKEN_PERMISSIONS_OBJECT: ${JSON.stringify(scope)}`);
|
49
|
+
if (!isDisposableTokenPermissionsObject(scope)) {
|
50
|
+
throw new Error(`Token scope is not a DisposableTokenCachePermissions object: ${JSON.stringify(scope)}`);
|
51
|
+
}
|
52
|
+
return scope;
|
53
|
+
}
|
54
|
+
exports.asDisposableTokenPermissionsObject = asDisposableTokenPermissionsObject;
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS10b2tlbi1zY29wZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3Rva2Vucy9kaXNwb3NhYmxlLXRva2VuLXNjb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlEQU00QjtBQVU1QixTQUFnQixjQUFjLENBQzVCLFNBQTRCO0lBRTVCLElBQUksU0FBUyxLQUFLLGdDQUFhLEVBQUU7UUFDL0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ2pDLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxPQUFPLEtBQUssSUFBSSxTQUFTLENBQUM7QUFDNUIsQ0FBQztBQVZELHdDQVVDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQ2xDLFNBQTRCO0lBRTVCLElBQUksU0FBUyxLQUFLLGdDQUFhLEVBQUU7UUFDL0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELElBQUksT0FBTyxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ2pDLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLFdBQVcsSUFBSSxTQUFTLENBQUM7QUFDbEMsQ0FBQztBQVZELG9EQVVDO0FBZUQsU0FBZ0IsZ0NBQWdDLENBQUMsQ0FBYTtJQUM1RCxPQUFPLE1BQU0sSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUZELDRFQUVDO0FBRUQsU0FBZ0IsZ0NBQWdDLENBQzlDLENBQWE7SUFFYixJQUFJLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDeEMsTUFBTSxJQUFJLEtBQUssQ0FDYiw4REFBOEQsSUFBSSxDQUFDLFNBQVMsQ0FDMUUsQ0FBQyxDQUNGLEVBQUUsQ0FDSixDQUFDO0tBQ0g7SUFDRCxPQUFPLENBQW1DLENBQUM7QUFDN0MsQ0FBQztBQVhELDRFQVdDO0FBV0QsU0FBUyxpQ0FBaUMsQ0FBQyxDQUFhO0lBQ3RELE9BQU8sZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELFNBQWdCLGtDQUFrQyxDQUNoRCxLQUEyQjtJQUUzQixJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksS0FBSyxDQUFDLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDdEMsT0FBTyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsaUNBQWlDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RSxDQUFDO0FBUkQsZ0ZBUUM7QUFFRCxTQUFnQixrQ0FBa0MsQ0FDaEQsS0FBMkI7SUFFM0IsT0FBTyxDQUFDLEdBQUcsQ0FDVCwyQ0FBMkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUNuRSxDQUFDO0lBQ0YsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQzlDLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0VBQWdFLElBQUksQ0FBQyxTQUFTLENBQzVFLEtBQUssQ0FDTixFQUFFLENBQ0osQ0FBQztLQUNIO0lBQ0QsT0FBTyxLQUF3QyxDQUFDO0FBQ2xELENBQUM7QUFkRCxnRkFjQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFsbENhY2hlSXRlbXMsXG4gIENhY2hlUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbixcbiAgUGVybWlzc2lvbnMsXG4gIFByZWRlZmluZWRTY29wZSxcbn0gZnJvbSAnLi9wZXJtaXNzaW9uLXNjb3BlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZUl0ZW1LZXkge1xuICBrZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZUl0ZW1LZXlQcmVmaXgge1xuICBrZXlQcmVmaXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ2FjaGVJdGVtS2V5KFxuICBjYWNoZUl0ZW06IENhY2hlSXRlbVNlbGVjdG9yXG4pOiBjYWNoZUl0ZW0gaXMgQ2FjaGVJdGVtS2V5IHtcbiAgaWYgKGNhY2hlSXRlbSA9PT0gQWxsQ2FjaGVJdGVtcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAodHlwZW9mIGNhY2hlSXRlbSA9PT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gJ2tleScgaW4gY2FjaGVJdGVtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDYWNoZUl0ZW1LZXlQcmVmaXgoXG4gIGNhY2hlSXRlbTogQ2FjaGVJdGVtU2VsZWN0b3Jcbik6IGNhY2hlSXRlbSBpcyBDYWNoZUl0ZW1LZXlQcmVmaXgge1xuICBpZiAoY2FjaGVJdGVtID09PSBBbGxDYWNoZUl0ZW1zKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0eXBlb2YgY2FjaGVJdGVtID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gJ2tleVByZWZpeCcgaW4gY2FjaGVJdGVtO1xufVxuXG5leHBvcnQgdHlwZSBDYWNoZUl0ZW1TZWxlY3RvciA9XG4gIHwgdHlwZW9mIEFsbENhY2hlSXRlbXNcbiAgfCBDYWNoZUl0ZW1LZXlcbiAgfCBDYWNoZUl0ZW1LZXlQcmVmaXhcbiAgfCBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9uIGV4dGVuZHMgQ2FjaGVQZXJtaXNzaW9uIHtcbiAgLyoqXG4gICAqIFNjb3BlIHRoZSB0b2tlbiBwZXJtaXNzaW9ucyB0byBzZWxlY3QgY2FjaGUgaXRlbXNcbiAgICovXG4gIGl0ZW06IENhY2hlSXRlbVNlbGVjdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24ocDogUGVybWlzc2lvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ3JvbGUnIGluIHAgJiYgJ2NhY2hlJyBpbiBwICYmICdpdGVtJyBpbiBwICYmICEoJ3RvcGljJyBpbiBwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9uKFxuICBwOiBQZXJtaXNzaW9uXG4pOiBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24ge1xuICBpZiAoIWlzRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9uKHApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYHBlcm1pc3Npb24gaXMgbm90IGEgRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9uIG9iamVjdDogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgcFxuICAgICAgKX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcCBhcyBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9ucyB7XG4gIHBlcm1pc3Npb25zOiBBcnJheTxEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24+O1xufVxuXG5leHBvcnQgdHlwZSBEaXNwb3NhYmxlVG9rZW5TY29wZSA9XG4gIHwgUGVybWlzc2lvbnNcbiAgfCBQcmVkZWZpbmVkU2NvcGVcbiAgfCBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb25zO1xuXG5mdW5jdGlvbiBpc0Rpc3Bvc2FibGVUb2tlblBlcm1pc3Npb25PYmplY3QocDogUGVybWlzc2lvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb24ocCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Rpc3Bvc2FibGVUb2tlblBlcm1pc3Npb25zT2JqZWN0KFxuICBzY29wZTogRGlzcG9zYWJsZVRva2VuU2NvcGVcbik6IGJvb2xlYW4ge1xuICBpZiAoISgncGVybWlzc2lvbnMnIGluIHNjb3BlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHNjb3BlLnBlcm1pc3Npb25zO1xuICByZXR1cm4gcGVybWlzc2lvbnMuZXZlcnkocCA9PiBpc0Rpc3Bvc2FibGVUb2tlblBlcm1pc3Npb25PYmplY3QocCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNEaXNwb3NhYmxlVG9rZW5QZXJtaXNzaW9uc09iamVjdChcbiAgc2NvcGU6IERpc3Bvc2FibGVUb2tlblNjb3BlXG4pOiBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb25zIHtcbiAgY29uc29sZS5sb2coXG4gICAgYEFTX0RJU1BPU0FCTEVfVE9LRU5fUEVSTUlTU0lPTlNfT0JKRUNUOiAke0pTT04uc3RyaW5naWZ5KHNjb3BlKX1gXG4gICk7XG4gIGlmICghaXNEaXNwb3NhYmxlVG9rZW5QZXJtaXNzaW9uc09iamVjdChzY29wZSkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgVG9rZW4gc2NvcGUgaXMgbm90IGEgRGlzcG9zYWJsZVRva2VuQ2FjaGVQZXJtaXNzaW9ucyBvYmplY3Q6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHNjb3BlXG4gICAgICApfWBcbiAgICApO1xuICB9XG4gIHJldHVybiBzY29wZSBhcyBEaXNwb3NhYmxlVG9rZW5DYWNoZVBlcm1pc3Npb25zO1xufVxuIl19
|
@@ -1,5 +1,6 @@
|
|
1
|
-
import { CacheSelector
|
2
|
-
|
1
|
+
import { CacheSelector } from './permission-scope';
|
2
|
+
import { DisposableTokenScope } from './disposable-token-scope';
|
3
|
+
export * from './permission-scopes';
|
3
4
|
export declare function cacheKeyReadWrite(cacheSelector: CacheSelector, key: string): DisposableTokenScope;
|
4
5
|
export declare function cacheKeyPrefixReadWrite(cacheSelector: CacheSelector, keyPrefix: string): DisposableTokenScope;
|
5
6
|
export declare function cacheKeyReadOnly(cacheSelector: CacheSelector, key: string): DisposableTokenScope;
|
@@ -15,11 +15,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
15
15
|
};
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
exports.cacheKeyPrefixWriteOnly = exports.cacheKeyWriteOnly = exports.cacheKeyPrefixReadOnly = exports.cacheKeyReadOnly = exports.cacheKeyPrefixReadWrite = exports.cacheKeyReadWrite = void 0;
|
18
|
-
const
|
19
|
-
__exportStar(require("./
|
18
|
+
const permission_scope_1 = require("./permission-scope");
|
19
|
+
__exportStar(require("./permission-scopes"), exports);
|
20
20
|
function cacheKeyReadWrite(cacheSelector, key) {
|
21
21
|
return {
|
22
|
-
permissions: [{ role:
|
22
|
+
permissions: [{ role: permission_scope_1.CacheRole.ReadWrite, cache: cacheSelector, item: key }],
|
23
23
|
};
|
24
24
|
}
|
25
25
|
exports.cacheKeyReadWrite = cacheKeyReadWrite;
|
@@ -27,7 +27,7 @@ function cacheKeyPrefixReadWrite(cacheSelector, keyPrefix) {
|
|
27
27
|
return {
|
28
28
|
permissions: [
|
29
29
|
{
|
30
|
-
role:
|
30
|
+
role: permission_scope_1.CacheRole.ReadWrite,
|
31
31
|
cache: cacheSelector,
|
32
32
|
item: { keyPrefix: keyPrefix },
|
33
33
|
},
|
@@ -37,7 +37,7 @@ function cacheKeyPrefixReadWrite(cacheSelector, keyPrefix) {
|
|
37
37
|
exports.cacheKeyPrefixReadWrite = cacheKeyPrefixReadWrite;
|
38
38
|
function cacheKeyReadOnly(cacheSelector, key) {
|
39
39
|
return {
|
40
|
-
permissions: [{ role:
|
40
|
+
permissions: [{ role: permission_scope_1.CacheRole.ReadOnly, cache: cacheSelector, item: key }],
|
41
41
|
};
|
42
42
|
}
|
43
43
|
exports.cacheKeyReadOnly = cacheKeyReadOnly;
|
@@ -45,7 +45,7 @@ function cacheKeyPrefixReadOnly(cacheSelector, keyPrefix) {
|
|
45
45
|
return {
|
46
46
|
permissions: [
|
47
47
|
{
|
48
|
-
role:
|
48
|
+
role: permission_scope_1.CacheRole.ReadOnly,
|
49
49
|
cache: cacheSelector,
|
50
50
|
item: { keyPrefix: keyPrefix },
|
51
51
|
},
|
@@ -55,7 +55,7 @@ function cacheKeyPrefixReadOnly(cacheSelector, keyPrefix) {
|
|
55
55
|
exports.cacheKeyPrefixReadOnly = cacheKeyPrefixReadOnly;
|
56
56
|
function cacheKeyWriteOnly(cacheSelector, key) {
|
57
57
|
return {
|
58
|
-
permissions: [{ role:
|
58
|
+
permissions: [{ role: permission_scope_1.CacheRole.WriteOnly, cache: cacheSelector, item: key }],
|
59
59
|
};
|
60
60
|
}
|
61
61
|
exports.cacheKeyWriteOnly = cacheKeyWriteOnly;
|
@@ -63,7 +63,7 @@ function cacheKeyPrefixWriteOnly(cacheSelector, keyPrefix) {
|
|
63
63
|
return {
|
64
64
|
permissions: [
|
65
65
|
{
|
66
|
-
role:
|
66
|
+
role: permission_scope_1.CacheRole.WriteOnly,
|
67
67
|
cache: cacheSelector,
|
68
68
|
item: { keyPrefix: keyPrefix },
|
69
69
|
},
|
@@ -71,4 +71,4 @@ function cacheKeyPrefixWriteOnly(cacheSelector, keyPrefix) {
|
|
71
71
|
};
|
72
72
|
}
|
73
73
|
exports.cacheKeyPrefixWriteOnly = cacheKeyPrefixWriteOnly;
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcG9zYWJsZS10b2tlbi1zY29wZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC90b2tlbnMvZGlzcG9zYWJsZS10b2tlbi1zY29wZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBNEQ7QUFHNUQsc0RBQW9DO0FBRXBDLFNBQWdCLGlCQUFpQixDQUMvQixhQUE0QixFQUM1QixHQUFXO0lBRVgsT0FBTztRQUNMLFdBQVcsRUFBRSxDQUFDLEVBQUMsSUFBSSxFQUFFLDRCQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBQyxDQUFDO0tBQzVFLENBQUM7QUFDSixDQUFDO0FBUEQsOENBT0M7QUFFRCxTQUFnQix1QkFBdUIsQ0FDckMsYUFBNEIsRUFDNUIsU0FBaUI7SUFFakIsT0FBTztRQUNMLFdBQVcsRUFBRTtZQUNYO2dCQUNFLElBQUksRUFBRSw0QkFBUyxDQUFDLFNBQVM7Z0JBQ3pCLEtBQUssRUFBRSxhQUFhO2dCQUNwQixJQUFJLEVBQUUsRUFBQyxTQUFTLEVBQUUsU0FBUyxFQUFDO2FBQzdCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQztBQWJELDBEQWFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLGFBQTRCLEVBQzVCLEdBQVc7SUFFWCxPQUFPO1FBQ0wsV0FBVyxFQUFFLENBQUMsRUFBQyxJQUFJLEVBQUUsNEJBQVMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLENBQUM7S0FDM0UsQ0FBQztBQUNKLENBQUM7QUFQRCw0Q0FPQztBQUVELFNBQWdCLHNCQUFzQixDQUNwQyxhQUE0QixFQUM1QixTQUFpQjtJQUVqQixPQUFPO1FBQ0wsV0FBVyxFQUFFO1lBQ1g7Z0JBQ0UsSUFBSSxFQUFFLDRCQUFTLENBQUMsUUFBUTtnQkFDeEIsS0FBSyxFQUFFLGFBQWE7Z0JBQ3BCLElBQUksRUFBRSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUM7YUFDN0I7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBYkQsd0RBYUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FDL0IsYUFBNEIsRUFDNUIsR0FBVztJQUVYLE9BQU87UUFDTCxXQUFXLEVBQUUsQ0FBQyxFQUFDLElBQUksRUFBRSw0QkFBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsQ0FBQztLQUM1RSxDQUFDO0FBQ0osQ0FBQztBQVBELDhDQU9DO0FBRUQsU0FBZ0IsdUJBQXVCLENBQ3JDLGFBQTRCLEVBQzVCLFNBQWlCO0lBRWpCLE9BQU87UUFDTCxXQUFXLEVBQUU7WUFDWDtnQkFDRSxJQUFJLEVBQUUsNEJBQVMsQ0FBQyxTQUFTO2dCQUN6QixLQUFLLEVBQUUsYUFBYTtnQkFDcEIsSUFBSSxFQUFFLEVBQUMsU0FBUyxFQUFFLFNBQVMsRUFBQzthQUM3QjtTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFiRCwwREFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2FjaGVSb2xlLCBDYWNoZVNlbGVjdG9yfSBmcm9tICcuL3Blcm1pc3Npb24tc2NvcGUnO1xuaW1wb3J0IHtEaXNwb3NhYmxlVG9rZW5TY29wZX0gZnJvbSAnLi9kaXNwb3NhYmxlLXRva2VuLXNjb3BlJztcblxuZXhwb3J0ICogZnJvbSAnLi9wZXJtaXNzaW9uLXNjb3Blcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZUtleVJlYWRXcml0ZShcbiAgY2FjaGVTZWxlY3RvcjogQ2FjaGVTZWxlY3RvcixcbiAga2V5OiBzdHJpbmdcbik6IERpc3Bvc2FibGVUb2tlblNjb3BlIHtcbiAgcmV0dXJuIHtcbiAgICBwZXJtaXNzaW9uczogW3tyb2xlOiBDYWNoZVJvbGUuUmVhZFdyaXRlLCBjYWNoZTogY2FjaGVTZWxlY3RvciwgaXRlbToga2V5fV0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZUtleVByZWZpeFJlYWRXcml0ZShcbiAgY2FjaGVTZWxlY3RvcjogQ2FjaGVTZWxlY3RvcixcbiAga2V5UHJlZml4OiBzdHJpbmdcbik6IERpc3Bvc2FibGVUb2tlblNjb3BlIHtcbiAgcmV0dXJuIHtcbiAgICBwZXJtaXNzaW9uczogW1xuICAgICAge1xuICAgICAgICByb2xlOiBDYWNoZVJvbGUuUmVhZFdyaXRlLFxuICAgICAgICBjYWNoZTogY2FjaGVTZWxlY3RvcixcbiAgICAgICAgaXRlbToge2tleVByZWZpeDoga2V5UHJlZml4fSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhY2hlS2V5UmVhZE9ubHkoXG4gIGNhY2hlU2VsZWN0b3I6IENhY2hlU2VsZWN0b3IsXG4gIGtleTogc3RyaW5nXG4pOiBEaXNwb3NhYmxlVG9rZW5TY29wZSB7XG4gIHJldHVybiB7XG4gICAgcGVybWlzc2lvbnM6IFt7cm9sZTogQ2FjaGVSb2xlLlJlYWRPbmx5LCBjYWNoZTogY2FjaGVTZWxlY3RvciwgaXRlbToga2V5fV0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZUtleVByZWZpeFJlYWRPbmx5KFxuICBjYWNoZVNlbGVjdG9yOiBDYWNoZVNlbGVjdG9yLFxuICBrZXlQcmVmaXg6IHN0cmluZ1xuKTogRGlzcG9zYWJsZVRva2VuU2NvcGUge1xuICByZXR1cm4ge1xuICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICB7XG4gICAgICAgIHJvbGU6IENhY2hlUm9sZS5SZWFkT25seSxcbiAgICAgICAgY2FjaGU6IGNhY2hlU2VsZWN0b3IsXG4gICAgICAgIGl0ZW06IHtrZXlQcmVmaXg6IGtleVByZWZpeH0sXG4gICAgICB9LFxuICAgIF0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZUtleVdyaXRlT25seShcbiAgY2FjaGVTZWxlY3RvcjogQ2FjaGVTZWxlY3RvcixcbiAga2V5OiBzdHJpbmdcbik6IERpc3Bvc2FibGVUb2tlblNjb3BlIHtcbiAgcmV0dXJuIHtcbiAgICBwZXJtaXNzaW9uczogW3tyb2xlOiBDYWNoZVJvbGUuV3JpdGVPbmx5LCBjYWNoZTogY2FjaGVTZWxlY3RvciwgaXRlbToga2V5fV0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWNoZUtleVByZWZpeFdyaXRlT25seShcbiAgY2FjaGVTZWxlY3RvcjogQ2FjaGVTZWxlY3RvcixcbiAga2V5UHJlZml4OiBzdHJpbmdcbik6IERpc3Bvc2FibGVUb2tlblNjb3BlIHtcbiAgcmV0dXJuIHtcbiAgICBwZXJtaXNzaW9uczogW1xuICAgICAge1xuICAgICAgICByb2xlOiBDYWNoZVJvbGUuV3JpdGVPbmx5LFxuICAgICAgICBjYWNoZTogY2FjaGVTZWxlY3RvcixcbiAgICAgICAgaXRlbToge2tleVByZWZpeDoga2V5UHJlZml4fSxcbiAgICAgIH0sXG4gICAgXSxcbiAgfTtcbn1cbiJdfQ==
|
@@ -48,31 +48,12 @@ export interface Permissions {
|
|
48
48
|
permissions: Array<Permission>;
|
49
49
|
}
|
50
50
|
export declare const AllDataReadWrite: Permissions;
|
51
|
-
export declare function isPermissionsObject(scope:
|
52
|
-
export declare function asPermissionsObject(scope:
|
51
|
+
export declare function isPermissionsObject(scope: PermissionScope): boolean;
|
52
|
+
export declare function asPermissionsObject(scope: PermissionScope): Permissions;
|
53
53
|
export declare abstract class PredefinedScope {
|
54
54
|
}
|
55
|
-
export type
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
export
|
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;
|
55
|
+
export type PermissionScope = typeof AllDataReadWrite | Permissions | PredefinedScope;
|
56
|
+
/**
|
57
|
+
* @deprecated please use PermissionScope instead
|
58
|
+
*/
|
59
|
+
export type TokenScope = PermissionScope;
|
@@ -0,0 +1,82 @@
|
|
1
|
+
"use strict";
|
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.AllCacheItems = exports.AllTopics = exports.AllCaches = exports.CacheRole = void 0;
|
4
|
+
var CacheRole;
|
5
|
+
(function (CacheRole) {
|
6
|
+
CacheRole["ReadWrite"] = "readwrite";
|
7
|
+
CacheRole["ReadOnly"] = "readonly";
|
8
|
+
CacheRole["WriteOnly"] = "writeonly";
|
9
|
+
})(CacheRole = exports.CacheRole || (exports.CacheRole = {}));
|
10
|
+
exports.AllCaches = Symbol();
|
11
|
+
exports.AllTopics = Symbol();
|
12
|
+
exports.AllCacheItems = Symbol();
|
13
|
+
function isCacheName(cache) {
|
14
|
+
if (cache === exports.AllCaches) {
|
15
|
+
return false;
|
16
|
+
}
|
17
|
+
return 'name' in cache;
|
18
|
+
}
|
19
|
+
exports.isCacheName = isCacheName;
|
20
|
+
function isCachePermission(p) {
|
21
|
+
return 'role' in p && 'cache' in p && !('topic' in p);
|
22
|
+
}
|
23
|
+
exports.isCachePermission = isCachePermission;
|
24
|
+
function asCachePermission(p) {
|
25
|
+
if (!isCachePermission(p)) {
|
26
|
+
throw new Error(`permission is not a CachePermission object: ${JSON.stringify(p)}`);
|
27
|
+
}
|
28
|
+
return p;
|
29
|
+
}
|
30
|
+
exports.asCachePermission = asCachePermission;
|
31
|
+
var TopicRole;
|
32
|
+
(function (TopicRole) {
|
33
|
+
TopicRole["PublishSubscribe"] = "publishsubscribe";
|
34
|
+
TopicRole["SubscribeOnly"] = "subscribeonly";
|
35
|
+
TopicRole["PublishOnly"] = "publishonly";
|
36
|
+
})(TopicRole = exports.TopicRole || (exports.TopicRole = {}));
|
37
|
+
function isTopicName(topic) {
|
38
|
+
if (topic === exports.AllTopics) {
|
39
|
+
return false;
|
40
|
+
}
|
41
|
+
return 'name' in topic;
|
42
|
+
}
|
43
|
+
exports.isTopicName = isTopicName;
|
44
|
+
function isTopicPermission(p) {
|
45
|
+
return 'role' in p && 'cache' in p && 'topic' in p;
|
46
|
+
}
|
47
|
+
exports.isTopicPermission = isTopicPermission;
|
48
|
+
function asTopicPermission(p) {
|
49
|
+
if (!isTopicPermission(p)) {
|
50
|
+
throw new Error(`permission is not a TopicPermission object: ${JSON.stringify(p)}`);
|
51
|
+
}
|
52
|
+
return p;
|
53
|
+
}
|
54
|
+
exports.asTopicPermission = asTopicPermission;
|
55
|
+
exports.AllDataReadWrite = {
|
56
|
+
permissions: [
|
57
|
+
{ role: CacheRole.ReadWrite, cache: exports.AllCaches },
|
58
|
+
{ role: TopicRole.PublishSubscribe, cache: exports.AllCaches, topic: exports.AllTopics },
|
59
|
+
],
|
60
|
+
};
|
61
|
+
function isPermissionObject(p) {
|
62
|
+
return isCachePermission(p) || isTopicPermission(p);
|
63
|
+
}
|
64
|
+
function isPermissionsObject(scope) {
|
65
|
+
if (!('permissions' in scope)) {
|
66
|
+
return false;
|
67
|
+
}
|
68
|
+
const permissions = scope.permissions;
|
69
|
+
return permissions.every(p => isPermissionObject(p));
|
70
|
+
}
|
71
|
+
exports.isPermissionsObject = isPermissionsObject;
|
72
|
+
function asPermissionsObject(scope) {
|
73
|
+
if (!isPermissionsObject(scope)) {
|
74
|
+
throw new Error(`Token scope is not a Permissions object: ${JSON.stringify(scope)}`);
|
75
|
+
}
|
76
|
+
return scope;
|
77
|
+
}
|
78
|
+
exports.asPermissionsObject = asPermissionsObject;
|
79
|
+
class PredefinedScope {
|
80
|
+
}
|
81
|
+
exports.PredefinedScope = PredefinedScope;
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbi1zY29wZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3Rva2Vucy9wZXJtaXNzaW9uLXNjb3BlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksU0FJWDtBQUpELFdBQVksU0FBUztJQUNuQixvQ0FBdUIsQ0FBQTtJQUN2QixrQ0FBcUIsQ0FBQTtJQUNyQixvQ0FBdUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsU0FBUyxHQUFULGlCQUFTLEtBQVQsaUJBQVMsUUFJcEI7QUFFWSxRQUFBLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNyQixRQUFBLFNBQVMsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNyQixRQUFBLGFBQWEsR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUt0QyxTQUFnQixXQUFXLENBQ3pCLEtBQW1DO0lBRW5DLElBQUksS0FBSyxLQUFLLGlCQUFTLEVBQUU7UUFDdkIsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sTUFBTSxJQUFJLEtBQUssQ0FBQztBQUN6QixDQUFDO0FBUEQsa0NBT0M7QUFXRCxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhO0lBQzdDLE9BQU8sTUFBTSxJQUFJLENBQUMsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDeEQsQ0FBQztBQUZELDhDQUVDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQUMsQ0FBYTtJQUM3QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDekIsTUFBTSxJQUFJLEtBQUssQ0FDYiwrQ0FBK0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNuRSxDQUFDO0tBQ0g7SUFDRCxPQUFPLENBQW9CLENBQUM7QUFDOUIsQ0FBQztBQVBELDhDQU9DO0FBRUQsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLGtEQUFxQyxDQUFBO0lBQ3JDLDRDQUErQixDQUFBO0lBQy9CLHdDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQUtELFNBQWdCLFdBQVcsQ0FDekIsS0FBbUM7SUFFbkMsSUFBSSxLQUFLLEtBQUssaUJBQVMsRUFBRTtRQUN2QixPQUFPLEtBQUssQ0FBQztLQUNkO0lBQ0QsT0FBTyxNQUFNLElBQUksS0FBSyxDQUFDO0FBQ3pCLENBQUM7QUFQRCxrQ0FPQztBQWVELFNBQWdCLGlCQUFpQixDQUFDLENBQWE7SUFDN0MsT0FBTyxNQUFNLElBQUksQ0FBQyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksT0FBTyxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDO0FBRkQsOENBRUM7QUFFRCxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhO0lBQzdDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUN6QixNQUFNLElBQUksS0FBSyxDQUNiLCtDQUErQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ25FLENBQUM7S0FDSDtJQUNELE9BQU8sQ0FBb0IsQ0FBQztBQUM5QixDQUFDO0FBUEQsOENBT0M7QUFRWSxRQUFBLGdCQUFnQixHQUFnQjtJQUMzQyxXQUFXLEVBQUU7UUFDWCxFQUFDLElBQUksRUFBRSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxpQkFBUyxFQUFDO1FBQzdDLEVBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsaUJBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQVMsRUFBQztLQUN2RTtDQUNGLENBQUM7QUFFRixTQUFTLGtCQUFrQixDQUFDLENBQWE7SUFDdkMsT0FBTyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBc0I7SUFDeEQsSUFBSSxDQUFDLENBQUMsYUFBYSxJQUFJLEtBQUssQ0FBQyxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQ3RDLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDdkQsQ0FBQztBQU5ELGtEQU1DO0FBRUQsU0FBZ0IsbUJBQW1CLENBQUMsS0FBc0I7SUFDeEQsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQy9CLE1BQU0sSUFBSSxLQUFLLENBQ2IsNENBQTRDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDcEUsQ0FBQztLQUNIO0lBQ0QsT0FBTyxLQUFvQixDQUFDO0FBQzlCLENBQUM7QUFQRCxrREFPQztBQUVELE1BQXNCLGVBQWU7Q0FBRztBQUF4QywwQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDYWNoZVJvbGUge1xuICBSZWFkV3JpdGUgPSAncmVhZHdyaXRlJyxcbiAgUmVhZE9ubHkgPSAncmVhZG9ubHknLFxuICBXcml0ZU9ubHkgPSAnd3JpdGVvbmx5Jyxcbn1cblxuZXhwb3J0IGNvbnN0IEFsbENhY2hlcyA9IFN5bWJvbCgpO1xuZXhwb3J0IGNvbnN0IEFsbFRvcGljcyA9IFN5bWJvbCgpO1xuZXhwb3J0IGNvbnN0IEFsbENhY2hlSXRlbXMgPSBTeW1ib2woKTtcblxuZXhwb3J0IGludGVyZmFjZSBDYWNoZU5hbWUge1xuICBuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNDYWNoZU5hbWUoXG4gIGNhY2hlOiBDYWNoZU5hbWUgfCB0eXBlb2YgQWxsQ2FjaGVzXG4pOiBjYWNoZSBpcyBDYWNoZU5hbWUge1xuICBpZiAoY2FjaGUgPT09IEFsbENhY2hlcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gJ25hbWUnIGluIGNhY2hlO1xufVxuZXhwb3J0IHR5cGUgQ2FjaGVTZWxlY3RvciA9IHR5cGVvZiBBbGxDYWNoZXMgfCBDYWNoZU5hbWUgfCBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FjaGVQZXJtaXNzaW9uIHtcbiAgcm9sZTogQ2FjaGVSb2xlO1xuICAvKipcbiAgICogU2NvcGUgdGhlIHRva2VuIHBlcm1pc3Npb25zIHRvIHNlbGVjdCBjYWNoZXNcbiAgICovXG4gIGNhY2hlOiBDYWNoZVNlbGVjdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDYWNoZVBlcm1pc3Npb24ocDogUGVybWlzc2lvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ3JvbGUnIGluIHAgJiYgJ2NhY2hlJyBpbiBwICYmICEoJ3RvcGljJyBpbiBwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzQ2FjaGVQZXJtaXNzaW9uKHA6IFBlcm1pc3Npb24pOiBDYWNoZVBlcm1pc3Npb24ge1xuICBpZiAoIWlzQ2FjaGVQZXJtaXNzaW9uKHApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYHBlcm1pc3Npb24gaXMgbm90IGEgQ2FjaGVQZXJtaXNzaW9uIG9iamVjdDogJHtKU09OLnN0cmluZ2lmeShwKX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcCBhcyBDYWNoZVBlcm1pc3Npb247XG59XG5cbmV4cG9ydCBlbnVtIFRvcGljUm9sZSB7XG4gIFB1Ymxpc2hTdWJzY3JpYmUgPSAncHVibGlzaHN1YnNjcmliZScsXG4gIFN1YnNjcmliZU9ubHkgPSAnc3Vic2NyaWJlb25seScsXG4gIFB1Ymxpc2hPbmx5ID0gJ3B1Ymxpc2hvbmx5Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb3BpY05hbWUge1xuICBuYW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNUb3BpY05hbWUoXG4gIHRvcGljOiBUb3BpY05hbWUgfCB0eXBlb2YgQWxsVG9waWNzXG4pOiB0b3BpYyBpcyBUb3BpY05hbWUge1xuICBpZiAodG9waWMgPT09IEFsbFRvcGljcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gJ25hbWUnIGluIHRvcGljO1xufVxuZXhwb3J0IHR5cGUgVG9waWNTZWxlY3RvciA9IHR5cGVvZiBBbGxUb3BpY3MgfCBUb3BpY05hbWUgfCBzdHJpbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVG9waWNQZXJtaXNzaW9uIHtcbiAgcm9sZTogVG9waWNSb2xlO1xuICAvKipcbiAgICogU2NvcGUgdGhlIHRva2VuIHBlcm1pc3Npb25zIHRvIHNlbGVjdCBjYWNoZXNcbiAgICovXG4gIGNhY2hlOiBDYWNoZVNlbGVjdG9yO1xuICAvKipcbiAgICogU2NvcGUgdGhlIHRva2VuIHBlcm1pc3Npb25zIHRvIHNlbGVjdCB0b3BpY3NcbiAgICovXG4gIHRvcGljOiBUb3BpY1NlbGVjdG9yO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNUb3BpY1Blcm1pc3Npb24ocDogUGVybWlzc2lvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gJ3JvbGUnIGluIHAgJiYgJ2NhY2hlJyBpbiBwICYmICd0b3BpYycgaW4gcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzVG9waWNQZXJtaXNzaW9uKHA6IFBlcm1pc3Npb24pOiBUb3BpY1Blcm1pc3Npb24ge1xuICBpZiAoIWlzVG9waWNQZXJtaXNzaW9uKHApKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYHBlcm1pc3Npb24gaXMgbm90IGEgVG9waWNQZXJtaXNzaW9uIG9iamVjdDogJHtKU09OLnN0cmluZ2lmeShwKX1gXG4gICAgKTtcbiAgfVxuICByZXR1cm4gcCBhcyBUb3BpY1Blcm1pc3Npb247XG59XG5cbmV4cG9ydCB0eXBlIFBlcm1pc3Npb24gPSBDYWNoZVBlcm1pc3Npb24gfCBUb3BpY1Blcm1pc3Npb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGVybWlzc2lvbnMge1xuICBwZXJtaXNzaW9uczogQXJyYXk8UGVybWlzc2lvbj47XG59XG5cbmV4cG9ydCBjb25zdCBBbGxEYXRhUmVhZFdyaXRlOiBQZXJtaXNzaW9ucyA9IHtcbiAgcGVybWlzc2lvbnM6IFtcbiAgICB7cm9sZTogQ2FjaGVSb2xlLlJlYWRXcml0ZSwgY2FjaGU6IEFsbENhY2hlc30sXG4gICAge3JvbGU6IFRvcGljUm9sZS5QdWJsaXNoU3Vic2NyaWJlLCBjYWNoZTogQWxsQ2FjaGVzLCB0b3BpYzogQWxsVG9waWNzfSxcbiAgXSxcbn07XG5cbmZ1bmN0aW9uIGlzUGVybWlzc2lvbk9iamVjdChwOiBQZXJtaXNzaW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc0NhY2hlUGVybWlzc2lvbihwKSB8fCBpc1RvcGljUGVybWlzc2lvbihwKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUGVybWlzc2lvbnNPYmplY3Qoc2NvcGU6IFBlcm1pc3Npb25TY29wZSk6IGJvb2xlYW4ge1xuICBpZiAoISgncGVybWlzc2lvbnMnIGluIHNjb3BlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBjb25zdCBwZXJtaXNzaW9ucyA9IHNjb3BlLnBlcm1pc3Npb25zO1xuICByZXR1cm4gcGVybWlzc2lvbnMuZXZlcnkocCA9PiBpc1Blcm1pc3Npb25PYmplY3QocCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNQZXJtaXNzaW9uc09iamVjdChzY29wZTogUGVybWlzc2lvblNjb3BlKTogUGVybWlzc2lvbnMge1xuICBpZiAoIWlzUGVybWlzc2lvbnNPYmplY3Qoc2NvcGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFRva2VuIHNjb3BlIGlzIG5vdCBhIFBlcm1pc3Npb25zIG9iamVjdDogJHtKU09OLnN0cmluZ2lmeShzY29wZSl9YFxuICAgICk7XG4gIH1cbiAgcmV0dXJuIHNjb3BlIGFzIFBlcm1pc3Npb25zO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUHJlZGVmaW5lZFNjb3BlIHt9XG5cbmV4cG9ydCB0eXBlIFBlcm1pc3Npb25TY29wZSA9XG4gIHwgdHlwZW9mIEFsbERhdGFSZWFkV3JpdGVcbiAgfCBQZXJtaXNzaW9uc1xuICB8IFByZWRlZmluZWRTY29wZTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIFBlcm1pc3Npb25TY29wZSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIFRva2VuU2NvcGUgPSBQZXJtaXNzaW9uU2NvcGU7XG4iXX0=
|
@@ -1,7 +1,7 @@
|
|
1
|
-
import { CacheSelector,
|
2
|
-
export declare function cacheReadWrite(cacheSelector: CacheSelector):
|
3
|
-
export declare function cacheReadOnly(cacheSelector: CacheSelector):
|
4
|
-
export declare function cacheWriteOnly(cacheSelector: CacheSelector):
|
5
|
-
export declare function topicSubscribeOnly(cacheSelector: CacheSelector, topicSelector: TopicSelector):
|
6
|
-
export declare function topicPublishSubscribe(cacheSelector: CacheSelector, topicSelector: TopicSelector):
|
7
|
-
export declare function topicPublishOnly(cacheSelector: CacheSelector, topicSelector: TopicSelector):
|
1
|
+
import { CacheSelector, PermissionScope, TopicSelector } from './permission-scope';
|
2
|
+
export declare function cacheReadWrite(cacheSelector: CacheSelector): PermissionScope;
|
3
|
+
export declare function cacheReadOnly(cacheSelector: CacheSelector): PermissionScope;
|
4
|
+
export declare function cacheWriteOnly(cacheSelector: CacheSelector): PermissionScope;
|
5
|
+
export declare function topicSubscribeOnly(cacheSelector: CacheSelector, topicSelector: TopicSelector): PermissionScope;
|
6
|
+
export declare function topicPublishSubscribe(cacheSelector: CacheSelector, topicSelector: TopicSelector): PermissionScope;
|
7
|
+
export declare function topicPublishOnly(cacheSelector: CacheSelector, topicSelector: TopicSelector): PermissionScope;
|