UNPKG

k8ts

Version:

Powerful framework for building Kubernetes manifests in TypeScript.

69 lines 2.48 kB
"use strict"; 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