@k8ts/instruments 0.11.4 → 0.12.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/dist/core/graph/entity.d.ts +8 -23
- package/dist/core/graph/entity.d.ts.map +1 -1
- package/dist/core/graph/entity.js +9 -21
- package/dist/core/graph/entity.js.map +1 -1
- package/dist/core/graph/error.d.ts +7 -0
- package/dist/core/graph/error.d.ts.map +1 -0
- package/dist/core/graph/error.js +12 -0
- package/dist/core/graph/error.js.map +1 -0
- package/dist/core/graph/index.d.ts +2 -2
- package/dist/core/graph/index.d.ts.map +1 -1
- package/dist/core/graph/index.js +4 -4
- package/dist/core/graph/index.js.map +1 -1
- package/dist/core/graph/origin/dummy.d.ts +13 -0
- package/dist/core/graph/origin/dummy.d.ts.map +1 -0
- package/dist/core/graph/origin/dummy.js +25 -0
- package/dist/core/graph/origin/dummy.js.map +1 -0
- package/dist/core/graph/origin/events.d.ts +19 -26
- package/dist/core/graph/origin/events.d.ts.map +1 -1
- package/dist/core/graph/origin/events.js +1 -30
- package/dist/core/graph/origin/events.js.map +1 -1
- package/dist/core/graph/origin/exporter.d.ts +10 -10
- package/dist/core/graph/origin/exporter.d.ts.map +1 -1
- package/dist/core/graph/origin/exporter.js +20 -18
- package/dist/core/graph/origin/exporter.js.map +1 -1
- package/dist/core/graph/origin/index.d.ts +5 -3
- package/dist/core/graph/origin/index.d.ts.map +1 -1
- package/dist/core/graph/origin/index.js +5 -3
- package/dist/core/graph/origin/index.js.map +1 -1
- package/dist/core/graph/origin/kind-map/index.d.ts +16 -17
- package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -1
- package/dist/core/graph/origin/kind-map/index.js +35 -34
- package/dist/core/graph/origin/kind-map/index.js.map +1 -1
- package/dist/core/graph/origin/origin.d.ts +37 -0
- package/dist/core/graph/origin/origin.d.ts.map +1 -0
- package/dist/core/graph/origin/{entity.js → origin.js} +59 -50
- package/dist/core/graph/origin/origin.js.map +1 -0
- package/dist/core/graph/origin/props.d.ts +9 -0
- package/dist/core/graph/origin/props.d.ts.map +1 -0
- package/dist/core/graph/origin/props.js.map +1 -0
- package/dist/core/graph/origin/template.d.ts +15 -0
- package/dist/core/graph/origin/template.d.ts.map +1 -0
- package/dist/core/graph/origin/template.js +35 -0
- package/dist/core/graph/origin/template.js.map +1 -0
- package/dist/core/graph/origin/tracker.d.ts +7 -9
- package/dist/core/graph/origin/tracker.d.ts.map +1 -1
- package/dist/core/graph/origin/tracker.js +4 -15
- package/dist/core/graph/origin/tracker.js.map +1 -1
- package/dist/core/graph/origin/vertex.d.ts +21 -0
- package/dist/core/graph/origin/vertex.d.ts.map +1 -0
- package/dist/core/graph/origin/{node.js → vertex.js} +27 -18
- package/dist/core/graph/origin/vertex.js.map +1 -0
- package/dist/core/graph/relation.d.ts +4 -4
- package/dist/core/graph/relation.d.ts.map +1 -1
- package/dist/core/graph/relation.js +4 -5
- package/dist/core/graph/relation.js.map +1 -1
- package/dist/core/graph/resource/creation-options.d.ts +22 -0
- package/dist/core/graph/resource/creation-options.d.ts.map +1 -0
- package/dist/core/graph/resource/creation-options.js +3 -0
- package/dist/core/graph/resource/creation-options.js.map +1 -0
- package/dist/core/graph/resource/dummy/base.d.ts +9 -0
- package/dist/core/graph/resource/dummy/base.d.ts.map +1 -0
- package/dist/core/graph/resource/dummy/base.js +15 -0
- package/dist/core/graph/resource/dummy/base.js.map +1 -0
- package/dist/core/graph/resource/dummy/index.d.ts.map +1 -0
- package/dist/core/graph/resource/dummy/index.js.map +1 -0
- package/dist/core/graph/resource/forward/error.d.ts +5 -0
- package/dist/core/graph/resource/forward/error.d.ts.map +1 -0
- package/dist/core/graph/resource/forward/error.js +12 -0
- package/dist/core/graph/resource/forward/error.js.map +1 -0
- package/dist/core/graph/resource/forward/exports.d.ts +46 -0
- package/dist/core/graph/resource/forward/exports.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref-exports.js → forward/exports.js} +32 -31
- package/dist/core/graph/resource/forward/exports.js.map +1 -0
- package/dist/core/graph/resource/forward/index.d.ts +3 -0
- package/dist/core/graph/resource/forward/index.d.ts.map +1 -0
- package/dist/core/graph/resource/forward/index.js +8 -0
- package/dist/core/graph/resource/forward/index.js.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref.d.ts → forward/ref.d.ts} +20 -20
- package/dist/core/graph/resource/forward/ref.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/fw-ref.js → forward/ref.js} +56 -27
- package/dist/core/graph/resource/forward/ref.js.map +1 -0
- package/dist/core/graph/resource/gvk/0-base.d.ts +17 -0
- package/dist/core/graph/resource/gvk/0-base.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/0-base.js +35 -0
- package/dist/core/graph/resource/gvk/0-base.js.map +1 -0
- package/dist/core/graph/resource/gvk/1-group.d.ts +12 -0
- package/dist/core/graph/resource/gvk/1-group.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/1-group.js +26 -0
- package/dist/core/graph/resource/gvk/1-group.js.map +1 -0
- package/dist/core/graph/resource/gvk/2=version.d.ts +11 -0
- package/dist/core/graph/resource/gvk/2=version.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/2=version.js +23 -0
- package/dist/core/graph/resource/gvk/2=version.js.map +1 -0
- package/dist/core/graph/resource/gvk/3-gvk.d.ts +16 -0
- package/dist/core/graph/resource/gvk/3-gvk.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/3-gvk.js +50 -0
- package/dist/core/graph/resource/gvk/3-gvk.js.map +1 -0
- package/dist/core/graph/resource/gvk/4-subkind.d.ts +8 -0
- package/dist/core/graph/resource/gvk/4-subkind.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/4-subkind.js +19 -0
- package/dist/core/graph/resource/gvk/4-subkind.js.map +1 -0
- package/dist/core/graph/resource/gvk/index.d.ts +6 -0
- package/dist/core/graph/resource/gvk/index.d.ts.map +1 -0
- package/dist/core/graph/resource/gvk/index.js +22 -0
- package/dist/core/graph/resource/gvk/index.js.map +1 -0
- package/dist/core/graph/resource/gvk/strings.d.ts +4 -0
- package/dist/core/graph/resource/gvk/strings.d.ts.map +1 -0
- package/dist/core/graph/resource/{reference/refable.js → gvk/strings.js} +1 -1
- package/dist/core/graph/resource/gvk/strings.js.map +1 -0
- package/dist/core/graph/resource/{ref-key/ref-key.d.ts → ident/ident.d.ts} +25 -36
- package/dist/core/graph/resource/ident/ident.d.ts.map +1 -0
- package/dist/core/graph/resource/{ref-key/ref-key.js → ident/ident.js} +38 -49
- package/dist/core/graph/resource/ident/ident.js.map +1 -0
- package/dist/core/graph/resource/ident/index.d.ts +2 -0
- package/dist/core/graph/resource/ident/index.d.ts.map +1 -0
- package/dist/core/graph/resource/{ref-key → ident}/index.js +1 -1
- package/dist/core/graph/resource/ident/index.js.map +1 -0
- package/dist/core/graph/resource/ident/parsing.d.ts +16 -0
- package/dist/core/graph/resource/ident/parsing.d.ts.map +1 -0
- package/dist/core/graph/resource/ident/parsing.js +36 -0
- package/dist/core/graph/resource/ident/parsing.js.map +1 -0
- package/dist/core/graph/resource/index.d.ts +10 -9
- package/dist/core/graph/resource/index.d.ts.map +1 -1
- package/dist/core/graph/resource/index.js +10 -9
- package/dist/core/graph/resource/index.js.map +1 -1
- package/dist/core/graph/resource/k8s-resource.d.ts +18 -0
- package/dist/core/graph/resource/k8s-resource.d.ts.map +1 -0
- package/dist/core/graph/resource/k8s-resource.js +85 -0
- package/dist/core/graph/resource/k8s-resource.js.map +1 -0
- package/dist/core/graph/resource/part.d.ts +12 -0
- package/dist/core/graph/resource/part.d.ts.map +1 -0
- package/dist/core/graph/resource/part.js +20 -0
- package/dist/core/graph/resource/part.js.map +1 -0
- package/dist/core/graph/resource/props.d.ts +9 -0
- package/dist/core/graph/resource/props.d.ts.map +1 -0
- package/dist/core/graph/resource/{field.js → props.js} +1 -1
- package/dist/core/graph/resource/props.js.map +1 -0
- package/dist/core/graph/resource/ref.d.ts +25 -0
- package/dist/core/graph/resource/ref.d.ts.map +1 -0
- package/dist/core/graph/resource/ref.js +3 -0
- package/dist/core/graph/resource/ref.js.map +1 -0
- package/dist/core/graph/resource/resource.d.ts +23 -0
- package/dist/core/graph/resource/resource.d.ts.map +1 -0
- package/dist/core/graph/resource/{entity.js → resource.js} +40 -37
- package/dist/core/graph/resource/resource.js.map +1 -0
- package/dist/core/graph/resource/vertex.d.ts +31 -0
- package/dist/core/graph/resource/vertex.d.ts.map +1 -0
- package/dist/core/graph/resource/{node.js → vertex.js} +36 -34
- package/dist/core/graph/resource/vertex.js.map +1 -0
- package/dist/core/graph/{node.d.ts → vertex.d.ts} +12 -14
- package/dist/core/graph/vertex.d.ts.map +1 -0
- package/dist/core/graph/{node.js → vertex.js} +18 -23
- package/dist/core/graph/vertex.js.map +1 -0
- package/dist/core/manifest/index.d.ts +7 -17
- package/dist/core/manifest/index.d.ts.map +1 -1
- package/dist/core/manifest/index.js +1 -1
- package/dist/core/manifest/index.js.map +1 -1
- package/dist/core/tracing/embedder.d.ts +4 -0
- package/dist/core/tracing/embedder.d.ts.map +1 -0
- package/dist/core/tracing/{traced.js → embedder.js} +2 -2
- package/dist/core/tracing/embedder.js.map +1 -0
- package/dist/core/tracing/git.d.ts +7 -7
- package/dist/core/tracing/git.d.ts.map +1 -1
- package/dist/core/tracing/git.js +7 -7
- package/dist/core/tracing/git.js.map +1 -1
- package/dist/core/tracing/index.d.ts +2 -2
- package/dist/core/tracing/index.d.ts.map +1 -1
- package/dist/core/tracing/index.js +2 -2
- package/dist/core/tracing/index.js.map +1 -1
- package/dist/core/tracing/source.d.ts +11 -0
- package/dist/core/tracing/source.d.ts.map +1 -0
- package/dist/core/tracing/{trace.js → source.js} +6 -6
- package/dist/core/tracing/source.js.map +1 -0
- package/dist/expressions/data-sources/env-var.d.ts +5 -25
- package/dist/expressions/data-sources/env-var.d.ts.map +1 -1
- package/dist/expressions/data-sources/env-var.js +58 -34
- package/dist/expressions/data-sources/env-var.js.map +1 -1
- package/dist/expressions/data-sources/error.d.ts +8 -0
- package/dist/expressions/data-sources/error.d.ts.map +1 -0
- package/dist/expressions/data-sources/error.js +13 -0
- package/dist/expressions/data-sources/error.js.map +1 -0
- package/dist/expressions/data-sources/index.d.ts +1 -1
- package/dist/expressions/data-sources/index.d.ts.map +1 -1
- package/dist/expressions/data-sources/index.js +1 -1
- package/dist/expressions/data-sources/index.js.map +1 -1
- package/dist/expressions/data-sources/interface.d.ts +9 -26
- package/dist/expressions/data-sources/interface.d.ts.map +1 -1
- package/dist/expressions/data-sources/interface.js +4 -0
- package/dist/expressions/data-sources/interface.js.map +1 -1
- package/dist/expressions/data-sources/js-object.d.ts +7 -0
- package/dist/expressions/data-sources/js-object.d.ts.map +1 -0
- package/dist/expressions/data-sources/js-object.js +98 -0
- package/dist/expressions/data-sources/js-object.js.map +1 -0
- package/dist/expressions/data-sources/local-file.d.ts +7 -28
- package/dist/expressions/data-sources/local-file.d.ts.map +1 -1
- package/dist/expressions/data-sources/local-file.js +139 -73
- package/dist/expressions/data-sources/local-file.js.map +1 -1
- package/dist/expressions/network/error.d.ts +7 -0
- package/dist/expressions/network/error.d.ts.map +1 -0
- package/dist/expressions/network/error.js +12 -0
- package/dist/expressions/network/error.js.map +1 -0
- package/dist/expressions/network/index.d.ts +5 -1
- package/dist/expressions/network/index.d.ts.map +1 -1
- package/dist/expressions/network/index.js +5 -1
- package/dist/expressions/network/index.js.map +1 -1
- package/dist/expressions/network/ip/ip4.d.ts +8 -0
- package/dist/expressions/network/ip/ip4.d.ts.map +1 -0
- package/dist/expressions/network/ip/ip4.js +14 -0
- package/dist/expressions/network/ip/ip4.js.map +1 -0
- package/dist/expressions/network/ip/subnet4.d.ts +8 -0
- package/dist/expressions/network/ip/subnet4.d.ts.map +1 -0
- package/dist/expressions/network/ip/{index.js → subnet4.js} +2 -11
- package/dist/expressions/network/ip/subnet4.js.map +1 -0
- package/dist/expressions/network/ports/entry.d.ts +5 -0
- package/dist/expressions/network/ports/entry.d.ts.map +1 -0
- package/dist/expressions/network/ports/{tools/entry.js → entry.js} +8 -12
- package/dist/expressions/network/ports/entry.js.map +1 -0
- package/dist/expressions/network/ports/{map.d.ts → mapping.d.ts} +15 -17
- package/dist/expressions/network/ports/mapping.d.ts.map +1 -0
- package/dist/expressions/network/ports/mapping.js +95 -0
- package/dist/expressions/network/ports/mapping.js.map +1 -0
- package/dist/expressions/network/ports/parser.d.ts +3 -0
- package/dist/expressions/network/ports/parser.d.ts.map +1 -0
- package/dist/expressions/network/ports/{tools/parse.js → parser.js} +2 -2
- package/dist/expressions/network/ports/parser.js.map +1 -0
- package/dist/expressions/network/ports/provider.d.ts +72 -0
- package/dist/expressions/network/ports/provider.d.ts.map +1 -0
- package/dist/expressions/network/ports/provider.js +143 -0
- package/dist/expressions/network/ports/provider.js.map +1 -0
- package/dist/expressions/network/ports/types.d.ts +22 -9
- package/dist/expressions/network/ports/types.d.ts.map +1 -1
- package/dist/expressions/quantities/error.d.ts +7 -0
- package/dist/expressions/quantities/error.d.ts.map +1 -0
- package/dist/expressions/quantities/error.js +12 -0
- package/dist/expressions/quantities/error.js.map +1 -0
- package/dist/expressions/quantities/index.d.ts +10 -2
- package/dist/expressions/quantities/index.d.ts.map +1 -1
- package/dist/expressions/quantities/index.js +10 -2
- package/dist/expressions/quantities/index.js.map +1 -1
- package/dist/expressions/quantities/reqs/objects.d.ts +18 -0
- package/dist/expressions/quantities/reqs/objects.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/objects.js +81 -0
- package/dist/expressions/quantities/reqs/objects.js.map +1 -0
- package/dist/expressions/quantities/reqs/parser.d.ts +4 -0
- package/dist/expressions/quantities/reqs/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/{reqlem → reqs}/parser.js +2 -2
- package/dist/expressions/quantities/reqs/parser.js.map +1 -0
- package/dist/expressions/quantities/reqs/types.d.ts +28 -0
- package/dist/expressions/quantities/reqs/types.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/types.js.map +1 -0
- package/dist/expressions/quantities/reqs/values.d.ts +17 -0
- package/dist/expressions/quantities/reqs/values.d.ts.map +1 -0
- package/dist/expressions/quantities/reqs/values.js +42 -0
- package/dist/expressions/quantities/reqs/values.js.map +1 -0
- package/dist/expressions/quantities/units/{units.d.ts → built-in.d.ts} +6 -8
- package/dist/expressions/quantities/units/built-in.d.ts.map +1 -0
- package/dist/expressions/quantities/units/built-in.js +44 -0
- package/dist/expressions/quantities/units/built-in.js.map +1 -0
- package/dist/expressions/quantities/units/dimension.d.ts +20 -0
- package/dist/expressions/quantities/units/dimension.d.ts.map +1 -0
- package/dist/expressions/quantities/units/dimension.js +33 -0
- package/dist/expressions/quantities/units/dimension.js.map +1 -0
- package/dist/expressions/quantities/units/parser.d.ts +6 -0
- package/dist/expressions/quantities/units/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/units/parser.js +11 -0
- package/dist/expressions/quantities/units/parser.js.map +1 -0
- package/dist/expressions/quantities/units/types.d.ts +2 -0
- package/dist/expressions/quantities/units/types.d.ts.map +1 -0
- package/dist/expressions/quantities/units/types.js +3 -0
- package/dist/expressions/quantities/units/types.js.map +1 -0
- package/dist/expressions/quantities/units/validator.d.ts +4 -0
- package/dist/expressions/quantities/units/validator.d.ts.map +1 -0
- package/dist/expressions/quantities/units/validator.js +16 -0
- package/dist/expressions/quantities/units/validator.js.map +1 -0
- package/dist/expressions/quantities/units/value.d.ts +10 -0
- package/dist/expressions/quantities/units/value.d.ts.map +1 -0
- package/dist/expressions/quantities/units/value.js +27 -0
- package/dist/expressions/quantities/units/value.js.map +1 -0
- package/dist/expressions/quantities/util.d.ts +11 -0
- package/dist/expressions/quantities/util.d.ts.map +1 -0
- package/dist/expressions/quantities/util.js +28 -0
- package/dist/expressions/quantities/util.js.map +1 -0
- package/dist/expressions/workload/cmd/cli-term.d.ts +7 -7
- package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -1
- package/dist/expressions/workload/cmd/cli-term.js +16 -15
- package/dist/expressions/workload/cmd/cli-term.js.map +1 -1
- package/dist/expressions/workload/cmd/cmd-line.d.ts +15 -0
- package/dist/expressions/workload/cmd/cmd-line.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/{cli-command.js → cmd-line.js} +23 -27
- package/dist/expressions/workload/cmd/cmd-line.js.map +1 -0
- package/dist/expressions/workload/cmd/types.d.ts +4 -4
- package/dist/expressions/workload/cmd/types.d.ts.map +1 -1
- package/dist/expressions/workload/cronjob/parse-type.d.ts +30 -0
- package/dist/expressions/workload/cronjob/parse-type.d.ts.map +1 -0
- package/dist/{core/graph/resource/external/features.js → expressions/workload/cronjob/parse-type.js} +1 -1
- package/dist/expressions/workload/cronjob/parse-type.js.map +1 -0
- package/dist/expressions/workload/cronjob/shorthand.d.ts +13 -0
- package/dist/expressions/workload/cronjob/shorthand.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/shorthand.js +39 -0
- package/dist/expressions/workload/cronjob/shorthand.js.map +1 -0
- package/dist/expressions/workload/cronjob/stanza.d.ts +15 -0
- package/dist/expressions/workload/cronjob/stanza.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/{index.js → stanza.js} +29 -62
- package/dist/expressions/workload/cronjob/stanza.js.map +1 -0
- package/dist/expressions/workload/cronjob/types.d.ts +3 -1
- package/dist/expressions/workload/cronjob/types.d.ts.map +1 -1
- package/dist/expressions/workload/error.d.ts +7 -0
- package/dist/expressions/workload/error.d.ts.map +1 -0
- package/dist/expressions/workload/error.js +12 -0
- package/dist/expressions/workload/error.js.map +1 -0
- package/dist/expressions/workload/image/1-host.d.ts +11 -0
- package/dist/expressions/workload/image/1-host.d.ts.map +1 -0
- package/dist/expressions/workload/image/1-host.js +27 -0
- package/dist/expressions/workload/image/1-host.js.map +1 -0
- package/dist/expressions/workload/image/2-namespace.d.ts +11 -0
- package/dist/expressions/workload/image/2-namespace.d.ts.map +1 -0
- package/dist/expressions/workload/image/2-namespace.js +90 -0
- package/dist/expressions/workload/image/2-namespace.js.map +1 -0
- package/dist/expressions/workload/image/3-repository.d.ts +11 -0
- package/dist/expressions/workload/image/3-repository.d.ts.map +1 -0
- package/dist/expressions/workload/image/3-repository.js +38 -0
- package/dist/expressions/workload/image/3-repository.js.map +1 -0
- package/dist/expressions/workload/image/4-image.d.ts +22 -0
- package/dist/expressions/workload/image/4-image.d.ts.map +1 -0
- package/dist/expressions/workload/image/4-image.js +43 -0
- package/dist/expressions/workload/image/4-image.js.map +1 -0
- package/dist/expressions/workload/image/index.d.ts +4 -1
- package/dist/expressions/workload/image/index.d.ts.map +1 -1
- package/dist/expressions/workload/image/index.js +3 -6
- package/dist/expressions/workload/image/index.js.map +1 -1
- package/dist/expressions/workload/image/types.d.ts +2 -0
- package/dist/expressions/workload/image/types.d.ts.map +1 -0
- package/dist/expressions/workload/image/types.js +3 -0
- package/dist/expressions/workload/image/types.js.map +1 -0
- package/dist/expressions/workload/image/util.d.ts +2 -0
- package/dist/expressions/workload/image/util.d.ts.map +1 -0
- package/dist/expressions/workload/image/util.js +3 -0
- package/dist/expressions/workload/image/util.js.map +1 -0
- package/dist/expressions/workload/index.d.ts +9 -3
- package/dist/expressions/workload/index.d.ts.map +1 -1
- package/dist/expressions/workload/index.js +9 -3
- package/dist/expressions/workload/index.js.map +1 -1
- package/dist/expressions/workload/owner/group.d.ts +10 -0
- package/dist/expressions/workload/owner/group.d.ts.map +1 -0
- package/dist/expressions/workload/owner/group.js +27 -0
- package/dist/expressions/workload/owner/group.js.map +1 -0
- package/dist/expressions/workload/owner/index.d.ts +4 -0
- package/dist/expressions/workload/owner/index.d.ts.map +1 -0
- package/dist/expressions/workload/owner/index.js +8 -0
- package/dist/expressions/workload/owner/index.js.map +1 -0
- package/dist/expressions/workload/owner/ownership.d.ts +9 -0
- package/dist/expressions/workload/owner/ownership.d.ts.map +1 -0
- package/dist/expressions/workload/owner/ownership.js +22 -0
- package/dist/expressions/workload/owner/ownership.js.map +1 -0
- package/dist/expressions/workload/owner/user.d.ts +18 -0
- package/dist/expressions/workload/owner/user.d.ts.map +1 -0
- package/dist/expressions/workload/owner/user.js +32 -0
- package/dist/expressions/workload/owner/user.js.map +1 -0
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/{displayers → mixin/display}/displayers.d.ts +9 -9
- package/dist/utils/mixin/display/displayers.d.ts.map +1 -0
- package/dist/utils/{displayers → mixin/display}/displayers.js +13 -7
- package/dist/utils/mixin/display/displayers.js.map +1 -0
- package/dist/utils/mixin/display/index.d.ts.map +1 -0
- package/dist/utils/mixin/display/index.js.map +1 -0
- package/dist/utils/mixin/embedder/base.d.ts.map +1 -0
- package/dist/utils/{embedder → mixin/embedder}/base.js +3 -2
- package/dist/utils/mixin/embedder/base.js.map +1 -0
- package/dist/utils/mixin/embedder/index.d.ts +2 -0
- package/dist/utils/mixin/embedder/index.d.ts.map +1 -0
- package/dist/{core/graph/resource/external → utils/mixin/embedder}/index.js +0 -2
- package/dist/utils/mixin/embedder/index.js.map +1 -0
- package/dist/utils/mixin/error.d.ts +5 -0
- package/dist/utils/mixin/error.d.ts.map +1 -0
- package/dist/{expressions/network/ports → utils/mixin}/error.js +4 -5
- package/dist/utils/mixin/error.js.map +1 -0
- package/dist/utils/mixin/index.d.ts +3 -0
- package/dist/utils/mixin/index.d.ts.map +1 -0
- package/dist/{expressions/quantities/reqlem → utils/mixin}/index.js +2 -2
- package/dist/utils/mixin/index.js.map +1 -0
- package/dist/utils/phrase-renderer/index.d.ts +4 -0
- package/dist/utils/phrase-renderer/index.d.ts.map +1 -0
- package/dist/utils/phrase-renderer/index.js +43 -0
- package/dist/utils/phrase-renderer/index.js.map +1 -0
- package/dist/utils/{_string/pretty-objects.d.ts → phrase-renderer/phrases.d.ts} +1 -1
- package/dist/utils/phrase-renderer/phrases.d.ts.map +1 -0
- package/dist/utils/{_string/pretty-objects.js → phrase-renderer/phrases.js} +7 -7
- package/dist/utils/phrase-renderer/phrases.js.map +1 -0
- package/dist/utils/{_string/post-processor.d.ts → phrase-renderer/renderer.d.ts} +2 -2
- package/dist/utils/phrase-renderer/renderer.d.ts.map +1 -0
- package/dist/utils/{_string/post-processor.js → phrase-renderer/renderer.js} +4 -4
- package/dist/utils/phrase-renderer/renderer.js.map +1 -0
- package/dist/utils/types.d.ts +2 -0
- package/dist/utils/types.d.ts.map +1 -0
- package/dist/utils/types.js +3 -0
- package/dist/utils/types.js.map +1 -0
- package/dist/utils/util.d.ts +6 -0
- package/dist/utils/util.d.ts.map +1 -0
- package/dist/utils/util.js +23 -0
- package/dist/utils/util.js.map +1 -0
- package/package.json +6 -4
- package/src/core/graph/entity.ts +20 -41
- package/src/core/graph/error.ts +7 -0
- package/src/core/graph/index.ts +2 -2
- package/src/core/graph/origin/dummy.ts +23 -0
- package/src/core/graph/origin/events.ts +21 -60
- package/src/core/graph/origin/exporter.ts +26 -24
- package/src/core/graph/origin/index.ts +5 -3
- package/src/core/graph/origin/kind-map/index.ts +57 -57
- package/src/core/graph/origin/origin.ts +144 -0
- package/src/core/graph/origin/props.ts +11 -0
- package/src/core/graph/origin/template.ts +36 -0
- package/src/core/graph/origin/tracker.ts +15 -26
- package/src/core/graph/origin/{node.ts → vertex.ts} +25 -22
- package/src/core/graph/relation.ts +8 -10
- package/src/core/graph/resource/creation-options.ts +27 -0
- package/src/core/graph/resource/dummy/base.ts +13 -0
- package/src/core/graph/resource/forward/error.ts +7 -0
- package/src/core/graph/resource/{reference/fw-ref-exports.ts → forward/exports.ts} +48 -43
- package/src/core/graph/resource/forward/index.ts +2 -0
- package/src/core/graph/resource/{reference/fw-ref.ts → forward/ref.ts} +76 -40
- package/src/core/graph/resource/gvk/0-base.ts +37 -0
- package/src/core/graph/resource/gvk/1-group.ts +23 -0
- package/src/core/graph/resource/gvk/2=version.ts +21 -0
- package/src/core/graph/resource/gvk/3-gvk.ts +56 -0
- package/src/core/graph/resource/gvk/4-subkind.ts +19 -0
- package/src/core/graph/resource/gvk/index.ts +5 -0
- package/src/core/graph/resource/gvk/strings.ts +3 -0
- package/src/core/graph/resource/ident/ident.ts +140 -0
- package/src/core/graph/resource/ident/index.ts +1 -0
- package/src/core/graph/resource/ident/parsing.ts +36 -0
- package/src/core/graph/resource/index.ts +10 -9
- package/src/core/graph/resource/k8s-resource.ts +98 -0
- package/src/core/graph/resource/part.ts +26 -0
- package/src/core/graph/resource/props.ts +11 -0
- package/src/core/graph/resource/ref.ts +33 -0
- package/src/core/graph/resource/resource.ts +78 -0
- package/src/core/graph/resource/vertex.ts +134 -0
- package/src/core/graph/{node.ts → vertex.ts} +35 -38
- package/src/core/manifest/index.ts +7 -18
- package/src/core/tracing/embedder.ts +4 -0
- package/src/core/tracing/git.ts +9 -9
- package/src/core/tracing/index.ts +2 -2
- package/src/core/tracing/{trace.ts → source.ts} +6 -6
- package/src/expressions/data-sources/env-var.ts +15 -33
- package/src/expressions/data-sources/error.ts +8 -0
- package/src/expressions/data-sources/index.ts +1 -1
- package/src/expressions/data-sources/interface.ts +14 -28
- package/src/expressions/data-sources/js-object.ts +39 -0
- package/src/expressions/data-sources/local-file.ts +55 -61
- package/src/expressions/network/error.ts +7 -0
- package/src/expressions/network/index.ts +5 -1
- package/src/expressions/network/ip/ip4.ts +14 -0
- package/src/expressions/network/ip/subnet4.ts +9 -0
- package/src/expressions/network/ports/{tools/entry.ts → entry.ts} +17 -15
- package/src/expressions/network/ports/mapping.ts +108 -0
- package/src/expressions/network/ports/{tools/parse.ts → parser.ts} +4 -4
- package/src/expressions/network/ports/provider.ts +193 -0
- package/src/expressions/network/ports/types.ts +23 -9
- package/src/expressions/quantities/error.ts +8 -0
- package/src/expressions/quantities/index.ts +11 -2
- package/src/expressions/quantities/reqs/objects.ts +85 -0
- package/src/expressions/quantities/{reqlem → reqs}/parser.ts +5 -5
- package/src/expressions/quantities/reqs/types.ts +35 -0
- package/src/expressions/quantities/reqs/values.ts +47 -0
- package/src/expressions/quantities/units/{units.ts → built-in.ts} +14 -7
- package/src/expressions/quantities/units/dimension.ts +47 -0
- package/src/expressions/quantities/units/parser.ts +11 -0
- package/src/expressions/quantities/units/types.ts +1 -0
- package/src/expressions/quantities/units/validator.ts +17 -0
- package/src/expressions/quantities/units/value.ts +22 -0
- package/src/expressions/quantities/util.ts +37 -0
- package/src/expressions/workload/cmd/cli-term.ts +13 -12
- package/src/expressions/workload/cmd/cmd-line.ts +103 -0
- package/src/expressions/workload/cmd/types.ts +4 -4
- package/src/expressions/workload/cronjob/parse-type.ts +58 -0
- package/src/expressions/workload/cronjob/shorthand.ts +37 -0
- package/src/expressions/workload/cronjob/stanza.ts +91 -0
- package/src/expressions/workload/cronjob/types.ts +3 -0
- package/src/expressions/workload/error.ts +7 -0
- package/src/expressions/workload/image/1-host.ts +31 -0
- package/src/expressions/workload/image/2-namespace.ts +49 -0
- package/src/expressions/workload/image/3-repository.ts +50 -0
- package/src/expressions/workload/image/4-image.ts +95 -0
- package/src/expressions/workload/image/index.ts +4 -1
- package/src/expressions/workload/image/types.ts +5 -0
- package/src/expressions/workload/index.ts +9 -3
- package/src/expressions/workload/owner/group.ts +30 -0
- package/src/expressions/workload/owner/index.ts +3 -0
- package/src/expressions/workload/owner/ownership.ts +26 -0
- package/src/expressions/workload/owner/user.ts +34 -0
- package/src/utils/index.ts +3 -3
- package/src/utils/{displayers → mixin/display}/displayers.ts +26 -20
- package/src/utils/{embedder → mixin/embedder}/base.ts +4 -2
- package/src/utils/mixin/embedder/index.ts +1 -0
- package/src/{expressions/network/ports → utils/mixin}/error.ts +2 -3
- package/src/utils/mixin/index.ts +2 -0
- package/src/utils/{_string/pretty-print.ts → phrase-renderer/index.ts} +5 -3
- package/src/utils/{_string/pretty-objects.ts → phrase-renderer/phrases.ts} +6 -6
- package/src/utils/{_string/post-processor.ts → phrase-renderer/renderer.ts} +1 -1
- package/src/utils/types.ts +1 -0
- package/src/utils/util.ts +24 -0
- package/dist/core/graph/node.d.ts.map +0 -1
- package/dist/core/graph/node.js.map +0 -1
- package/dist/core/graph/origin/entity.d.ts +0 -35
- package/dist/core/graph/origin/entity.d.ts.map +0 -1
- package/dist/core/graph/origin/entity.js.map +0 -1
- package/dist/core/graph/origin/external.d.ts +0 -14
- package/dist/core/graph/origin/external.d.ts.map +0 -1
- package/dist/core/graph/origin/external.js +0 -22
- package/dist/core/graph/origin/external.js.map +0 -1
- package/dist/core/graph/origin/node.d.ts +0 -23
- package/dist/core/graph/origin/node.d.ts.map +0 -1
- package/dist/core/graph/origin/node.js.map +0 -1
- package/dist/core/graph/origin/origin-events.d.ts +0 -41
- package/dist/core/graph/origin/origin-events.d.ts.map +0 -1
- package/dist/core/graph/origin/origin-events.js +0 -46
- package/dist/core/graph/origin/origin-events.js.map +0 -1
- package/dist/core/graph/resource/api-kind/index.d.ts +0 -54
- package/dist/core/graph/resource/api-kind/index.d.ts.map +0 -1
- package/dist/core/graph/resource/api-kind/index.js +0 -239
- package/dist/core/graph/resource/api-kind/index.js.map +0 -1
- package/dist/core/graph/resource/api-kind/pluralize.d.ts +0 -24
- package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +0 -1
- package/dist/core/graph/resource/api-kind/pluralize.js +0 -16
- package/dist/core/graph/resource/api-kind/pluralize.js.map +0 -1
- package/dist/core/graph/resource/child.d.ts +0 -11
- package/dist/core/graph/resource/child.d.ts.map +0 -1
- package/dist/core/graph/resource/child.js +0 -22
- package/dist/core/graph/resource/child.js.map +0 -1
- package/dist/core/graph/resource/entity.d.ts +0 -23
- package/dist/core/graph/resource/entity.d.ts.map +0 -1
- package/dist/core/graph/resource/entity.js.map +0 -1
- package/dist/core/graph/resource/external/base.d.ts +0 -14
- package/dist/core/graph/resource/external/base.d.ts.map +0 -1
- package/dist/core/graph/resource/external/base.js +0 -37
- package/dist/core/graph/resource/external/base.js.map +0 -1
- package/dist/core/graph/resource/external/features.d.ts +0 -2
- package/dist/core/graph/resource/external/features.d.ts.map +0 -1
- package/dist/core/graph/resource/external/features.js.map +0 -1
- package/dist/core/graph/resource/external/index.d.ts +0 -4
- package/dist/core/graph/resource/external/index.d.ts.map +0 -1
- package/dist/core/graph/resource/external/index.js.map +0 -1
- package/dist/core/graph/resource/external/props.d.ts +0 -15
- package/dist/core/graph/resource/external/props.d.ts.map +0 -1
- package/dist/core/graph/resource/external/props.js.map +0 -1
- package/dist/core/graph/resource/field.d.ts +0 -2
- package/dist/core/graph/resource/field.d.ts.map +0 -1
- package/dist/core/graph/resource/field.js.map +0 -1
- package/dist/core/graph/resource/node.d.ts +0 -30
- package/dist/core/graph/resource/node.d.ts.map +0 -1
- package/dist/core/graph/resource/node.js.map +0 -1
- package/dist/core/graph/resource/ref-key/index.d.ts +0 -2
- package/dist/core/graph/resource/ref-key/index.d.ts.map +0 -1
- package/dist/core/graph/resource/ref-key/index.js.map +0 -1
- package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +0 -1
- package/dist/core/graph/resource/ref-key/ref-key.js.map +0 -1
- package/dist/core/graph/resource/reference/error.d.ts +0 -5
- package/dist/core/graph/resource/reference/error.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/error.js +0 -11
- package/dist/core/graph/resource/reference/error.js.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +0 -46
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref-exports.js.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/fw-ref.js.map +0 -1
- package/dist/core/graph/resource/reference/index.d.ts +0 -4
- package/dist/core/graph/resource/reference/index.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/index.js +0 -8
- package/dist/core/graph/resource/reference/index.js.map +0 -1
- package/dist/core/graph/resource/reference/refable.d.ts +0 -21
- package/dist/core/graph/resource/reference/refable.d.ts.map +0 -1
- package/dist/core/graph/resource/reference/refable.js.map +0 -1
- package/dist/core/graph/resource/top.d.ts +0 -21
- package/dist/core/graph/resource/top.d.ts.map +0 -1
- package/dist/core/graph/resource/top.js +0 -73
- package/dist/core/graph/resource/top.js.map +0 -1
- package/dist/core/tracing/trace.d.ts +0 -11
- package/dist/core/tracing/trace.d.ts.map +0 -1
- package/dist/core/tracing/trace.js.map +0 -1
- package/dist/core/tracing/traced.d.ts +0 -4
- package/dist/core/tracing/traced.d.ts.map +0 -1
- package/dist/core/tracing/traced.js.map +0 -1
- package/dist/expressions/data-sources/base.d.ts +0 -30
- package/dist/expressions/data-sources/base.d.ts.map +0 -1
- package/dist/expressions/data-sources/base.js +0 -37
- package/dist/expressions/data-sources/base.js.map +0 -1
- package/dist/expressions/network/ip/index.d.ts +0 -14
- package/dist/expressions/network/ip/index.d.ts.map +0 -1
- package/dist/expressions/network/ip/index.js.map +0 -1
- package/dist/expressions/network/ports/error.d.ts +0 -5
- package/dist/expressions/network/ports/error.d.ts.map +0 -1
- package/dist/expressions/network/ports/error.js.map +0 -1
- package/dist/expressions/network/ports/index.d.ts +0 -7
- package/dist/expressions/network/ports/index.d.ts.map +0 -1
- package/dist/expressions/network/ports/index.js +0 -13
- package/dist/expressions/network/ports/index.js.map +0 -1
- package/dist/expressions/network/ports/map.d.ts.map +0 -1
- package/dist/expressions/network/ports/map.js +0 -68
- package/dist/expressions/network/ports/map.js.map +0 -1
- package/dist/expressions/network/ports/set.d.ts +0 -93
- package/dist/expressions/network/ports/set.d.ts.map +0 -1
- package/dist/expressions/network/ports/set.js +0 -125
- package/dist/expressions/network/ports/set.js.map +0 -1
- package/dist/expressions/network/ports/tools/entry.d.ts +0 -6
- package/dist/expressions/network/ports/tools/entry.d.ts.map +0 -1
- package/dist/expressions/network/ports/tools/entry.js.map +0 -1
- package/dist/expressions/network/ports/tools/parse.d.ts +0 -3
- package/dist/expressions/network/ports/tools/parse.d.ts.map +0 -1
- package/dist/expressions/network/ports/tools/parse.js.map +0 -1
- package/dist/expressions/quantities/reqlem/index.d.ts +0 -3
- package/dist/expressions/quantities/reqlem/index.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/index.js.map +0 -1
- package/dist/expressions/quantities/reqlem/objects.d.ts +0 -24
- package/dist/expressions/quantities/reqlem/objects.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/objects.js +0 -103
- package/dist/expressions/quantities/reqlem/objects.js.map +0 -1
- package/dist/expressions/quantities/reqlem/parser.d.ts +0 -4
- package/dist/expressions/quantities/reqlem/parser.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/parser.js.map +0 -1
- package/dist/expressions/quantities/reqlem/types.d.ts +0 -23
- package/dist/expressions/quantities/reqlem/types.d.ts.map +0 -1
- package/dist/expressions/quantities/reqlem/types.js.map +0 -1
- package/dist/expressions/quantities/units/index.d.ts +0 -3
- package/dist/expressions/quantities/units/index.d.ts.map +0 -1
- package/dist/expressions/quantities/units/index.js +0 -22
- package/dist/expressions/quantities/units/index.js.map +0 -1
- package/dist/expressions/quantities/units/unit-parser.d.ts +0 -29
- package/dist/expressions/quantities/units/unit-parser.d.ts.map +0 -1
- package/dist/expressions/quantities/units/unit-parser.js +0 -85
- package/dist/expressions/quantities/units/unit-parser.js.map +0 -1
- package/dist/expressions/quantities/units/units.d.ts.map +0 -1
- package/dist/expressions/quantities/units/units.js +0 -35
- package/dist/expressions/quantities/units/units.js.map +0 -1
- package/dist/expressions/workload/_user/index.d.ts +0 -16
- package/dist/expressions/workload/_user/index.d.ts.map +0 -1
- package/dist/expressions/workload/_user/index.js +0 -33
- package/dist/expressions/workload/_user/index.js.map +0 -1
- package/dist/expressions/workload/cmd/cli-command.d.ts +0 -22
- package/dist/expressions/workload/cmd/cli-command.d.ts.map +0 -1
- package/dist/expressions/workload/cmd/cli-command.js.map +0 -1
- package/dist/expressions/workload/cmd/index.d.ts +0 -3
- package/dist/expressions/workload/cmd/index.d.ts.map +0 -1
- package/dist/expressions/workload/cmd/index.js +0 -7
- package/dist/expressions/workload/cmd/index.js.map +0 -1
- package/dist/expressions/workload/cronjob/index.d.ts +0 -57
- package/dist/expressions/workload/cronjob/index.d.ts.map +0 -1
- package/dist/expressions/workload/cronjob/index.js.map +0 -1
- package/dist/expressions/workload/image/family.d.ts +0 -30
- package/dist/expressions/workload/image/family.d.ts.map +0 -1
- package/dist/expressions/workload/image/family.js +0 -180
- package/dist/expressions/workload/image/family.js.map +0 -1
- package/dist/utils/_string/index.d.ts +0 -6
- package/dist/utils/_string/index.d.ts.map +0 -1
- package/dist/utils/_string/index.js +0 -22
- package/dist/utils/_string/index.js.map +0 -1
- package/dist/utils/_string/markers.d.ts +0 -3
- package/dist/utils/_string/markers.d.ts.map +0 -1
- package/dist/utils/_string/markers.js +0 -64
- package/dist/utils/_string/markers.js.map +0 -1
- package/dist/utils/_string/post-processor.d.ts.map +0 -1
- package/dist/utils/_string/post-processor.js.map +0 -1
- package/dist/utils/_string/pretty-objects.d.ts.map +0 -1
- package/dist/utils/_string/pretty-objects.js.map +0 -1
- package/dist/utils/_string/pretty-print.d.ts +0 -2
- package/dist/utils/_string/pretty-print.d.ts.map +0 -1
- package/dist/utils/_string/pretty-print.js +0 -27
- package/dist/utils/_string/pretty-print.js.map +0 -1
- package/dist/utils/_string/super-script.d.ts +0 -2
- package/dist/utils/_string/super-script.d.ts.map +0 -1
- package/dist/utils/_string/super-script.js +0 -20
- package/dist/utils/_string/super-script.js.map +0 -1
- package/dist/utils/displayers/displayers.d.ts.map +0 -1
- package/dist/utils/displayers/displayers.js.map +0 -1
- package/dist/utils/displayers/index.d.ts.map +0 -1
- package/dist/utils/displayers/index.js.map +0 -1
- package/dist/utils/embedder/base.d.ts.map +0 -1
- package/dist/utils/embedder/base.js.map +0 -1
- package/dist/utils/embedder/index.d.ts.map +0 -1
- package/dist/utils/embedder/index.js.map +0 -1
- package/dist/utils/tagged-template.d.ts +0 -2
- package/dist/utils/tagged-template.d.ts.map +0 -1
- package/dist/utils/tagged-template.js +0 -10
- package/dist/utils/tagged-template.js.map +0 -1
- package/src/core/graph/entities.md +0 -1
- package/src/core/graph/origin/entity.ts +0 -136
- package/src/core/graph/origin/external.ts +0 -21
- package/src/core/graph/origin/origin-events.ts +0 -86
- package/src/core/graph/readme.md +0 -161
- package/src/core/graph/resource/api-kind/index.ts +0 -171
- package/src/core/graph/resource/api-kind/pluralize.ts +0 -40
- package/src/core/graph/resource/child.ts +0 -23
- package/src/core/graph/resource/entity.ts +0 -73
- package/src/core/graph/resource/external/base.ts +0 -39
- package/src/core/graph/resource/external/index.ts +0 -3
- package/src/core/graph/resource/external/props.ts +0 -16
- package/src/core/graph/resource/field.ts +0 -0
- package/src/core/graph/resource/node.ts +0 -132
- package/src/core/graph/resource/ref-key/index.ts +0 -1
- package/src/core/graph/resource/ref-key/ref-key.ts +0 -156
- package/src/core/graph/resource/reference/error.ts +0 -7
- package/src/core/graph/resource/reference/index.ts +0 -3
- package/src/core/graph/resource/reference/refable.ts +0 -26
- package/src/core/graph/resource/top.ts +0 -82
- package/src/core/tracing/traced.ts +0 -4
- package/src/expressions/data-sources/base.ts +0 -38
- package/src/expressions/network/ip/index.ts +0 -17
- package/src/expressions/network/ports/index.ts +0 -8
- package/src/expressions/network/ports/map.ts +0 -88
- package/src/expressions/network/ports/set.ts +0 -178
- package/src/expressions/quantities/reqlem/index.ts +0 -2
- package/src/expressions/quantities/reqlem/objects.ts +0 -107
- package/src/expressions/quantities/reqlem/types.ts +0 -28
- package/src/expressions/quantities/units/index.ts +0 -2
- package/src/expressions/quantities/units/unit-parser.ts +0 -92
- package/src/expressions/workload/_user/index.ts +0 -24
- package/src/expressions/workload/cmd/cli-command.ts +0 -99
- package/src/expressions/workload/cmd/index.ts +0 -2
- package/src/expressions/workload/cronjob/index.ts +0 -166
- package/src/expressions/workload/image/family.ts +0 -87
- package/src/utils/_string/index.ts +0 -5
- package/src/utils/_string/markers.ts +0 -66
- package/src/utils/_string/super-script.ts +0 -17
- package/src/utils/tagged-template.ts +0 -6
- /package/dist/core/graph/{resource/external → origin}/props.js +0 -0
- /package/dist/{utils/embedder → core/graph/resource/dummy}/index.d.ts +0 -0
- /package/dist/{utils/embedder → core/graph/resource/dummy}/index.js +0 -0
- /package/dist/expressions/quantities/{reqlem → reqs}/types.js +0 -0
- /package/dist/utils/{displayers → mixin/display}/index.d.ts +0 -0
- /package/dist/utils/{displayers → mixin/display}/index.js +0 -0
- /package/dist/utils/{embedder → mixin/embedder}/base.d.ts +0 -0
- /package/src/{utils/embedder → core/graph/resource/dummy}/index.ts +0 -0
- /package/src/{core/graph/resource/external/features.ts → expressions/workload/image/util.ts} +0 -0
- /package/src/utils/{displayers → mixin/display}/index.ts +0 -0
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { InstrumentsError } from "../../../../error"
|
|
2
|
-
import { bind_own_methods } from "../../../../utils"
|
|
3
|
-
import { displayers } from "../../../../utils/displayers"
|
|
4
|
-
import { RefKey, type RefKey_Options } from "../ref-key"
|
|
5
|
-
import { pluralize } from "./pluralize"
|
|
6
|
-
|
|
7
|
-
export interface Ident_Like {
|
|
8
|
-
text: string
|
|
9
|
-
name: string
|
|
10
|
-
dns: string
|
|
11
|
-
parent: Ident_Like | null
|
|
12
|
-
equals(other: any): boolean
|
|
13
|
-
}
|
|
14
|
-
type _alphabeta = "alpha" | "beta" | ""
|
|
15
|
-
type _subversion = `${_alphabeta}${number}` | ""
|
|
16
|
-
type _version = `v${number}${_subversion | ""}`
|
|
17
|
-
|
|
18
|
-
@displayers({
|
|
19
|
-
simple: self => self.text
|
|
20
|
-
})
|
|
21
|
-
@bind_own_methods()
|
|
22
|
-
export abstract class Ident<
|
|
23
|
-
Name extends string = string,
|
|
24
|
-
Parent extends Ident_Like | null = Ident_Like | null
|
|
25
|
-
> implements Ident_Like
|
|
26
|
-
{
|
|
27
|
-
constructor(
|
|
28
|
-
readonly name: Name,
|
|
29
|
-
readonly parent: Parent
|
|
30
|
-
) {}
|
|
31
|
-
|
|
32
|
-
get full(): Ident_Like[] {
|
|
33
|
-
const parts: Ident_Like[] = []
|
|
34
|
-
let curr: Ident_Like | null = this
|
|
35
|
-
while (curr) {
|
|
36
|
-
parts.unshift(curr)
|
|
37
|
-
curr = curr.parent
|
|
38
|
-
}
|
|
39
|
-
return parts.filter(x => x.name)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
get text(): string {
|
|
43
|
-
return this.full.map(p => p.name).join("/") as any
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
get dns(): string {
|
|
47
|
-
return this.full
|
|
48
|
-
.map(x => x.name)
|
|
49
|
-
.filter(Boolean)
|
|
50
|
-
.join(".")
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
abstract child(name: string): Ident<
|
|
54
|
-
string,
|
|
55
|
-
{
|
|
56
|
-
name: Name
|
|
57
|
-
} & Ident_Like
|
|
58
|
-
>
|
|
59
|
-
|
|
60
|
-
equals(other: any) {
|
|
61
|
-
if (!other) {
|
|
62
|
-
return false
|
|
63
|
-
}
|
|
64
|
-
if (typeof other !== "object" || !other) {
|
|
65
|
-
return false
|
|
66
|
-
}
|
|
67
|
-
if (!(other instanceof Ident)) {
|
|
68
|
-
return false
|
|
69
|
-
}
|
|
70
|
-
return this.text === other.text
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
@bind_own_methods()
|
|
74
|
-
export class Ident_Group<const _Group extends string = string> extends Ident<_Group, null> {
|
|
75
|
-
constructor(override name: _Group) {
|
|
76
|
-
super(name, null)
|
|
77
|
-
}
|
|
78
|
-
version<Version extends _version>(apiVersion: Version) {
|
|
79
|
-
return new Ident_Version(apiVersion, this)
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
child(name: string): Ident_Version<_Group, string> {
|
|
83
|
-
if (!name.startsWith("v")) {
|
|
84
|
-
throw new InstrumentsError(
|
|
85
|
-
`Invalid version name "${name}". Version name must start with "v".`
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
return this.version(name as any) as any
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
@bind_own_methods()
|
|
92
|
-
export class Ident_Version<
|
|
93
|
-
const _Group extends string = string,
|
|
94
|
-
const _Version extends string = string
|
|
95
|
-
> extends Ident<_Version, Ident_Group<_Group>> {
|
|
96
|
-
kind<_Kind extends string>(kind: _Kind, specialPlural?: string) {
|
|
97
|
-
return new Ident_Kind(kind, this as Ident_Version<_Group, _Version>, specialPlural)
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
__FORMAT__!: _Version
|
|
101
|
-
|
|
102
|
-
get group() {
|
|
103
|
-
return this.parent
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
child(name: string): Ident_Kind<_Group, _Version, string> {
|
|
107
|
-
return this.kind(name)
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
@bind_own_methods()
|
|
111
|
-
export class Ident_Kind<
|
|
112
|
-
const _Group extends string = string,
|
|
113
|
-
const _Version extends string = string,
|
|
114
|
-
const _Kind extends string = string
|
|
115
|
-
> extends Ident<_Kind, Ident_Version<_Group, _Version>> {
|
|
116
|
-
constructor(
|
|
117
|
-
name: _Kind,
|
|
118
|
-
parent: Ident_Version<_Group, _Version>,
|
|
119
|
-
private readonly _specialPlural?: string
|
|
120
|
-
) {
|
|
121
|
-
super(name, parent)
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
refKey<Name extends string>(options: RefKey_Options<Name>) {
|
|
125
|
-
return new RefKey<this, Name>(this as any, options)
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
get plural() {
|
|
129
|
-
return this._specialPlural ?? pluralize(this.name.toLowerCase())
|
|
130
|
-
}
|
|
131
|
-
get version() {
|
|
132
|
-
return this.parent
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
get group() {
|
|
136
|
-
return this.parent.parent
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
subkind<SubKind extends string>(subkind: SubKind) {
|
|
140
|
-
return new Ident_Rsc_Part(subkind, this)
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
child<Name extends string>(name: Name): Ident_Rsc_Part<Name, this> {
|
|
144
|
-
return this.subkind(name)
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
@bind_own_methods()
|
|
149
|
-
export class Ident_Rsc_Part<
|
|
150
|
-
Name extends string = string,
|
|
151
|
-
Parent extends Ident_Like = Ident_Like
|
|
152
|
-
> extends Ident<Name, Parent> {
|
|
153
|
-
constructor(name: Name, parent: Parent) {
|
|
154
|
-
super(name, parent)
|
|
155
|
-
}
|
|
156
|
-
subkind<_SubKind2 extends string>(subkind: _SubKind2): Ident_Rsc_Part<_SubKind2, this> {
|
|
157
|
-
return new Ident_Rsc_Part(subkind, this)
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
child<Name extends string>(name: Name) {
|
|
161
|
-
return this.subkind(name)
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export function group<ApiGroup extends string>(apiGroup: ApiGroup) {
|
|
166
|
-
return new Ident_Group(apiGroup)
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
export function version<ApiVersion extends _version>(apiVersion: ApiVersion) {
|
|
170
|
-
return new Ident_Version(apiVersion, group(""))
|
|
171
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
type _Alpha_Beta = "alpha" | "beta"
|
|
2
|
-
type _Sub_Version = `${_Alpha_Beta}${number}`
|
|
3
|
-
type Version = `v${number}${_Sub_Version | ""}`
|
|
4
|
-
|
|
5
|
-
export type _Group = string
|
|
6
|
-
export type _Slash<A extends string, B extends string> = `${A}/${B}`
|
|
7
|
-
export type _Group_Version<Group extends string = string, Vers extends string = string> =
|
|
8
|
-
| _Slash<Group, Vers>
|
|
9
|
-
| Version
|
|
10
|
-
|
|
11
|
-
type _Word_Plural_Map = {
|
|
12
|
-
y: "ies"
|
|
13
|
-
s: "es"
|
|
14
|
-
ch: "ches"
|
|
15
|
-
sh: "es"
|
|
16
|
-
z: "zes"
|
|
17
|
-
ro: "es"
|
|
18
|
-
x: "es"
|
|
19
|
-
ay: "ays"
|
|
20
|
-
ey: "eys"
|
|
21
|
-
iy: "iys"
|
|
22
|
-
oy: "oys"
|
|
23
|
-
uy: "uys"
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export type Pluralize<S extends string> = S extends `${infer K extends keyof _Word_Plural_Map}`
|
|
27
|
-
? `${K}${_Word_Plural_Map[K]}`
|
|
28
|
-
: `${S}s`
|
|
29
|
-
export function pluralize<S extends string>(word: S): Pluralize<S> {
|
|
30
|
-
if (["s", "sh", "ch", "x", "z", "ro"].some(suffix => word.endsWith(suffix))) {
|
|
31
|
-
return `${word}es` as Pluralize<S>
|
|
32
|
-
}
|
|
33
|
-
if (["ay", "ey", "iy", "oy", "uy"].some(suffix => word.endsWith(suffix))) {
|
|
34
|
-
return `${word}s` as Pluralize<S>
|
|
35
|
-
}
|
|
36
|
-
if (word.endsWith("y")) {
|
|
37
|
-
return `${word.slice(0, -1)}ies` as Pluralize<S>
|
|
38
|
-
}
|
|
39
|
-
return `${word}s` as Pluralize<S>
|
|
40
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { Ident_Rsc_Part } from "./api-kind"
|
|
2
|
-
import { Rsc_Entity } from "./entity"
|
|
3
|
-
|
|
4
|
-
export abstract class Rsc_Part<Props extends object = object> extends Rsc_Entity<string, Props> {
|
|
5
|
-
abstract get kind(): Ident_Rsc_Part
|
|
6
|
-
#parent: Rsc_Entity
|
|
7
|
-
constructor(parent: Rsc_Entity, name: string, props: Props) {
|
|
8
|
-
super(name, props)
|
|
9
|
-
this.#parent = parent
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
protected __parent__(): Rsc_Entity {
|
|
13
|
-
return this.#parent
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
protected __origin__() {
|
|
17
|
-
return this.__parent__()["__origin__"]()
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
get namespace(): string | undefined {
|
|
21
|
-
return this.__parent__().namespace
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { getDeepPropertyDescriptor } from "@k8ts/metadata/util"
|
|
2
|
-
import { getNiceClassName } from "what-are-you"
|
|
3
|
-
import { displayers } from "../../../utils"
|
|
4
|
-
import { Entity } from "../entity"
|
|
5
|
-
import type { Origin_Entity } from "../origin"
|
|
6
|
-
import type { Ident } from "./api-kind"
|
|
7
|
-
import { Rsc_Node } from "./node"
|
|
8
|
-
import { FwRef, type Rsc_Ref } from "./reference"
|
|
9
|
-
|
|
10
|
-
@displayers({
|
|
11
|
-
simple: s => s.node,
|
|
12
|
-
pretty: s => s.node
|
|
13
|
-
})
|
|
14
|
-
export abstract class Rsc_Entity<
|
|
15
|
-
Name extends string = string,
|
|
16
|
-
Props extends object = object
|
|
17
|
-
> extends Entity<Rsc_Node, Rsc_Entity, Rsc_Ref> {
|
|
18
|
-
abstract get kind(): Ident
|
|
19
|
-
|
|
20
|
-
with(callback: (self: this) => void) {
|
|
21
|
-
callback(this)
|
|
22
|
-
return this
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
abstract readonly namespace: string | undefined
|
|
26
|
-
|
|
27
|
-
get ref() {
|
|
28
|
-
return {
|
|
29
|
-
kind: this.kind.name,
|
|
30
|
-
name: this.name,
|
|
31
|
-
namespace: this.namespace
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
constructor(
|
|
36
|
-
readonly name: Name,
|
|
37
|
-
readonly props: Props
|
|
38
|
-
) {
|
|
39
|
-
super()
|
|
40
|
-
|
|
41
|
-
this.name = name
|
|
42
|
-
const desc = getDeepPropertyDescriptor(this, "kind")
|
|
43
|
-
if (!desc || !desc.get) {
|
|
44
|
-
throw new Error(
|
|
45
|
-
`ResourceEntity subclass ${getNiceClassName(this)} must implement the 'kind' property as a getter, but it's missing or not a getter.`
|
|
46
|
-
)
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
equals(other: any): boolean {
|
|
51
|
-
if (!other) {
|
|
52
|
-
return false
|
|
53
|
-
}
|
|
54
|
-
if (FwRef.is(other)) {
|
|
55
|
-
return other.equals(this)
|
|
56
|
-
}
|
|
57
|
-
if (other instanceof Rsc_Entity) {
|
|
58
|
-
return Object.is(this, other)
|
|
59
|
-
}
|
|
60
|
-
return false
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
protected abstract __origin__(): Origin_Entity
|
|
64
|
-
get node(): Rsc_Node {
|
|
65
|
-
return new Rsc_Node(this.__origin__().node, this)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
get shortFqn() {
|
|
69
|
-
return [this.node.origin.name, [this.kind.name, this.name].filter(Boolean).join("/")].join(
|
|
70
|
-
":"
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import { Origin_External } from "../../origin/external"
|
|
3
|
-
import type { Ident_Kind } from "../api-kind"
|
|
4
|
-
import { Rsc_Entity } from "../entity"
|
|
5
|
-
import type { RefKey } from "../ref-key"
|
|
6
|
-
export class External<K extends Ident_Kind> extends Rsc_Entity<string, any> {
|
|
7
|
-
readonly meta = Meta.make()
|
|
8
|
-
constructor(
|
|
9
|
-
readonly key: RefKey<K>,
|
|
10
|
-
props: any
|
|
11
|
-
) {
|
|
12
|
-
super(key.name, props)
|
|
13
|
-
|
|
14
|
-
this.meta.add({
|
|
15
|
-
name: key.name,
|
|
16
|
-
namespace: key.namespace,
|
|
17
|
-
"#k8ts.org/is-external": "true"
|
|
18
|
-
})
|
|
19
|
-
|
|
20
|
-
if (props.keys) {
|
|
21
|
-
Object.defineProperties(this, {
|
|
22
|
-
keys: {
|
|
23
|
-
get: () => props.keys
|
|
24
|
-
}
|
|
25
|
-
})
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
protected __origin__() {
|
|
30
|
-
return Origin_External.instance
|
|
31
|
-
}
|
|
32
|
-
get namespace() {
|
|
33
|
-
return this.meta.tryGet("namespace")
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
get kind() {
|
|
37
|
-
return this.key.kind
|
|
38
|
-
}
|
|
39
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Ident_Kind } from "../api-kind"
|
|
2
|
-
|
|
3
|
-
export interface External_Features {
|
|
4
|
-
keys?: string[]
|
|
5
|
-
}
|
|
6
|
-
export interface External_KindToFeatures {
|
|
7
|
-
ConfigMap: {
|
|
8
|
-
keys?: string[]
|
|
9
|
-
}
|
|
10
|
-
Secret: {
|
|
11
|
-
keys?: string[]
|
|
12
|
-
}
|
|
13
|
-
[s: string]: {}
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export type External_Props<K extends Ident_Kind> = External_KindToFeatures[K["name"]]
|
|
File without changes
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import chalk from "chalk"
|
|
3
|
-
import { seq } from "doddle"
|
|
4
|
-
import { type AnyCtor } from "what-are-you"
|
|
5
|
-
import { Displayers, displayers } from "../../../utils/displayers"
|
|
6
|
-
import { TraceEmbedder } from "../../tracing"
|
|
7
|
-
import { Formats } from "../entity"
|
|
8
|
-
import { Node } from "../node"
|
|
9
|
-
import { OriginNode } from "../origin/node"
|
|
10
|
-
import type { Ident_Kind, Ident_Like } from "./api-kind"
|
|
11
|
-
import type { Rsc_Entity } from "./entity"
|
|
12
|
-
import { RefKey } from "./ref-key"
|
|
13
|
-
|
|
14
|
-
@displayers({
|
|
15
|
-
simple: s => `[${s.shortFqn}]`,
|
|
16
|
-
pretty(resource, format) {
|
|
17
|
-
format ??= "global"
|
|
18
|
-
|
|
19
|
-
let kindName = chalk.greenBright(resource.kind.name)
|
|
20
|
-
if (format !== "lowkey") {
|
|
21
|
-
kindName = chalk.bold(kindName)
|
|
22
|
-
}
|
|
23
|
-
const parts = [kindName]
|
|
24
|
-
if (resource.namespace) {
|
|
25
|
-
parts.push(chalk.yellowBright(resource.namespace))
|
|
26
|
-
}
|
|
27
|
-
parts.push(chalk.blueBright(resource.name))
|
|
28
|
-
const mainPart = parts.join("/")
|
|
29
|
-
let originPart = `${Displayers.get(resource.origin).prefix!()}`
|
|
30
|
-
let text = ""
|
|
31
|
-
|
|
32
|
-
text += mainPart
|
|
33
|
-
if (format !== "local") {
|
|
34
|
-
text = `${originPart}${text}`
|
|
35
|
-
}
|
|
36
|
-
if (format === "source") {
|
|
37
|
-
text += ` (at ${resource.trace.format()})`
|
|
38
|
-
}
|
|
39
|
-
return text
|
|
40
|
-
}
|
|
41
|
-
})
|
|
42
|
-
export class Rsc_Node extends Node<Rsc_Node, Rsc_Entity> {
|
|
43
|
-
get fullFqn() {
|
|
44
|
-
return [this.kind.dns, this.namespace, this.name].filter(Boolean).join("/")
|
|
45
|
-
}
|
|
46
|
-
get key(): RefKey {
|
|
47
|
-
return new RefKey(this.kind, {
|
|
48
|
-
name: this.name,
|
|
49
|
-
namespace: this.namespace
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
get kind() {
|
|
53
|
-
return this.entity.kind as Ident_Kind
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
get namespace() {
|
|
57
|
-
return this.meta?.tryGet("namespace")
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
get trace() {
|
|
61
|
-
return TraceEmbedder.get(this.entity)
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
get isExported() {
|
|
65
|
-
return this.meta?.tryGet("#k8ts.org/is-exported") ?? false
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
get meta() {
|
|
69
|
-
return "meta" in this.entity ? (this.entity.meta as Meta) : undefined
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
get isExternal() {
|
|
73
|
-
return this.meta?.tryGet("#k8ts.org/is-external") ?? false
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
when<EntityType extends Rsc_Entity>(
|
|
77
|
-
type: AnyCtor<EntityType>,
|
|
78
|
-
fn: (entity: EntityType) => void
|
|
79
|
-
) {
|
|
80
|
-
const entity = this.entity as EntityType
|
|
81
|
-
if (entity instanceof type) {
|
|
82
|
-
fn(entity)
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
as<EntityType extends Rsc_Entity>(type: AnyCtor<EntityType>) {
|
|
87
|
-
const entity = this.entity as EntityType
|
|
88
|
-
if (entity instanceof type) {
|
|
89
|
-
return entity
|
|
90
|
-
}
|
|
91
|
-
throw new Error(
|
|
92
|
-
`This node is for an entity of type ${entity.constructor.name}, not ${type.name}`
|
|
93
|
-
)
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
get origins() {
|
|
97
|
-
const self = this
|
|
98
|
-
return seq(function* () {
|
|
99
|
-
let current: OriginNode | null = self.origin
|
|
100
|
-
while (current) {
|
|
101
|
-
yield current
|
|
102
|
-
current = current.parent
|
|
103
|
-
}
|
|
104
|
-
})
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
get disabled() {
|
|
108
|
-
return "disabled" in this.entity ? !!this.entity.disabled : false
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
get shortFqn() {
|
|
112
|
-
return `${this.origin.name}:${this.key}`
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
get localName() {
|
|
116
|
-
return this.key.string
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
format(format: Formats) {
|
|
120
|
-
return Displayers.get(this).pretty(format)
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
hasKind(kind: Ident_Like) {
|
|
124
|
-
return this.kind.equals(kind)
|
|
125
|
-
}
|
|
126
|
-
constructor(
|
|
127
|
-
readonly origin: OriginNode,
|
|
128
|
-
readonly entity: Rsc_Entity
|
|
129
|
-
) {
|
|
130
|
-
super(entity)
|
|
131
|
-
}
|
|
132
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./ref-key"
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { InstrumentsError } from "../../../../error"
|
|
2
|
-
import type { Ident_Kind } from "../api-kind"
|
|
3
|
-
import type { External } from "../external"
|
|
4
|
-
import { type External_Props } from "../external"
|
|
5
|
-
import type { Rsc_Ref } from "../reference"
|
|
6
|
-
/** Input type for reference keys. Accepts either a RefKey instance or its string representation. */
|
|
7
|
-
export type RefKey_Input = RefKey | RefKey["string"]
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* String format template for reference keys.
|
|
11
|
-
*
|
|
12
|
-
* @template Kind - The Kubernetes resource kind
|
|
13
|
-
* @template Name - The resource name
|
|
14
|
-
*/
|
|
15
|
-
export type RefKey_sFormat<Kind extends string, Name extends string> = `${Kind}/${Name}`
|
|
16
|
-
|
|
17
|
-
const separator = "/"
|
|
18
|
-
|
|
19
|
-
/** Parsed representation of a reference key string. */
|
|
20
|
-
export interface RefKey_Parsed {
|
|
21
|
-
/** The Kubernetes resource kind */
|
|
22
|
-
kind: string
|
|
23
|
-
/** The resource name */
|
|
24
|
-
name: string
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function parse(ref: string) {
|
|
28
|
-
const result = tryParse(ref)
|
|
29
|
-
if (!result) {
|
|
30
|
-
throw new InstrumentsError(`Could not parse reference key: ${ref}`)
|
|
31
|
-
}
|
|
32
|
-
return result
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Attempts to parse a reference key string into its kind and name components. Returns undefined if
|
|
37
|
-
* the string cannot be parsed.
|
|
38
|
-
*
|
|
39
|
-
* @param ref - The reference key string to parse (format: "Kind/Name")
|
|
40
|
-
* @returns The parsed reference key, or undefined if parsing fails
|
|
41
|
-
*/
|
|
42
|
-
export function tryParse(ref: string): RefKey_Parsed | undefined {
|
|
43
|
-
if (typeof ref !== "string") {
|
|
44
|
-
return undefined
|
|
45
|
-
}
|
|
46
|
-
if (ref == null) {
|
|
47
|
-
return undefined
|
|
48
|
-
}
|
|
49
|
-
if (typeof ref === "object") {
|
|
50
|
-
return undefined
|
|
51
|
-
}
|
|
52
|
-
const [kind, name] = ref.split(separator).map(s => s.trim())
|
|
53
|
-
if (!kind || !name) {
|
|
54
|
-
return undefined
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
kind,
|
|
58
|
-
name
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
type nsKind = Ident_Kind<"", "v1", "Namespace">
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Options for creating a RefKey instance.
|
|
66
|
-
*
|
|
67
|
-
* @template Name - The resource name type
|
|
68
|
-
*/
|
|
69
|
-
export interface RefKey_Options<Name extends string = string> {
|
|
70
|
-
/** The resource name */
|
|
71
|
-
name: Name
|
|
72
|
-
/** Optional namespace for namespaced resources. Can be a RefKey, string, or Ref2 */
|
|
73
|
-
namespace?: RefKey<nsKind> | string | Rsc_Ref<nsKind>
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* A unique identifier for a k8s resource consisting of a Kind, name, and namespace. Used by
|
|
78
|
-
* resources to reference other resources. Serves as the basis for the {@link External} resource
|
|
79
|
-
* type.
|
|
80
|
-
*
|
|
81
|
-
* Important: This class is ambiguous because it can represent keys for namespaced resources but
|
|
82
|
-
* ignore the namespace. Needs some kind of refactor.
|
|
83
|
-
*/
|
|
84
|
-
export class RefKey<K extends Ident_Kind = Ident_Kind, Name extends string = string> {
|
|
85
|
-
/** The resource name */
|
|
86
|
-
readonly name: string
|
|
87
|
-
/** The optional namespace for namespaced resources */
|
|
88
|
-
readonly namespace: string | undefined
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Creates a new RefKey instance.
|
|
92
|
-
*
|
|
93
|
-
* @param kind - The Kubernetes resource kind
|
|
94
|
-
* @param options - Configuration options including name and optional namespace
|
|
95
|
-
*/
|
|
96
|
-
constructor(
|
|
97
|
-
readonly kind: K,
|
|
98
|
-
options: RefKey_Options<Name>
|
|
99
|
-
) {
|
|
100
|
-
this.name = options.name
|
|
101
|
-
this.namespace =
|
|
102
|
-
typeof options.namespace === "string" ? options.namespace : options.namespace?.name
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Returns the string representation of this reference key. Format: "Kind/Namespace/Name" or
|
|
107
|
-
* "Kind/Name" for cluster-scoped resources.
|
|
108
|
-
*/
|
|
109
|
-
get string(): RefKey_sFormat<K["name"], Name> {
|
|
110
|
-
return [this.kind.name, this.namespace, this.name]
|
|
111
|
-
.filter(x => !!x)
|
|
112
|
-
.join(separator) as RefKey_sFormat<K["name"], Name>
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Checks if this RefKey is equal to another RefKey by comparing kind, name, and namespace.
|
|
117
|
-
*
|
|
118
|
-
* @param other - The RefKey to compare with
|
|
119
|
-
* @returns True if both RefKeys have the same kind, name, and namespace
|
|
120
|
-
*/
|
|
121
|
-
equals(other: RefKey): boolean {
|
|
122
|
-
if (other == null) {
|
|
123
|
-
return false
|
|
124
|
-
}
|
|
125
|
-
if (typeof other !== "object") {
|
|
126
|
-
return false
|
|
127
|
-
}
|
|
128
|
-
return (
|
|
129
|
-
this.kind.equals(other.kind) &&
|
|
130
|
-
this.name === other.name &&
|
|
131
|
-
this.namespace === other.namespace
|
|
132
|
-
)
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Returns the string representation of this reference key.
|
|
137
|
-
*
|
|
138
|
-
* @returns The reference key in string format
|
|
139
|
-
*/
|
|
140
|
-
toString() {
|
|
141
|
-
return this.string
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Creates an External reference to this resource.
|
|
146
|
-
*
|
|
147
|
-
* @template P - The external properties type
|
|
148
|
-
* @param options - Optional external properties configuration
|
|
149
|
-
* @returns An External instance with the specified features
|
|
150
|
-
*/
|
|
151
|
-
External(options?: External_Props<K>): External<K> {
|
|
152
|
-
const External = require("../external").External
|
|
153
|
-
|
|
154
|
-
return new External(this, options ?? {}) as any
|
|
155
|
-
}
|
|
156
|
-
}
|