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