k8ts
Version:
Powerful framework for building Kubernetes manifests in TypeScript.
69 lines • 2.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ExternalOriginEntity = exports.World = void 0;
const instruments_1 = require("@k8ts/instruments");
const metadata_1 = require("@k8ts/metadata");
const lodash_1 = require("lodash");
const external_1 = require("../external");
const file_1 = require("../file");
const k8ts_sys_kind_1 = require("../k8ts-sys-kind");
const kind_map_1 = require("../kind-map");
var World;
(function (World) {
const ident = k8ts_sys_kind_1.k8tsBuildKind.kind("World");
class Builder extends instruments_1.BaseOriginEntity {
kind = ident;
_ExternalOrigin;
constructor(props) {
super("World", props, kind_map_1.K8tsRootOrigin.node);
this._ExternalOrigin = new ExternalOriginEntity(this.node);
}
External(kind, name, namespace) {
return new external_1.External(this._ExternalOrigin.node, kind, name, namespace);
}
Scope(scope) {
const builder = this;
let meta = metadata_1.Meta.make();
return {
File(name, props) {
props ??= {};
const self = {
metadata(input) {
props = (0, lodash_1.assign)({}, props, {
meta: metadata_1.Meta.splat(props?.meta, input)
});
return self;
},
Resources(producer) {
return builder._File(name, {
...props,
scope,
FILE: producer
});
}
};
return self;
}
};
}
_File(name, props) {
return file_1.File.make(name, props, this.node);
}
}
World.Builder = Builder;
function make(props) {
return new Builder(props);
}
World.make = make;
})(World || (exports.World = World = {}));
const ident = k8ts_sys_kind_1.k8tsBuildKind.kind("External");
class ExternalOriginEntity extends instruments_1.BaseOriginEntity {
kind = ident;
constructor(parent) {
super("EXTERNAL", {
meta: {}
}, parent);
}
}
exports.ExternalOriginEntity = ExternalOriginEntity;
//# sourceMappingURL=world.js.map