cdk8s 0.32.0 → 0.33.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/.jsii +57 -13
- package/API.md +3 -0
- package/README.md +34 -2
- package/lib/api-object.d.ts +44 -16
- package/lib/api-object.js +22 -10
- package/lib/app.d.ts +18 -6
- package/lib/app.js +11 -5
- package/lib/chart.d.ts +51 -8
- package/lib/chart.js +31 -6
- package/lib/dependency.d.ts +31 -9
- package/lib/dependency.js +32 -10
- package/lib/helm.d.ts +26 -11
- package/lib/helm.js +7 -2
- package/lib/include.d.ts +17 -5
- package/lib/include.js +10 -4
- package/lib/lazy.d.ts +15 -0
- package/lib/lazy.js +10 -1
- package/lib/metadata.d.ts +44 -18
- package/lib/metadata.js +21 -9
- package/lib/names.d.ts +18 -18
- package/lib/names.js +19 -19
- package/lib/testing.d.ts +10 -4
- package/lib/testing.js +11 -5
- package/lib/yaml.d.ts +14 -9
- package/lib/yaml.js +15 -10
- package/package.json +1 -1
package/lib/include.js
CHANGED
|
@@ -5,13 +5,17 @@ const constructs_1 = require("constructs");
|
|
|
5
5
|
const api_object_1 = require("./api-object");
|
|
6
6
|
const yaml_1 = require("./yaml");
|
|
7
7
|
/**
|
|
8
|
-
* Reads a YAML manifest from a file or a URL and defines all resources as API
|
|
9
|
-
* objects within the defined scope.
|
|
8
|
+
* (experimental) Reads a YAML manifest from a file or a URL and defines all resources as API objects within the defined scope.
|
|
10
9
|
*
|
|
11
10
|
* The names (`metadata.name`) of imported resources will be preserved as-is
|
|
12
11
|
* from the manifest.
|
|
12
|
+
*
|
|
13
|
+
* @experimental
|
|
13
14
|
*/
|
|
14
15
|
class Include extends constructs_1.Construct {
|
|
16
|
+
/**
|
|
17
|
+
* @experimental
|
|
18
|
+
*/
|
|
15
19
|
constructor(scope, name, options) {
|
|
16
20
|
var _a, _b, _c, _d;
|
|
17
21
|
super(scope, name);
|
|
@@ -25,11 +29,13 @@ class Include extends constructs_1.Construct {
|
|
|
25
29
|
}
|
|
26
30
|
}
|
|
27
31
|
/**
|
|
28
|
-
* Returns all the included API objects.
|
|
32
|
+
* (experimental) Returns all the included API objects.
|
|
33
|
+
*
|
|
34
|
+
* @experimental
|
|
29
35
|
*/
|
|
30
36
|
get apiObjects() {
|
|
31
37
|
return constructs_1.Node.of(this).children.filter(o => o instanceof api_object_1.ApiObject);
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
40
|
exports.Include = Include;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmNsdWRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE2QztBQUM3Qyw2Q0FBeUM7QUFDekMsaUNBQThCOzs7Ozs7Ozs7QUFrQjlCLE1BQWEsT0FBUSxTQUFRLHNCQUFTOzs7O0lBQ3BDLFlBQVksS0FBZ0IsRUFBRSxJQUFZLEVBQUUsT0FBdUI7O1FBQ2pFLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbkIsTUFBTSxPQUFPLEdBQUcsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFdkMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDekIsTUFBTSxJQUFJLGVBQUcsR0FBRyxDQUFDLFFBQVEsMENBQUUsSUFBSSxtQ0FBSSxTQUFTLEtBQUssRUFBRSxFQUFFLENBQUM7WUFFdEQsd0NBQXdDO1lBQ3hDLE1BQU0sRUFBRSxHQUFHLENBQUUsSUFBSSxRQUFFLEdBQUcsQ0FBQyxJQUFJLDBDQUFFLFdBQVcsVUFBSSxHQUFHLENBQUMsUUFBUSwwQ0FBRSxTQUFTLENBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDL0YsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7U0FDOUI7SUFDSCxDQUFDOzs7Ozs7SUFLRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLHNCQUFTLENBQWdCLENBQUM7SUFDbkYsQ0FBQztDQUNGO0FBdEJELDBCQXNCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IFlhbWwgfSBmcm9tICcuL3lhbWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEluY2x1ZGVPcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB1cmw6IHN0cmluZztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgSW5jbHVkZSBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIG5hbWU6IHN0cmluZywgb3B0aW9uczogSW5jbHVkZU9wdGlvbnMpIHtcbiAgICBzdXBlcihzY29wZSwgbmFtZSk7XG5cbiAgICBjb25zdCBvYmplY3RzID0gWWFtbC5sb2FkKG9wdGlvbnMudXJsKTtcblxuICAgIGxldCBvcmRlciA9IDA7XG4gICAgZm9yIChjb25zdCBvYmogb2Ygb2JqZWN0cykge1xuICAgICAgY29uc3QgbmFtZSA9IG9iai5tZXRhZGF0YT8ubmFtZSA/PyBgb2JqZWN0JHtvcmRlcisrfWA7XG5cbiAgICAgIC8vIHJlbmRlciBhbiBpZDogbmFtZVsta2luZF1bLW5hbWVzcGFjZV1cbiAgICAgIGNvbnN0IGlkID0gWyBuYW1lLCBvYmoua2luZD8udG9Mb3dlckNhc2UoKSwgb2JqLm1ldGFkYXRhPy5uYW1lc3BhY2UgXS5maWx0ZXIoeCA9PiB4KS5qb2luKCctJyk7XG4gICAgICBuZXcgQXBpT2JqZWN0KHRoaXMsIGlkLCBvYmopO1xuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBhcGlPYmplY3RzKCk6IEFwaU9iamVjdFtdIHtcbiAgICByZXR1cm4gTm9kZS5vZih0aGlzKS5jaGlsZHJlbi5maWx0ZXIobyA9PiBvIGluc3RhbmNlb2YgQXBpT2JqZWN0KSBhcyBBcGlPYmplY3RbXTtcbiAgfVxufVxuIl19
|
package/lib/lazy.d.ts
CHANGED
|
@@ -1,9 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @experimental
|
|
3
|
+
*/
|
|
1
4
|
export declare class Lazy {
|
|
2
5
|
private readonly producer;
|
|
6
|
+
/**
|
|
7
|
+
* @experimental
|
|
8
|
+
*/
|
|
3
9
|
static any(producer: IAnyProducer): any;
|
|
10
|
+
/**
|
|
11
|
+
* @experimental
|
|
12
|
+
*/
|
|
4
13
|
produce(): any;
|
|
5
14
|
private constructor();
|
|
6
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* @experimental
|
|
18
|
+
*/
|
|
7
19
|
export interface IAnyProducer {
|
|
20
|
+
/**
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
8
23
|
produce(): any;
|
|
9
24
|
}
|
package/lib/lazy.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Lazy = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @experimental
|
|
6
|
+
*/
|
|
4
7
|
class Lazy {
|
|
5
8
|
constructor(producer) {
|
|
6
9
|
this.producer = producer;
|
|
7
10
|
}
|
|
11
|
+
/**
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
8
14
|
static any(producer) {
|
|
9
15
|
return new Lazy(producer);
|
|
10
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* @experimental
|
|
19
|
+
*/
|
|
11
20
|
produce() {
|
|
12
21
|
return this.producer.produce();
|
|
13
22
|
}
|
|
14
23
|
}
|
|
15
24
|
exports.Lazy = Lazy;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9sYXp5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE1BQWEsSUFBSTtJQVVmLFlBQXFDLFFBQXNCO1FBQXRCLGFBQVEsR0FBUixRQUFRLENBQWM7SUFBRyxDQUFDOzs7O0lBUnhELE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBc0I7UUFDdEMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQW1CLENBQUM7SUFDOUMsQ0FBQzs7OztJQUVNLE9BQU87UUFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztDQUlGO0FBWkQsb0JBWUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTGF6eSB7XG5cbiAgcHVibGljIHN0YXRpYyBhbnkocHJvZHVjZXI6IElBbnlQcm9kdWNlcik6IGFueSB7XG4gICAgcmV0dXJuIG5ldyBMYXp5KHByb2R1Y2VyKSBhcyB1bmtub3duIGFzIGFueTtcbiAgfVxuXG4gIHB1YmxpYyBwcm9kdWNlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMucHJvZHVjZXIucHJvZHVjZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb2R1Y2VyOiBJQW55UHJvZHVjZXIpIHt9XG5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQW55UHJvZHVjZXIge1xuICBwcm9kdWNlKCk6IGFueTtcbn1cblxuXG4iXX0=
|
package/lib/metadata.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Metadata associated with this object.
|
|
2
|
+
* (experimental) Metadata associated with this object.
|
|
3
|
+
*
|
|
4
|
+
* @experimental
|
|
3
5
|
*/
|
|
4
6
|
export interface ApiObjectMetadata {
|
|
5
7
|
/**
|
|
6
|
-
* The unique, namespace-global, name of this object inside the Kubernetes
|
|
7
|
-
* cluster.
|
|
8
|
+
* (experimental) The unique, namespace-global, name of this object inside the Kubernetes cluster.
|
|
8
9
|
*
|
|
9
10
|
* Normally, you shouldn't specify names for objects and let the CDK generate
|
|
10
11
|
* a name for you that is application-unique. The names CDK generates are
|
|
@@ -20,33 +21,42 @@ export interface ApiObjectMetadata {
|
|
|
20
21
|
* leave this unspecified.
|
|
21
22
|
*
|
|
22
23
|
* @default - an app-unique name generated by the chart
|
|
24
|
+
* @experimental
|
|
23
25
|
*/
|
|
24
26
|
readonly name?: string;
|
|
25
27
|
/**
|
|
26
|
-
* Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
|
|
28
|
+
* (experimental) Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
|
|
29
|
+
*
|
|
30
|
+
* They are not queryable and should be
|
|
27
31
|
* preserved when modifying objects.
|
|
28
32
|
*
|
|
29
|
-
* @see http://kubernetes.io/docs/user-guide/annotations
|
|
30
33
|
* @default - No annotations.
|
|
34
|
+
* @see http://kubernetes.io/docs/user-guide/annotations
|
|
35
|
+
* @experimental
|
|
31
36
|
*/
|
|
32
37
|
readonly annotations?: {
|
|
33
38
|
[key: string]: string;
|
|
34
39
|
};
|
|
35
40
|
/**
|
|
36
|
-
* Map of string keys and values that can be used to organize and categorize (scope and select) objects.
|
|
41
|
+
* (experimental) Map of string keys and values that can be used to organize and categorize (scope and select) objects.
|
|
42
|
+
*
|
|
37
43
|
* May match selectors of replication controllers and services.
|
|
38
44
|
*
|
|
39
|
-
* @see http://kubernetes.io/docs/user-guide/labels
|
|
40
45
|
* @default - No labels.
|
|
46
|
+
* @see http://kubernetes.io/docs/user-guide/labels
|
|
47
|
+
* @experimental
|
|
41
48
|
*/
|
|
42
49
|
readonly labels?: {
|
|
43
50
|
[key: string]: string;
|
|
44
51
|
};
|
|
45
52
|
/**
|
|
46
|
-
* Namespace defines the space within each name must be unique.
|
|
53
|
+
* (experimental) Namespace defines the space within each name must be unique.
|
|
54
|
+
*
|
|
55
|
+
* An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation.
|
|
47
56
|
* Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty. Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces
|
|
48
57
|
*
|
|
49
58
|
* @default undefined (will be assigned to the 'default' namespace)
|
|
59
|
+
* @experimental
|
|
50
60
|
*/
|
|
51
61
|
readonly namespace?: string;
|
|
52
62
|
/**
|
|
@@ -55,20 +65,26 @@ export interface ApiObjectMetadata {
|
|
|
55
65
|
readonly [key: string]: any;
|
|
56
66
|
}
|
|
57
67
|
/**
|
|
58
|
-
* Object metadata.
|
|
68
|
+
* (experimental) Object metadata.
|
|
69
|
+
*
|
|
70
|
+
* @experimental
|
|
59
71
|
*/
|
|
60
72
|
export declare class ApiObjectMetadataDefinition {
|
|
61
73
|
/**
|
|
62
|
-
* The name of the API object.
|
|
74
|
+
* (experimental) The name of the API object.
|
|
63
75
|
*
|
|
64
76
|
* If a name is specified in `metadata.name` this will be the name returned.
|
|
65
77
|
* Otherwise, a name will be generated by calling
|
|
66
78
|
* `Chart.of(this).generatedObjectName(this)`, which by default uses the
|
|
67
79
|
* construct path to generate a DNS-compatible name for the resource.
|
|
80
|
+
*
|
|
81
|
+
* @experimental
|
|
68
82
|
*/
|
|
69
83
|
readonly name?: string;
|
|
70
84
|
/**
|
|
71
|
-
* The object's namespace.
|
|
85
|
+
* (experimental) The object's namespace.
|
|
86
|
+
*
|
|
87
|
+
* @experimental
|
|
72
88
|
*/
|
|
73
89
|
readonly namespace?: string;
|
|
74
90
|
/**
|
|
@@ -83,34 +99,44 @@ export declare class ApiObjectMetadataDefinition {
|
|
|
83
99
|
* Additional metadata attributes passed through `options`.
|
|
84
100
|
*/
|
|
85
101
|
private readonly _additionalAttributes;
|
|
102
|
+
/**
|
|
103
|
+
* @experimental
|
|
104
|
+
*/
|
|
86
105
|
constructor(options?: ApiObjectMetadata);
|
|
87
106
|
/**
|
|
88
|
-
* Add a label.
|
|
107
|
+
* (experimental) Add a label.
|
|
89
108
|
*
|
|
90
109
|
* @param key - The key.
|
|
91
110
|
* @param value - The value.
|
|
111
|
+
* @experimental
|
|
92
112
|
*/
|
|
93
113
|
addLabel(key: string, value: string): void;
|
|
94
114
|
/**
|
|
115
|
+
* @param key the label.
|
|
95
116
|
* @returns a value of a label or undefined
|
|
96
|
-
* @
|
|
117
|
+
* @experimental
|
|
97
118
|
*/
|
|
98
119
|
getLabel(key: string): string | undefined;
|
|
99
120
|
/**
|
|
100
|
-
* Add an annotation.
|
|
121
|
+
* (experimental) Add an annotation.
|
|
101
122
|
*
|
|
102
123
|
* @param key - The key.
|
|
103
124
|
* @param value - The value.
|
|
125
|
+
* @experimental
|
|
104
126
|
*/
|
|
105
127
|
addAnnotation(key: string, value: string): void;
|
|
106
128
|
/**
|
|
107
|
-
* Adds an arbitrary key/value to the object metadata.
|
|
108
|
-
*
|
|
109
|
-
* @param
|
|
129
|
+
* (experimental) Adds an arbitrary key/value to the object metadata.
|
|
130
|
+
*
|
|
131
|
+
* @param key Metadata key.
|
|
132
|
+
* @param value Metadata value.
|
|
133
|
+
* @experimental
|
|
110
134
|
*/
|
|
111
135
|
add(key: string, value: any): void;
|
|
112
136
|
/**
|
|
113
|
-
* Synthesizes a k8s ObjectMeta for this metadata set.
|
|
137
|
+
* (experimental) Synthesizes a k8s ObjectMeta for this metadata set.
|
|
138
|
+
*
|
|
139
|
+
* @experimental
|
|
114
140
|
*/
|
|
115
141
|
toJson(): any;
|
|
116
142
|
}
|
package/lib/metadata.js
CHANGED
|
@@ -3,9 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ApiObjectMetadataDefinition = void 0;
|
|
4
4
|
const _util_1 = require("./_util");
|
|
5
5
|
/**
|
|
6
|
-
* Object metadata.
|
|
6
|
+
* (experimental) Object metadata.
|
|
7
|
+
*
|
|
8
|
+
* @experimental
|
|
7
9
|
*/
|
|
8
10
|
class ApiObjectMetadataDefinition {
|
|
11
|
+
/**
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
9
14
|
constructor(options = {}) {
|
|
10
15
|
var _a, _b;
|
|
11
16
|
this.name = options.name;
|
|
@@ -15,40 +20,47 @@ class ApiObjectMetadataDefinition {
|
|
|
15
20
|
this._additionalAttributes = options !== null && options !== void 0 ? options : {};
|
|
16
21
|
}
|
|
17
22
|
/**
|
|
18
|
-
* Add a label.
|
|
23
|
+
* (experimental) Add a label.
|
|
19
24
|
*
|
|
20
25
|
* @param key - The key.
|
|
21
26
|
* @param value - The value.
|
|
27
|
+
* @experimental
|
|
22
28
|
*/
|
|
23
29
|
addLabel(key, value) {
|
|
24
30
|
this.labels[key] = value;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
33
|
+
* @param key the label.
|
|
27
34
|
* @returns a value of a label or undefined
|
|
28
|
-
* @
|
|
35
|
+
* @experimental
|
|
29
36
|
*/
|
|
30
37
|
getLabel(key) {
|
|
31
38
|
return this.labels[key];
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
|
-
* Add an annotation.
|
|
41
|
+
* (experimental) Add an annotation.
|
|
35
42
|
*
|
|
36
43
|
* @param key - The key.
|
|
37
44
|
* @param value - The value.
|
|
45
|
+
* @experimental
|
|
38
46
|
*/
|
|
39
47
|
addAnnotation(key, value) {
|
|
40
48
|
this.annotations[key] = value;
|
|
41
49
|
}
|
|
42
50
|
/**
|
|
43
|
-
* Adds an arbitrary key/value to the object metadata.
|
|
44
|
-
*
|
|
45
|
-
* @param
|
|
51
|
+
* (experimental) Adds an arbitrary key/value to the object metadata.
|
|
52
|
+
*
|
|
53
|
+
* @param key Metadata key.
|
|
54
|
+
* @param value Metadata value.
|
|
55
|
+
* @experimental
|
|
46
56
|
*/
|
|
47
57
|
add(key, value) {
|
|
48
58
|
this._additionalAttributes[key] = value;
|
|
49
59
|
}
|
|
50
60
|
/**
|
|
51
|
-
* Synthesizes a k8s ObjectMeta for this metadata set.
|
|
61
|
+
* (experimental) Synthesizes a k8s ObjectMeta for this metadata set.
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
52
64
|
*/
|
|
53
65
|
toJson() {
|
|
54
66
|
const sanitize = (x) => _util_1.sanitizeValue(x, { filterEmptyArrays: true, filterEmptyObjects: true });
|
|
@@ -62,4 +74,4 @@ class ApiObjectMetadataDefinition {
|
|
|
62
74
|
}
|
|
63
75
|
}
|
|
64
76
|
exports.ApiObjectMetadataDefinition = ApiObjectMetadataDefinition;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWV0YWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQXdDOzs7Ozs7QUE4RHhDLE1BQWEsMkJBQTJCOzs7O0lBK0J0QyxZQUFZLFVBQTZCLEVBQUc7O1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsTUFBTSxTQUFHLE9BQU8sQ0FBQyxNQUFNLG1DQUFJLEVBQUcsQ0FBQztRQUNwQyxJQUFJLENBQUMsV0FBVyxTQUFHLE9BQU8sQ0FBQyxXQUFXLG1DQUFJLEVBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE9BQU8sYUFBUCxPQUFPLGNBQVAsT0FBTyxHQUFJLEVBQUcsQ0FBQztJQUM5QyxDQUFDOzs7Ozs7OztJQVFNLFFBQVEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUN4QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDOzs7Ozs7SUFNTSxRQUFRLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7Ozs7Ozs7SUFRTSxhQUFhLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDN0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7SUFDaEMsQ0FBQzs7Ozs7Ozs7SUFPTSxHQUFHLENBQUMsR0FBVyxFQUFFLEtBQVU7UUFDaEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDOzs7Ozs7SUFLTSxNQUFNO1FBQ1gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLHFCQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDckcsT0FBTyxRQUFRLENBQUM7WUFDZCxHQUFHLElBQUksQ0FBQyxxQkFBcUI7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDcEIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBekZELGtFQXlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNhbml0aXplVmFsdWUgfSBmcm9tICcuL191dGlsJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIEFwaU9iamVjdE1ldGFkYXRhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgYW5ub3RhdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG5hbWVzcGFjZT86IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBBcGlPYmplY3RNZXRhZGF0YURlZmluaXRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBuYW1lPzogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIExhYmVscyBhc3NvY2lhdGVkIHdpdGggdGhpcyBvYmplY3QuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGxhYmVsczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQW5ub3RhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0LlxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBhbm5vdGF0aW9uczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtZXRhZGF0YSBhdHRyaWJ1dGVzIHBhc3NlZCB0aHJvdWdoIGBvcHRpb25zYC5cbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgX2FkZGl0aW9uYWxBdHRyaWJ1dGVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFwaU9iamVjdE1ldGFkYXRhID0geyB9KSB7XG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lO1xuICAgIHRoaXMubGFiZWxzID0gb3B0aW9ucy5sYWJlbHMgPz8geyB9O1xuICAgIHRoaXMuYW5ub3RhdGlvbnMgPSBvcHRpb25zLmFubm90YXRpb25zID8/IHsgfTtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG9wdGlvbnMubmFtZXNwYWNlO1xuICAgIHRoaXMuX2FkZGl0aW9uYWxBdHRyaWJ1dGVzID0gb3B0aW9ucyA/PyB7IH07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZExhYmVsKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5sYWJlbHNba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBnZXRMYWJlbChrZXk6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWxzW2tleV07XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZEFubm90YXRpb24oa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFubm90YXRpb25zW2tleV0gPSB2YWx1ZTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICB0aGlzLl9hZGRpdGlvbmFsQXR0cmlidXRlc1trZXldID0gdmFsdWU7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvSnNvbigpIHtcbiAgICBjb25zdCBzYW5pdGl6ZSA9ICh4OiBhbnkpID0+IHNhbml0aXplVmFsdWUoeCwgeyBmaWx0ZXJFbXB0eUFycmF5czogdHJ1ZSwgZmlsdGVyRW1wdHlPYmplY3RzOiB0cnVlIH0pO1xuICAgIHJldHVybiBzYW5pdGl6ZSh7XG4gICAgICAuLi50aGlzLl9hZGRpdGlvbmFsQXR0cmlidXRlcyxcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIG5hbWVzcGFjZTogdGhpcy5uYW1lc3BhY2UsXG4gICAgICBhbm5vdGF0aW9uczogdGhpcy5hbm5vdGF0aW9ucyxcbiAgICAgIGxhYmVsczogdGhpcy5sYWJlbHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/names.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Utilities for generating unique and stable names.
|
|
2
|
+
* (experimental) Utilities for generating unique and stable names.
|
|
3
|
+
*
|
|
4
|
+
* @experimental
|
|
3
5
|
*/
|
|
4
6
|
export declare class Names {
|
|
5
7
|
/**
|
|
6
|
-
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
7
|
-
* a path.
|
|
8
|
+
* (experimental) Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from a path.
|
|
8
9
|
*
|
|
9
10
|
* The generated name will:
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* - contain at most 63 characters
|
|
12
|
+
* - contain only lowercase alphanumeric characters or ‘-’
|
|
13
|
+
* - start with an alphanumeric character
|
|
14
|
+
* - end with an alphanumeric character
|
|
14
15
|
*
|
|
15
16
|
* The generated name will have the form:
|
|
16
|
-
*
|
|
17
|
+
* <comp0>-<comp1>-..-<compN>-<short-hash>
|
|
17
18
|
*
|
|
18
19
|
* Where <comp> are the path components (assuming they are is separated by
|
|
19
20
|
* "/").
|
|
@@ -21,17 +22,16 @@ export declare class Names {
|
|
|
21
22
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
22
23
|
* the first components since the last components usually encode more meaning.
|
|
23
24
|
*
|
|
25
|
+
* @param path a path to a node (components separated by "/").
|
|
26
|
+
* @param maxLen maximum allowed length for name.
|
|
27
|
+
* @experimental
|
|
24
28
|
* @link https://tools.ietf.org/html/rfc1123
|
|
25
|
-
*
|
|
26
|
-
* @param path a path to a node (components separated by "/")
|
|
27
|
-
* @param maxLen maximum allowed length for name
|
|
28
29
|
* @throws if any of the components do not adhere to naming constraints or
|
|
29
30
|
* length.
|
|
30
31
|
*/
|
|
31
32
|
static toDnsLabel(path: string, maxLen?: number): string;
|
|
32
33
|
/**
|
|
33
|
-
* Generates a unique and stable name compatible label key name segment and
|
|
34
|
-
* label value from a path.
|
|
34
|
+
* (experimental) Generates a unique and stable name compatible label key name segment and label value from a path.
|
|
35
35
|
*
|
|
36
36
|
* The name segment is required and must be 63 characters or less, beginning
|
|
37
37
|
* and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-),
|
|
@@ -42,7 +42,7 @@ export declare class Names {
|
|
|
42
42
|
* (-), underscores (_), dots (.), and alphanumerics between.
|
|
43
43
|
*
|
|
44
44
|
* The generated name will have the form:
|
|
45
|
-
*
|
|
45
|
+
* <comp0><delim><comp1><delim>..<delim><compN><delim><short-hash>
|
|
46
46
|
*
|
|
47
47
|
* Where <comp> are the path components (assuming they are is separated by
|
|
48
48
|
* "/").
|
|
@@ -50,11 +50,11 @@ export declare class Names {
|
|
|
50
50
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
51
51
|
* the first components since the last components usually encode more meaning.
|
|
52
52
|
*
|
|
53
|
+
* @param path a path to a node (components separated by "/").
|
|
54
|
+
* @param delim a delimiter to separates components.
|
|
55
|
+
* @param maxLen maximum allowed length for name.
|
|
56
|
+
* @experimental
|
|
53
57
|
* @link https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
|
|
54
|
-
*
|
|
55
|
-
* @param path a path to a node (components separated by "/")
|
|
56
|
-
* @param delim a delimiter to separates components
|
|
57
|
-
* @param maxLen maximum allowed length for name
|
|
58
58
|
* @throws if any of the components do not adhere to naming constraints or
|
|
59
59
|
* length.
|
|
60
60
|
*/
|
package/lib/names.js
CHANGED
|
@@ -8,21 +8,22 @@ const MAX_LABEL_VALUE_LEN = 63;
|
|
|
8
8
|
const VALIDATE_LABEL_VALUE = /^(([0-9a-zA-Z][0-9a-zA-Z-_.]*)?[0-9a-zA-Z])?$/;
|
|
9
9
|
const HASH_LEN = 8;
|
|
10
10
|
/**
|
|
11
|
-
* Utilities for generating unique and stable names.
|
|
11
|
+
* (experimental) Utilities for generating unique and stable names.
|
|
12
|
+
*
|
|
13
|
+
* @experimental
|
|
12
14
|
*/
|
|
13
15
|
class Names {
|
|
14
16
|
/**
|
|
15
|
-
* Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from
|
|
16
|
-
* a path.
|
|
17
|
+
* (experimental) Generates a unique and stable name compatible DNS_LABEL from RFC-1123 from a path.
|
|
17
18
|
*
|
|
18
19
|
* The generated name will:
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
20
|
+
* - contain at most 63 characters
|
|
21
|
+
* - contain only lowercase alphanumeric characters or ‘-’
|
|
22
|
+
* - start with an alphanumeric character
|
|
23
|
+
* - end with an alphanumeric character
|
|
23
24
|
*
|
|
24
25
|
* The generated name will have the form:
|
|
25
|
-
*
|
|
26
|
+
* <comp0>-<comp1>-..-<compN>-<short-hash>
|
|
26
27
|
*
|
|
27
28
|
* Where <comp> are the path components (assuming they are is separated by
|
|
28
29
|
* "/").
|
|
@@ -30,10 +31,10 @@ class Names {
|
|
|
30
31
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
31
32
|
* the first components since the last components usually encode more meaning.
|
|
32
33
|
*
|
|
34
|
+
* @param path a path to a node (components separated by "/").
|
|
35
|
+
* @param maxLen maximum allowed length for name.
|
|
36
|
+
* @experimental
|
|
33
37
|
* @link https://tools.ietf.org/html/rfc1123
|
|
34
|
-
*
|
|
35
|
-
* @param path a path to a node (components separated by "/")
|
|
36
|
-
* @param maxLen maximum allowed length for name
|
|
37
38
|
* @throws if any of the components do not adhere to naming constraints or
|
|
38
39
|
* length.
|
|
39
40
|
*/
|
|
@@ -61,8 +62,7 @@ class Names {
|
|
|
61
62
|
.split('-').filter(x => x).join('-'); // remove empty components between `-`s.
|
|
62
63
|
}
|
|
63
64
|
/**
|
|
64
|
-
* Generates a unique and stable name compatible label key name segment and
|
|
65
|
-
* label value from a path.
|
|
65
|
+
* (experimental) Generates a unique and stable name compatible label key name segment and label value from a path.
|
|
66
66
|
*
|
|
67
67
|
* The name segment is required and must be 63 characters or less, beginning
|
|
68
68
|
* and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-),
|
|
@@ -73,7 +73,7 @@ class Names {
|
|
|
73
73
|
* (-), underscores (_), dots (.), and alphanumerics between.
|
|
74
74
|
*
|
|
75
75
|
* The generated name will have the form:
|
|
76
|
-
*
|
|
76
|
+
* <comp0><delim><comp1><delim>..<delim><compN><delim><short-hash>
|
|
77
77
|
*
|
|
78
78
|
* Where <comp> are the path components (assuming they are is separated by
|
|
79
79
|
* "/").
|
|
@@ -81,11 +81,11 @@ class Names {
|
|
|
81
81
|
* Note that if the total length is longer than 63 characters, we will trim
|
|
82
82
|
* the first components since the last components usually encode more meaning.
|
|
83
83
|
*
|
|
84
|
+
* @param path a path to a node (components separated by "/").
|
|
85
|
+
* @param delim a delimiter to separates components.
|
|
86
|
+
* @param maxLen maximum allowed length for name.
|
|
87
|
+
* @experimental
|
|
84
88
|
* @link https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#syntax-and-character-set
|
|
85
|
-
*
|
|
86
|
-
* @param path a path to a node (components separated by "/")
|
|
87
|
-
* @param delim a delimiter to separates components
|
|
88
|
-
* @param maxLen maximum allowed length for name
|
|
89
89
|
* @throws if any of the components do not adhere to naming constraints or
|
|
90
90
|
* length.
|
|
91
91
|
*/
|
|
@@ -144,4 +144,4 @@ function calcHash(path, maxLen) {
|
|
|
144
144
|
hash.update(path);
|
|
145
145
|
return hash.digest('hex').slice(0, maxLen);
|
|
146
146
|
}
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBRWpDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQztBQUNoQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLG9CQUFvQixHQUFHLCtDQUErQyxDQUFBO0FBQzVFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztBQUVuQjs7R0FFRztBQUNILE1BQWEsS0FBSztJQUNoQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQXlCRztJQUNJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBWSxFQUFFLE1BQU0sR0FBRyxnQkFBZ0I7UUFDOUQsSUFBSSxNQUFNLEdBQUcsUUFBUSxFQUFFO1lBQ3JCLE1BQU0sSUFBSSxLQUFLLENBQUMsMENBQTBDLFFBQVEsc0JBQXNCLENBQUMsQ0FBQztTQUMzRjtRQUVELElBQUksVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFakMsMkdBQTJHO1FBQzNHLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLE1BQU0sRUFBRTtZQUM3RixPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN0QjtRQUVELDRHQUE0RztRQUM1RyxVQUFVLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRWhFLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FB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TSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQSxDQUFVLG9CQUFvQjtBQUNwRCxDQUFDO0FBRUQsU0FBUyxxQkFBcUIsQ0FBQyxDQUFTLEVBQUUsTUFBYztJQUN0RCxPQUFPLENBQUM7U0FDTCxPQUFPLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsZ0NBQWdDO1NBQ2hFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUEsQ0FBVSxvQkFBb0I7QUFDcEQsQ0FBQztBQUVELFNBQVMsUUFBUSxDQUFDLElBQVksRUFBRSxNQUFjO0lBQzVDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUM3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmNvbnN0IE1BWF9ETlNfTkFNRV9MRU4gPSA2MztcbmNvbnN0IFZBTElEQVRFID0gL15bMC05YS16LV0rJC87XG5jb25zdCBNQVhfTEFCRUxfVkFMVUVfTEVOID0gNjM7XG5jb25zdCBWQUxJREFURV9MQUJFTF9WQUxVRSA9IC9eKChbMC05YS16QS1aXVswLTlhLXpBLVotXy5dKik/WzAtOWEtekEtWl0pPyQvXG5jb25zdCBIQVNIX0xFTiA9IDg7XG5cbi8qKlxuICogVXRpbGl0aWVzIGZvciBnZW5lcmF0aW5nIHVuaXF1ZSBhbmQgc3RhYmxlIG5hbWVzLlxuICovXG5leHBvcnQgY2xhc3MgTmFtZXMge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGEgdW5pcXVlIGFuZCBzdGFibGUgbmFtZSBjb21wYXRpYmxlIEROU19MQUJFTCBmcm9tIFJGQy0xMTIzIGZyb21cbiAgICogYSBwYXRoLlxuICAgKlxuICAgKiBUaGUgZ2VuZXJhdGVkIG5hbWUgd2lsbDpcbiAgICogIC0gY29udGFpbiBhdCBtb3N0IDYzIGNoYXJhY3RlcnNcbiAgICogIC0gY29udGFpbiBvbmx5IGxvd2VyY2FzZSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBvciDigJgt4oCZXG4gICAqICAtIHN0YXJ0IHdpdGggYW4gYWxwaGFudW1lcmljIGNoYXJhY3RlclxuICAgKiAgLSBlbmQgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyXG4gICAqXG4gICAqIFRoZSBnZW5lcmF0ZWQgbmFtZSB3aWxsIGhhdmUgdGhlIGZvcm06XG4gICAqICA8Y29tcDA+LTxjb21wMT4tLi4tPGNvbXBOPi08c2hvcnQtaGFzaD5cbiAgICpcbiAgICogV2hlcmUgPGNvbXA+IGFyZSB0aGUgcGF0aCBjb21wb25lbnRzIChhc3N1bWluZyB0aGV5IGFyZSBpcyBzZXBhcmF0ZWQgYnlcbiAgICogXCIvXCIpLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgaWYgdGhlIHRvdGFsIGxlbmd0aCBpcyBsb25nZXIgdGhhbiA2MyBjaGFyYWN0ZXJzLCB3ZSB3aWxsIHRyaW1cbiAgICogdGhlIGZpcnN0IGNvbXBvbmVudHMgc2luY2UgdGhlIGxhc3QgY29tcG9uZW50cyB1c3VhbGx5IGVuY29kZSBtb3JlIG1lYW5pbmcuXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMxMTIzXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIGEgcGF0aCB0byBhIG5vZGUgKGNvbXBvbmVudHMgc2VwYXJhdGVkIGJ5IFwiL1wiKVxuICAgKiBAcGFyYW0gbWF4TGVuIG1heGltdW0gYWxsb3dlZCBsZW5ndGggZm9yIG5hbWVcbiAgICogQHRocm93cyBpZiBhbnkgb2YgdGhlIGNvbXBvbmVudHMgZG8gbm90IGFkaGVyZSB0byBuYW1pbmcgY29uc3RyYWludHMgb3JcbiAgICogbGVuZ3RoLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB0b0Ruc0xhYmVsKHBhdGg6IHN0cmluZywgbWF4TGVuID0gTUFYX0ROU19OQU1FX0xFTikge1xuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaW5pbXVtIG1heCBsZW5ndGggZm9yIG9iamVjdCBuYW1lcyBpcyAke0hBU0hfTEVOfSAocmVxdWlyZWQgZm9yIGhhc2gpYCk7XG4gICAgfVxuXG4gICAgbGV0IGNvbXBvbmVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIHdlIG9ubHkgaGF2ZSBvbmUgY29tcG9uZW50IGluIG91ciBwYXRoIGFuZCBpdCBhZGhlcmVzIHRvIEROU19OQU1FLCB3ZSBkb24ndCBkZWNvcmF0ZSBpdFxuICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBWQUxJREFURS50ZXN0KGNvbXBvbmVudHNbMF0pICYmIGNvbXBvbmVudHNbMF0ubGVuZ3RoIDw9IG1heExlbikge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gICAgfVxuXG4gICAgLy8gb2theSwgbm93IHdlIG5lZWQgdG8gbm9ybWFsaXplIGFsbCBjb21wb25lbnRzIHRvIGFkaGVyZSB0byBETlNfTkFNRSBhbmQgYXBwZW5kIHRoZSBoYXNoIG9mIHRoZSBmdWxsIHBhdGguXG4gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMubWFwKGMgPT4gbm9ybWFsaXplVG9EbnNOYW1lKGMsIG1heExlbikpO1xuXG4gICAgY29tcG9uZW50cy5wdXNoKGNhbGNIYXNoKHBhdGgsIEhBU0hfTEVOKSk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1xuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbHRlcihvbWl0RHVwbGljYXRlcylcbiAgICAgIC5qb2luKCcvJylcbiAgICAgIC5zbGljZSgwLCBtYXhMZW4pXG4gICAgICAuc3BsaXQoJy8nKVxuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbHRlcih4ID0+IHgpXG4gICAgICAuam9pbignLScpXG4gICAgICAuc3BsaXQoJy0nKS5maWx0ZXIoeCA9PiB4KS5qb2luKCctJykgLy8gcmVtb3ZlIGVtcHR5IGNvbXBvbmVudHMgYmV0d2VlbiBgLWBzLlxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIHVuaXF1ZSBhbmQgc3RhYmxlIG5hbWUgY29tcGF0aWJsZSBsYWJlbCBrZXkgbmFtZSBzZWdtZW50IGFuZFxuICAgKiBsYWJlbCB2YWx1ZSBmcm9tIGEgcGF0aC5cbiAgICpcbiAgICogVGhlIG5hbWUgc2VnbWVudCBpcyByZXF1aXJlZCBhbmQgbXVzdCBiZSA2MyBjaGFyYWN0ZXJzIG9yIGxlc3MsIGJlZ2lubmluZ1xuICAgKiBhbmQgZW5kaW5nIHdpdGggYW4gYWxwaGFudW1lcmljIGNoYXJhY3RlciAoW2EtejAtOUEtWl0pIHdpdGggZGFzaGVzICgtKSxcbiAgICogdW5kZXJzY29yZXMgKF8pLCBkb3RzICguKSwgYW5kIGFscGhhbnVtZXJpY3MgYmV0d2Vlbi5cbiAgICpcbiAgICogVmFsaWQgbGFiZWwgdmFsdWVzIG11c3QgYmUgNjMgY2hhcmFjdGVycyBvciBsZXNzIGFuZCBtdXN0IGJlIGVtcHR5IG9yXG4gICAqIGJlZ2luIGFuZCBlbmQgd2l0aCBhbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVyIChbYS16MC05QS1aXSkgd2l0aCBkYXNoZXNcbiAgICogKC0pLCB1bmRlcnNjb3JlcyAoXyksIGRvdHMgKC4pLCBhbmQgYWxwaGFudW1lcmljcyBiZXR3ZWVuLlxuICAgKlxuICAgKiBUaGUgZ2VuZXJhdGVkIG5hbWUgd2lsbCBoYXZlIHRoZSBmb3JtOlxuICAgKiAgPGNvbXAwPjxkZWxpbT48Y29tcDE+PGRlbGltPi4uPGRlbGltPjxjb21wTj48ZGVsaW0+PHNob3J0LWhhc2g+XG4gICAqXG4gICAqIFdoZXJlIDxjb21wPiBhcmUgdGhlIHBhdGggY29tcG9uZW50cyAoYXNzdW1pbmcgdGhleSBhcmUgaXMgc2VwYXJhdGVkIGJ5XG4gICAqIFwiL1wiKS5cbiAgICpcbiAgICogTm90ZSB0aGF0IGlmIHRoZSB0b3RhbCBsZW5ndGggaXMgbG9uZ2VyIHRoYW4gNjMgY2hhcmFjdGVycywgd2Ugd2lsbCB0cmltXG4gICAqIHRoZSBmaXJzdCBjb21wb25lbnRzIHNpbmNlIHRoZSBsYXN0IGNvbXBvbmVudHMgdXN1YWxseSBlbmNvZGUgbW9yZSBtZWFuaW5nLlxuICAgKlxuICAgKiBAbGluayBodHRwczovL2t1YmVybmV0ZXMuaW8vZG9jcy9jb25jZXB0cy9vdmVydmlldy93b3JraW5nLXdpdGgtb2JqZWN0cy9sYWJlbHMvI3N5bnRheC1hbmQtY2hhcmFjdGVyLXNldFxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCBhIHBhdGggdG8gYSBub2RlIChjb21wb25lbnRzIHNlcGFyYXRlZCBieSBcIi9cIilcbiAgICogQHBhcmFtIGRlbGltIGEgZGVsaW1pdGVyIHRvIHNlcGFyYXRlcyBjb21wb25lbnRzXG4gICAqIEBwYXJhbSBtYXhMZW4gbWF4aW11bSBhbGxvd2VkIGxlbmd0aCBmb3IgbmFtZVxuICAgKiBAdGhyb3dzIGlmIGFueSBvZiB0aGUgY29tcG9uZW50cyBkbyBub3QgYWRoZXJlIHRvIG5hbWluZyBjb25zdHJhaW50cyBvclxuICAgKiBsZW5ndGguXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHRvTGFiZWxWYWx1ZShwYXRoOiBzdHJpbmcsIGRlbGltOiBzdHJpbmcgPSAnLScsIG1heExlbjogbnVtYmVyID0gTUFYX0xBQkVMX1ZBTFVFX0xFTikge1xuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaW5pbXVtIG1heCBsZW5ndGggZm9yIGxhYmVsIGlzICR7SEFTSF9MRU59IChyZXF1aXJlZCBmb3IgaGFzaClgKTtcbiAgICB9XG5cbiAgICBpZiAoL1teMC05YS16QS1aLV8uXS8udGVzdChkZWxpbSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZGVsaW0gc2hvdWxkIG5vdCBjb250YWluIFwiW14wLTlhLXpBLVotXy5dXCInKTtcbiAgICB9XG5cbiAgICBsZXQgY29tcG9uZW50cyA9IHBhdGguc3BsaXQoJy8nKTtcblxuICAgIC8vIHNwZWNpYWwgY2FzZTogaWYgd2Ugb25seSBoYXZlIG9uZSBjb21wb25lbnQgaW4gb3VyIHBhdGggYW5kIGl0IGFkaGVyZXMgdG8gRE5TX05BTUUsIHdlIGRvbid0IGRlY29yYXRlIGl0XG4gICAgaWYgKGNvbXBvbmVudHMubGVuZ3RoID09PSAxICYmIFZBTElEQVRFX0xBQkVMX1ZBTFVFLnRlc3QoY29tcG9uZW50c1swXSkgJiYgY29tcG9uZW50c1swXS5sZW5ndGggPD0gbWF4TGVuKSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50c1swXTtcbiAgICB9XG5cbiAgICAvLyBva2F5LCBub3cgd2UgbmVlZCB0byBub3JtYWxpemUgYWxsIGNvbXBvbmVudHMgdG8gYWRoZXJlIHRvIGxhYmVsIGFuZCBhcHBlbmQgdGhlIGhhc2ggb2YgdGhlIGZ1bGwgcGF0aC5cbiAgICBjb21wb25lbnRzID0gY29tcG9uZW50cy5tYXAoYyA9PiBub3JtYWxpemVUb0xhYmVsVmFsdWUoYywgbWF4TGVuKSk7XG5cbiAgICBjb21wb25lbnRzLnB1c2goY2FsY0hhc2gocGF0aCwgSEFTSF9MRU4pKTtcblxuICAgIGNvbnN0IHJlc3VsdCA9IGNvbXBvbmVudHNcbiAgICAgIC5yZXZlcnNlKClcbiAgICAgIC5maWx0ZXIob21pdER1cGxpY2F0ZXMpXG4gICAgICAuam9pbignLycpXG4gICAgICAuc2xpY2UoMCwgbWF4TGVuKVxuICAgICAgLnNwbGl0KCcvJylcbiAgICAgIC5yZXZlcnNlKClcbiAgICAgIC5maWx0ZXIoeCA9PiB4KVxuICAgICAgLmpvaW4oZGVsaW0pXG4gICAgICAuc3BsaXQoZGVsaW0pXG4gICAgICAuZmlsdGVyKHggPT4geClcbiAgICAgIC5qb2luKGRlbGltKTtcblxuICAgIC8vIHNsaWNpbmcgbWlnaHQgbGV0ICctJywgJ18nLCAnLicgYmUgaW4gdGhlIHN0YXJ0IG9mIHRoZSByZXN1bHQuXG4gICAgcmV0dXJuIHJlc3VsdC5yZXBsYWNlKC9eW14wLTlhLXpBLVpdKy8sICcnKTtcbiAgfVxuXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgcmV0dXJuO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9taXREdXBsaWNhdGVzKHZhbHVlOiBzdHJpbmcsIGluZGV4OiBudW1iZXIsIGNvbXBvbmVudHM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiB2YWx1ZSAhPT0gY29tcG9uZW50c1tpbmRleC0xXTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplVG9EbnNOYW1lKGM6IHN0cmluZywgbWF4TGVuOiBudW1iZXIpIHtcbiAgcmV0dXJuIGNcbiAgICAudG9Mb2NhbGVMb3dlckNhc2UoKSAgICAgICAgLy8gbG93ZXIgY2FzZVxuICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpIC8vIHJlbW92ZSBub24tYWxsb3dlZCBjaGFyYWN0ZXJzXG4gICAgLnN1YnN0cigwLCBtYXhMZW4pICAgICAgICAgIC8vIHRyaW0gdG8gbWF4TGVuZ3RoXG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVRvTGFiZWxWYWx1ZShjOiBzdHJpbmcsIG1heExlbjogbnVtYmVyKSB7XG4gIHJldHVybiBjXG4gICAgLnJlcGxhY2UoL1teMC05YS16QS1aLV8uXS9nLCAnJykgLy8gcmVtb3ZlIG5vbi1hbGxvd2VkIGNoYXJhY3RlcnNcbiAgICAuc3Vic3RyKDAsIG1heExlbikgICAgICAgICAgLy8gdHJpbSB0byBtYXhMZW5ndGhcbn1cblxuZnVuY3Rpb24gY2FsY0hhc2gocGF0aDogc3RyaW5nLCBtYXhMZW46IG51bWJlcikge1xuICBjb25zdCBoYXNoID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpO1xuICBoYXNoLnVwZGF0ZShwYXRoKTtcbiAgcmV0dXJuIGhhc2guZGlnZXN0KCdoZXgnKS5zbGljZSgwLCBtYXhMZW4pO1xufSJdfQ==
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbmFtZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBRWpDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQztBQUNoQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLG9CQUFvQixHQUFHLCtDQUErQyxDQUFBO0FBQzVFLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQzs7Ozs7O0FBS25CLE1BQWEsS0FBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUEyQlQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFZLEVBQUUsTUFBTSxHQUFHLGdCQUFnQjtRQUM5RCxJQUFJLE1BQU0sR0FBRyxRQUFRLEVBQUU7WUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBMEMsUUFBUSxzQkFBc0IsQ0FBQyxDQUFDO1NBQzNGO1FBRUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQywyR0FBMkc7UUFDM0csSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksTUFBTSxFQUFFO1lBQzdGLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RCO1FBRUQsNEdBQTRHO1FBQzVHLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFaEUsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFFMUMsT0FB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QyxDQUFBLENBQVUsb0JBQW9CO0FBQ3BELENBQUM7QUFFRCxTQUFTLHFCQUFxQixDQUFDLENBQVMsRUFBRSxNQUFjO0lBQ3RELE9BQU8sQ0FBQztTQUNMLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxnQ0FBZ0M7U0FDaEUsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQSxDQUFVLG9CQUFvQjtBQUNwRCxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsSUFBWSxFQUFFLE1BQWM7SUFDNUMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuY29uc3QgTUFYX0ROU19OQU1FX0xFTiA9IDYzO1xuY29uc3QgVkFMSURBVEUgPSAvXlswLTlhLXotXSskLztcbmNvbnN0IE1BWF9MQUJFTF9WQUxVRV9MRU4gPSA2MztcbmNvbnN0IFZBTElEQVRFX0xBQkVMX1ZBTFVFID0gL14oKFswLTlhLXpBLVpdWzAtOWEtekEtWi1fLl0qKT9bMC05YS16QS1aXSk/JC9cbmNvbnN0IEhBU0hfTEVOID0gODtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgTmFtZXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyB0b0Ruc0xhYmVsKHBhdGg6IHN0cmluZywgbWF4TGVuID0gTUFYX0ROU19OQU1FX0xFTikge1xuICAgIGlmIChtYXhMZW4gPCBIQVNIX0xFTikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBtaW5pbXVtIG1heCBsZW5ndGggZm9yIG9iamVjdCBuYW1lcyBpcyAke0hBU0hfTEVOfSAocmVxdWlyZWQgZm9yIGhhc2gpYCk7XG4gICAgfVxuXG4gICAgbGV0IGNvbXBvbmVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIHdlIG9ubHkgaGF2ZSBvbmUgY29tcG9uZW50IGluIG91ciBwYXRoIGFuZCBpdCBhZGhlcmVzIHRvIEROU19OQU1FLCB3ZSBkb24ndCBkZWNvcmF0ZSBpdFxuICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBWQUxJREFURS50ZXN0KGNvbXBvbmVudHNbMF0pICYmIGNvbXBvbmVudHNbMF0ubGVuZ3RoIDw9IG1heExlbikge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gICAgfVxuXG4gICAgLy8gb2theSwgbm93IHdlIG5lZWQgdG8gbm9ybWFsaXplIGFsbCBjb21wb25lbnRzIHRvIGFkaGVyZSB0byBETlNfTkFNRSBhbmQgYXBwZW5kIHRoZSBoYXNoIG9mIHRoZSBmdWxsIHBhdGguXG4gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMubWFwKGMgPT4gbm9ybWFsaXplVG9EbnNOYW1lKGMsIG1heExlbikpO1xuXG4gICAgY29tcG9uZW50cy5wdXNoKGNhbGNIYXNoKHBhdGgsIEhBU0hfTEVOKSk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50c1xuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbHRlcihvbWl0RHVwbGljYXRlcylcbiAgICAgIC5qb2luKCcvJylcbiAgICAgIC5zbGljZSgwLCBtYXhMZW4pXG4gICAgICAuc3BsaXQoJy8nKVxuICAgICAgLnJldmVyc2UoKVxuICAgICAgLmZpbHRlcih4ID0+IHgpXG4gICAgICAuam9pbignLScpXG4gICAgICAuc3BsaXQoJy0nKS5maWx0ZXIoeCA9PiB4KS5qb2luKCctJykgLy8gcmVtb3ZlIGVtcHR5IGNvbXBvbmVudHMgYmV0d2VlbiBgLWBzLlxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyB0b0xhYmVsVmFsdWUocGF0aDogc3RyaW5nLCBkZWxpbTogc3RyaW5nID0gJy0nLCBtYXhMZW46IG51bWJlciA9IE1BWF9MQUJFTF9WQUxVRV9MRU4pIHtcbiAgICBpZiAobWF4TGVuIDwgSEFTSF9MRU4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbWluaW11bSBtYXggbGVuZ3RoIGZvciBsYWJlbCBpcyAke0hBU0hfTEVOfSAocmVxdWlyZWQgZm9yIGhhc2gpYCk7XG4gICAgfVxuXG4gICAgaWYgKC9bXjAtOWEtekEtWi1fLl0vLnRlc3QoZGVsaW0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2RlbGltIHNob3VsZCBub3QgY29udGFpbiBcIlteMC05YS16QS1aLV8uXVwiJyk7XG4gICAgfVxuXG4gICAgbGV0IGNvbXBvbmVudHMgPSBwYXRoLnNwbGl0KCcvJyk7XG5cbiAgICAvLyBzcGVjaWFsIGNhc2U6IGlmIHdlIG9ubHkgaGF2ZSBvbmUgY29tcG9uZW50IGluIG91ciBwYXRoIGFuZCBpdCBhZGhlcmVzIHRvIEROU19OQU1FLCB3ZSBkb24ndCBkZWNvcmF0ZSBpdFxuICAgIGlmIChjb21wb25lbnRzLmxlbmd0aCA9PT0gMSAmJiBWQUxJREFURV9MQUJFTF9WQUxVRS50ZXN0KGNvbXBvbmVudHNbMF0pICYmIGNvbXBvbmVudHNbMF0ubGVuZ3RoIDw9IG1heExlbikge1xuICAgICAgcmV0dXJuIGNvbXBvbmVudHNbMF07XG4gICAgfVxuXG4gICAgLy8gb2theSwgbm93IHdlIG5lZWQgdG8gbm9ybWFsaXplIGFsbCBjb21wb25lbnRzIHRvIGFkaGVyZSB0byBsYWJlbCBhbmQgYXBwZW5kIHRoZSBoYXNoIG9mIHRoZSBmdWxsIHBhdGguXG4gICAgY29tcG9uZW50cyA9IGNvbXBvbmVudHMubWFwKGMgPT4gbm9ybWFsaXplVG9MYWJlbFZhbHVlKGMsIG1heExlbikpO1xuXG4gICAgY29tcG9uZW50cy5wdXNoKGNhbGNIYXNoKHBhdGgsIEhBU0hfTEVOKSk7XG5cbiAgICBjb25zdCByZXN1bHQgPSBjb21wb25lbnRzXG4gICAgICAucmV2ZXJzZSgpXG4gICAgICAuZmlsdGVyKG9taXREdXBsaWNhdGVzKVxuICAgICAgLmpvaW4oJy8nKVxuICAgICAgLnNsaWNlKDAsIG1heExlbilcbiAgICAgIC5zcGxpdCgnLycpXG4gICAgICAucmV2ZXJzZSgpXG4gICAgICAuZmlsdGVyKHggPT4geClcbiAgICAgIC5qb2luKGRlbGltKVxuICAgICAgLnNwbGl0KGRlbGltKVxuICAgICAgLmZpbHRlcih4ID0+IHgpXG4gICAgICAuam9pbihkZWxpbSk7XG5cbiAgICAvLyBzbGljaW5nIG1pZ2h0IGxldCAnLScsICdfJywgJy4nIGJlIGluIHRoZSBzdGFydCBvZiB0aGUgcmVzdWx0LlxuICAgIHJldHVybiByZXN1bHQucmVwbGFjZSgvXlteMC05YS16QS1aXSsvLCAnJyk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybjtcbiAgfVxufVxuXG5mdW5jdGlvbiBvbWl0RHVwbGljYXRlcyh2YWx1ZTogc3RyaW5nLCBpbmRleDogbnVtYmVyLCBjb21wb25lbnRzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gdmFsdWUgIT09IGNvbXBvbmVudHNbaW5kZXgtMV07XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZVRvRG5zTmFtZShjOiBzdHJpbmcsIG1heExlbjogbnVtYmVyKSB7XG4gIHJldHVybiBjXG4gICAgLnRvTG9jYWxlTG93ZXJDYXNlKCkgICAgICAgIC8vIGxvd2VyIGNhc2VcbiAgICAucmVwbGFjZSgvW14wLTlhLXpBLVotXy5dL2csICcnKSAvLyByZW1vdmUgbm9uLWFsbG93ZWQgY2hhcmFjdGVyc1xuICAgIC5zdWJzdHIoMCwgbWF4TGVuKSAgICAgICAgICAvLyB0cmltIHRvIG1heExlbmd0aFxufVxuXG5mdW5jdGlvbiBub3JtYWxpemVUb0xhYmVsVmFsdWUoYzogc3RyaW5nLCBtYXhMZW46IG51bWJlcikge1xuICByZXR1cm4gY1xuICAgIC5yZXBsYWNlKC9bXjAtOWEtekEtWi1fLl0vZywgJycpIC8vIHJlbW92ZSBub24tYWxsb3dlZCBjaGFyYWN0ZXJzXG4gICAgLnN1YnN0cigwLCBtYXhMZW4pICAgICAgICAgIC8vIHRyaW0gdG8gbWF4TGVuZ3RoXG59XG5cbmZ1bmN0aW9uIGNhbGNIYXNoKHBhdGg6IHN0cmluZywgbWF4TGVuOiBudW1iZXIpIHtcbiAgY29uc3QgaGFzaCA9IGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKTtcbiAgaGFzaC51cGRhdGUocGF0aCk7XG4gIHJldHVybiBoYXNoLmRpZ2VzdCgnaGV4Jykuc2xpY2UoMCwgbWF4TGVuKTtcbn0iXX0=
|
package/lib/testing.d.ts
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import { Chart } from './chart';
|
|
2
2
|
import { App } from './app';
|
|
3
3
|
/**
|
|
4
|
-
* Testing utilities for cdk8s applications.
|
|
4
|
+
* (experimental) Testing utilities for cdk8s applications.
|
|
5
|
+
*
|
|
6
|
+
* @experimental
|
|
5
7
|
*/
|
|
6
8
|
export declare class Testing {
|
|
7
9
|
/**
|
|
8
|
-
* Returns an app for testing with the following properties:
|
|
9
|
-
*
|
|
10
|
+
* (experimental) Returns an app for testing with the following properties: - Output directory is a temp dir.
|
|
11
|
+
*
|
|
12
|
+
* @experimental
|
|
10
13
|
*/
|
|
11
14
|
static app(): App;
|
|
12
15
|
/**
|
|
13
16
|
* @returns a Chart that can be used for tests
|
|
17
|
+
* @experimental
|
|
14
18
|
*/
|
|
15
19
|
static chart(): Chart;
|
|
16
20
|
/**
|
|
17
|
-
* Returns the Kubernetes manifest synthesized from this chart.
|
|
21
|
+
* (experimental) Returns the Kubernetes manifest synthesized from this chart.
|
|
22
|
+
*
|
|
23
|
+
* @experimental
|
|
18
24
|
*/
|
|
19
25
|
static synth(chart: Chart): any[];
|
|
20
26
|
private constructor();
|
package/lib/testing.js
CHANGED
|
@@ -7,12 +7,15 @@ const os = require("os");
|
|
|
7
7
|
const chart_1 = require("./chart");
|
|
8
8
|
const app_1 = require("./app");
|
|
9
9
|
/**
|
|
10
|
-
* Testing utilities for cdk8s applications.
|
|
10
|
+
* (experimental) Testing utilities for cdk8s applications.
|
|
11
|
+
*
|
|
12
|
+
* @experimental
|
|
11
13
|
*/
|
|
12
14
|
class Testing {
|
|
13
15
|
/**
|
|
14
|
-
* Returns an app for testing with the following properties:
|
|
15
|
-
*
|
|
16
|
+
* (experimental) Returns an app for testing with the following properties: - Output directory is a temp dir.
|
|
17
|
+
*
|
|
18
|
+
* @experimental
|
|
16
19
|
*/
|
|
17
20
|
static app() {
|
|
18
21
|
const outdir = fs.mkdtempSync(path.join(os.tmpdir(), 'cdk8s.outdir.'));
|
|
@@ -20,12 +23,15 @@ class Testing {
|
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* @returns a Chart that can be used for tests
|
|
26
|
+
* @experimental
|
|
23
27
|
*/
|
|
24
28
|
static chart() {
|
|
25
29
|
return new chart_1.Chart(this.app(), 'test');
|
|
26
30
|
}
|
|
27
31
|
/**
|
|
28
|
-
* Returns the Kubernetes manifest synthesized from this chart.
|
|
32
|
+
* (experimental) Returns the Kubernetes manifest synthesized from this chart.
|
|
33
|
+
*
|
|
34
|
+
* @experimental
|
|
29
35
|
*/
|
|
30
36
|
static synth(chart) {
|
|
31
37
|
return chart.toJson();
|
|
@@ -36,4 +42,4 @@ class Testing {
|
|
|
36
42
|
}
|
|
37
43
|
}
|
|
38
44
|
exports.Testing = Testing;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90ZXN0aW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCLG1DQUFnQztBQUNoQywrQkFBNEI7Ozs7OztBQUs1QixNQUFhLE9BQU87Ozs7OztJQUtYLE1BQU0sQ0FBQyxHQUFHO1FBQ2YsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxTQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7Ozs7O0lBS00sTUFBTSxDQUFDLEtBQUs7UUFDakIsT0FBTyxJQUFJLGFBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkMsQ0FBQzs7Ozs7O0lBS00sTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFZO1FBQzlCLE9BQU8sS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCwwQkFBMEI7SUFDMUI7UUFDRSxPQUFPO0lBQ1QsQ0FBQztDQUNGO0FBNUJELDBCQTRCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBDaGFydCB9IGZyb20gJy4vY2hhcnQnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnLi9hcHAnO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgVGVzdGluZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGFwcCgpIHtcbiAgICBjb25zdCBvdXRkaXIgPSBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksICdjZGs4cy5vdXRkaXIuJykpO1xuICAgIHJldHVybiBuZXcgQXBwKHsgb3V0ZGlyIH0pO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIGNoYXJ0KCkge1xuICAgIHJldHVybiBuZXcgQ2hhcnQodGhpcy5hcHAoKSwgJ3Rlc3QnKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgc3RhdGljIHN5bnRoKGNoYXJ0OiBDaGFydCk6IGFueVtdIHtcbiAgICByZXR1cm4gY2hhcnQudG9Kc29uKCk7XG4gIH1cblxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybjtcbiAgfVxufVxuIl19
|