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/chart.d.ts
CHANGED
|
@@ -1,28 +1,66 @@
|
|
|
1
1
|
import { Construct, IConstruct } from 'constructs';
|
|
2
2
|
import { ApiObject } from './api-object';
|
|
3
|
+
/**
|
|
4
|
+
* @experimental
|
|
5
|
+
*/
|
|
3
6
|
export interface ChartOptions {
|
|
4
7
|
/**
|
|
5
|
-
* The default namespace for all objects defined in this chart (directly or
|
|
6
|
-
*
|
|
8
|
+
* (experimental) The default namespace for all objects defined in this chart (directly or indirectly).
|
|
9
|
+
*
|
|
10
|
+
* This namespace will only apply to objects that don't have a
|
|
7
11
|
* `namespace` explicitly defined for them.
|
|
8
12
|
*
|
|
9
13
|
* @default - no namespace is synthesized (usually this implies "default")
|
|
14
|
+
* @experimental
|
|
10
15
|
*/
|
|
11
16
|
readonly namespace?: string;
|
|
17
|
+
/**
|
|
18
|
+
* (experimental) Labels to apply to all resources in this chart.
|
|
19
|
+
*
|
|
20
|
+
* @default - no common labels
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
23
|
+
readonly labels?: {
|
|
24
|
+
[name: string]: string;
|
|
25
|
+
};
|
|
12
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* @experimental
|
|
29
|
+
*/
|
|
13
30
|
export declare class Chart extends Construct {
|
|
14
31
|
/**
|
|
15
|
-
* Finds the chart in which a node is defined.
|
|
16
|
-
*
|
|
32
|
+
* (experimental) Finds the chart in which a node is defined.
|
|
33
|
+
*
|
|
34
|
+
* @param c a construct node.
|
|
35
|
+
* @experimental
|
|
17
36
|
*/
|
|
18
37
|
static of(c: IConstruct): Chart;
|
|
19
38
|
/**
|
|
20
|
-
* The default namespace for all objects in this chart.
|
|
39
|
+
* (experimental) The default namespace for all objects in this chart.
|
|
40
|
+
*
|
|
41
|
+
* @experimental
|
|
21
42
|
*/
|
|
22
43
|
readonly namespace?: string;
|
|
44
|
+
/**
|
|
45
|
+
* Chart-level labels.
|
|
46
|
+
*/
|
|
47
|
+
private readonly _labels?;
|
|
48
|
+
/**
|
|
49
|
+
* @experimental
|
|
50
|
+
*/
|
|
23
51
|
constructor(scope: Construct, ns: string, options?: ChartOptions);
|
|
24
52
|
/**
|
|
25
|
-
*
|
|
53
|
+
* (experimental) Labels applied to all resources in this chart.
|
|
54
|
+
*
|
|
55
|
+
* This is an immutable copy.
|
|
56
|
+
*
|
|
57
|
+
* @experimental
|
|
58
|
+
*/
|
|
59
|
+
get labels(): {
|
|
60
|
+
[name: string]: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* (experimental) Generates a app-unique name for an object given it's construct node path.
|
|
26
64
|
*
|
|
27
65
|
* Different resource types may have different constraints on names
|
|
28
66
|
* (`metadata.name`). The previous version of the name generator was
|
|
@@ -40,18 +78,23 @@ export declare class Chart extends Construct {
|
|
|
40
78
|
* chart level.
|
|
41
79
|
*
|
|
42
80
|
* @param apiObject The API object to generate a name for.
|
|
81
|
+
* @experimental
|
|
43
82
|
*/
|
|
44
83
|
generateObjectName(apiObject: ApiObject): string;
|
|
45
84
|
/**
|
|
46
|
-
* Create a dependency between this Chart and other constructs.
|
|
85
|
+
* (experimental) Create a dependency between this Chart and other constructs.
|
|
86
|
+
*
|
|
47
87
|
* These can be other ApiObjects, Charts, or custom.
|
|
48
88
|
*
|
|
49
89
|
* @param dependencies the dependencies to add.
|
|
90
|
+
* @experimental
|
|
50
91
|
*/
|
|
51
92
|
addDependency(...dependencies: IConstruct[]): void;
|
|
52
93
|
/**
|
|
53
|
-
* Renders this chart to a set of Kubernetes JSON resources.
|
|
94
|
+
* (experimental) Renders this chart to a set of Kubernetes JSON resources.
|
|
95
|
+
*
|
|
54
96
|
* @returns array of resource manifests
|
|
97
|
+
* @experimental
|
|
55
98
|
*/
|
|
56
99
|
toJson(): any[];
|
|
57
100
|
}
|
package/lib/chart.js
CHANGED
|
@@ -4,14 +4,24 @@ exports.Chart = void 0;
|
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
const names_1 = require("./names");
|
|
6
6
|
const app_1 = require("./app");
|
|
7
|
+
/**
|
|
8
|
+
* @experimental
|
|
9
|
+
*/
|
|
7
10
|
class Chart extends constructs_1.Construct {
|
|
11
|
+
/**
|
|
12
|
+
* @experimental
|
|
13
|
+
*/
|
|
8
14
|
constructor(scope, ns, options = {}) {
|
|
15
|
+
var _a;
|
|
9
16
|
super(scope, ns);
|
|
10
17
|
this.namespace = options.namespace;
|
|
18
|
+
this._labels = (_a = options.labels) !== null && _a !== void 0 ? _a : {};
|
|
11
19
|
}
|
|
12
20
|
/**
|
|
13
|
-
* Finds the chart in which a node is defined.
|
|
14
|
-
*
|
|
21
|
+
* (experimental) Finds the chart in which a node is defined.
|
|
22
|
+
*
|
|
23
|
+
* @param c a construct node.
|
|
24
|
+
* @experimental
|
|
15
25
|
*/
|
|
16
26
|
static of(c) {
|
|
17
27
|
if (c instanceof Chart) {
|
|
@@ -24,7 +34,17 @@ class Chart extends constructs_1.Construct {
|
|
|
24
34
|
return Chart.of(parent);
|
|
25
35
|
}
|
|
26
36
|
/**
|
|
27
|
-
*
|
|
37
|
+
* (experimental) Labels applied to all resources in this chart.
|
|
38
|
+
*
|
|
39
|
+
* This is an immutable copy.
|
|
40
|
+
*
|
|
41
|
+
* @experimental
|
|
42
|
+
*/
|
|
43
|
+
get labels() {
|
|
44
|
+
return { ...this._labels };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* (experimental) Generates a app-unique name for an object given it's construct node path.
|
|
28
48
|
*
|
|
29
49
|
* Different resource types may have different constraints on names
|
|
30
50
|
* (`metadata.name`). The previous version of the name generator was
|
|
@@ -42,26 +62,31 @@ class Chart extends constructs_1.Construct {
|
|
|
42
62
|
* chart level.
|
|
43
63
|
*
|
|
44
64
|
* @param apiObject The API object to generate a name for.
|
|
65
|
+
* @experimental
|
|
45
66
|
*/
|
|
46
67
|
generateObjectName(apiObject) {
|
|
47
68
|
return names_1.Names.toDnsLabel(constructs_1.Node.of(apiObject).path);
|
|
48
69
|
}
|
|
49
70
|
/**
|
|
50
|
-
* Create a dependency between this Chart and other constructs.
|
|
71
|
+
* (experimental) Create a dependency between this Chart and other constructs.
|
|
72
|
+
*
|
|
51
73
|
* These can be other ApiObjects, Charts, or custom.
|
|
52
74
|
*
|
|
53
75
|
* @param dependencies the dependencies to add.
|
|
76
|
+
* @experimental
|
|
54
77
|
*/
|
|
55
78
|
addDependency(...dependencies) {
|
|
56
79
|
constructs_1.Node.of(this).addDependency(...dependencies);
|
|
57
80
|
}
|
|
58
81
|
/**
|
|
59
|
-
* Renders this chart to a set of Kubernetes JSON resources.
|
|
82
|
+
* (experimental) Renders this chart to a set of Kubernetes JSON resources.
|
|
83
|
+
*
|
|
60
84
|
* @returns array of resource manifests
|
|
85
|
+
* @experimental
|
|
61
86
|
*/
|
|
62
87
|
toJson() {
|
|
63
88
|
return app_1.App._synthChart(this);
|
|
64
89
|
}
|
|
65
90
|
}
|
|
66
91
|
exports.Chart = Chart;
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXlEO0FBRXpELG1DQUFnQztBQUNoQywrQkFBNEI7Ozs7QUFvQjVCLE1BQWEsS0FBTSxTQUFRLHNCQUFTOzs7O0lBNkJsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFVBQXdCLEVBQUc7O1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLFNBQUcsT0FBTyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7Ozs7SUEzQk0sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtZQUN0QixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7Ozs7O0lBdUJELElBQVcsTUFBTTtRQUNmLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBc0JNLGtCQUFrQixDQUFDLFNBQW9CO1FBQzVDLE9BQU8sYUFBSyxDQUFDLFVBQVUsQ0FBQyxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7Ozs7Ozs7SUFRTSxhQUFhLENBQUMsR0FBRyxZQUEwQjtRQUNoRCxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs7Ozs7O0lBTU0sTUFBTTtRQUNYLE9BQU8sU0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFyRkQsc0JBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlLCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICcuL2FwaS1vYmplY3QnO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcbmltcG9ydCB7IEFwcCB9IGZyb20gJy4vYXBwJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGFydE9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFydCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBvZihjOiBJQ29uc3RydWN0KTogQ2hhcnQge1xuICAgIGlmIChjIGluc3RhbmNlb2YgQ2hhcnQpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudCA9IE5vZGUub2YoYykuc2NvcGUgYXMgQ29uc3RydWN0O1xuICAgIGlmICghcGFyZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBmaW5kIGEgcGFyZW50IGNoYXJ0IChkaXJlY3RseSBvciBpbmRpcmVjdGx5KScpO1xuICAgIH1cblxuICAgIHJldHVybiBDaGFydC5vZihwYXJlbnQpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGFydC1sZXZlbCBsYWJlbHMuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuczogc3RyaW5nLCBvcHRpb25zOiBDaGFydE9wdGlvbnMgPSB7IH0pIHtcbiAgICBzdXBlcihzY29wZSwgbnMpO1xuICAgIHRoaXMubmFtZXNwYWNlID0gb3B0aW9ucy5uYW1lc3BhY2U7XG4gICAgdGhpcy5fbGFiZWxzID0gb3B0aW9ucy5sYWJlbHMgPz8ge307XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBsYWJlbHMoKTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuX2xhYmVscyB9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdlbmVyYXRlT2JqZWN0TmFtZShhcGlPYmplY3Q6IEFwaU9iamVjdCkge1xuICAgIHJldHVybiBOYW1lcy50b0Ruc0xhYmVsKE5vZGUub2YoYXBpT2JqZWN0KS5wYXRoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KC4uLmRlcGVuZGVuY2llczogSUNvbnN0cnVjdFtdKSB7XG4gICAgTm9kZS5vZih0aGlzKS5hZGREZXBlbmRlbmN5KC4uLmRlcGVuZGVuY2llcyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvSnNvbigpOiBhbnlbXSB7XG4gICAgcmV0dXJuIEFwcC5fc3ludGhDaGFydCh0aGlzKTtcbiAgfVxufVxuXG4iXX0=
|
package/lib/dependency.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Node, IConstruct } from 'constructs';
|
|
2
2
|
/**
|
|
3
|
-
* Represents the dependency graph for a given Node.
|
|
3
|
+
* (experimental) Represents the dependency graph for a given Node.
|
|
4
4
|
*
|
|
5
5
|
* This graph includes the dependency relationships between all nodes in the
|
|
6
6
|
* node (construct) sub-tree who's root is this Node.
|
|
@@ -11,57 +11,79 @@ import { Node, IConstruct } from 'constructs';
|
|
|
11
11
|
* The graph does not include cross-scope dependencies. That is, if a child on the current scope depends on a node
|
|
12
12
|
* from a different scope, that relationship is not represented in this graph.
|
|
13
13
|
*
|
|
14
|
+
* @experimental
|
|
14
15
|
*/
|
|
15
16
|
export declare class DependencyGraph {
|
|
16
17
|
private readonly _fosterParent;
|
|
18
|
+
/**
|
|
19
|
+
* @experimental
|
|
20
|
+
*/
|
|
17
21
|
constructor(node: Node);
|
|
18
22
|
/**
|
|
19
|
-
* Returns the root of the graph.
|
|
23
|
+
* (experimental) Returns the root of the graph.
|
|
20
24
|
*
|
|
21
25
|
* Note that this vertex will always have `null` as its `.value` since it is an artifical root
|
|
22
26
|
* that binds all the connected spaces of the graph.
|
|
27
|
+
*
|
|
28
|
+
* @experimental
|
|
23
29
|
*/
|
|
24
30
|
get root(): DependencyVertex;
|
|
25
31
|
/**
|
|
26
32
|
* @see Vertex.topology()
|
|
33
|
+
* @experimental
|
|
27
34
|
*/
|
|
28
35
|
topology(): IConstruct[];
|
|
29
36
|
}
|
|
30
37
|
/**
|
|
31
|
-
* Represents a vertex in the graph.
|
|
38
|
+
* (experimental) Represents a vertex in the graph.
|
|
32
39
|
*
|
|
33
40
|
* The value of each vertex is an `IConstruct` that is accessible via the `.value` getter.
|
|
41
|
+
*
|
|
42
|
+
* @experimental
|
|
34
43
|
*/
|
|
35
44
|
export declare class DependencyVertex {
|
|
36
45
|
private readonly _value;
|
|
37
46
|
private readonly _children;
|
|
38
47
|
private readonly _parents;
|
|
48
|
+
/**
|
|
49
|
+
* @experimental
|
|
50
|
+
*/
|
|
39
51
|
constructor(value?: IConstruct | undefined);
|
|
40
52
|
/**
|
|
41
|
-
* Returns the IConstruct this graph vertex represents.
|
|
53
|
+
* (experimental) Returns the IConstruct this graph vertex represents.
|
|
42
54
|
*
|
|
43
55
|
* `null` in case this is the root of the graph.
|
|
56
|
+
*
|
|
57
|
+
* @experimental
|
|
44
58
|
*/
|
|
45
59
|
get value(): IConstruct | undefined;
|
|
46
60
|
/**
|
|
47
|
-
* Returns the children of the vertex (i.e dependencies)
|
|
61
|
+
* (experimental) Returns the children of the vertex (i.e dependencies).
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
48
64
|
*/
|
|
49
65
|
get outbound(): Array<DependencyVertex>;
|
|
50
66
|
/**
|
|
51
|
-
* Returns the parents of the vertex (i.e dependants)
|
|
67
|
+
* (experimental) Returns the parents of the vertex (i.e dependants).
|
|
68
|
+
*
|
|
69
|
+
* @experimental
|
|
52
70
|
*/
|
|
53
71
|
get inbound(): Array<DependencyVertex>;
|
|
54
72
|
/**
|
|
55
|
-
* Returns a topologically sorted array of the constructs in the sub-graph.
|
|
73
|
+
* (experimental) Returns a topologically sorted array of the constructs in the sub-graph.
|
|
74
|
+
*
|
|
75
|
+
* @experimental
|
|
56
76
|
*/
|
|
57
77
|
topology(): IConstruct[];
|
|
58
78
|
/**
|
|
59
|
-
* Adds a vertex as a dependency of the current node.
|
|
79
|
+
* (experimental) Adds a vertex as a dependency of the current node.
|
|
80
|
+
*
|
|
60
81
|
* Also updates the parents of `dep`, so that it contains this node as a parent.
|
|
61
82
|
*
|
|
62
83
|
* This operation will fail in case it creates a cycle in the graph.
|
|
63
84
|
*
|
|
64
|
-
* @param dep The dependency
|
|
85
|
+
* @param dep The dependency.
|
|
86
|
+
* @experimental
|
|
65
87
|
*/
|
|
66
88
|
addChild(dep: DependencyVertex): void;
|
|
67
89
|
private addParent;
|
package/lib/dependency.js
CHANGED
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DependencyVertex = exports.DependencyGraph = void 0;
|
|
4
4
|
const constructs_1 = require("constructs");
|
|
5
5
|
/**
|
|
6
|
-
* Represents the dependency graph for a given Node.
|
|
6
|
+
* (experimental) Represents the dependency graph for a given Node.
|
|
7
7
|
*
|
|
8
8
|
* This graph includes the dependency relationships between all nodes in the
|
|
9
9
|
* node (construct) sub-tree who's root is this Node.
|
|
@@ -14,8 +14,12 @@ const constructs_1 = require("constructs");
|
|
|
14
14
|
* The graph does not include cross-scope dependencies. That is, if a child on the current scope depends on a node
|
|
15
15
|
* from a different scope, that relationship is not represented in this graph.
|
|
16
16
|
*
|
|
17
|
+
* @experimental
|
|
17
18
|
*/
|
|
18
19
|
class DependencyGraph {
|
|
20
|
+
/**
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
19
23
|
constructor(node) {
|
|
20
24
|
this._fosterParent = new DependencyVertex();
|
|
21
25
|
const nodes = {};
|
|
@@ -51,16 +55,19 @@ class DependencyGraph {
|
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
/**
|
|
54
|
-
* Returns the root of the graph.
|
|
58
|
+
* (experimental) Returns the root of the graph.
|
|
55
59
|
*
|
|
56
60
|
* Note that this vertex will always have `null` as its `.value` since it is an artifical root
|
|
57
61
|
* that binds all the connected spaces of the graph.
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
58
64
|
*/
|
|
59
65
|
get root() {
|
|
60
66
|
return this._fosterParent;
|
|
61
67
|
}
|
|
62
68
|
/**
|
|
63
69
|
* @see Vertex.topology()
|
|
70
|
+
* @experimental
|
|
64
71
|
*/
|
|
65
72
|
topology() {
|
|
66
73
|
return this._fosterParent.topology();
|
|
@@ -68,38 +75,51 @@ class DependencyGraph {
|
|
|
68
75
|
}
|
|
69
76
|
exports.DependencyGraph = DependencyGraph;
|
|
70
77
|
/**
|
|
71
|
-
* Represents a vertex in the graph.
|
|
78
|
+
* (experimental) Represents a vertex in the graph.
|
|
72
79
|
*
|
|
73
80
|
* The value of each vertex is an `IConstruct` that is accessible via the `.value` getter.
|
|
81
|
+
*
|
|
82
|
+
* @experimental
|
|
74
83
|
*/
|
|
75
84
|
class DependencyVertex {
|
|
85
|
+
/**
|
|
86
|
+
* @experimental
|
|
87
|
+
*/
|
|
76
88
|
constructor(value = undefined) {
|
|
77
89
|
this._children = new Set();
|
|
78
90
|
this._parents = new Set();
|
|
79
91
|
this._value = value;
|
|
80
92
|
}
|
|
81
93
|
/**
|
|
82
|
-
* Returns the IConstruct this graph vertex represents.
|
|
94
|
+
* (experimental) Returns the IConstruct this graph vertex represents.
|
|
83
95
|
*
|
|
84
96
|
* `null` in case this is the root of the graph.
|
|
97
|
+
*
|
|
98
|
+
* @experimental
|
|
85
99
|
*/
|
|
86
100
|
get value() {
|
|
87
101
|
return this._value;
|
|
88
102
|
}
|
|
89
103
|
/**
|
|
90
|
-
* Returns the children of the vertex (i.e dependencies)
|
|
104
|
+
* (experimental) Returns the children of the vertex (i.e dependencies).
|
|
105
|
+
*
|
|
106
|
+
* @experimental
|
|
91
107
|
*/
|
|
92
108
|
get outbound() {
|
|
93
109
|
return Array.from(this._children);
|
|
94
110
|
}
|
|
95
111
|
/**
|
|
96
|
-
* Returns the parents of the vertex (i.e dependants)
|
|
112
|
+
* (experimental) Returns the parents of the vertex (i.e dependants).
|
|
113
|
+
*
|
|
114
|
+
* @experimental
|
|
97
115
|
*/
|
|
98
116
|
get inbound() {
|
|
99
117
|
return Array.from(this._parents);
|
|
100
118
|
}
|
|
101
119
|
/**
|
|
102
|
-
* Returns a topologically sorted array of the constructs in the sub-graph.
|
|
120
|
+
* (experimental) Returns a topologically sorted array of the constructs in the sub-graph.
|
|
121
|
+
*
|
|
122
|
+
* @experimental
|
|
103
123
|
*/
|
|
104
124
|
topology() {
|
|
105
125
|
const found = new Set();
|
|
@@ -117,12 +137,14 @@ class DependencyVertex {
|
|
|
117
137
|
return topology.filter(d => d.value).map(d => d.value);
|
|
118
138
|
}
|
|
119
139
|
/**
|
|
120
|
-
* Adds a vertex as a dependency of the current node.
|
|
140
|
+
* (experimental) Adds a vertex as a dependency of the current node.
|
|
141
|
+
*
|
|
121
142
|
* Also updates the parents of `dep`, so that it contains this node as a parent.
|
|
122
143
|
*
|
|
123
144
|
* This operation will fail in case it creates a cycle in the graph.
|
|
124
145
|
*
|
|
125
|
-
* @param dep The dependency
|
|
146
|
+
* @param dep The dependency.
|
|
147
|
+
* @experimental
|
|
126
148
|
*/
|
|
127
149
|
addChild(dep) {
|
|
128
150
|
const cycle = dep.findRoute(this);
|
|
@@ -158,4 +180,4 @@ class DependencyVertex {
|
|
|
158
180
|
}
|
|
159
181
|
}
|
|
160
182
|
exports.DependencyVertex = DependencyVertex;
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE4QztBQUk5Qzs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxNQUFhLGVBQWU7SUFJMUIsWUFBWSxJQUFVO1FBRXBCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVDLE1BQU0sS0FBSyxHQUFxQyxFQUFFLENBQUM7UUFFbkQsU0FBUyxTQUFTLENBQUMsU0FBcUI7WUFDdEMsS0FBSyxDQUFDLGlCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLE9BQU8sS0FBSyxDQUFDLGlCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDOUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxxQ0FBcUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLDZEQUE2RDtnQkFDN0QsMkZBQTJGO2dCQUMzRixzQ0FBc0M7Z0JBQ3RDLFNBQVM7YUFDVjtZQUVELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU1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QUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixHQUFHLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFFTyxTQUFTLENBQUMsR0FBcUI7UUFDckMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFxQjtRQUVyQyxNQUFNLEtBQUssR0FBdUIsRUFBRSxDQUFDO1FBQ3JDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNaLE9BQU8sS0FBSyxDQUFDO1FBRWIsU0FBUyxLQUFLLENBQUMsQ0FBbUI7WUFDaEMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQztZQUNsQixLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRTtvQkFDYixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNkLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUNELEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbEI7WUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNWLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUNiO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFFZixDQUFDO0lBRUgsQ0FBQztDQUNGO0FBekdELDRDQXlHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUsIElDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuXG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgZGVwZW5kZW5jeSBncmFwaCBmb3IgYSBnaXZlbiBOb2RlLlxuICpcbiAqIFRoaXMgZ3JhcGggaW5jbHVkZXMgdGhlIGRlcGVuZGVuY3kgcmVsYXRpb25zaGlwcyBiZXR3ZWVuIGFsbCBub2RlcyBpbiB0aGVcbiAqIG5vZGUgKGNvbnN0cnVjdCkgc3ViLXRyZWUgd2hvJ3Mgcm9vdCBpcyB0aGlzIE5vZGUuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgbWVhbnMgdGhhdCBsb25lbHkgbm9kZXMgKG5vIGRlcGVuZGVuY2llcyBhbmQgbm8gZGVwZW5kYW50cykgYXJlIGFsc28gaW5jbHVkZWQgaW4gdGhpcyBncmFwaCBhc1xuICogY2hpbGRsZXNzIGNoaWxkcmVuIG9mIHRoZSByb290IG5vZGUgb2YgdGhlIGdyYXBoLlxuICpcbiAqIFRoZSBncmFwaCBkb2VzIG5vdCBpbmNsdWRlIGNyb3NzLXNjb3BlIGRlcGVuZGVuY2llcy4gVGhhdCBpcywgaWYgYSBjaGlsZCBvbiB0aGUgY3VycmVudCBzY29wZSBkZXBlbmRzIG9uIGEgbm9kZVxuICogZnJvbSBhIGRpZmZlcmVudCBzY29wZSwgdGhhdCByZWxhdGlvbnNoaXAgaXMgbm90IHJlcHJlc2VudGVkIGluIHRoaXMgZ3JhcGguXG4gKlxuICovXG5leHBvcnQgY2xhc3MgRGVwZW5kZW5jeUdyYXBoIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9mb3N0ZXJQYXJlbnQ6IERlcGVuZGVuY3lWZXJ0ZXg7XG5cbiAgY29uc3RydWN0b3Iobm9kZTogTm9kZSkge1xuXG4gICAgdGhpcy5fZm9zdGVyUGFyZW50ID0gbmV3IERlcGVuZGVuY3lWZXJ0ZXgoKTtcblxuICAgIGNvbnN0IG5vZGVzOiBSZWNvcmQ8c3RyaW5nLCBEZXBlbmRlbmN5VmVydGV4PiA9IHt9O1xuXG4gICAgZnVuY3Rpb24gcHV0VmVydGV4KGNvbnN0cnVjdDogSUNvbnN0cnVjdCkge1xuICAgICAgbm9kZXNbTm9kZS5vZihjb25zdHJ1Y3QpLnBhdGhdID0gbmV3IERlcGVuZGVuY3lWZXJ0ZXgoY29uc3RydWN0KTtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiBnZXRWZXJ0ZXgoY29uc3RydWN0OiBJQ29uc3RydWN0KTogRGVwZW5kZW5jeVZlcnRleCB7XG4gICAgICByZXR1cm4gbm9kZXNbTm9kZS5vZihjb25zdHJ1Y3QpLnBhdGhdO1xuICAgIH1cblxuICAgIC8vIGNyZWF0ZSBhbGwgdmVydGljZXMgb2YgdGhlIGdyYXBoLlxuICAgIGZvciAoY29uc3QgbiBvZiBub2RlLmZpbmRBbGwoKSkge1xuICAgICAgcHV0VmVydGV4KG4pO1xuICAgIH1cblxuICAgIC8vIGNyZWF0ZSBhbGwgdGhlIGVkZ2VzIG9mIHRoZSBncmFwaC5cbiAgICBmb3IgKGNvbnN0IGRlcCBvZiBub2RlLmRlcGVuZGVuY2llcykge1xuXG4gICAgICBpZiAoIWdldFZlcnRleChkZXAudGFyZ2V0KSkge1xuICAgICAgICAvLyBkb250IGNyb3NzIHNjb3BlIGJvdW5kYXJpZXMuXG4gICAgICAgIC8vIHNpbmNlIGNoYXJ0cyBvbmx5IHJlbmRlcnMgaXRzIG93biBjaGlsZHJlbiwgdGhpcyBpcyBvayBhbmRcbiAgICAgICAgLy8gaGFzIHRoZSBiZW5lZml0IG9mIHNpbXBsaWZ5aW5nIHRoZSBncmFwaC4gd2Ugc2hvdWxkIHJlY29uc2lkZXIgdGhpcyBiZWhhdmlvciB3aGVuIG1vdmluZ1xuICAgICAgICAvLyB0byBhIG1vcmUgZ2VuZXJhbCBwdXJwb3NlIHVzZS1jYXNlLlxuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc291cmNlRGVwTm9kZSA9IGdldFZlcnRleChkZXAuc291cmNlKTtcbiAgICAgIGNvbnN0IHRhcmdldERlcE5vZGUgPSBnZXRWZXJ0ZXgoZGVwLnRhcmdldCk7XG5cbiAgICAgIHNvdXJjZURlcE5vZGUuYWRkQ2hpbGQodGFyZ2V0RGVwTm9kZSk7XG5cbiAgICB9XG5cbiAgICAvLyBjcmVhdGUgdGhlIHJvb3QuXG4gICAgZm9yIChjb25zdCBuIG9mIE9iamVjdC52YWx1ZXMobm9kZXMpKSB7XG4gICAgICBpZiAobi5pbmJvdW5kLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBvcnBoYW5zIGFyZSBkZXBlbmRlbmN5IHJvb3RzLiBsZXRzIGFkb3B0IHRoZW0hXG4gICAgICAgIHRoaXMuX2Zvc3RlclBhcmVudC5hZGRDaGlsZChuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByb290IG9mIHRoZSBncmFwaC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHRoaXMgdmVydGV4IHdpbGwgYWx3YXlzIGhhdmUgYG51bGxgIGFzIGl0cyBgLnZhbHVlYCBzaW5jZSBpdCBpcyBhbiBhcnRpZmljYWwgcm9vdFxuICAgKiB0aGF0IGJpbmRzIGFsbCB0aGUgY29ubmVjdGVkIHNwYWNlcyBvZiB0aGUgZ3JhcGguXG4gICAqL1xuICBwdWJsaWMgZ2V0IHJvb3QoKTogRGVwZW5kZW5jeVZlcnRleCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvc3RlclBhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc2VlIFZlcnRleC50b3BvbG9neSgpXG4gICAqL1xuICBwdWJsaWMgdG9wb2xvZ3koKTogSUNvbnN0cnVjdFtdIHtcbiAgICByZXR1cm4gdGhpcy5fZm9zdGVyUGFyZW50LnRvcG9sb2d5KCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdmVydGV4IGluIHRoZSBncmFwaC5cbiAqXG4gKiBUaGUgdmFsdWUgb2YgZWFjaCB2ZXJ0ZXggaXMgYW4gYElDb25zdHJ1Y3RgIHRoYXQgaXMgYWNjZXNzaWJsZSB2aWEgdGhlIGAudmFsdWVgIGdldHRlci5cbiAqL1xuZXhwb3J0IGNsYXNzIERlcGVuZGVuY3lWZXJ0ZXgge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jaGlsZHJlbjogU2V0PERlcGVuZGVuY3lWZXJ0ZXg+ID0gbmV3IFNldDxEZXBlbmRlbmN5VmVydGV4PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRzOiBTZXQ8RGVwZW5kZW5jeVZlcnRleD4gPSBuZXcgU2V0PERlcGVuZGVuY3lWZXJ0ZXg+KCk7XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIElDb25zdHJ1Y3QgdGhpcyBncmFwaCB2ZXJ0ZXggcmVwcmVzZW50cy5cbiAgICpcbiAgICogYG51bGxgIGluIGNhc2UgdGhpcyBpcyB0aGUgcm9vdCBvZiB0aGUgZ3JhcGguXG4gICAqL1xuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjaGlsZHJlbiBvZiB0aGUgdmVydGV4IChpLmUgZGVwZW5kZW5jaWVzKVxuICAgKi9cbiAgcHVibGljIGdldCBvdXRib3VuZCgpOiBBcnJheTxEZXBlbmRlbmN5VmVydGV4PiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fY2hpbGRyZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHBhcmVudHMgb2YgdGhlIHZlcnRleCAoaS5lIGRlcGVuZGFudHMpXG4gICAqL1xuICBwdWJsaWMgZ2V0IGluYm91bmQoKTogQXJyYXk8RGVwZW5kZW5jeVZlcnRleD4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuX3BhcmVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSB0b3BvbG9naWNhbGx5IHNvcnRlZCBhcnJheSBvZiB0aGUgY29uc3RydWN0cyBpbiB0aGUgc3ViLWdyYXBoLlxuICAgKi9cbiAgcHVibGljIHRvcG9sb2d5KCk6IElDb25zdHJ1Y3RbXSB7XG5cbiAgICBjb25zdCBmb3VuZCA9IG5ldyBTZXQ8RGVwZW5kZW5jeVZlcnRleD4oKTtcbiAgICBjb25zdCB0b3BvbG9neTogRGVwZW5kZW5jeVZlcnRleFtdID0gW107XG5cbiAgICBmdW5jdGlvbiB2aXNpdChuOiBEZXBlbmRlbmN5VmVydGV4KSB7XG4gICAgICBmb3IgKGNvbnN0IGMgb2Ygbi5vdXRib3VuZCkge1xuICAgICAgICB2aXNpdChjKTtcbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQuaGFzKG4pKSB7XG4gICAgICAgIHRvcG9sb2d5LnB1c2gobik7XG4gICAgICAgIGZvdW5kLmFkZChuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2aXNpdCh0aGlzKTtcblxuICAgIHJldHVybiB0b3BvbG9neS5maWx0ZXIoZCA9PiBkLnZhbHVlKS5tYXAoZCA9PiBkLnZhbHVlISk7XG5cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdmVydGV4IGFzIGEgZGVwZW5kZW5jeSBvZiB0aGUgY3VycmVudCBub2RlLlxuICAgKiBBbHNvIHVwZGF0ZXMgdGhlIHBhcmVudHMgb2YgYGRlcGAsIHNvIHRoYXQgaXQgY29udGFpbnMgdGhpcyBub2RlIGFzIGEgcGFyZW50LlxuICAgKlxuICAgKiBUaGlzIG9wZXJhdGlvbiB3aWxsIGZhaWwgaW4gY2FzZSBpdCBjcmVhdGVzIGEgY3ljbGUgaW4gdGhlIGdyYXBoLlxuICAgKlxuICAgKiBAcGFyYW0gZGVwIFRoZSBkZXBlbmRlbmN5XG4gICAqL1xuICBwdWJsaWMgYWRkQ2hpbGQoZGVwOiBEZXBlbmRlbmN5VmVydGV4KSB7XG5cbiAgICBjb25zdCBjeWNsZTogRGVwZW5kZW5jeVZlcnRleFtdID0gZGVwLmZpbmRSb3V0ZSh0aGlzKTtcbiAgICBpZiAoY3ljbGUubGVuZ3RoICE9PSAwKSB7XG4gICAgICBjeWNsZS5wdXNoKGRlcCk7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYERlcGVuZGVuY3kgY3ljbGUgZGV0ZWN0ZWQ6ICR7Y3ljbGUuZmlsdGVyKGQgPT4gZC52YWx1ZSkubWFwKGQgPT4gTm9kZS5vZihkLnZhbHVlISkucGF0aCkuam9pbignID0+ICcpfWApO1xuICAgIH1cblxuICAgIHRoaXMuX2NoaWxkcmVuLmFkZChkZXApO1xuICAgIGRlcC5hZGRQYXJlbnQodGhpcyk7XG4gIH1cblxuICBwcml2YXRlIGFkZFBhcmVudChkZXA6IERlcGVuZGVuY3lWZXJ0ZXgpIHtcbiAgICB0aGlzLl9wYXJlbnRzLmFkZChkZXApO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kUm91dGUoZHN0OiBEZXBlbmRlbmN5VmVydGV4KTogRGVwZW5kZW5jeVZlcnRleFtdIHtcblxuICAgIGNvbnN0IHJvdXRlOiBEZXBlbmRlbmN5VmVydGV4W10gPSBbXTtcbiAgICB2aXNpdCh0aGlzKTtcbiAgICByZXR1cm4gcm91dGU7XG5cbiAgICBmdW5jdGlvbiB2aXNpdChuOiBEZXBlbmRlbmN5VmVydGV4KTogYm9vbGVhbiB7XG4gICAgICByb3V0ZS5wdXNoKG4pO1xuICAgICAgbGV0IGZvdW5kID0gZmFsc2U7XG4gICAgICBmb3IgKGNvbnN0IGMgb2Ygbi5vdXRib3VuZCkge1xuICAgICAgICBpZiAoYyA9PT0gZHN0KSB7XG4gICAgICAgICAgcm91dGUucHVzaChjKTtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBmb3VuZCA9IHZpc2l0KGMpO1xuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZCkge1xuICAgICAgICByb3V0ZS5wb3AoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmb3VuZDtcblxuICAgIH1cblxuICB9XG59XG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwZW5kZW5jeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXBlbmRlbmN5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE4Qzs7Ozs7Ozs7Ozs7Ozs7O0FBaUI5QyxNQUFhLGVBQWU7Ozs7SUFJMUIsWUFBWSxJQUFVO1FBRXBCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1FBRTVDLE1BQU0sS0FBSyxHQUFxQyxFQUFFLENBQUM7UUFFbkQsU0FBUyxTQUFTLENBQUMsU0FBcUI7WUFDdEMsS0FBSyxDQUFDLGlCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELFNBQVMsU0FBUyxDQUFDLFNBQXFCO1lBQ3RDLE9BQU8sS0FBSyxDQUFDLGlCQUFJLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFRCxvQ0FBb0M7UUFDcEMsS0FBSyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDOUIsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2Q7UUFFRCxxQ0FBcUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBRW5DLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUMxQiwrQkFBK0I7Z0JBQy9CLDZEQUE2RDtnQkFDN0QsMkZBQTJGO2dCQUMzRixzQ0FBc0M7Z0JBQ3RDLFNBQVM7YUFDVjtZQUVELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDNUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUU1Qyxh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LENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVPLFNBQVMsQ0FBQyxHQUFxQjtRQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRU8sU0FBUyxDQUFDLEdBQXFCO1FBRXJDLE1BQU0sS0FBSyxHQUF1QixFQUFFLENBQUM7UUFDckMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ1osT0FBTyxLQUFLLENBQUM7UUFFYixTQUFTLEtBQUssQ0FBQyxDQUFtQjtZQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBQ2xCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFO29CQUNiLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2QsT0FBTyxJQUFJLENBQUM7aUJBQ2I7Z0JBQ0QsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNsQjtZQUNELElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1YsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ2I7WUFDRCxPQUFPLEtBQUssQ0FBQztRQUVmLENBQUM7SUFFSCxDQUFDO0NBQ0Y7QUF6R0QsNENBeUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBEZXBlbmRlbmN5R3JhcGgge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2Zvc3RlclBhcmVudDogRGVwZW5kZW5jeVZlcnRleDtcblxuICBjb25zdHJ1Y3Rvcihub2RlOiBOb2RlKSB7XG5cbiAgICB0aGlzLl9mb3N0ZXJQYXJlbnQgPSBuZXcgRGVwZW5kZW5jeVZlcnRleCgpO1xuXG4gICAgY29uc3Qgbm9kZXM6IFJlY29yZDxzdHJpbmcsIERlcGVuZGVuY3lWZXJ0ZXg+ID0ge307XG5cbiAgICBmdW5jdGlvbiBwdXRWZXJ0ZXgoY29uc3RydWN0OiBJQ29uc3RydWN0KSB7XG4gICAgICBub2Rlc1tOb2RlLm9mKGNvbnN0cnVjdCkucGF0aF0gPSBuZXcgRGVwZW5kZW5jeVZlcnRleChjb25zdHJ1Y3QpO1xuICAgIH1cblxuICAgIGZ1bmN0aW9uIGdldFZlcnRleChjb25zdHJ1Y3Q6IElDb25zdHJ1Y3QpOiBEZXBlbmRlbmN5VmVydGV4IHtcbiAgICAgIHJldHVybiBub2Rlc1tOb2RlLm9mKGNvbnN0cnVjdCkucGF0aF07XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGFsbCB2ZXJ0aWNlcyBvZiB0aGUgZ3JhcGguXG4gICAgZm9yIChjb25zdCBuIG9mIG5vZGUuZmluZEFsbCgpKSB7XG4gICAgICBwdXRWZXJ0ZXgobik7XG4gICAgfVxuXG4gICAgLy8gY3JlYXRlIGFsbCB0aGUgZWRnZXMgb2YgdGhlIGdyYXBoLlxuICAgIGZvciAoY29uc3QgZGVwIG9mIG5vZGUuZGVwZW5kZW5jaWVzKSB7XG5cbiAgICAgIGlmICghZ2V0VmVydGV4KGRlcC50YXJnZXQpKSB7XG4gICAgICAgIC8vIGRvbnQgY3Jvc3Mgc2NvcGUgYm91bmRhcmllcy5cbiAgICAgICAgLy8gc2luY2UgY2hhcnRzIG9ubHkgcmVuZGVycyBpdHMgb3duIGNoaWxkcmVuLCB0aGlzIGlzIG9rIGFuZFxuICAgICAgICAvLyBoYXMgdGhlIGJlbmVmaXQgb2Ygc2ltcGxpZnlpbmcgdGhlIGdyYXBoLiB3ZSBzaG91bGQgcmVjb25zaWRlciB0aGlzIGJlaGF2aW9yIHdoZW4gbW92aW5nXG4gICAgICAgIC8vIHRvIGEgbW9yZSBnZW5lcmFsIHB1cnBvc2UgdXNlLWNhc2UuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzb3VyY2VEZXBOb2RlID0gZ2V0VmVydGV4KGRlcC5zb3VyY2UpO1xuICAgICAgY29uc3QgdGFyZ2V0RGVwTm9kZSA9IGdldFZlcnRleChkZXAudGFyZ2V0KTtcblxuICAgICAgc291cmNlRGVwTm9kZS5hZGRDaGlsZCh0YXJnZXREZXBOb2RlKTtcblxuICAgIH1cblxuICAgIC8vIGNyZWF0ZSB0aGUgcm9vdC5cbiAgICBmb3IgKGNvbnN0IG4gb2YgT2JqZWN0LnZhbHVlcyhub2RlcykpIHtcbiAgICAgIGlmIChuLmluYm91bmQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIC8vIG9ycGhhbnMgYXJlIGRlcGVuZGVuY3kgcm9vdHMuIGxldHMgYWRvcHQgdGhlbSFcbiAgICAgICAgdGhpcy5fZm9zdGVyUGFyZW50LmFkZENoaWxkKG4pO1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgZ2V0IHJvb3QoKTogRGVwZW5kZW5jeVZlcnRleCB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvc3RlclBhcmVudDtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvcG9sb2d5KCk6IElDb25zdHJ1Y3RbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2Zvc3RlclBhcmVudC50b3BvbG9neSgpO1xuICB9XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIERlcGVuZGVuY3lWZXJ0ZXgge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3ZhbHVlOiBJQ29uc3RydWN0IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jaGlsZHJlbjogU2V0PERlcGVuZGVuY3lWZXJ0ZXg+ID0gbmV3IFNldDxEZXBlbmRlbmN5VmVydGV4PigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9wYXJlbnRzOiBTZXQ8RGVwZW5kZW5jeVZlcnRleD4gPSBuZXcgU2V0PERlcGVuZGVuY3lWZXJ0ZXg+KCk7XG5cbiAgY29uc3RydWN0b3IodmFsdWU6IElDb25zdHJ1Y3QgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBnZXQgdmFsdWUoKTogSUNvbnN0cnVjdCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBvdXRib3VuZCgpOiBBcnJheTxEZXBlbmRlbmN5VmVydGV4PiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5fY2hpbGRyZW4pO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBpbmJvdW5kKCk6IEFycmF5PERlcGVuZGVuY3lWZXJ0ZXg+IHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9wYXJlbnRzKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgdG9wb2xvZ3koKTogSUNvbnN0cnVjdFtdIHtcblxuICAgIGNvbnN0IGZvdW5kID0gbmV3IFNldDxEZXBlbmRlbmN5VmVydGV4PigpO1xuICAgIGNvbnN0IHRvcG9sb2d5OiBEZXBlbmRlbmN5VmVydGV4W10gPSBbXTtcblxuICAgIGZ1bmN0aW9uIHZpc2l0KG46IERlcGVuZGVuY3lWZXJ0ZXgpIHtcbiAgICAgIGZvciAoY29uc3QgYyBvZiBuLm91dGJvdW5kKSB7XG4gICAgICAgIHZpc2l0KGMpO1xuICAgICAgfVxuICAgICAgaWYgKCFmb3VuZC5oYXMobikpIHtcbiAgICAgICAgdG9wb2xvZ3kucHVzaChuKTtcbiAgICAgICAgZm91bmQuYWRkKG4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHZpc2l0KHRoaXMpO1xuXG4gICAgcmV0dXJuIHRvcG9sb2d5LmZpbHRlcihkID0+IGQudmFsdWUpLm1hcChkID0+IGQudmFsdWUhKTtcblxuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZENoaWxkKGRlcDogRGVwZW5kZW5jeVZlcnRleCkge1xuXG4gICAgY29uc3QgY3ljbGU6IERlcGVuZGVuY3lWZXJ0ZXhbXSA9IGRlcC5maW5kUm91dGUodGhpcyk7XG4gICAgaWYgKGN5Y2xlLmxlbmd0aCAhPT0gMCkge1xuICAgICAgY3ljbGUucHVzaChkZXApO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXBlbmRlbmN5IGN5Y2xlIGRldGVjdGVkOiAke2N5Y2xlLmZpbHRlcihkID0+IGQudmFsdWUpLm1hcChkID0+IE5vZGUub2YoZC52YWx1ZSEpLnBhdGgpLmpvaW4oJyA9PiAnKX1gKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGlsZHJlbi5hZGQoZGVwKTtcbiAgICBkZXAuYWRkUGFyZW50KHRoaXMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRQYXJlbnQoZGVwOiBEZXBlbmRlbmN5VmVydGV4KSB7XG4gICAgdGhpcy5fcGFyZW50cy5hZGQoZGVwKTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZFJvdXRlKGRzdDogRGVwZW5kZW5jeVZlcnRleCk6IERlcGVuZGVuY3lWZXJ0ZXhbXSB7XG5cbiAgICBjb25zdCByb3V0ZTogRGVwZW5kZW5jeVZlcnRleFtdID0gW107XG4gICAgdmlzaXQodGhpcyk7XG4gICAgcmV0dXJuIHJvdXRlO1xuXG4gICAgZnVuY3Rpb24gdmlzaXQobjogRGVwZW5kZW5jeVZlcnRleCk6IGJvb2xlYW4ge1xuICAgICAgcm91dGUucHVzaChuKTtcbiAgICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgICAgZm9yIChjb25zdCBjIG9mIG4ub3V0Ym91bmQpIHtcbiAgICAgICAgaWYgKGMgPT09IGRzdCkge1xuICAgICAgICAgIHJvdXRlLnB1c2goYyk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZm91bmQgPSB2aXNpdChjKTtcbiAgICAgIH1cbiAgICAgIGlmICghZm91bmQpIHtcbiAgICAgICAgcm91dGUucG9wKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZm91bmQ7XG5cbiAgICB9XG5cbiAgfVxufVxuIl19
|
package/lib/helm.d.ts
CHANGED
|
@@ -1,55 +1,70 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
2
|
import { Include } from './include';
|
|
3
3
|
/**
|
|
4
|
-
* Options for `Helm`.
|
|
4
|
+
* (experimental) Options for `Helm`.
|
|
5
|
+
*
|
|
6
|
+
* @experimental
|
|
5
7
|
*/
|
|
6
8
|
export interface HelmOptions {
|
|
7
9
|
/**
|
|
8
|
-
* The chart name to use. It can be a chart from a helm repository or a local directory.
|
|
10
|
+
* (experimental) The chart name to use. It can be a chart from a helm repository or a local directory.
|
|
9
11
|
*
|
|
10
12
|
* This name is passed to `helm template` and has all the relevant semantics.
|
|
11
13
|
*
|
|
12
|
-
* @
|
|
13
|
-
* @example
|
|
14
|
+
* @experimental
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* "bitnami/redis"
|
|
14
18
|
*/
|
|
15
19
|
readonly chart: string;
|
|
16
20
|
/**
|
|
17
|
-
* The release name.
|
|
21
|
+
* (experimental) The release name.
|
|
18
22
|
*
|
|
19
|
-
* @see https://helm.sh/docs/intro/using_helm/#three-big-concepts
|
|
20
23
|
* @default - if unspecified, a name will be allocated based on the construct path
|
|
24
|
+
* @see https://helm.sh/docs/intro/using_helm/#three-big-concepts
|
|
25
|
+
* @experimental
|
|
21
26
|
*/
|
|
22
27
|
readonly releaseName?: string;
|
|
23
28
|
/**
|
|
24
|
-
* Values to pass to the chart.
|
|
29
|
+
* (experimental) Values to pass to the chart.
|
|
25
30
|
*
|
|
26
31
|
* @default - If no values are specified, chart will use the defaults.
|
|
32
|
+
* @experimental
|
|
27
33
|
*/
|
|
28
34
|
readonly values?: {
|
|
29
35
|
[key: string]: any;
|
|
30
36
|
};
|
|
31
37
|
/**
|
|
32
|
-
* The local helm executable to use in order to create the manifest the chart.
|
|
38
|
+
* (experimental) The local helm executable to use in order to create the manifest the chart.
|
|
33
39
|
*
|
|
34
40
|
* @default "helm"
|
|
41
|
+
* @experimental
|
|
35
42
|
*/
|
|
36
43
|
readonly helmExecutable?: string;
|
|
37
44
|
/**
|
|
38
|
-
* Additional flags to add to the `helm` execution.
|
|
45
|
+
* (experimental) Additional flags to add to the `helm` execution.
|
|
39
46
|
*
|
|
40
47
|
* @default []
|
|
48
|
+
* @experimental
|
|
41
49
|
*/
|
|
42
50
|
readonly helmFlags?: string[];
|
|
43
51
|
}
|
|
44
52
|
/**
|
|
45
|
-
* Represents a Helm deployment.
|
|
53
|
+
* (experimental) Represents a Helm deployment.
|
|
46
54
|
*
|
|
47
55
|
* Use this construct to import an existing Helm chart and incorporate it into your constructs.
|
|
56
|
+
*
|
|
57
|
+
* @experimental
|
|
48
58
|
*/
|
|
49
59
|
export declare class Helm extends Include {
|
|
50
60
|
/**
|
|
51
|
-
* The helm release name.
|
|
61
|
+
* (experimental) The helm release name.
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
52
64
|
*/
|
|
53
65
|
readonly releaseName: string;
|
|
66
|
+
/**
|
|
67
|
+
* @experimental
|
|
68
|
+
*/
|
|
54
69
|
constructor(scope: Construct, id: string, opts: HelmOptions);
|
|
55
70
|
}
|
package/lib/helm.js
CHANGED
|
@@ -10,11 +10,16 @@ const os = require("os");
|
|
|
10
10
|
const include_1 = require("./include");
|
|
11
11
|
const names_1 = require("./names");
|
|
12
12
|
/**
|
|
13
|
-
* Represents a Helm deployment.
|
|
13
|
+
* (experimental) Represents a Helm deployment.
|
|
14
14
|
*
|
|
15
15
|
* Use this construct to import an existing Helm chart and incorporate it into your constructs.
|
|
16
|
+
*
|
|
17
|
+
* @experimental
|
|
16
18
|
*/
|
|
17
19
|
class Helm extends include_1.Include {
|
|
20
|
+
/**
|
|
21
|
+
* @experimental
|
|
22
|
+
*/
|
|
18
23
|
constructor(scope, id, opts) {
|
|
19
24
|
var _a, _b;
|
|
20
25
|
const workdir = fs.mkdtempSync(path.join(os.tmpdir(), 'cdk8s-helm-'));
|
|
@@ -60,4 +65,4 @@ function renderTemplate(workdir, prog, args) {
|
|
|
60
65
|
fs.writeFileSync(outputFile, stdout);
|
|
61
66
|
return outputFile;
|
|
62
67
|
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVsbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE2QztBQUM3Qyx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG9DQUFvQztBQUNwQyw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCLHVDQUFvQztBQUNwQyxtQ0FBZ0M7Ozs7Ozs7O0FBbURoQyxNQUFhLElBQUssU0FBUSxpQkFBTzs7OztJQU0vQixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQWlCOztRQUN6RCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRCLFNBQVM7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDN0I7UUFFRCxlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7UUFFRCxlQUFlO1FBQ2YsTUFBTSxLQUFLLEdBQUcsQ0FBRSxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLFNBQUcsSUFBSSxDQUFDLFdBQVcsbUNBQUksYUFBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx3REFBd0Q7UUFDN0gsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2QixRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsTUFBTSxJQUFJLFNBQUcsSUFBSSxDQUFDLGNBQWMsbUNBQUksTUFBTSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBdkNELG9CQXVDQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQWUsRUFBRSxJQUFZLEVBQUUsSUFBYztJQUNuRSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSx5REFBeUQsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUMvRDtJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7S0FDekM7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjcCBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBJbmNsdWRlIH0gZnJvbSAnLi9pbmNsdWRlJztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnLi9uYW1lcyc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGludGVyZmFjZSBIZWxtT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNoYXJ0OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgcmVsZWFzZU5hbWU/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgdmFsdWVzPzogeyBba2V5OiBzdHJpbmddOiBhbnkgfTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBoZWxtRXhlY3V0YWJsZT86IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBoZWxtRmxhZ3M/OiBzdHJpbmdbXTtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgSGVsbSBleHRlbmRzIEluY2x1ZGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSByZWxlYXNlTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG9wdHM6IEhlbG1PcHRpb25zKSB7XG4gICAgY29uc3Qgd29ya2RpciA9IGZzLm1rZHRlbXBTeW5jKHBhdGguam9pbihvcy50bXBkaXIoKSwgJ2NkazhzLWhlbG0tJykpO1xuICAgIFxuICAgIGNvbnN0IGFyZ3MgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuICAgIGFyZ3MucHVzaCgndGVtcGxhdGUnKTtcbiAgICBcbiAgICAvLyB2YWx1ZXNcbiAgICBpZiAob3B0cy52YWx1ZXMgJiYgT2JqZWN0LmtleXMob3B0cy52YWx1ZXMpLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHZhbHVlc1BhdGggPSBwYXRoLmpvaW4od29ya2RpciwgJ292ZXJyaWRlcy55YW1sJyk7XG4gICAgICBmcy53cml0ZUZpbGVTeW5jKHZhbHVlc1BhdGgsIHlhbWwuc3RyaW5naWZ5KG9wdHMudmFsdWVzKSk7XG4gICAgICBhcmdzLnB1c2goJy1mJywgdmFsdWVzUGF0aCk7XG4gICAgfVxuXG4gICAgLy8gY3VzdG9tIGZsYWdzXG4gICAgaWYgKG9wdHMuaGVsbUZsYWdzKSB7XG4gICAgICBhcmdzLnB1c2goLi4ub3B0cy5oZWxtRmxhZ3MpO1xuICAgIH1cblxuICAgIC8vIHJlbGVhc2UgbmFtZVxuICAgIGNvbnN0IGNwYXRoID0gWyBOb2RlLm9mKHNjb3BlKS5wYXRoLCBpZCBdLmpvaW4oTm9kZS5QQVRIX1NFUCk7XG4gICAgY29uc3QgcmVsZWFzZU5hbWUgPSBvcHRzLnJlbGVhc2VOYW1lID8/IE5hbWVzLnRvRG5zTGFiZWwoY3BhdGgsIDUzKTsgLy8gY29uc3RyYWludHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9oZWxtL2hlbG0vaXNzdWVzLzYwMDZcbiAgICBhcmdzLnB1c2gocmVsZWFzZU5hbWUpO1xuXG4gICAgLy8gY2hhcnRcbiAgICBhcmdzLnB1c2gob3B0cy5jaGFydCk7XG5cbiAgICBjb25zdCBwcm9nID0gb3B0cy5oZWxtRXhlY3V0YWJsZSA/PyAnaGVsbSc7XG4gICAgY29uc3Qgb3V0cHV0RmlsZSA9IHJlbmRlclRlbXBsYXRlKHdvcmtkaXIsIHByb2csIGFyZ3MpO1xuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7IHVybDogb3V0cHV0RmlsZSB9KTtcblxuICAgIHRoaXMucmVsZWFzZU5hbWUgPSByZWxlYXNlTmFtZTtcbiAgfVxufVxuXG5mdW5jdGlvbiByZW5kZXJUZW1wbGF0ZSh3b3JrZGlyOiBzdHJpbmcsIHByb2c6IHN0cmluZywgYXJnczogc3RyaW5nW10pIHtcbiAgY29uc3QgaGVsbSA9IGNwLnNwYXduU3luYyhwcm9nLCBhcmdzKTtcbiAgaWYgKGhlbG0uZXJyb3IpIHtcbiAgICBjb25zdCBlcnIgPSBoZWxtLmVycm9yLm1lc3NhZ2U7XG4gICAgaWYgKGVyci5pbmNsdWRlcygnRU5PRU5UJykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGV4ZWN1dGUgJyR7cHJvZ30nIHRvIHJlbmRlciBIZWxtIGNoYXJ0LiBJcyBpdCBpbnN0YWxsZWQgb24geW91ciBzeXN0ZW0/YCk7XG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKGBlcnJvciB3aGlsZSByZW5kZXJpbmcgYSBoZWxtIGNoYXJ0OiAke2Vycn1gKTtcbiAgfVxuXG4gIGlmIChoZWxtLnN0YXR1cyAhPT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcihoZWxtLnN0ZGVyci50b1N0cmluZygpKTtcbiAgfVxuXG4gIGNvbnN0IG91dHB1dEZpbGUgPSBwYXRoLmpvaW4od29ya2RpciwgJ2NoYXJ0LnlhbWwnKTtcbiAgY29uc3Qgc3Rkb3V0ID0gaGVsbS5zdGRvdXQ7XG4gIGZzLndyaXRlRmlsZVN5bmMob3V0cHV0RmlsZSwgc3Rkb3V0KTtcbiAgcmV0dXJuIG91dHB1dEZpbGU7XG59XG4iXX0=
|
package/lib/include.d.ts
CHANGED
|
@@ -1,24 +1,36 @@
|
|
|
1
1
|
import { Construct } from 'constructs';
|
|
2
2
|
import { ApiObject } from './api-object';
|
|
3
|
+
/**
|
|
4
|
+
* @experimental
|
|
5
|
+
*/
|
|
3
6
|
export interface IncludeOptions {
|
|
4
7
|
/**
|
|
5
|
-
* Local file path or URL which includes a Kubernetes YAML manifest.
|
|
8
|
+
* (experimental) Local file path or URL which includes a Kubernetes YAML manifest.
|
|
6
9
|
*
|
|
7
|
-
* @
|
|
10
|
+
* @experimental
|
|
11
|
+
* @example
|
|
12
|
+
*
|
|
13
|
+
* mymanifest.yaml
|
|
8
14
|
*/
|
|
9
15
|
readonly url: string;
|
|
10
16
|
}
|
|
11
17
|
/**
|
|
12
|
-
* Reads a YAML manifest from a file or a URL and defines all resources as API
|
|
13
|
-
* objects within the defined scope.
|
|
18
|
+
* (experimental) Reads a YAML manifest from a file or a URL and defines all resources as API objects within the defined scope.
|
|
14
19
|
*
|
|
15
20
|
* The names (`metadata.name`) of imported resources will be preserved as-is
|
|
16
21
|
* from the manifest.
|
|
22
|
+
*
|
|
23
|
+
* @experimental
|
|
17
24
|
*/
|
|
18
25
|
export declare class Include extends Construct {
|
|
26
|
+
/**
|
|
27
|
+
* @experimental
|
|
28
|
+
*/
|
|
19
29
|
constructor(scope: Construct, name: string, options: IncludeOptions);
|
|
20
30
|
/**
|
|
21
|
-
* Returns all the included API objects.
|
|
31
|
+
* (experimental) Returns all the included API objects.
|
|
32
|
+
*
|
|
33
|
+
* @experimental
|
|
22
34
|
*/
|
|
23
35
|
get apiObjects(): ApiObject[];
|
|
24
36
|
}
|