cdk8s 2.2.8 → 2.2.12
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/.jsii +4 -4
- package/changelog.md +1 -1
- package/lib/api-object.d.ts +13 -48
- package/lib/api-object.js +12 -20
- package/lib/app.d.ts +12 -56
- package/lib/app.js +10 -19
- package/lib/chart.d.ts +3 -26
- package/lib/chart.js +3 -18
- package/lib/dependency.d.ts +3 -25
- package/lib/dependency.js +6 -28
- package/lib/duration.d.ts +16 -33
- package/lib/duration.js +16 -31
- package/lib/helm.d.ts +3 -18
- package/lib/helm.js +2 -7
- package/lib/include.d.ts +3 -15
- package/lib/include.js +4 -10
- package/lib/json-patch.d.ts +16 -45
- package/lib/json-patch.js +18 -47
- package/lib/lazy.d.ts +0 -15
- package/lib/lazy.js +2 -11
- package/lib/metadata.d.ts +21 -63
- package/lib/metadata.js +7 -21
- package/lib/names.d.ts +16 -26
- package/lib/names.js +18 -18
- package/lib/size.d.ts +4 -51
- package/lib/size.js +5 -31
- package/lib/testing.d.ts +2 -8
- package/lib/testing.js +4 -10
- package/lib/yaml.d.ts +9 -15
- package/lib/yaml.js +11 -17
- package/node_modules/follow-redirects/index.js +7 -3
- package/node_modules/follow-redirects/package.json +1 -1
- package/package.json +6 -6
- package/releasetag.txt +1 -1
- package/version.txt +1 -1
package/lib/names.d.ts
CHANGED
|
@@ -1,56 +1,45 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
2
|
/**
|
|
3
3
|
* Options for name generation.
|
|
4
|
-
*
|
|
5
|
-
* @stability stable
|
|
6
4
|
*/
|
|
7
5
|
export interface NameOptions {
|
|
8
6
|
/**
|
|
9
7
|
* Maximum allowed length for the name.
|
|
10
|
-
*
|
|
11
8
|
* @default 63
|
|
12
|
-
* @stability stable
|
|
13
9
|
*/
|
|
14
10
|
readonly maxLen?: number;
|
|
15
11
|
/**
|
|
16
12
|
* Extra components to include in the name.
|
|
17
|
-
*
|
|
18
13
|
* @default [] use the construct path components
|
|
19
|
-
* @stability stable
|
|
20
14
|
*/
|
|
21
15
|
readonly extra?: string[];
|
|
22
16
|
/**
|
|
23
17
|
* Delimiter to use between components.
|
|
24
|
-
*
|
|
25
18
|
* @default "-"
|
|
26
|
-
* @stability stable
|
|
27
19
|
*/
|
|
28
20
|
readonly delimiter?: string;
|
|
29
21
|
/**
|
|
30
22
|
* Include a short hash as last part of the name.
|
|
31
|
-
*
|
|
32
23
|
* @default true
|
|
33
|
-
* @stability stable
|
|
34
24
|
*/
|
|
35
25
|
readonly includeHash?: boolean;
|
|
36
26
|
}
|
|
37
27
|
/**
|
|
38
28
|
* Utilities for generating unique and stable names.
|
|
39
|
-
*
|
|
40
|
-
* @stability stable
|
|
41
29
|
*/
|
|
42
30
|
export declare class Names {
|
|
43
31
|
/**
|
|
44
|
-
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
32
|
+
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
33
|
+
* a path.
|
|
45
34
|
*
|
|
46
35
|
* The generated name will:
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
36
|
+
* - contain at most 63 characters
|
|
37
|
+
* - contain only lowercase alphanumeric characters or ‘-’
|
|
38
|
+
* - start with an alphanumeric character
|
|
39
|
+
* - end with an alphanumeric character
|
|
51
40
|
*
|
|
52
41
|
* The generated name will have the form:
|
|
53
|
-
*
|
|
42
|
+
* <comp0>-<comp1>-..-<compN>-<short-hash>
|
|
54
43
|
*
|
|
55
44
|
* Where <comp> are the path components (assuming they are is separated by
|
|
56
45
|
* "/").
|
|
@@ -58,16 +47,17 @@ export declare class Names {
|
|
|
58
47
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
59
48
|
* the first components since the last components usually encode more meaning.
|
|
60
49
|
*
|
|
61
|
-
* @param scope The construct for which to render the DNS label.
|
|
62
|
-
* @param options Name options.
|
|
63
|
-
* @stability stable
|
|
64
50
|
* @link https://tools.ietf.org/html/rfc1123
|
|
51
|
+
*
|
|
52
|
+
* @param scope The construct for which to render the DNS label
|
|
53
|
+
* @param options Name options
|
|
65
54
|
* @throws if any of the components do not adhere to naming constraints or
|
|
66
55
|
* length.
|
|
67
56
|
*/
|
|
68
57
|
static toDnsLabel(scope: Construct, options?: NameOptions): string;
|
|
69
58
|
/**
|
|
70
|
-
* Generates a unique and stable name compatible label key name segment and
|
|
59
|
+
* Generates a unique and stable name compatible label key name segment and
|
|
60
|
+
* label value from a path.
|
|
71
61
|
*
|
|
72
62
|
* The name segment is required and must be 63 characters or less, beginning
|
|
73
63
|
* and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-),
|
|
@@ -78,7 +68,7 @@ export declare class Names {
|
|
|
78
68
|
* (-), underscores (_), dots (.), and alphanumerics between.
|
|
79
69
|
*
|
|
80
70
|
* The generated name will have the form:
|
|
81
|
-
*
|
|
71
|
+
* <comp0><delim><comp1><delim>..<delim><compN><delim><short-hash>
|
|
82
72
|
*
|
|
83
73
|
* Where <comp> are the path components (assuming they are is separated by
|
|
84
74
|
* "/").
|
|
@@ -86,10 +76,10 @@ export declare class Names {
|
|
|
86
76
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
87
77
|
* the first components since the last components usually encode more meaning.
|
|
88
78
|
*
|
|
89
|
-
* @param scope The construct for which to render the DNS label.
|
|
90
|
-
* @param options Name options.
|
|
91
|
-
* @stability stable
|
|
92
79
|
* @link https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
|
|
80
|
+
*
|
|
81
|
+
* @param scope The construct for which to render the DNS label
|
|
82
|
+
* @param options Name options
|
|
93
83
|
* @throws if any of the components do not adhere to naming constraints or
|
|
94
84
|
* length.
|
|
95
85
|
*/
|
package/lib/names.js
CHANGED
|
@@ -11,8 +11,6 @@ const VALIDATE_LABEL_VALUE = /^(([0-9a-zA-Z][0-9a-zA-Z-_.]*)?[0-9a-zA-Z])?$/;
|
|
|
11
11
|
const HASH_LEN = 8;
|
|
12
12
|
/**
|
|
13
13
|
* Utilities for generating unique and stable names.
|
|
14
|
-
*
|
|
15
|
-
* @stability stable
|
|
16
14
|
*/
|
|
17
15
|
class Names {
|
|
18
16
|
/* istanbul ignore next */
|
|
@@ -20,16 +18,17 @@ class Names {
|
|
|
20
18
|
return;
|
|
21
19
|
}
|
|
22
20
|
/**
|
|
23
|
-
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
21
|
+
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
22
|
+
* a path.
|
|
24
23
|
*
|
|
25
24
|
* The generated name will:
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
25
|
+
* - contain at most 63 characters
|
|
26
|
+
* - contain only lowercase alphanumeric characters or ‘-’
|
|
27
|
+
* - start with an alphanumeric character
|
|
28
|
+
* - end with an alphanumeric character
|
|
30
29
|
*
|
|
31
30
|
* The generated name will have the form:
|
|
32
|
-
*
|
|
31
|
+
* <comp0>-<comp1>-..-<compN>-<short-hash>
|
|
33
32
|
*
|
|
34
33
|
* Where <comp> are the path components (assuming they are is separated by
|
|
35
34
|
* "/").
|
|
@@ -37,10 +36,10 @@ class Names {
|
|
|
37
36
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
38
37
|
* the first components since the last components usually encode more meaning.
|
|
39
38
|
*
|
|
40
|
-
* @param scope The construct for which to render the DNS label.
|
|
41
|
-
* @param options Name options.
|
|
42
|
-
* @stability stable
|
|
43
39
|
* @link https://tools.ietf.org/html/rfc1123
|
|
40
|
+
*
|
|
41
|
+
* @param scope The construct for which to render the DNS label
|
|
42
|
+
* @param options Name options
|
|
44
43
|
* @throws if any of the components do not adhere to naming constraints or
|
|
45
44
|
* length.
|
|
46
45
|
*/
|
|
@@ -67,7 +66,8 @@ class Names {
|
|
|
67
66
|
return toHumanForm(components, delim, maxLen);
|
|
68
67
|
}
|
|
69
68
|
/**
|
|
70
|
-
* Generates a unique and stable name compatible label key name segment and
|
|
69
|
+
* Generates a unique and stable name compatible label key name segment and
|
|
70
|
+
* label value from a path.
|
|
71
71
|
*
|
|
72
72
|
* The name segment is required and must be 63 characters or less, beginning
|
|
73
73
|
* and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-),
|
|
@@ -78,7 +78,7 @@ class Names {
|
|
|
78
78
|
* (-), underscores (_), dots (.), and alphanumerics between.
|
|
79
79
|
*
|
|
80
80
|
* The generated name will have the form:
|
|
81
|
-
*
|
|
81
|
+
* <comp0><delim><comp1><delim>..<delim><compN><delim><short-hash>
|
|
82
82
|
*
|
|
83
83
|
* Where <comp> are the path components (assuming they are is separated by
|
|
84
84
|
* "/").
|
|
@@ -86,10 +86,10 @@ class Names {
|
|
|
86
86
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
87
87
|
* the first components since the last components usually encode more meaning.
|
|
88
88
|
*
|
|
89
|
-
* @param scope The construct for which to render the DNS label.
|
|
90
|
-
* @param options Name options.
|
|
91
|
-
* @stability stable
|
|
92
89
|
* @link https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
|
|
90
|
+
*
|
|
91
|
+
* @param scope The construct for which to render the DNS label
|
|
92
|
+
* @param options Name options
|
|
93
93
|
* @throws if any of the components do not adhere to naming constraints or
|
|
94
94
|
* length.
|
|
95
95
|
*/
|
|
@@ -123,7 +123,7 @@ class Names {
|
|
|
123
123
|
}
|
|
124
124
|
exports.Names = Names;
|
|
125
125
|
_a = JSII_RTTI_SYMBOL_1;
|
|
126
|
-
Names[_a] = { fqn: "cdk8s.Names", version: "2.2.
|
|
126
|
+
Names[_a] = { fqn: "cdk8s.Names", version: "2.2.12" };
|
|
127
127
|
function omitDuplicates(value, index, components) {
|
|
128
128
|
return value !== components[index - 1];
|
|
129
129
|
}
|
|
@@ -163,4 +163,4 @@ function normalizeToLabelValue(c, maxLen) {
|
|
|
163
163
|
.replace(/[^0-9a-zA-Z-_.]/g, '') // remove non-allowed characters
|
|
164
164
|
.substr(0, maxLen); // trim to maxLength
|
|
165
165
|
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMsMkNBQTZDO0FBRTdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUNuQixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUM7QUFDaEMsTUFBTSxvQkFBb0IsR0FBRywrQ0FBK0MsQ0FBQztBQUM3RSxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7Ozs7OztBQWtCbkIsTUFBYSxLQUFLO0lBaUVoQiwwQkFBMEI7SUFDMUI7UUFDRSxPQUFPO0lBQ1QsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFsRU0sTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFnQixFQUFFLFVBQXVCLEVBQUc7O1FBQ25FLE1BQU0sTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLE9BQU8sQ0FBQztRQUN6QyxNQUFNLEtBQUssU0FBRyxPQUFPLENBQUMsU0FBUyxtQ0FBSSxHQUFHLENBQUM7UUFDdkMsTUFBTSxZQUFZLFNBQUcsT0FBTyxDQUFDLFdBQVcsbUNBQUksSUFBSSxDQUFDO1FBRWpELElBQUksTUFBTSxHQUFHLFFBQVEsSUFBSSxZQUFZLEVBQUU7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsUUFBUSxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsTUFBTSxJQUFJLEdBQUcsaUJBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdEMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFHLE9BQU8sQ0FBQyxLQUFLLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhDLDJHQUEyRztRQUMzRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLFFBQVEs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QUFDO0tBQzVDO0lBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7QUFDMUMsQ0FBQztBQUVELFNBQVMscUJBQXFCLENBQUMsQ0FBUyxFQUFFLE1BQWM7SUFDdEQsT0FBTyxDQUFDO1NBQ0wsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLGdDQUFnQztTQUNoRSxNQUFNLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcbmltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5jb25zdCBNQVhfTEVOID0gNjM7XG5jb25zdCBWQUxJREFURSA9IC9eWzAtOWEtei1dKyQvO1xuY29uc3QgVkFMSURBVEVfTEFCRUxfVkFMVUUgPSAvXigoWzAtOWEtekEtWl1bMC05YS16QS1aLV8uXSopP1swLTlhLXpBLVpdKT8kLztcbmNvbnN0IEhBU0hfTEVOID0gODtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIE5hbWVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWF4TGVuPzogbnVtYmVyO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZXh0cmE/OiBzdHJpbmdbXTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGVsaW1pdGVyPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGluY2x1ZGVIYXNoPzogYm9vbGVhbjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgTmFtZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHRvRG5zTGFiZWwoc2NvcGU6IENvbnN0cnVjdCwgb3B0aW9uczogTmFtZU9wdGlvbnMgPSB7IH0pIHtcbiAgICBjb25zdCBtYXhMZW4gPSBvcHRpb25zLm1heExlbiA/PyBNQVhfTEVOO1xuICAgIGNvbnN0IGRlbGltID0gb3B0aW9ucy5kZWxpbWl0ZXIgPz8gJy0nO1xuICAgIGNvbnN0IGluY2x1ZGVfaGFzaCA9IG9wdGlvbnMuaW5jbHVkZUhhc2ggPz8gdHJ1ZTtcblxuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTiAmJiBpbmNsdWRlX2hhc2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWluaW11bSBtYXggbGVuZ3RoIGZvciBvYmplY3QgbmFtZXMgaXMgJHtIQVNIX0xFTn0gKHJlcXVpcmVkIGZvciBoYXNoKWApO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBOb2RlLm9mKHNjb3BlKTtcblxuICAgIGxldCBjb21wb25lbnRzID0gbm9kZS5wYXRoLnNwbGl0KCcvJyk7XG4gICAgY29tcG9uZW50cy5wdXNoKC4uLm9wdGlvbnMuZXh0cmEgPz8gW10pO1xuXG4gICAgLy8gc3BlY2lhbCBjYXNlOiBpZiB3ZSBvbmx5IGhhdmUgb25lIGNvbXBvbmVudCBpbiBvdXIgcGF0aCBhbmQgaXQgYWRoZXJlcyB0byBETlNfTkFNRSwgd2UgZG9uJ3QgZGVjb3JhdGUgaXRcbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEgJiYgVkFMSURBVEUudGVzdChjb21wb25lbnRzWzBdKSAmJiBjb21wb25lbnRzWzBdLmxlbmd0aCA8PSBtYXhMZW4pIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICAgIH1cblxuICAgIC8vIG9rYXksIG5vdyB3ZSBuZWVkIHRvIG5vcm1hbGl6ZSBhbGwgY29tcG9uZW50cyB0byBhZGhlcmUgdG8gRE5TX05BTUUgYW5kIGFwcGVuZCB0aGUgaGFzaCBvZiB0aGUgZnVsbCBwYXRoLlxuICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzLm1hcChjID0+IG5vcm1hbGl6ZVRvRG5zTmFtZShjLCBtYXhMZW4pKTtcbiAgICBpZiAoaW5jbHVkZV9oYXNoKSB7XG4gICAgICBjb21wb25lbnRzLnB1c2goY2FsY0hhc2gobm9kZSwgSEFTSF9MRU4pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9IdW1hbkZvcm0oY29tcG9uZW50cywgZGVsaW0sIG1heExlbik7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgdG9MYWJlbFZhbHVlKHNjb3BlOiBDb25zdHJ1Y3QsIG9wdGlvbnM6IE5hbWVPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBtYXhMZW4gPSBvcHRpb25zLm1heExlbiA/PyBNQVhfTEVOO1xuICAgIGNvbnN0IGRlbGltID0gb3B0aW9ucy5kZWxpbWl0ZXIgPz8gJy0nO1xuICAgIGNvbnN0IGluY2x1ZGVfaGFzaCA9IG9wdGlvbnMuaW5jbHVkZUhhc2ggPz8gdHJ1ZTtcblxuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTiAmJiBpbmNsdWRlX2hhc2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWluaW11bSBtYXggbGVuZ3RoIGZvciBsYWJlbCBpcyAke0hBU0hfTEVOfSAocmVxdWlyZWQgZm9yIGhhc2gpYCk7XG4gICAgfVxuXG4gICAgaWYgKC9bXjAtOWEtekEtWi1fLl0vLnRlc3QoZGVsaW0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlbGltIHNob3VsZCBub3QgY29udGFpbiBcIlteMC05YS16QS1aLV8uXVwiJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IE5vZGUub2Yoc2NvcGUpO1xuICAgIGxldCBjb21wb25lbnRzID0gbm9kZS5wYXRoLnNwbGl0KCcvJyk7XG4gICAgY29tcG9uZW50cy5wdXNoKC4uLm9wdGlvbnMuZXh0cmEgPz8gW10pO1xuXG4gICAgLy8gc3BlY2lhbCBjYXNlOiBpZiB3ZSBvbmx5IGhhdmUgb25lIGNvbXBvbmVudCBpbiBvdXIgcGF0aCBhbmQgaXQgYWRoZXJlcyB0byBETlNfTkFNRSwgd2UgZG9uJ3QgZGVjb3JhdGUgaXRcbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEgJiYgVkFMSURBVEVfTEFCRUxfVkFMVUUudGVzdChjb21wb25lbnRzWzBdKSAmJiBjb21wb25lbnRzWzBdLmxlbmd0aCA8PSBtYXhMZW4pIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICAgIH1cblxuICAgIC8vIG9rYXksIG5vdyB3ZSBuZWVkIHRvIG5vcm1hbGl6ZSBhbGwgY29tcG9uZW50cyB0byBhZGhlcmUgdG8gbGFiZWwgYW5kIGFwcGVuZCB0aGUgaGFzaCBvZiB0aGUgZnVsbCBwYXRoLlxuICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzLm1hcChjID0+IG5vcm1hbGl6ZVRvTGFiZWxWYWx1ZShjLCBtYXhMZW4pKTtcbiAgICBpZiAoaW5jbHVkZV9oYXNoKSB7XG4gICAgICBjb21wb25lbnRzLnB1c2goY2FsY0hhc2gobm9kZSwgSEFTSF9MRU4pKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSB0b0h1bWFuRm9ybShjb21wb25lbnRzLCBkZWxpbSwgbWF4TGVuKTtcblxuICAgIC8vIHNsaWNpbmcgbWlnaHQgbGV0ICctJywgJ18nLCAnLicgYmUgaW4gdGhlIHN0YXJ0IG9mIHRoZSByZXN1bHQuXG4gICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKC9eW14wLTlhLXpBLVpdKy8sICcnKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9taXREdXBsaWNhdGVzKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIGNvbXBvbmVudHM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gY29tcG9uZW50c1tpbmRleC0xXTtcbn1cblxuZnVuY3Rpb24gb21pdERlZmF1bHRDaGlsZCh2YWx1ZTogc3RyaW5nLCBfOiBudW1iZXIsIF9fOiBzdHJpbmdbXSkge1xuICByZXR1cm4gdmFsdWUudG9Mb3dlckNhc2UoKSAhPT0gJ3Jlc291cmNlJyAmJiB2YWx1ZS50b0xvd2VyQ2FzZSgpICE9PSAnZGVmYXVsdCc7XG59XG5cbmZ1bmN0aW9uIHRvSHVtYW5Gb3JtKGNvbXBvbmVudHM6IHN0cmluZ1tdLCBkZWxpbTogc3RyaW5nLCBtYXhMZW46IG51bWJlcikge1xuICByZXR1cm4gY29tcG9uZW50cy5yZXZlcnNlKClcbiAgICAuZmlsdGVyKG9taXREdXBsaWNhdGVzKVxuICAgIC5qb2luKCcvJylcbiAgICAuc2xpY2UoMCwgbWF4TGVuKVxuICAgIC5zcGxpdCgnLycpXG4gICAgLnJldmVyc2UoKVxuICAgIC5maWx0ZXIoeCA9PiB4KVxuICAgIC5qb2luKGRlbGltKVxuICAgIC5zcGxpdChkZWxpbSlcbiAgICAuZmlsdGVyKHggPT4geClcbiAgICAuZmlsdGVyKG9taXREZWZhdWx0Q2hpbGQpXG4gICAgLmpvaW4oZGVsaW0pO1xuXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVRvRG5zTmFtZShjOiBzdHJpbmcsIG1heExlbjogbnVtYmVyKSB7XG4gIHJldHVybiBjXG4gICAgLnRvTG9jYWxlTG93ZXJDYXNlKCkgLy8gbG93ZXIgY2FzZVxuICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpIC8vIHJlbW92ZSBub24tYWxsb3dlZCBjaGFyYWN0ZXJzXG4gICAgLnN1YnN0cigwLCBtYXhMZW4pOyAvLyB0cmltIHRvIG1heExlbmd0aFxufVxuXG5mdW5jdGlvbiBjYWxjSGFzaChub2RlOiBOb2RlLCBtYXhMZW46IG51bWJlcikge1xuICBpZiAocHJvY2Vzcy5lbnYuQ0RLOFNfTEVHQUNZX0hBU0gpIHtcbiAgICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICAgIGhhc2gudXBkYXRlKG5vZGUucGF0aCk7XG4gICAgcmV0dXJuIGhhc2guZGlnZXN0KCdoZXgnKS5zbGljZSgwLCBtYXhMZW4pO1xuICB9XG5cbiAgcmV0dXJuIG5vZGUuYWRkci5zdWJzdHJpbmcoMCwgSEFTSF9MRU4pO1xufVxuXG5mdW5jdGlvbiBub3JtYWxpemVUb0xhYmVsVmFsdWUoYzogc3RyaW5nLCBtYXhMZW46IG51bWJlcikge1xuICByZXR1cm4gY1xuICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpIC8vIHJlbW92ZSBub24tYWxsb3dlZCBjaGFyYWN0ZXJzXG4gICAgLnN1YnN0cigwLCBtYXhMZW4pOyAvLyB0cmltIHRvIG1heExlbmd0aFxufVxuIl19
|
|
166
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxpQ0FBaUM7QUFDakMsMkNBQTZDO0FBRTdDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUNuQixNQUFNLFFBQVEsR0FBRyxjQUFjLENBQUM7QUFDaEMsTUFBTSxvQkFBb0IsR0FBRywrQ0FBK0MsQ0FBQztBQUM3RSxNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUM7QUErQm5COztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBcUhoQiwwQkFBMEI7SUFDMUI7UUFDRSxPQUFPO0lBQ1QsQ0FBQztJQXZIRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0IsRUFBRSxVQUF1QixFQUFHOztRQUNuRSxNQUFNLE1BQU0sU0FBRyxPQUFPLENBQUMsTUFBTSxtQ0FBSSxPQUFPLENBQUM7UUFDekMsTUFBTSxLQUFLLFNBQUcsT0FBTyxDQUFDLFNBQVMsbUNBQUksR0FBRyxDQUFDO1FBQ3ZDLE1BQU0sWUFBWSxTQUFHLE9BQU8sQ0FBQyxXQUFXLG1DQUFJLElBQUksQ0FBQztRQUVqRCxJQUFJLE1BQU0sR0FBRyxRQUFRLElBQUksWUFBWSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLFFBQVEsc0JBQXNCLENBQUMsQ0FBQztTQUMzRjtRQUVELE1BQU0sSUFBSSxHQUFHLGlCQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVCLElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBRyxPQUFPLENBQUMsS0FBSyxtQ0FBSSxFQUFFLENBQUMsQ0FBQztRQUV4QywyR0FBMkc7UUFDM0csSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFL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Q0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDNUM7SUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxDQUFTLEVBQUUsTUFBYztJQUN0RCxPQUFPLENBQUM7U0FDTCxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO1NBQ2hFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxvQkFBb0I7QUFDNUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlIH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmNvbnN0IE1BWF9MRU4gPSA2MztcbmNvbnN0IFZBTElEQVRFID0gL15bMC05YS16LV0rJC87XG5jb25zdCBWQUxJREFURV9MQUJFTF9WQUxVRSA9IC9eKChbMC05YS16QS1aXVswLTlhLXpBLVotXy5dKik/WzAtOWEtekEtWl0pPyQvO1xuY29uc3QgSEFTSF9MRU4gPSA4O1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIG5hbWUgZ2VuZXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOYW1lT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNYXhpbXVtIGFsbG93ZWQgbGVuZ3RoIGZvciB0aGUgbmFtZS5cbiAgICogQGRlZmF1bHQgNjNcbiAgICovXG4gIHJlYWRvbmx5IG1heExlbj86IG51bWJlcjtcblxuICAvKipcbiAgICogRXh0cmEgY29tcG9uZW50cyB0byBpbmNsdWRlIGluIHRoZSBuYW1lLlxuICAgKiBAZGVmYXVsdCBbXSB1c2UgdGhlIGNvbnN0cnVjdCBwYXRoIGNvbXBvbmVudHNcbiAgICovXG4gIHJlYWRvbmx5IGV4dHJhPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIERlbGltaXRlciB0byB1c2UgYmV0d2VlbiBjb21wb25lbnRzLlxuICAgKiBAZGVmYXVsdCBcIi1cIlxuICAgKi9cbiAgcmVhZG9ubHkgZGVsaW1pdGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJbmNsdWRlIGEgc2hvcnQgaGFzaCBhcyBsYXN0IHBhcnQgb2YgdGhlIG5hbWUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGluY2x1ZGVIYXNoPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVdGlsaXRpZXMgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGFuZCBzdGFibGUgbmFtZXMuXG4gKi9cbmV4cG9ydCBjbGFzcyBOYW1lcyB7XG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSB1bmlxdWUgYW5kIHN0YWJsZSBuYW1lIGNvbXBhdGlibGUgRE5TX0xBQkVMIGZyb20gUkZDLTExMjMgZnJvbVxuICAgKiBhIHBhdGguXG4gICAqXG4gICAqIFRoZSBnZW5lcmF0ZWQgbmFtZSB3aWxsOlxuICAgKiAgLSBjb250YWluIGF0IG1vc3QgNjMgY2hhcmFjdGVyc1xuICAgKiAgLSBjb250YWluIG9ubHkgbG93ZXJjYXNlIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIG9yIOKAmC3igJlcbiAgICogIC0gc3RhcnQgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyXG4gICAqICAtIGVuZCB3aXRoIGFuIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJcbiAgICpcbiAgICogVGhlIGdlbmVyYXRlZCBuYW1lIHdpbGwgaGF2ZSB0aGUgZm9ybTpcbiAgICogIDxjb21wMD4tPGNvbXAxPi0uLi08Y29tcE4+LTxzaG9ydC1oYXNoPlxuICAgKlxuICAgKiBXaGVyZSA8Y29tcD4gYXJlIHRoZSBwYXRoIGNvbXBvbmVudHMgKGFzc3VtaW5nIHRoZXkgYXJlIGlzIHNlcGFyYXRlZCBieVxuICAgKiBcIi9cIikuXG4gICAqXG4gICAqIE5vdGUgdGhhdCBpZiB0aGUgdG90YWwgbGVuZ3RoIGlzIGxvbmdlciB0aGFuIDYzIGNoYXJhY3RlcnMsIHdlIHdpbGwgdHJpbVxuICAgKiB0aGUgZmlyc3QgY29tcG9uZW50cyBzaW5jZSB0aGUgbGFzdCBjb21wb25lbnRzIHVzdWFsbHkgZW5jb2RlIG1vcmUgbWVhbmluZy5cbiAgICpcbiAgICogQGxpbmsgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzExMjNcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBjb25zdHJ1Y3QgZm9yIHdoaWNoIHRvIHJlbmRlciB0aGUgRE5TIGxhYmVsXG4gICAqIEBwYXJhbSBvcHRpb25zIE5hbWUgb3B0aW9uc1xuICAgKiBAdGhyb3dzIGlmIGFueSBvZiB0aGUgY29tcG9uZW50cyBkbyBub3QgYWRoZXJlIHRvIG5hbWluZyBjb25zdHJhaW50cyBvclxuICAgKiBsZW5ndGguXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRvRG5zTGFiZWwoc2NvcGU6IENvbnN0cnVjdCwgb3B0aW9uczogTmFtZU9wdGlvbnMgPSB7IH0pIHtcbiAgICBjb25zdCBtYXhMZW4gPSBvcHRpb25zLm1heExlbiA/PyBNQVhfTEVOO1xuICAgIGNvbnN0IGRlbGltID0gb3B0aW9ucy5kZWxpbWl0ZXIgPz8gJy0nO1xuICAgIGNvbnN0IGluY2x1ZGVfaGFzaCA9IG9wdGlvbnMuaW5jbHVkZUhhc2ggPz8gdHJ1ZTtcblxuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTiAmJiBpbmNsdWRlX2hhc2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWluaW11bSBtYXggbGVuZ3RoIGZvciBvYmplY3QgbmFtZXMgaXMgJHtIQVNIX0xFTn0gKHJlcXVpcmVkIGZvciBoYXNoKWApO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBOb2RlLm9mKHNjb3BlKTtcblxuICAgIGxldCBjb21wb25lbnRzID0gbm9kZS5wYXRoLnNwbGl0KCcvJyk7XG4gICAgY29tcG9uZW50cy5wdXNoKC4uLm9wdGlvbnMuZXh0cmEgPz8gW10pO1xuXG4gICAgLy8gc3BlY2lhbCBjYXNlOiBpZiB3ZSBvbmx5IGhhdmUgb25lIGNvbXBvbmVudCBpbiBvdXIgcGF0aCBhbmQgaXQgYWRoZXJlcyB0byBETlNfTkFNRSwgd2UgZG9uJ3QgZGVjb3JhdGUgaXRcbiAgICBpZiAoY29tcG9uZW50cy5sZW5ndGggPT09IDEgJiYgVkFMSURBVEUudGVzdChjb21wb25lbnRzWzBdKSAmJiBjb21wb25lbnRzWzBdLmxlbmd0aCA8PSBtYXhMZW4pIHtcbiAgICAgIHJldHVybiBjb21wb25lbnRzWzBdO1xuICAgIH1cblxuICAgIC8vIG9rYXksIG5vdyB3ZSBuZWVkIHRvIG5vcm1hbGl6ZSBhbGwgY29tcG9uZW50cyB0byBhZGhlcmUgdG8gRE5TX05BTUUgYW5kIGFwcGVuZCB0aGUgaGFzaCBvZiB0aGUgZnVsbCBwYXRoLlxuICAgIGNvbXBvbmVudHMgPSBjb21wb25lbnRzLm1hcChjID0+IG5vcm1hbGl6ZVRvRG5zTmFtZShjLCBtYXhMZW4pKTtcbiAgICBpZiAoaW5jbHVkZV9oYXNoKSB7XG4gICAgICBjb21wb25lbnRzLnB1c2goY2FsY0hhc2gobm9kZSwgSEFTSF9MRU4pKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdG9IdW1hbkZvcm0oY29tcG9uZW50cywgZGVsaW0sIG1heExlbik7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIGFuZCBzdGFibGUgbmFtZSBjb21wYXRpYmxlIGxhYmVsIGtleSBuYW1lIHNlZ21lbnQgYW5kXG4gICAqIGxhYmVsIHZhbHVlIGZyb20gYSBwYXRoLlxuICAgKlxuICAgKiBUaGUgbmFtZSBzZWdtZW50IGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIDYzIGNoYXJhY3RlcnMgb3IgbGVzcywgYmVnaW5uaW5nXG4gICAqIGFuZCBlbmRpbmcgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyIChbYS16MC05QS1aXSkgd2l0aCBkYXNoZXMgKC0pLFxuICAgKiB1bmRlcnNjb3JlcyAoXyksIGRvdHMgKC4pLCBhbmQgYWxwaGFudW1lcmljcyBiZXR3ZWVuLlxuICAgKlxuICAgKiBWYWxpZCBsYWJlbCB2YWx1ZXMgbXVzdCBiZSA2MyBjaGFyYWN0ZXJzIG9yIGxlc3MgYW5kIG11c3QgYmUgZW1wdHkgb3JcbiAgICogYmVnaW4gYW5kIGVuZCB3aXRoIGFuIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXIgKFthLXowLTlBLVpdKSB3aXRoIGRhc2hlc1xuICAgKiAoLSksIHVuZGVyc2NvcmVzIChfKSwgZG90cyAoLiksIGFuZCBhbHBoYW51bWVyaWNzIGJldHdlZW4uXG4gICAqXG4gICAqIFRoZSBnZW5lcmF0ZWQgbmFtZSB3aWxsIGhhdmUgdGhlIGZvcm06XG4gICAqICA8Y29tcDA+PGRlbGltPjxjb21wMT48ZGVsaW0+Li48ZGVsaW0+PGNvbXBOPjxkZWxpbT48c2hvcnQtaGFzaD5cbiAgICpcbiAgICogV2hlcmUgPGNvbXA+IGFyZSB0aGUgcGF0aCBjb21wb25lbnRzIChhc3N1bWluZyB0aGV5IGFyZSBpcyBzZXBhcmF0ZWQgYnlcbiAgICogXCIvXCIpLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaWYgdGhlIHRvdGFsIGxlbmd0aCBpcyBsb25nZXIgdGhhbiA2MyBjaGFyYWN0ZXJzLCB3ZSB3aWxsIHRyaW1cbiAgICogdGhlIGZpcnN0IGNvbXBvbmVudHMgc2luY2UgdGhlIGxhc3QgY29tcG9uZW50cyB1c3VhbGx5IGVuY29kZSBtb3JlIG1lYW5pbmcuXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8va3ViZXJuZXRlcy5pby9kb2NzL2NvbmNlcHRzL292ZXJ2aWV3L3dvcmtpbmctd2l0aC1vYmplY3RzL2xhYmVscy8jc3ludGF4LWFuZC1jaGFyYWN0ZXItc2V0XG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgY29uc3RydWN0IGZvciB3aGljaCB0byByZW5kZXIgdGhlIEROUyBsYWJlbFxuICAgKiBAcGFyYW0gb3B0aW9ucyBOYW1lIG9wdGlvbnNcbiAgICogQHRocm93cyBpZiBhbnkgb2YgdGhlIGNvbXBvbmVudHMgZG8gbm90IGFkaGVyZSB0byBuYW1pbmcgY29uc3RyYWludHMgb3JcbiAgICogbGVuZ3RoLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0b0xhYmVsVmFsdWUoc2NvcGU6IENvbnN0cnVjdCwgb3B0aW9uczogTmFtZU9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IG1heExlbiA9IG9wdGlvbnMubWF4TGVuID8/IE1BWF9MRU47XG4gICAgY29uc3QgZGVsaW0gPSBvcHRpb25zLmRlbGltaXRlciA/PyAnLSc7XG4gICAgY29uc3QgaW5jbHVkZV9oYXNoID0gb3B0aW9ucy5pbmNsdWRlSGFzaCA/PyB0cnVlO1xuXG4gICAgaWYgKG1heExlbiA8IEhBU0hfTEVOICYmIGluY2x1ZGVfaGFzaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaW5pbXVtIG1heCBsZW5ndGggZm9yIGxhYmVsIGlzICR7SEFTSF9MRU59IChyZXF1aXJlZCBmb3IgaGFzaClgKTtcbiAgICB9XG5cbiAgICBpZiAoL1teMC05YS16QS1aLV8uXS8udGVzdChkZWxpbSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGVsaW0gc2hvdWxkIG5vdCBjb250YWluIFwiW14wLTlhLXpBLVotXy5dXCInKTtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gTm9kZS5vZihzY29wZSk7XG4gICAgbGV0IGNvbXBvbmVudHMgPSBub2RlLnBhdGguc3BsaXQoJy8nKTtcbiAgICBjb21wb25lbnRzLnB1c2goLi4ub3B0aW9ucy5leHRyYSA/PyBbXSk7XG5cbiAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIHdlIG9ubHkgaGF2ZSBvbmUgY29tcG9uZW50IGluIG91ciBwYXRoIGFuZCBpdCBhZGhlcmVzIHRvIEROU19OQU1FLCB3ZSBkb24ndCBkZWNvcmF0ZSBpdFxuICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBWQUxJREFURV9MQUJFTF9WQUxVRS50ZXN0KGNvbXBvbmVudHNbMF0pICYmIGNvbXBvbmVudHNbMF0ubGVuZ3RoIDw9IG1heExlbikge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gICAgfVxuXG4gICAgLy8gb2theSwgbm93IHdlIG5lZWQgdG8gbm9ybWFsaXplIGFsbCBjb21wb25lbnRzIHRvIGFkaGVyZSB0byBsYWJlbCBhbmQgYXBwZW5kIHRoZSBoYXNoIG9mIHRoZSBmdWxsIHBhdGguXG4gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMubWFwKGMgPT4gbm9ybWFsaXplVG9MYWJlbFZhbHVlKGMsIG1heExlbikpO1xuICAgIGlmIChpbmNsdWRlX2hhc2gpIHtcbiAgICAgIGNvbXBvbmVudHMucHVzaChjYWxjSGFzaChub2RlLCBIQVNIX0xFTikpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHRvSHVtYW5Gb3JtKGNvbXBvbmVudHMsIGRlbGltLCBtYXhMZW4pO1xuXG4gICAgLy8gc2xpY2luZyBtaWdodCBsZXQgJy0nLCAnXycsICcuJyBiZSBpbiB0aGUgc3RhcnQgb2YgdGhlIHJlc3VsdC5cbiAgICByZXR1cm4gcmVzdWx0LnJlcGxhY2UoL15bXjAtOWEtekEtWl0rLywgJycpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcigpIHtcbiAgICByZXR1cm47XG4gIH1cbn1cblxuZnVuY3Rpb24gb21pdER1cGxpY2F0ZXModmFsdWU6IHN0cmluZywgaW5kZXg6IG51bWJlciwgY29tcG9uZW50czogc3RyaW5nW10pIHtcbiAgcmV0dXJuIHZhbHVlICE9PSBjb21wb25lbnRzW2luZGV4LTFdO1xufVxuXG5mdW5jdGlvbiBvbWl0RGVmYXVsdENoaWxkKHZhbHVlOiBzdHJpbmcsIF86IG51bWJlciwgX186IHN0cmluZ1tdKSB7XG4gIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpICE9PSAncmVzb3VyY2UnICYmIHZhbHVlLnRvTG93ZXJDYXNlKCkgIT09ICdkZWZhdWx0Jztcbn1cblxuZnVuY3Rpb24gdG9IdW1hbkZvcm0oY29tcG9uZW50czogc3RyaW5nW10sIGRlbGltOiBzdHJpbmcsIG1heExlbjogbnVtYmVyKSB7XG4gIHJldHVybiBjb21wb25lbnRzLnJldmVyc2UoKVxuICAgIC5maWx0ZXIob21pdER1cGxpY2F0ZXMpXG4gICAgLmpvaW4oJy8nKVxuICAgIC5zbGljZSgwLCBtYXhMZW4pXG4gICAgLnNwbGl0KCcvJylcbiAgICAucmV2ZXJzZSgpXG4gICAgLmZpbHRlcih4ID0+IHgpXG4gICAgLmpvaW4oZGVsaW0pXG4gICAgLnNwbGl0KGRlbGltKVxuICAgIC5maWx0ZXIoeCA9PiB4KVxuICAgIC5maWx0ZXIob21pdERlZmF1bHRDaGlsZClcbiAgICAuam9pbihkZWxpbSk7XG5cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplVG9EbnNOYW1lKGM6IHN0cmluZywgbWF4TGVuOiBudW1iZXIpIHtcbiAgcmV0dXJuIGNcbiAgICAudG9Mb2NhbGVMb3dlckNhc2UoKSAvLyBsb3dlciBjYXNlXG4gICAgLnJlcGxhY2UoL1teMC05YS16QS1aLV8uXS9nLCAnJykgLy8gcmVtb3ZlIG5vbi1hbGxvd2VkIGNoYXJhY3RlcnNcbiAgICAuc3Vic3RyKDAsIG1heExlbik7IC8vIHRyaW0gdG8gbWF4TGVuZ3RoXG59XG5cbmZ1bmN0aW9uIGNhbGNIYXNoKG5vZGU6IE5vZGUsIG1heExlbjogbnVtYmVyKSB7XG4gIGlmIChwcm9jZXNzLmVudi5DREs4U19MRUdBQ1lfSEFTSCkge1xuICAgIGNvbnN0IGhhc2ggPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2Jyk7XG4gICAgaGFzaC51cGRhdGUobm9kZS5wYXRoKTtcbiAgICByZXR1cm4gaGFzaC5kaWdlc3QoJ2hleCcpLnNsaWNlKDAsIG1heExlbik7XG4gIH1cblxuICByZXR1cm4gbm9kZS5hZGRyLnN1YnN0cmluZygwLCBIQVNIX0xFTik7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVRvTGFiZWxWYWx1ZShjOiBzdHJpbmcsIG1heExlbjogbnVtYmVyKSB7XG4gIHJldHVybiBjXG4gICAgLnJlcGxhY2UoL1teMC05YS16QS1aLV8uXS9nLCAnJykgLy8gcmVtb3ZlIG5vbi1hbGxvd2VkIGNoYXJhY3RlcnNcbiAgICAuc3Vic3RyKDAsIG1heExlbik7IC8vIHRyaW0gdG8gbWF4TGVuZ3RoXG59XG4iXX0=
|
package/lib/size.d.ts
CHANGED
|
@@ -5,48 +5,31 @@
|
|
|
5
5
|
* cannot be negative.
|
|
6
6
|
*
|
|
7
7
|
* When the amount is passed as a token, unit conversion is not possible.
|
|
8
|
-
*
|
|
9
|
-
* @stability stable
|
|
10
8
|
*/
|
|
11
9
|
export declare class Size {
|
|
12
10
|
/**
|
|
13
11
|
* Create a Storage representing an amount kibibytes.
|
|
14
|
-
*
|
|
15
12
|
* 1 KiB = 1024 bytes
|
|
16
|
-
*
|
|
17
|
-
* @stability stable
|
|
18
13
|
*/
|
|
19
14
|
static kibibytes(amount: number): Size;
|
|
20
15
|
/**
|
|
21
16
|
* Create a Storage representing an amount mebibytes.
|
|
22
|
-
*
|
|
23
17
|
* 1 MiB = 1024 KiB
|
|
24
|
-
*
|
|
25
|
-
* @stability stable
|
|
26
18
|
*/
|
|
27
19
|
static mebibytes(amount: number): Size;
|
|
28
20
|
/**
|
|
29
21
|
* Create a Storage representing an amount gibibytes.
|
|
30
|
-
*
|
|
31
22
|
* 1 GiB = 1024 MiB
|
|
32
|
-
*
|
|
33
|
-
* @stability stable
|
|
34
23
|
*/
|
|
35
24
|
static gibibytes(amount: number): Size;
|
|
36
25
|
/**
|
|
37
26
|
* Create a Storage representing an amount tebibytes.
|
|
38
|
-
*
|
|
39
27
|
* 1 TiB = 1024 GiB
|
|
40
|
-
*
|
|
41
|
-
* @stability stable
|
|
42
28
|
*/
|
|
43
29
|
static tebibytes(amount: number): Size;
|
|
44
30
|
/**
|
|
45
31
|
* Create a Storage representing an amount pebibytes.
|
|
46
|
-
*
|
|
47
32
|
* 1 PiB = 1024 TiB
|
|
48
|
-
*
|
|
49
|
-
* @stability stable
|
|
50
33
|
*/
|
|
51
34
|
static pebibyte(amount: number): Size;
|
|
52
35
|
private readonly amount;
|
|
@@ -54,73 +37,43 @@ export declare class Size {
|
|
|
54
37
|
private constructor();
|
|
55
38
|
/**
|
|
56
39
|
* Return this storage as a total number of kibibytes.
|
|
57
|
-
*
|
|
58
|
-
* @stability stable
|
|
59
40
|
*/
|
|
60
41
|
toKibibytes(opts?: SizeConversionOptions): number;
|
|
61
42
|
/**
|
|
62
43
|
* Return this storage as a total number of mebibytes.
|
|
63
|
-
*
|
|
64
|
-
* @stability stable
|
|
65
44
|
*/
|
|
66
45
|
toMebibytes(opts?: SizeConversionOptions): number;
|
|
67
46
|
/**
|
|
68
47
|
* Return this storage as a total number of gibibytes.
|
|
69
|
-
*
|
|
70
|
-
* @stability stable
|
|
71
48
|
*/
|
|
72
49
|
toGibibytes(opts?: SizeConversionOptions): number;
|
|
73
50
|
/**
|
|
74
51
|
* Return this storage as a total number of tebibytes.
|
|
75
|
-
*
|
|
76
|
-
* @stability stable
|
|
77
52
|
*/
|
|
78
53
|
toTebibytes(opts?: SizeConversionOptions): number;
|
|
79
54
|
/**
|
|
80
55
|
* Return this storage as a total number of pebibytes.
|
|
81
|
-
*
|
|
82
|
-
* @stability stable
|
|
83
56
|
*/
|
|
84
57
|
toPebibytes(opts?: SizeConversionOptions): number;
|
|
85
58
|
}
|
|
86
59
|
/**
|
|
87
60
|
* Rounding behaviour when converting between units of `Size`.
|
|
88
|
-
*
|
|
89
|
-
* @stability stable
|
|
90
61
|
*/
|
|
91
62
|
export declare enum SizeRoundingBehavior {
|
|
92
|
-
/**
|
|
93
|
-
* Fail the conversion if the result is not an integer.
|
|
94
|
-
*
|
|
95
|
-
* @stability stable
|
|
96
|
-
*/
|
|
63
|
+
/** Fail the conversion if the result is not an integer. */
|
|
97
64
|
FAIL = 0,
|
|
98
|
-
/**
|
|
99
|
-
* If the result is not an integer, round it to the closest integer less than the result.
|
|
100
|
-
*
|
|
101
|
-
* @stability stable
|
|
102
|
-
*/
|
|
65
|
+
/** If the result is not an integer, round it to the closest integer less than the result */
|
|
103
66
|
FLOOR = 1,
|
|
104
|
-
/**
|
|
105
|
-
* Don't round.
|
|
106
|
-
*
|
|
107
|
-
* Return even if the result is a fraction.
|
|
108
|
-
*
|
|
109
|
-
* @stability stable
|
|
110
|
-
*/
|
|
67
|
+
/** Don't round. Return even if the result is a fraction. */
|
|
111
68
|
NONE = 2
|
|
112
69
|
}
|
|
113
70
|
/**
|
|
114
71
|
* Options for how to convert time to a different unit.
|
|
115
|
-
*
|
|
116
|
-
* @stability stable
|
|
117
72
|
*/
|
|
118
73
|
export interface SizeConversionOptions {
|
|
119
74
|
/**
|
|
120
|
-
* How conversions should behave when it encounters a non-integer result
|
|
121
|
-
*
|
|
75
|
+
* How conversions should behave when it encounters a non-integer result
|
|
122
76
|
* @default SizeRoundingBehavior.FAIL
|
|
123
|
-
* @stability stable
|
|
124
77
|
*/
|
|
125
78
|
readonly rounding?: SizeRoundingBehavior;
|
|
126
79
|
}
|
package/lib/size.js
CHANGED
|
@@ -10,8 +10,6 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
10
10
|
* cannot be negative.
|
|
11
11
|
*
|
|
12
12
|
* When the amount is passed as a token, unit conversion is not possible.
|
|
13
|
-
*
|
|
14
|
-
* @stability stable
|
|
15
13
|
*/
|
|
16
14
|
class Size {
|
|
17
15
|
constructor(amount, unit) {
|
|
@@ -23,90 +21,65 @@ class Size {
|
|
|
23
21
|
}
|
|
24
22
|
/**
|
|
25
23
|
* Create a Storage representing an amount kibibytes.
|
|
26
|
-
*
|
|
27
24
|
* 1 KiB = 1024 bytes
|
|
28
|
-
*
|
|
29
|
-
* @stability stable
|
|
30
25
|
*/
|
|
31
26
|
static kibibytes(amount) {
|
|
32
27
|
return new Size(amount, StorageUnit.Kibibytes);
|
|
33
28
|
}
|
|
34
29
|
/**
|
|
35
30
|
* Create a Storage representing an amount mebibytes.
|
|
36
|
-
*
|
|
37
31
|
* 1 MiB = 1024 KiB
|
|
38
|
-
*
|
|
39
|
-
* @stability stable
|
|
40
32
|
*/
|
|
41
33
|
static mebibytes(amount) {
|
|
42
34
|
return new Size(amount, StorageUnit.Mebibytes);
|
|
43
35
|
}
|
|
44
36
|
/**
|
|
45
37
|
* Create a Storage representing an amount gibibytes.
|
|
46
|
-
*
|
|
47
38
|
* 1 GiB = 1024 MiB
|
|
48
|
-
*
|
|
49
|
-
* @stability stable
|
|
50
39
|
*/
|
|
51
40
|
static gibibytes(amount) {
|
|
52
41
|
return new Size(amount, StorageUnit.Gibibytes);
|
|
53
42
|
}
|
|
54
43
|
/**
|
|
55
44
|
* Create a Storage representing an amount tebibytes.
|
|
56
|
-
*
|
|
57
45
|
* 1 TiB = 1024 GiB
|
|
58
|
-
*
|
|
59
|
-
* @stability stable
|
|
60
46
|
*/
|
|
61
47
|
static tebibytes(amount) {
|
|
62
48
|
return new Size(amount, StorageUnit.Tebibytes);
|
|
63
49
|
}
|
|
64
50
|
/**
|
|
65
51
|
* Create a Storage representing an amount pebibytes.
|
|
66
|
-
*
|
|
67
52
|
* 1 PiB = 1024 TiB
|
|
68
|
-
*
|
|
69
|
-
* @stability stable
|
|
70
53
|
*/
|
|
71
54
|
static pebibyte(amount) {
|
|
72
55
|
return new Size(amount, StorageUnit.Pebibytes);
|
|
73
56
|
}
|
|
74
57
|
/**
|
|
75
58
|
* Return this storage as a total number of kibibytes.
|
|
76
|
-
*
|
|
77
|
-
* @stability stable
|
|
78
59
|
*/
|
|
79
60
|
toKibibytes(opts = {}) {
|
|
80
61
|
return convert(this.amount, this.unit, StorageUnit.Kibibytes, opts);
|
|
81
62
|
}
|
|
82
63
|
/**
|
|
83
64
|
* Return this storage as a total number of mebibytes.
|
|
84
|
-
*
|
|
85
|
-
* @stability stable
|
|
86
65
|
*/
|
|
87
66
|
toMebibytes(opts = {}) {
|
|
88
67
|
return convert(this.amount, this.unit, StorageUnit.Mebibytes, opts);
|
|
89
68
|
}
|
|
90
69
|
/**
|
|
91
70
|
* Return this storage as a total number of gibibytes.
|
|
92
|
-
*
|
|
93
|
-
* @stability stable
|
|
94
71
|
*/
|
|
95
72
|
toGibibytes(opts = {}) {
|
|
96
73
|
return convert(this.amount, this.unit, StorageUnit.Gibibytes, opts);
|
|
97
74
|
}
|
|
98
75
|
/**
|
|
99
76
|
* Return this storage as a total number of tebibytes.
|
|
100
|
-
*
|
|
101
|
-
* @stability stable
|
|
102
77
|
*/
|
|
103
78
|
toTebibytes(opts = {}) {
|
|
104
79
|
return convert(this.amount, this.unit, StorageUnit.Tebibytes, opts);
|
|
105
80
|
}
|
|
106
81
|
/**
|
|
107
82
|
* Return this storage as a total number of pebibytes.
|
|
108
|
-
*
|
|
109
|
-
* @stability stable
|
|
110
83
|
*/
|
|
111
84
|
toPebibytes(opts = {}) {
|
|
112
85
|
return convert(this.amount, this.unit, StorageUnit.Pebibytes, opts);
|
|
@@ -114,16 +87,17 @@ class Size {
|
|
|
114
87
|
}
|
|
115
88
|
exports.Size = Size;
|
|
116
89
|
_a = JSII_RTTI_SYMBOL_1;
|
|
117
|
-
Size[_a] = { fqn: "cdk8s.Size", version: "2.2.
|
|
90
|
+
Size[_a] = { fqn: "cdk8s.Size", version: "2.2.12" };
|
|
118
91
|
/**
|
|
119
92
|
* Rounding behaviour when converting between units of `Size`.
|
|
120
|
-
*
|
|
121
|
-
* @stability stable
|
|
122
93
|
*/
|
|
123
94
|
var SizeRoundingBehavior;
|
|
124
95
|
(function (SizeRoundingBehavior) {
|
|
96
|
+
/** Fail the conversion if the result is not an integer. */
|
|
125
97
|
SizeRoundingBehavior[SizeRoundingBehavior["FAIL"] = 0] = "FAIL";
|
|
98
|
+
/** If the result is not an integer, round it to the closest integer less than the result */
|
|
126
99
|
SizeRoundingBehavior[SizeRoundingBehavior["FLOOR"] = 1] = "FLOOR";
|
|
100
|
+
/** Don't round. Return even if the result is a fraction. */
|
|
127
101
|
SizeRoundingBehavior[SizeRoundingBehavior["NONE"] = 2] = "NONE";
|
|
128
102
|
})(SizeRoundingBehavior = exports.SizeRoundingBehavior || (exports.SizeRoundingBehavior = {}));
|
|
129
103
|
class StorageUnit {
|
|
@@ -163,4 +137,4 @@ function convert(amount, fromUnit, toUnit, options = {}) {
|
|
|
163
137
|
return value;
|
|
164
138
|
}
|
|
165
139
|
}
|
|
166
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBLE1BQWEsSUFBSTtJQTZCZixZQUFvQixNQUFjLEVBQUUsSUFBaUI7UUFDbkQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM1RTtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Ozs7Ozs7O0lBakNNLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYztRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQWM7UUFDcEMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7Ozs7O0lBR00sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDOzs7Ozs7OztJQUdNLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBYztRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQWM7UUFDbkMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7Ozs7OztJQWNNLFdBQVcsQ0FBQyxPQUE4QixF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UUFDM0IsUUFBUTtRQUNSLEtBQUssb0JBQW9CLENBQUMsSUFBSTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLE1BQU0sSUFBSSxRQUFRLGdEQUFnRCxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ2xHO1lBQ0QsT0FBTyxLQUFLLENBQUM7S0FDaEI7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBTaXplIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBraWJpYnl0ZXMoYW1vdW50OiBudW1iZXIpOiBTaXplIHtcbiAgICByZXR1cm4gbmV3IFNpemUoYW1vdW50LCBTdG9yYWdlVW5pdC5LaWJpYnl0ZXMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgbWViaWJ5dGVzKGFtb3VudDogbnVtYmVyKTogU2l6ZSB7XG4gICAgcmV0dXJuIG5ldyBTaXplKGFtb3VudCwgU3RvcmFnZVVuaXQuTWViaWJ5dGVzKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGdpYmlieXRlcyhhbW91bnQ6IG51bWJlcik6IFNpemUge1xuICAgIHJldHVybiBuZXcgU2l6ZShhbW91bnQsIFN0b3JhZ2VVbml0LkdpYmlieXRlcyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyB0ZWJpYnl0ZXMoYW1vdW50OiBudW1iZXIpOiBTaXplIHtcbiAgICByZXR1cm4gbmV3IFNpemUoYW1vdW50LCBTdG9yYWdlVW5pdC5UZWJpYnl0ZXMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBzdGF0aWMgcGViaWJ5dGUoYW1vdW50OiBudW1iZXIpOiBTaXplIHtcbiAgICByZXR1cm4gbmV3IFNpemUoYW1vdW50LCBTdG9yYWdlVW5pdC5QZWJpYnl0ZXMpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBhbW91bnQ6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1bml0OiBTdG9yYWdlVW5pdDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGFtb3VudDogbnVtYmVyLCB1bml0OiBTdG9yYWdlVW5pdCkge1xuICAgIGlmIChhbW91bnQgPCAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFN0b3JhZ2UgYW1vdW50cyBjYW5ub3QgYmUgbmVnYXRpdmUuIFJlY2VpdmVkOiAke2Ftb3VudH1gKTtcbiAgICB9XG4gICAgdGhpcy5hbW91bnQgPSBhbW91bnQ7XG4gICAgdGhpcy51bml0ID0gdW5pdDtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgdG9LaWJpYnl0ZXMob3B0czogU2l6ZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFN0b3JhZ2VVbml0LktpYmlieXRlcywgb3B0cyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvTWViaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5NZWJpYnl0ZXMsIG9wdHMpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyB0b0dpYmlieXRlcyhvcHRzOiBTaXplQ29udmVyc2lvbk9wdGlvbnMgPSB7fSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGNvbnZlcnQodGhpcy5hbW91bnQsIHRoaXMudW5pdCwgU3RvcmFnZVVuaXQuR2liaWJ5dGVzLCBvcHRzKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgdG9UZWJpYnl0ZXMob3B0czogU2l6ZUNvbnZlcnNpb25PcHRpb25zID0ge30pOiBudW1iZXIge1xuICAgIHJldHVybiBjb252ZXJ0KHRoaXMuYW1vdW50LCB0aGlzLnVuaXQsIFN0b3JhZ2VVbml0LlRlYmlieXRlcywgb3B0cyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvUGViaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5QZWJpYnl0ZXMsIG9wdHMpO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBlbnVtIFNpemVSb3VuZGluZ0JlaGF2aW9yIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgRkFJTCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgRkxPT1IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBOT05FLFxuXG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBTaXplQ29udmVyc2lvbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHJvdW5kaW5nPzogU2l6ZVJvdW5kaW5nQmVoYXZpb3I7XG59XG5cbmNsYXNzIFN0b3JhZ2VVbml0IHtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBLaWJpYnl0ZXMgPSBuZXcgU3RvcmFnZVVuaXQoJ2tpYmlieXRlcycsIDEpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1lYmlieXRlcyA9IG5ldyBTdG9yYWdlVW5pdCgnbWViaWJ5dGVzJywgMTAyNCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgR2liaWJ5dGVzID0gbmV3IFN0b3JhZ2VVbml0KCdnaWJpYnl0ZXMnLCAxMDI0ICogMTAyNCk7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVGViaWJ5dGVzID0gbmV3IFN0b3JhZ2VVbml0KCd0ZWJpYnl0ZXMnLCAxMDI0ICogMTAyNCAqIDEwMjQpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBlYmlieXRlcyA9IG5ldyBTdG9yYWdlVW5pdCgncGViaWJ5dGVzJywgMTAyNCAqIDEwMjQgKiAxMDI0ICogMTAyNCk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgbGFiZWw6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGluS2liaUJ5dGVzOiBudW1iZXIpIHtcbiAgICAvLyBNQVhfU0FGRV9JTlRFR0VSIGlzIDJeNTMsIHNvIGJ5IHJlcHJlc2VudGluZyBzdG9yYWdlIGluIGtpYmlieXRlcyxcbiAgICAvLyB0aGUgaGlnaGVzdCBzdG9yYWdlIHdlIGNhbiByZXByZXNlbnQgaXMgOCBleGJpYnl0ZXMuXG4gIH1cblxuICBwdWJsaWMgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWw7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29udmVydChhbW91bnQ6IG51bWJlciwgZnJvbVVuaXQ6IFN0b3JhZ2VVbml0LCB0b1VuaXQ6IFN0b3JhZ2VVbml0LCBvcHRpb25zOiBTaXplQ29udmVyc2lvbk9wdGlvbnMgPSB7fSkge1xuICBjb25zdCByb3VuZGluZyA9IG9wdGlvbnMucm91bmRpbmcgPz8gU2l6ZVJvdW5kaW5nQmVoYXZpb3IuRkFJTDtcbiAgaWYgKGZyb21Vbml0LmluS2liaUJ5dGVzID09PSB0b1VuaXQuaW5LaWJpQnl0ZXMpIHsgcmV0dXJuIGFtb3VudDsgfVxuXG4gIGNvbnN0IG11bHRpcGxpZXIgPSBmcm9tVW5pdC5pbktpYmlCeXRlcyAvIHRvVW5pdC5pbktpYmlCeXRlcztcbiAgY29uc3QgdmFsdWUgPSBhbW91bnQgKiBtdWx0aXBsaWVyO1xuICBzd2l0Y2ggKHJvdW5kaW5nKSB7XG4gICAgY2FzZSBTaXplUm91bmRpbmdCZWhhdmlvci5OT05FOlxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIGNhc2UgU2l6ZVJvdW5kaW5nQmVoYXZpb3IuRkxPT1I6XG4gICAgICByZXR1cm4gTWF0aC5mbG9vcih2YWx1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICBjYXNlIFNpemVSb3VuZGluZ0JlaGF2aW9yLkZBSUw6XG4gICAgICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJyR7YW1vdW50fSAke2Zyb21Vbml0fScgY2Fubm90IGJlIGNvbnZlcnRlZCBpbnRvIGEgd2hvbGUgbnVtYmVyIG9mICR7dG9Vbml0fS5gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgfVxufSJdfQ==
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7R0FPRztBQUNILE1BQWEsSUFBSTtJQTRDZixZQUFvQixNQUFjLEVBQUUsSUFBaUI7UUFDbkQsSUFBSSxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2QsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsTUFBTSxFQUFFLENBQUMsQ0FBQztTQUM1RTtRQUNELElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFqREQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFjO1FBQ3BDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFjO1FBQ25DLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxD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QixDQUFDLElBQUk7WUFDNUIsT0FBTyxLQUFLLENBQUM7UUFDZixLQUFLLG9CQUFvQixDQUFDLEtBQUs7WUFDN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLFFBQVE7UUFDUixLQUFLLG9CQUFvQixDQUFDLElBQUk7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxNQUFNLElBQUksUUFBUSxnREFBZ0QsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNsRztZQUNELE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVwcmVzZW50cyB0aGUgYW1vdW50IG9mIGRpZ2l0YWwgc3RvcmFnZS5cbiAqXG4gKiBUaGUgYW1vdW50IGNhbiBiZSBzcGVjaWZpZWQgZWl0aGVyIGFzIGEgbGl0ZXJhbCB2YWx1ZSAoZS5nOiBgMTBgKSB3aGljaFxuICogY2Fubm90IGJlIG5lZ2F0aXZlLlxuICpcbiAqIFdoZW4gdGhlIGFtb3VudCBpcyBwYXNzZWQgYXMgYSB0b2tlbiwgdW5pdCBjb252ZXJzaW9uIGlzIG5vdCBwb3NzaWJsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNpemUge1xuICAvKipcbiAgICogQ3JlYXRlIGEgU3RvcmFnZSByZXByZXNlbnRpbmcgYW4gYW1vdW50IGtpYmlieXRlcy5cbiAgICogMSBLaUIgPSAxMDI0IGJ5dGVzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGtpYmlieXRlcyhhbW91bnQ6IG51bWJlcik6IFNpemUge1xuICAgIHJldHVybiBuZXcgU2l6ZShhbW91bnQsIFN0b3JhZ2VVbml0LktpYmlieXRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgU3RvcmFnZSByZXByZXNlbnRpbmcgYW4gYW1vdW50IG1lYmlieXRlcy5cbiAgICogMSBNaUIgPSAxMDI0IEtpQlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtZWJpYnl0ZXMoYW1vdW50OiBudW1iZXIpOiBTaXplIHtcbiAgICByZXR1cm4gbmV3IFNpemUoYW1vdW50LCBTdG9yYWdlVW5pdC5NZWJpYnl0ZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFN0b3JhZ2UgcmVwcmVzZW50aW5nIGFuIGFtb3VudCBnaWJpYnl0ZXMuXG4gICAqIDEgR2lCID0gMTAyNCBNaUJcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2liaWJ5dGVzKGFtb3VudDogbnVtYmVyKTogU2l6ZSB7XG4gICAgcmV0dXJuIG5ldyBTaXplKGFtb3VudCwgU3RvcmFnZVVuaXQuR2liaWJ5dGVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBTdG9yYWdlIHJlcHJlc2VudGluZyBhbiBhbW91bnQgdGViaWJ5dGVzLlxuICAgKiAxIFRpQiA9IDEwMjQgR2lCXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRlYmlieXRlcyhhbW91bnQ6IG51bWJlcik6IFNpemUge1xuICAgIHJldHVybiBuZXcgU2l6ZShhbW91bnQsIFN0b3JhZ2VVbml0LlRlYmlieXRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgU3RvcmFnZSByZXByZXNlbnRpbmcgYW4gYW1vdW50IHBlYmlieXRlcy5cbiAgICogMSBQaUIgPSAxMDI0IFRpQlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwZWJpYnl0ZShhbW91bnQ6IG51bWJlcik6IFNpemUge1xuICAgIHJldHVybiBuZXcgU2l6ZShhbW91bnQsIFN0b3JhZ2VVbml0LlBlYmlieXRlcyk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGFtb3VudDogbnVtYmVyO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuaXQ6IFN0b3JhZ2VVbml0O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoYW1vdW50OiBudW1iZXIsIHVuaXQ6IFN0b3JhZ2VVbml0KSB7XG4gICAgaWYgKGFtb3VudCA8IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU3RvcmFnZSBhbW91bnRzIGNhbm5vdCBiZSBuZWdhdGl2ZS4gUmVjZWl2ZWQ6ICR7YW1vdW50fWApO1xuICAgIH1cbiAgICB0aGlzLmFtb3VudCA9IGFtb3VudDtcbiAgICB0aGlzLnVuaXQgPSB1bml0O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIHN0b3JhZ2UgYXMgYSB0b3RhbCBudW1iZXIgb2Yga2liaWJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHRvS2liaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5LaWJpYnl0ZXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIHN0b3JhZ2UgYXMgYSB0b3RhbCBudW1iZXIgb2YgbWViaWJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHRvTWViaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5NZWJpYnl0ZXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIHN0b3JhZ2UgYXMgYSB0b3RhbCBudW1iZXIgb2YgZ2liaWJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHRvR2liaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5HaWJpYnl0ZXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIHN0b3JhZ2UgYXMgYSB0b3RhbCBudW1iZXIgb2YgdGViaWJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHRvVGViaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5UZWJpYnl0ZXMsIG9wdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGlzIHN0b3JhZ2UgYXMgYSB0b3RhbCBudW1iZXIgb2YgcGViaWJ5dGVzLlxuICAgKi9cbiAgcHVibGljIHRvUGViaWJ5dGVzKG9wdHM6IFNpemVDb252ZXJzaW9uT3B0aW9ucyA9IHt9KTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29udmVydCh0aGlzLmFtb3VudCwgdGhpcy51bml0LCBTdG9yYWdlVW5pdC5QZWJpYnl0ZXMsIG9wdHMpO1xuICB9XG59XG5cbi8qKlxuICogUm91bmRpbmcgYmVoYXZpb3VyIHdoZW4gY29udmVydGluZyBiZXR3ZWVuIHVuaXRzIG9mIGBTaXplYC5cbiAqL1xuZXhwb3J0IGVudW0gU2l6ZVJvdW5kaW5nQmVoYXZpb3Ige1xuICAvKiogRmFpbCB0aGUgY29udmVyc2lvbiBpZiB0aGUgcmVzdWx0IGlzIG5vdCBhbiBpbnRlZ2VyLiAqL1xuICBGQUlMLFxuICAvKiogSWYgdGhlIHJlc3VsdCBpcyBub3QgYW4gaW50ZWdlciwgcm91bmQgaXQgdG8gdGhlIGNsb3Nlc3QgaW50ZWdlciBsZXNzIHRoYW4gdGhlIHJlc3VsdCAqL1xuICBGTE9PUixcbiAgLyoqIERvbid0IHJvdW5kLiBSZXR1cm4gZXZlbiBpZiB0aGUgcmVzdWx0IGlzIGEgZnJhY3Rpb24uICovXG4gIE5PTkUsXG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBob3cgdG8gY29udmVydCB0aW1lIHRvIGEgZGlmZmVyZW50IHVuaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2l6ZUNvbnZlcnNpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEhvdyBjb252ZXJzaW9ucyBzaG91bGQgYmVoYXZlIHdoZW4gaXQgZW5jb3VudGVycyBhIG5vbi1pbnRlZ2VyIHJlc3VsdFxuICAgKiBAZGVmYXVsdCBTaXplUm91bmRpbmdCZWhhdmlvci5GQUlMXG4gICAqL1xuICByZWFkb25seSByb3VuZGluZz86IFNpemVSb3VuZGluZ0JlaGF2aW9yO1xufVxuXG5jbGFzcyBTdG9yYWdlVW5pdCB7XG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgS2liaWJ5dGVzID0gbmV3IFN0b3JhZ2VVbml0KCdraWJpYnl0ZXMnLCAxKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNZWJpYnl0ZXMgPSBuZXcgU3RvcmFnZVVuaXQoJ21lYmlieXRlcycsIDEwMjQpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdpYmlieXRlcyA9IG5ldyBTdG9yYWdlVW5pdCgnZ2liaWJ5dGVzJywgMTAyNCAqIDEwMjQpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRlYmlieXRlcyA9IG5ldyBTdG9yYWdlVW5pdCgndGViaWJ5dGVzJywgMTAyNCAqIDEwMjQgKiAxMDI0KTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQZWJpYnl0ZXMgPSBuZXcgU3RvcmFnZVVuaXQoJ3BlYmlieXRlcycsIDEwMjQgKiAxMDI0ICogMTAyNCAqIDEwMjQpO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBpbktpYmlCeXRlczogbnVtYmVyKSB7XG4gICAgLy8gTUFYX1NBRkVfSU5URUdFUiBpcyAyXjUzLCBzbyBieSByZXByZXNlbnRpbmcgc3RvcmFnZSBpbiBraWJpYnl0ZXMsXG4gICAgLy8gdGhlIGhpZ2hlc3Qgc3RvcmFnZSB3ZSBjYW4gcmVwcmVzZW50IGlzIDggZXhiaWJ5dGVzLlxuICB9XG5cbiAgcHVibGljIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmxhYmVsO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnQoYW1vdW50OiBudW1iZXIsIGZyb21Vbml0OiBTdG9yYWdlVW5pdCwgdG9Vbml0OiBTdG9yYWdlVW5pdCwgb3B0aW9uczogU2l6ZUNvbnZlcnNpb25PcHRpb25zID0ge30pIHtcbiAgY29uc3Qgcm91bmRpbmcgPSBvcHRpb25zLnJvdW5kaW5nID8/IFNpemVSb3VuZGluZ0JlaGF2aW9yLkZBSUw7XG4gIGlmIChmcm9tVW5pdC5pbktpYmlCeXRlcyA9PT0gdG9Vbml0LmluS2liaUJ5dGVzKSB7IHJldHVybiBhbW91bnQ7IH1cblxuICBjb25zdCBtdWx0aXBsaWVyID0gZnJvbVVuaXQuaW5LaWJpQnl0ZXMgLyB0b1VuaXQuaW5LaWJpQnl0ZXM7XG4gIGNvbnN0IHZhbHVlID0gYW1vdW50ICogbXVsdGlwbGllcjtcbiAgc3dpdGNoIChyb3VuZGluZykge1xuICAgIGNhc2UgU2l6ZVJvdW5kaW5nQmVoYXZpb3IuTk9ORTpcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBjYXNlIFNpemVSb3VuZGluZ0JlaGF2aW9yLkZMT09SOlxuICAgICAgcmV0dXJuIE1hdGguZmxvb3IodmFsdWUpO1xuICAgIGRlZmF1bHQ6XG4gICAgY2FzZSBTaXplUm91bmRpbmdCZWhhdmlvci5GQUlMOlxuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCcke2Ftb3VudH0gJHtmcm9tVW5pdH0nIGNhbm5vdCBiZSBjb252ZXJ0ZWQgaW50byBhIHdob2xlIG51bWJlciBvZiAke3RvVW5pdH0uYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn0iXX0=
|
package/lib/testing.d.ts
CHANGED
|
@@ -2,25 +2,19 @@ import { App, AppProps } from './app';
|
|
|
2
2
|
import { Chart } from './chart';
|
|
3
3
|
/**
|
|
4
4
|
* Testing utilities for cdk8s applications.
|
|
5
|
-
*
|
|
6
|
-
* @stability stable
|
|
7
5
|
*/
|
|
8
6
|
export declare class Testing {
|
|
9
7
|
/**
|
|
10
|
-
* Returns an app for testing with the following properties:
|
|
11
|
-
*
|
|
12
|
-
* @stability stable
|
|
8
|
+
* Returns an app for testing with the following properties:
|
|
9
|
+
* - Output directory is a temp dir.
|
|
13
10
|
*/
|
|
14
11
|
static app(props?: AppProps): App;
|
|
15
12
|
/**
|
|
16
13
|
* @returns a Chart that can be used for tests
|
|
17
|
-
* @stability stable
|
|
18
14
|
*/
|
|
19
15
|
static chart(): Chart;
|
|
20
16
|
/**
|
|
21
17
|
* Returns the Kubernetes manifest synthesized from this chart.
|
|
22
|
-
*
|
|
23
|
-
* @stability stable
|
|
24
18
|
*/
|
|
25
19
|
static synth(chart: Chart): any[];
|
|
26
20
|
private constructor();
|
package/lib/testing.js
CHANGED
|
@@ -10,8 +10,6 @@ const app_1 = require("./app");
|
|
|
10
10
|
const chart_1 = require("./chart");
|
|
11
11
|
/**
|
|
12
12
|
* Testing utilities for cdk8s applications.
|
|
13
|
-
*
|
|
14
|
-
* @stability stable
|
|
15
13
|
*/
|
|
16
14
|
class Testing {
|
|
17
15
|
/* istanbul ignore next */
|
|
@@ -19,9 +17,8 @@ class Testing {
|
|
|
19
17
|
return;
|
|
20
18
|
}
|
|
21
19
|
/**
|
|
22
|
-
* Returns an app for testing with the following properties:
|
|
23
|
-
*
|
|
24
|
-
* @stability stable
|
|
20
|
+
* Returns an app for testing with the following properties:
|
|
21
|
+
* - Output directory is a temp dir.
|
|
25
22
|
*/
|
|
26
23
|
static app(props) {
|
|
27
24
|
var _b;
|
|
@@ -36,15 +33,12 @@ class Testing {
|
|
|
36
33
|
}
|
|
37
34
|
/**
|
|
38
35
|
* @returns a Chart that can be used for tests
|
|
39
|
-
* @stability stable
|
|
40
36
|
*/
|
|
41
37
|
static chart() {
|
|
42
38
|
return new chart_1.Chart(this.app(), 'test');
|
|
43
39
|
}
|
|
44
40
|
/**
|
|
45
41
|
* Returns the Kubernetes manifest synthesized from this chart.
|
|
46
|
-
*
|
|
47
|
-
* @stability stable
|
|
48
42
|
*/
|
|
49
43
|
static synth(chart) {
|
|
50
44
|
return chart.toJson();
|
|
@@ -52,5 +46,5 @@ class Testing {
|
|
|
52
46
|
}
|
|
53
47
|
exports.Testing = Testing;
|
|
54
48
|
_a = JSII_RTTI_SYMBOL_1;
|
|
55
|
-
Testing[_a] = { fqn: "cdk8s.Testing", version: "2.2.
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
Testing[_a] = { fqn: "cdk8s.Testing", version: "2.2.12" };
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBQ3pCLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsK0JBQXNDO0FBQ3RDLG1DQUFnQztBQUVoQzs7R0FFRztBQUNILE1BQWEsT0FBTztJQTZCbEIsMEJBQTBCO0lBQzFCO1FBQ0UsT0FBTztJQUNULENBQUM7SUEvQkQ7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFnQjs7UUFDaEMsSUFBSSxNQUFjLENBQUM7UUFDbkIsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLFNBQUcsS0FBSyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO2FBQU07WUFDTCxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1NBQ2xFO1FBQ0QsT0FBTyxJQUFJLFNBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLGFBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFZO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7O0FBM0JILDBCQWlDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBBcHAsIEFwcFByb3BzIH0gZnJvbSAnLi9hcHAnO1xuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tICcuL2NoYXJ0JztcblxuLyoqXG4gKiBUZXN0aW5nIHV0aWxpdGllcyBmb3IgY2RrOHMgYXBwbGljYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgVGVzdGluZyB7XG4gIC8qKlxuICAgKiBSZXR1cm5zIGFuIGFwcCBmb3IgdGVzdGluZyB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAgICogLSBPdXRwdXQgZGlyZWN0b3J5IGlzIGEgdGVtcCBkaXIuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFwcChwcm9wcz86IEFwcFByb3BzKSB7XG4gICAgbGV0IG91dGRpcjogc3RyaW5nO1xuICAgIGlmIChwcm9wcykge1xuICAgICAgb3V0ZGlyID0gcHJvcHMub3V0ZGlyID8/IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2NkazhzLm91dGRpci4nKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG91dGRpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2NkazhzLm91dGRpci4nKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQXBwKHsgb3V0ZGlyLCAuLi5wcm9wcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBhIENoYXJ0IHRoYXQgY2FuIGJlIHVzZWQgZm9yIHRlc3RzXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNoYXJ0KCkge1xuICAgIHJldHVybiBuZXcgQ2hhcnQodGhpcy5hcHAoKSwgJ3Rlc3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBLdWJlcm5ldGVzIG1hbmlmZXN0IHN5bnRoZXNpemVkIGZyb20gdGhpcyBjaGFydC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3ludGgoY2hhcnQ6IENoYXJ0KTogYW55W10ge1xuICAgIHJldHVybiBjaGFydC50b0pzb24oKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuO1xuICB9XG59XG4iXX0=
|