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/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
- * indirectly). This namespace will only apply to objects that don't have a
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
- * @param c a construct node
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
- * Generates a app-unique name for an object given it's construct node path.
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
- * @param c a construct node
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
- * Generates a app-unique name for an object given it's construct node path.
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXlEO0FBRXpELG1DQUFnQztBQUNoQywrQkFBNEI7QUFhNUIsTUFBYSxLQUFNLFNBQVEsc0JBQVM7SUF3QmxDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsVUFBd0IsRUFBRztRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUNyQyxDQUFDO0lBekJEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBYTtRQUM1QixJQUFJLENBQUMsWUFBWSxLQUFLLEVBQUU7WUFDdEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUVELE1BQU0sTUFBTSxHQUFHLGlCQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztTQUN4RTtRQUVELE9BQU8sS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBWUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FtQkc7SUFDSSxrQkFBa0IsQ0FBQyxTQUFvQjtRQUM1QyxPQUFPLGFBQUssQ0FBQyxVQUFVLENBQUMsaUJBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYSxDQUFDLEdBQUcsWUFBMEI7UUFDaEQsaUJBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU07UUFDWCxPQUFPLFNBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQztDQUVGO0FBdkVELHNCQXVFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCwgTm9kZSwgSUNvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpT2JqZWN0IH0gZnJvbSAnLi9hcGktb2JqZWN0JztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnLi9uYW1lcyc7XG5pbXBvcnQgeyBBcHAgfSBmcm9tICcuL2FwcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhcnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG5hbWVzcGFjZSBmb3IgYWxsIG9iamVjdHMgZGVmaW5lZCBpbiB0aGlzIGNoYXJ0IChkaXJlY3RseSBvclxuICAgKiBpbmRpcmVjdGx5KS4gVGhpcyBuYW1lc3BhY2Ugd2lsbCBvbmx5IGFwcGx5IHRvIG9iamVjdHMgdGhhdCBkb24ndCBoYXZlIGFcbiAgICogYG5hbWVzcGFjZWAgZXhwbGljaXRseSBkZWZpbmVkIGZvciB0aGVtLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWVzcGFjZSBpcyBzeW50aGVzaXplZCAodXN1YWxseSB0aGlzIGltcGxpZXMgXCJkZWZhdWx0XCIpXG4gICAqL1xuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFydCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBjaGFydCBpbiB3aGljaCBhIG5vZGUgaXMgZGVmaW5lZC5cbiAgICogQHBhcmFtIGMgYSBjb25zdHJ1Y3Qgbm9kZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBvZihjOiBJQ29uc3RydWN0KTogQ2hhcnQge1xuICAgIGlmIChjIGluc3RhbmNlb2YgQ2hhcnQpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudCA9IE5vZGUub2YoYykuc2NvcGUgYXMgQ29uc3RydWN0O1xuICAgIGlmICghcGFyZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBmaW5kIGEgcGFyZW50IGNoYXJ0IChkaXJlY3RseSBvciBpbmRpcmVjdGx5KScpO1xuICAgIH1cblxuICAgIHJldHVybiBDaGFydC5vZihwYXJlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IG5hbWVzcGFjZSBmb3IgYWxsIG9iamVjdHMgaW4gdGhpcyBjaGFydC5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbnM6IHN0cmluZywgb3B0aW9uczogQ2hhcnRPcHRpb25zID0geyB9KSB7XG4gICAgc3VwZXIoc2NvcGUsIG5zKTtcbiAgICB0aGlzLm5hbWVzcGFjZSA9IG9wdGlvbnMubmFtZXNwYWNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGFwcC11bmlxdWUgbmFtZSBmb3IgYW4gb2JqZWN0IGdpdmVuIGl0J3MgY29uc3RydWN0IG5vZGUgcGF0aC5cbiAgICpcbiAgICogRGlmZmVyZW50IHJlc291cmNlIHR5cGVzIG1heSBoYXZlIGRpZmZlcmVudCBjb25zdHJhaW50cyBvbiBuYW1lc1xuICAgKiAoYG1ldGFkYXRhLm5hbWVgKS4gVGhlIHByZXZpb3VzIHZlcnNpb24gb2YgdGhlIG5hbWUgZ2VuZXJhdG9yIHdhc1xuICAgKiBjb21wYXRpYmxlIHdpdGggRE5TX1NVQkRPTUFJTiBidXQgbm90IHdpdGggRE5TX0xBQkVMLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgYERlcGxveW1lbnRgIG5hbWVzIG11c3QgY29tcGx5IHdpdGggRE5TX1NVQkRPTUFJTiB3aGlsZVxuICAgKiBgU2VydmljZWAgbmFtZXMgbXVzdCBjb21wbHkgd2l0aCBETlNfTEFCRUwuXG4gICAqXG4gICAqIFNpbmNlIHRoZXJlIGlzIG5vIGZvcm1hbCBzcGVjaWZpY2F0aW9uIGZvciB0aGlzLCB0aGUgZGVmYXVsdCBuYW1lXG4gICAqIGdlbmVyYXRpb24gc2NoZW1lIGZvciBrdWJlcm5ldGVzIG9iamVjdHMgaW4gY2RrOHMgd2FzIGNoYW5nZWQgdG8gRE5TX0xBQkVMLFxuICAgKiBzaW5jZSBpdOKAmXMgdGhlIGNvbW1vbiBkZW5vbWluYXRvciBmb3IgYWxsIGt1YmVybmV0ZXMgcmVzb3VyY2VzXG4gICAqIChzdXBwb3NlZGx5KS5cbiAgICpcbiAgICogWW91IGNhbiBvdmVycmlkZSB0aGlzIG1ldGhvZCBpZiB5b3Ugd2lzaCB0byBjdXN0b21pemUgb2JqZWN0IG5hbWVzIGF0IHRoZVxuICAgKiBjaGFydCBsZXZlbC5cbiAgICpcbiAgICogQHBhcmFtIGFwaU9iamVjdCBUaGUgQVBJIG9iamVjdCB0byBnZW5lcmF0ZSBhIG5hbWUgZm9yLlxuICAgKi9cbiAgcHVibGljIGdlbmVyYXRlT2JqZWN0TmFtZShhcGlPYmplY3Q6IEFwaU9iamVjdCkge1xuICAgIHJldHVybiBOYW1lcy50b0Ruc0xhYmVsKE5vZGUub2YoYXBpT2JqZWN0KS5wYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBkZXBlbmRlbmN5IGJldHdlZW4gdGhpcyBDaGFydCBhbmQgb3RoZXIgY29uc3RydWN0cy5cbiAgICogVGhlc2UgY2FuIGJlIG90aGVyIEFwaU9iamVjdHMsIENoYXJ0cywgb3IgY3VzdG9tLlxuICAgKlxuICAgKiBAcGFyYW0gZGVwZW5kZW5jaWVzIHRoZSBkZXBlbmRlbmNpZXMgdG8gYWRkLlxuICAgKi9cbiAgcHVibGljIGFkZERlcGVuZGVuY3koLi4uZGVwZW5kZW5jaWVzOiBJQ29uc3RydWN0W10pIHtcbiAgICBOb2RlLm9mKHRoaXMpLmFkZERlcGVuZGVuY3koLi4uZGVwZW5kZW5jaWVzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXJzIHRoaXMgY2hhcnQgdG8gYSBzZXQgb2YgS3ViZXJuZXRlcyBKU09OIHJlc291cmNlcy5cbiAgICogQHJldHVybnMgYXJyYXkgb2YgcmVzb3VyY2UgbWFuaWZlc3RzXG4gICAqL1xuICBwdWJsaWMgdG9Kc29uKCk6IGFueVtdIHtcbiAgICByZXR1cm4gQXBwLl9zeW50aENoYXJ0KHRoaXMpO1xuICB9XG5cbn1cblxuIl19
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMkNBQXlEO0FBRXpELG1DQUFnQztBQUNoQywrQkFBNEI7Ozs7QUFvQjVCLE1BQWEsS0FBTSxTQUFRLHNCQUFTOzs7O0lBNkJsQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLFVBQXdCLEVBQUc7O1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLFNBQUcsT0FBTyxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFDO0lBQ3RDLENBQUM7Ozs7Ozs7SUEzQk0sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFhO1FBQzVCLElBQUksQ0FBQyxZQUFZLEtBQUssRUFBRTtZQUN0QixPQUFPLENBQUMsQ0FBQztTQUNWO1FBRUQsTUFBTSxNQUFNLEdBQUcsaUJBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBa0IsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO1FBRUQsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzFCLENBQUM7Ozs7Ozs7O0lBdUJELElBQVcsTUFBTTtRQUNmLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBc0JNLGtCQUFrQixDQUFDLFNBQW9CO1FBQzVDLE9BQU8sYUFBSyxDQUFDLFVBQVUsQ0FBQyxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs7Ozs7Ozs7SUFRTSxhQUFhLENBQUMsR0FBRyxZQUEwQjtRQUNoRCxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxhQUFhLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQztJQUMvQyxDQUFDOzs7Ozs7O0lBTU0sTUFBTTtRQUNYLE9BQU8sU0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFyRkQsc0JBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBOb2RlLCBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcGlPYmplY3QgfSBmcm9tICcuL2FwaS1vYmplY3QnO1xuaW1wb3J0IHsgTmFtZXMgfSBmcm9tICcuL25hbWVzJztcbmltcG9ydCB7IEFwcCB9IGZyb20gJy4vYXBwJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGFydE9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBuYW1lc3BhY2U/OiBzdHJpbmc7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFiZWxzPzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBDaGFydCBleHRlbmRzIENvbnN0cnVjdCB7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHN0YXRpYyBvZihjOiBJQ29uc3RydWN0KTogQ2hhcnQge1xuICAgIGlmIChjIGluc3RhbmNlb2YgQ2hhcnQpIHtcbiAgICAgIHJldHVybiBjO1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudCA9IE5vZGUub2YoYykuc2NvcGUgYXMgQ29uc3RydWN0O1xuICAgIGlmICghcGFyZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBmaW5kIGEgcGFyZW50IGNoYXJ0IChkaXJlY3RseSBvciBpbmRpcmVjdGx5KScpO1xuICAgIH1cblxuICAgIHJldHVybiBDaGFydC5vZihwYXJlbnQpO1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXNwYWNlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGFydC1sZXZlbCBsYWJlbHMuXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9sYWJlbHM/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuczogc3RyaW5nLCBvcHRpb25zOiBDaGFydE9wdGlvbnMgPSB7IH0pIHtcbiAgICBzdXBlcihzY29wZSwgbnMpO1xuICAgIHRoaXMubmFtZXNwYWNlID0gb3B0aW9ucy5uYW1lc3BhY2U7XG4gICAgdGhpcy5fbGFiZWxzID0gb3B0aW9ucy5sYWJlbHMgPz8ge307XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBsYWJlbHMoKTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIHJldHVybiB7IC4uLnRoaXMuX2xhYmVscyB9O1xuICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdlbmVyYXRlT2JqZWN0TmFtZShhcGlPYmplY3Q6IEFwaU9iamVjdCkge1xuICAgIHJldHVybiBOYW1lcy50b0Ruc0xhYmVsKE5vZGUub2YoYXBpT2JqZWN0KS5wYXRoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KC4uLmRlcGVuZGVuY2llczogSUNvbnN0cnVjdFtdKSB7XG4gICAgTm9kZS5vZih0aGlzKS5hZGREZXBlbmRlbmN5KC4uLmRlcGVuZGVuY2llcyk7XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHRvSnNvbigpOiBhbnlbXSB7XG4gICAgcmV0dXJuIEFwcC5fc3ludGhDaGFydCh0aGlzKTtcbiAgfVxufVxuXG4iXX0=
@@ -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
- * @example "./mysql"
13
- * @example "bitnami/redis"
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVsbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9oZWxtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE2QztBQUM3Qyx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLG9DQUFvQztBQUNwQyw2QkFBNkI7QUFDN0IseUJBQXlCO0FBQ3pCLHVDQUFvQztBQUNwQyxtQ0FBZ0M7QUE4Q2hDOzs7O0dBSUc7QUFDSCxNQUFhLElBQUssU0FBUSxpQkFBTztJQU0vQixZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQWlCOztRQUN6RCxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFFdEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQVUsQ0FBQztRQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXRCLFNBQVM7UUFDVCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0RCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ3hELEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDN0I7UUFFRCxlQUFlO1FBQ2YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDOUI7UUFFRCxlQUFlO1FBQ2YsTUFBTSxLQUFLLEdBQUcsQ0FBRSxpQkFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUQsTUFBTSxXQUFXLFNBQUcsSUFBSSxDQUFDLFdBQVcsbUNBQUksYUFBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyx3REFBd0Q7UUFDN0gsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUV2QixRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEIsTUFBTSxJQUFJLFNBQUcsSUFBSSxDQUFDLGNBQWMsbUNBQUksTUFBTSxDQUFDO1FBQzNDLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7SUFDakMsQ0FBQztDQUNGO0FBdkNELG9CQXVDQztBQUVELFNBQVMsY0FBYyxDQUFDLE9BQWUsRUFBRSxJQUFZLEVBQUUsSUFBYztJQUNuRSxNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN0QyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDMUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSx5REFBeUQsQ0FBQyxDQUFDO1NBQ3RHO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1Q0FBdUMsR0FBRyxFQUFFLENBQUMsQ0FBQztLQUMvRDtJQUVELElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7S0FDekM7SUFFRCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNwRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQzNCLEVBQUUsQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QsIE5vZGUgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBjcCBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCAqIGFzIHlhbWwgZnJvbSAneWFtbCc7XG5pbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgeyBJbmNsdWRlIH0gZnJvbSAnLi9pbmNsdWRlJztcbmltcG9ydCB7IE5hbWVzIH0gZnJvbSAnLi9uYW1lcyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEhlbG1gLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlbG1PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjaGFydCBuYW1lIHRvIHVzZS4gSXQgY2FuIGJlIGEgY2hhcnQgZnJvbSBhIGhlbG0gcmVwb3NpdG9yeSBvciBhIGxvY2FsIGRpcmVjdG9yeS5cbiAgICogXG4gICAqIFRoaXMgbmFtZSBpcyBwYXNzZWQgdG8gYGhlbG0gdGVtcGxhdGVgIGFuZCBoYXMgYWxsIHRoZSByZWxldmFudCBzZW1hbnRpY3MuXG4gICAqXG4gICAqIEBleGFtcGxlIFwiLi9teXNxbFwiXG4gICAqIEBleGFtcGxlIFwiYml0bmFtaS9yZWRpc1wiXG4gICAqL1xuICByZWFkb25seSBjaGFydDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVsZWFzZSBuYW1lLlxuICAgKiBcbiAgICogQHNlZSBodHRwczovL2hlbG0uc2gvZG9jcy9pbnRyby91c2luZ19oZWxtLyN0aHJlZS1iaWctY29uY2VwdHNcbiAgICogQGRlZmF1bHQgLSBpZiB1bnNwZWNpZmllZCwgYSBuYW1lIHdpbGwgYmUgYWxsb2NhdGVkIGJhc2VkIG9uIHRoZSBjb25zdHJ1Y3QgcGF0aFxuICAgKi9cbiAgcmVhZG9ubHkgcmVsZWFzZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZhbHVlcyB0byBwYXNzIHRvIHRoZSBjaGFydC5cbiAgICogXG4gICAqIEBkZWZhdWx0IC0gSWYgbm8gdmFsdWVzIGFyZSBzcGVjaWZpZWQsIGNoYXJ0IHdpbGwgdXNlIHRoZSBkZWZhdWx0cy5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhbCBoZWxtIGV4ZWN1dGFibGUgdG8gdXNlIGluIG9yZGVyIHRvIGNyZWF0ZSB0aGUgbWFuaWZlc3QgdGhlIGNoYXJ0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImhlbG1cIlxuICAgKi9cbiAgcmVhZG9ubHkgaGVsbUV4ZWN1dGFibGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZmxhZ3MgdG8gYWRkIHRvIHRoZSBgaGVsbWAgZXhlY3V0aW9uLlxuICAgKiBcbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IGhlbG1GbGFncz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBIZWxtIGRlcGxveW1lbnQuIFxuICogXG4gKiBVc2UgdGhpcyBjb25zdHJ1Y3QgdG8gaW1wb3J0IGFuIGV4aXN0aW5nIEhlbG0gY2hhcnQgYW5kIGluY29ycG9yYXRlIGl0IGludG8geW91ciBjb25zdHJ1Y3RzLlxuICovXG5leHBvcnQgY2xhc3MgSGVsbSBleHRlbmRzIEluY2x1ZGUge1xuICAvKipcbiAgICogVGhlIGhlbG0gcmVsZWFzZSBuYW1lLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJlbGVhc2VOYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgb3B0czogSGVsbU9wdGlvbnMpIHtcbiAgICBjb25zdCB3b3JrZGlyID0gZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCAnY2RrOHMtaGVsbS0nKSk7XG4gICAgXG4gICAgY29uc3QgYXJncyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gICAgYXJncy5wdXNoKCd0ZW1wbGF0ZScpO1xuICAgIFxuICAgIC8vIHZhbHVlc1xuICAgIGlmIChvcHRzLnZhbHVlcyAmJiBPYmplY3Qua2V5cyhvcHRzLnZhbHVlcykubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgdmFsdWVzUGF0aCA9IHBhdGguam9pbih3b3JrZGlyLCAnb3ZlcnJpZGVzLnlhbWwnKTtcbiAgICAgIGZzLndyaXRlRmlsZVN5bmModmFsdWVzUGF0aCwgeWFtbC5zdHJpbmdpZnkob3B0cy52YWx1ZXMpKTtcbiAgICAgIGFyZ3MucHVzaCgnLWYnLCB2YWx1ZXNQYXRoKTtcbiAgICB9XG5cbiAgICAvLyBjdXN0b20gZmxhZ3NcbiAgICBpZiAob3B0cy5oZWxtRmxhZ3MpIHtcbiAgICAgIGFyZ3MucHVzaCguLi5vcHRzLmhlbG1GbGFncyk7XG4gICAgfVxuXG4gICAgLy8gcmVsZWFzZSBuYW1lXG4gICAgY29uc3QgY3BhdGggPSBbIE5vZGUub2Yoc2NvcGUpLnBhdGgsIGlkIF0uam9pbihOb2RlLlBBVEhfU0VQKTtcbiAgICBjb25zdCByZWxlYXNlTmFtZSA9IG9wdHMucmVsZWFzZU5hbWUgPz8gTmFtZXMudG9EbnNMYWJlbChjcGF0aCwgNTMpOyAvLyBjb25zdHJhaW50czogaHR0cHM6Ly9naXRodWIuY29tL2hlbG0vaGVsbS9pc3N1ZXMvNjAwNlxuICAgIGFyZ3MucHVzaChyZWxlYXNlTmFtZSk7XG5cbiAgICAvLyBjaGFydFxuICAgIGFyZ3MucHVzaChvcHRzLmNoYXJ0KTtcblxuICAgIGNvbnN0IHByb2cgPSBvcHRzLmhlbG1FeGVjdXRhYmxlID8/ICdoZWxtJztcbiAgICBjb25zdCBvdXRwdXRGaWxlID0gcmVuZGVyVGVtcGxhdGUod29ya2RpciwgcHJvZywgYXJncyk7XG5cbiAgICBzdXBlcihzY29wZSwgaWQsIHsgdXJsOiBvdXRwdXRGaWxlIH0pO1xuXG4gICAgdGhpcy5yZWxlYXNlTmFtZSA9IHJlbGVhc2VOYW1lO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlbmRlclRlbXBsYXRlKHdvcmtkaXI6IHN0cmluZywgcHJvZzogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSkge1xuICBjb25zdCBoZWxtID0gY3Auc3Bhd25TeW5jKHByb2csIGFyZ3MpO1xuICBpZiAoaGVsbS5lcnJvcikge1xuICAgIGNvbnN0IGVyciA9IGhlbG0uZXJyb3IubWVzc2FnZTtcbiAgICBpZiAoZXJyLmluY2x1ZGVzKCdFTk9FTlQnKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmFibGUgdG8gZXhlY3V0ZSAnJHtwcm9nfScgdG8gcmVuZGVyIEhlbG0gY2hhcnQuIElzIGl0IGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbT9gKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGVycm9yIHdoaWxlIHJlbmRlcmluZyBhIGhlbG0gY2hhcnQ6ICR7ZXJyfWApO1xuICB9XG5cbiAgaWYgKGhlbG0uc3RhdHVzICE9PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGhlbG0uc3RkZXJyLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgY29uc3Qgb3V0cHV0RmlsZSA9IHBhdGguam9pbih3b3JrZGlyLCAnY2hhcnQueWFtbCcpO1xuICBjb25zdCBzdGRvdXQgPSBoZWxtLnN0ZG91dDtcbiAgZnMud3JpdGVGaWxlU3luYyhvdXRwdXRGaWxlLCBzdGRvdXQpO1xuICByZXR1cm4gb3V0cHV0RmlsZTtcbn1cbiJdfQ==
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
- * @example mymanifest.yaml
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
  }