@k8ts/instruments 0.6.0 → 0.6.2
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 +13 -0
- package/dist/core/graph/entity.d.ts.map +1 -0
- package/dist/core/graph/entity.js +27 -0
- package/dist/core/graph/entity.js.map +1 -0
- package/dist/core/graph/index.d.ts +6 -0
- package/dist/core/graph/index.d.ts.map +1 -0
- package/dist/core/graph/index.js +26 -0
- package/dist/core/graph/index.js.map +1 -0
- package/dist/core/graph/node.d.ts +24 -0
- package/dist/core/graph/node.d.ts.map +1 -0
- package/dist/core/graph/node.js +131 -0
- package/dist/core/graph/node.js.map +1 -0
- package/dist/core/graph/origin/entity.d.ts +32 -0
- package/dist/core/graph/origin/entity.d.ts.map +1 -0
- package/dist/core/graph/origin/entity.js +149 -0
- package/dist/core/graph/origin/entity.js.map +1 -0
- package/dist/core/graph/origin/events.d.ts +41 -0
- package/dist/core/graph/origin/events.d.ts.map +1 -0
- package/dist/core/graph/origin/events.js +46 -0
- package/dist/core/graph/origin/events.js.map +1 -0
- package/dist/core/graph/origin/exporter.d.ts +13 -0
- package/dist/core/graph/origin/exporter.d.ts.map +1 -0
- package/dist/core/graph/origin/exporter.js +94 -0
- package/dist/core/graph/origin/exporter.js.map +1 -0
- package/dist/core/graph/origin/index.d.ts +7 -0
- package/dist/core/graph/origin/index.d.ts.map +1 -0
- package/dist/core/graph/origin/index.js +23 -0
- package/dist/core/graph/origin/index.js.map +1 -0
- package/dist/core/graph/origin/kind-map/index.d.ts +36 -0
- package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -0
- package/dist/core/graph/origin/kind-map/index.js +195 -0
- package/dist/core/graph/origin/kind-map/index.js.map +1 -0
- package/dist/core/graph/origin/node.d.ts +23 -0
- package/dist/core/graph/origin/node.d.ts.map +1 -0
- package/dist/{graph/origin-node.js → core/graph/origin/node.js} +33 -78
- package/dist/core/graph/origin/node.js.map +1 -0
- package/dist/core/graph/origin/origin-events.d.ts +41 -0
- package/dist/core/graph/origin/origin-events.d.ts.map +1 -0
- package/dist/core/graph/origin/origin-events.js +46 -0
- package/dist/core/graph/origin/origin-events.js.map +1 -0
- package/dist/core/graph/origin/tracker.d.ts +19 -0
- package/dist/core/graph/origin/tracker.d.ts.map +1 -0
- package/dist/core/graph/origin/tracker.js +87 -0
- package/dist/core/graph/origin/tracker.js.map +1 -0
- package/dist/core/graph/relation.d.ts +7 -0
- package/dist/core/graph/relation.d.ts.map +1 -0
- package/dist/{graph/dependencies.js → core/graph/relation.js} +3 -13
- package/dist/core/graph/relation.js.map +1 -0
- package/dist/core/graph/resource/api-kind/index.d.ts +57 -0
- package/dist/core/graph/resource/api-kind/index.d.ts.map +1 -0
- package/dist/{api-kind → core/graph/resource/api-kind}/index.js +35 -15
- package/dist/core/graph/resource/api-kind/index.js.map +1 -0
- package/dist/core/graph/resource/api-kind/pluralize.d.ts +19 -0
- package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +1 -0
- package/dist/core/graph/resource/api-kind/pluralize.js +13 -0
- package/dist/core/graph/resource/api-kind/pluralize.js.map +1 -0
- package/dist/core/graph/resource/child.d.ts +10 -0
- package/dist/core/graph/resource/child.d.ts.map +1 -0
- package/dist/core/graph/resource/child.js +22 -0
- package/dist/core/graph/resource/child.js.map +1 -0
- package/dist/core/graph/resource/entity.d.ts +21 -0
- package/dist/core/graph/resource/entity.d.ts.map +1 -0
- package/dist/{graph/base-origin-entity.js → core/graph/resource/entity.js} +37 -34
- package/dist/core/graph/resource/entity.js.map +1 -0
- package/dist/core/graph/resource/index.d.ts +8 -0
- package/dist/core/graph/resource/index.d.ts.map +1 -0
- package/dist/core/graph/resource/index.js +24 -0
- package/dist/core/graph/resource/index.js.map +1 -0
- package/dist/core/graph/resource/node.d.ts +29 -0
- package/dist/core/graph/resource/node.d.ts.map +1 -0
- package/dist/{graph/resource-node.js → core/graph/resource/node.js} +23 -31
- package/dist/core/graph/resource/node.js.map +1 -0
- package/dist/core/graph/resource/ref-key/index.d.ts.map +1 -0
- package/dist/core/graph/resource/ref-key/index.js.map +1 -0
- package/dist/core/graph/resource/ref-key/ref-key.d.ts +18 -0
- package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +1 -0
- package/dist/core/graph/resource/ref-key/ref-key.js +58 -0
- package/dist/core/graph/resource/ref-key/ref-key.js.map +1 -0
- package/dist/core/graph/resource/reference/error.d.ts +5 -0
- package/dist/core/graph/resource/reference/error.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/error.js +11 -0
- package/dist/core/graph/resource/reference/error.js.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +15 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.js +133 -0
- package/dist/core/graph/resource/reference/fw-ref-exports.js.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref.d.ts +25 -0
- package/dist/core/graph/resource/reference/fw-ref.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/fw-ref.js +105 -0
- package/dist/core/graph/resource/reference/fw-ref.js.map +1 -0
- package/dist/core/graph/resource/reference/index.d.ts +4 -0
- package/dist/core/graph/resource/reference/index.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/index.js +8 -0
- package/dist/core/graph/resource/reference/index.js.map +1 -0
- package/dist/core/graph/resource/reference/refable.d.ts +17 -0
- package/dist/core/graph/resource/reference/refable.d.ts.map +1 -0
- package/dist/core/graph/resource/reference/refable.js.map +1 -0
- package/dist/core/graph/resource/top.d.ts +18 -0
- package/dist/core/graph/resource/top.d.ts.map +1 -0
- package/dist/core/graph/resource/top.js +59 -0
- package/dist/core/graph/resource/top.js.map +1 -0
- package/dist/core/index.d.ts +5 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +21 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/manifest/index.d.ts +31 -0
- package/dist/core/manifest/index.d.ts.map +1 -0
- package/dist/core/manifest/index.js +6 -0
- package/dist/core/manifest/index.js.map +1 -0
- package/dist/{tracing → core/tracing}/git.d.ts +2 -1
- package/dist/core/tracing/git.d.ts.map +1 -0
- package/dist/{tracing → core/tracing}/git.js +20 -3
- package/dist/core/tracing/git.js.map +1 -0
- package/dist/core/tracing/index.d.ts.map +1 -0
- package/dist/core/tracing/index.js.map +1 -0
- package/dist/core/tracing/trace.d.ts.map +1 -0
- package/dist/core/tracing/trace.js.map +1 -0
- package/dist/{tracing → core/tracing}/traced.d.ts +1 -1
- package/dist/core/tracing/traced.d.ts.map +1 -0
- package/dist/core/tracing/traced.js +6 -0
- package/dist/core/tracing/traced.js.map +1 -0
- package/dist/error.d.ts +0 -3
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +1 -7
- package/dist/error.js.map +1 -1
- package/dist/{data-sources → expressions/data-sources}/index.d.ts +8 -9
- package/dist/expressions/data-sources/index.d.ts.map +1 -0
- package/dist/{data-sources → expressions/data-sources}/index.js +52 -34
- package/dist/expressions/data-sources/index.js.map +1 -0
- package/dist/expressions/index.d.ts +6 -0
- package/dist/expressions/index.d.ts.map +1 -0
- package/dist/{manifest → expressions}/index.js +5 -4
- package/dist/expressions/index.js.map +1 -0
- package/dist/expressions/network/index.d.ts +2 -0
- package/dist/expressions/network/index.d.ts.map +1 -0
- package/dist/{producer → expressions/network}/index.js +1 -1
- package/dist/expressions/network/index.js.map +1 -0
- package/dist/expressions/network/ip/index.d.ts.map +1 -0
- package/dist/expressions/network/ip/index.js.map +1 -0
- package/dist/expressions/network/ports/error.d.ts.map +1 -0
- package/dist/expressions/network/ports/error.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/index.d.ts +1 -1
- package/dist/expressions/network/ports/index.d.ts.map +1 -0
- package/dist/expressions/network/ports/index.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/map.d.ts +0 -1
- package/dist/expressions/network/ports/map.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/map.js +3 -2
- package/dist/expressions/network/ports/map.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/set.d.ts +0 -1
- package/dist/expressions/network/ports/set.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/set.js +8 -7
- package/dist/expressions/network/ports/set.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/tools/entry.d.ts +0 -1
- package/dist/expressions/network/ports/tools/entry.d.ts.map +1 -0
- package/dist/{ports → expressions/network/ports}/tools/entry.js +7 -5
- package/dist/expressions/network/ports/tools/entry.js.map +1 -0
- package/dist/expressions/network/ports/tools/parse.d.ts.map +1 -0
- package/dist/expressions/network/ports/tools/parse.js.map +1 -0
- package/dist/{ports → expressions/network/ports}/types.d.ts +1 -1
- package/dist/expressions/network/ports/types.d.ts.map +1 -0
- package/dist/expressions/network/ports/types.js.map +1 -0
- package/dist/expressions/quantities/index.d.ts +3 -0
- package/dist/expressions/quantities/index.d.ts.map +1 -0
- package/dist/{forward-exports → expressions/quantities}/index.js +2 -1
- package/dist/expressions/quantities/index.js.map +1 -0
- package/dist/expressions/quantities/reqlem/index.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/index.js.map +1 -0
- package/dist/{resources → expressions/quantities/reqlem}/objects.d.ts +6 -7
- package/dist/expressions/quantities/reqlem/objects.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/objects.js +103 -0
- package/dist/expressions/quantities/reqlem/objects.js.map +1 -0
- package/dist/expressions/quantities/reqlem/parser.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/parser.js.map +1 -0
- package/dist/expressions/quantities/reqlem/types.d.ts +23 -0
- package/dist/expressions/quantities/reqlem/types.d.ts.map +1 -0
- package/dist/expressions/quantities/reqlem/types.js.map +1 -0
- package/dist/expressions/quantities/units/index.d.ts.map +1 -0
- package/dist/expressions/quantities/units/index.js.map +1 -0
- package/dist/{units → expressions/quantities/units}/unit-parser.d.ts +0 -1
- package/dist/expressions/quantities/units/unit-parser.d.ts.map +1 -0
- package/dist/{units → expressions/quantities/units}/unit-parser.js +1 -1
- package/dist/expressions/quantities/units/unit-parser.js.map +1 -0
- package/dist/{units → expressions/quantities/units}/units.d.ts +1 -1
- package/dist/expressions/quantities/units/units.d.ts.map +1 -0
- package/dist/{units → expressions/quantities/units}/units.js +3 -4
- package/dist/expressions/quantities/units/units.js.map +1 -0
- package/dist/expressions/timezone.d.ts.map +1 -0
- package/dist/{timezone.js.map → expressions/timezone.js.map} +1 -1
- package/dist/expressions/workload/_user/index.d.ts.map +1 -0
- package/dist/expressions/workload/_user/index.js.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-command.d.ts +7 -8
- package/dist/expressions/workload/cmd/cli-command.d.ts.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-command.js +15 -11
- package/dist/expressions/workload/cmd/cli-command.js.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-term.d.ts +7 -7
- package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -0
- package/dist/{cmd → expressions/workload/cmd}/cli-term.js +12 -12
- package/dist/expressions/workload/cmd/cli-term.js.map +1 -0
- package/dist/expressions/workload/cmd/index.d.ts +3 -0
- package/dist/expressions/workload/cmd/index.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/index.js.map +1 -0
- package/dist/expressions/workload/cmd/types.d.ts +5 -0
- package/dist/expressions/workload/cmd/types.d.ts.map +1 -0
- package/dist/expressions/workload/cmd/types.js.map +1 -0
- package/dist/expressions/workload/cronjob/index.d.ts.map +1 -0
- package/dist/{_cronjob → expressions/workload/cronjob}/index.js +1 -1
- package/dist/expressions/workload/cronjob/index.js.map +1 -0
- package/dist/expressions/workload/cronjob/types.d.ts.map +1 -0
- package/dist/expressions/workload/cronjob/types.js.map +1 -0
- package/dist/expressions/workload/image/family.d.ts.map +1 -0
- package/dist/{image → expressions/workload/image}/family.js +1 -1
- package/dist/expressions/workload/image/family.js.map +1 -0
- package/dist/expressions/workload/image/index.d.ts.map +1 -0
- package/dist/expressions/workload/image/index.js.map +1 -0
- package/dist/expressions/workload/index.d.ts +5 -0
- package/dist/expressions/workload/index.d.ts.map +1 -0
- package/dist/expressions/workload/index.js +21 -0
- package/dist/expressions/workload/index.js.map +1 -0
- package/dist/index.d.ts +4 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -21
- package/dist/index.js.map +1 -1
- package/dist/utils/_string/index.d.ts.map +1 -0
- package/dist/utils/_string/index.js.map +1 -0
- package/dist/utils/_string/markers.d.ts.map +1 -0
- package/dist/utils/_string/markers.js.map +1 -0
- package/dist/utils/_string/post-processor.d.ts.map +1 -0
- package/dist/utils/_string/post-processor.js.map +1 -0
- package/dist/utils/_string/pretty-objects.d.ts.map +1 -0
- package/dist/utils/_string/pretty-objects.js.map +1 -0
- package/dist/utils/_string/pretty-print.d.ts.map +1 -0
- package/dist/utils/_string/pretty-print.js.map +1 -0
- package/dist/utils/_string/super-script.d.ts.map +1 -0
- package/dist/utils/_string/super-script.js.map +1 -0
- package/dist/utils/bind.d.ts +3 -0
- package/dist/utils/bind.d.ts.map +1 -0
- package/dist/{displayers → utils}/bind.js +2 -3
- package/dist/utils/bind.js.map +1 -0
- package/dist/{displayers → utils/displayers}/displayers.d.ts +2 -10
- package/dist/utils/displayers/displayers.d.ts.map +1 -0
- package/dist/{displayers → utils/displayers}/displayers.js +27 -8
- package/dist/utils/displayers/displayers.js.map +1 -0
- package/dist/utils/displayers/index.d.ts.map +1 -0
- package/dist/utils/displayers/index.js.map +1 -0
- package/dist/{_embedder → utils/embedder}/base.d.ts +2 -1
- package/dist/utils/embedder/base.d.ts.map +1 -0
- package/dist/{_embedder → utils/embedder}/base.js +8 -4
- package/dist/utils/embedder/base.js.map +1 -0
- package/dist/utils/embedder/index.d.ts.map +1 -0
- package/dist/utils/embedder/index.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +21 -0
- package/dist/utils/index.js.map +1 -0
- package/package.json +16 -16
- package/src/core/graph/entity.ts +35 -0
- package/src/core/graph/index.ts +5 -0
- package/src/core/graph/node.ts +139 -0
- package/src/core/graph/origin/entity.ts +118 -0
- package/src/core/graph/origin/events.ts +86 -0
- package/src/core/graph/origin/exporter.ts +62 -0
- package/src/core/graph/origin/index.ts +6 -0
- package/src/core/graph/origin/kind-map/index.ts +171 -0
- package/src/core/graph/origin/node.ts +75 -0
- package/src/core/graph/origin/origin-events.ts +86 -0
- package/src/core/graph/origin/tracker.ts +103 -0
- package/src/core/graph/relation.ts +17 -0
- package/src/core/graph/resource/api-kind/index.ts +176 -0
- package/src/core/graph/resource/api-kind/pluralize.ts +32 -0
- package/src/core/graph/resource/child.ts +26 -0
- package/src/core/graph/resource/entity.ts +58 -0
- package/src/core/graph/resource/index.ts +7 -0
- package/src/{graph/resource-node.ts → core/graph/resource/node.ts} +28 -40
- package/src/core/graph/resource/ref-key/ref-key.ts +62 -0
- package/src/core/graph/resource/reference/error.ts +7 -0
- package/src/core/graph/resource/reference/fw-ref-exports.ts +164 -0
- package/src/core/graph/resource/reference/fw-ref.ts +122 -0
- package/src/core/graph/resource/reference/index.ts +8 -0
- package/src/core/graph/resource/reference/refable.ts +24 -0
- package/src/core/graph/resource/top.ts +69 -0
- package/src/core/index.ts +4 -0
- package/src/{manifest → core/manifest}/index.ts +7 -22
- package/src/{tracing → core/tracing}/git.ts +20 -3
- package/src/{tracing → core/tracing}/traced.ts +1 -1
- package/src/error.ts +0 -6
- package/src/expressions/data-sources/index.ts +147 -0
- package/src/expressions/index.ts +5 -0
- package/src/expressions/network/index.ts +1 -0
- package/src/{ports → expressions/network/ports}/index.ts +1 -1
- package/src/{ports → expressions/network/ports}/map.ts +3 -3
- package/src/{ports → expressions/network/ports}/set.ts +8 -7
- package/src/{ports → expressions/network/ports}/tools/entry.ts +6 -4
- package/src/{ports → expressions/network/ports}/types.ts +1 -1
- package/src/expressions/quantities/index.ts +2 -0
- package/src/expressions/quantities/reqlem/objects.ts +107 -0
- package/src/expressions/quantities/reqlem/types.ts +28 -0
- package/src/{units → expressions/quantities/units}/unit-parser.ts +1 -2
- package/src/{units → expressions/quantities/units}/units.ts +3 -4
- package/src/{cmd → expressions/workload/cmd}/cli-command.ts +35 -31
- package/src/{cmd → expressions/workload/cmd}/cli-term.ts +9 -9
- package/src/expressions/workload/cmd/index.ts +2 -0
- package/src/expressions/workload/cmd/types.ts +4 -0
- package/src/{_cronjob → expressions/workload/cronjob}/index.ts +1 -1
- package/src/{image → expressions/workload/image}/family.ts +1 -1
- package/src/expressions/workload/index.ts +4 -0
- package/src/index.ts +5 -21
- package/src/{displayers → utils}/bind.ts +4 -4
- package/src/{displayers → utils/displayers}/displayers.ts +28 -20
- package/src/{_embedder → utils/embedder}/base.ts +9 -5
- package/src/utils/index.ts +4 -0
- package/dist/_cronjob/index.d.ts.map +0 -1
- package/dist/_cronjob/index.js.map +0 -1
- package/dist/_cronjob/types.d.ts.map +0 -1
- package/dist/_cronjob/types.js.map +0 -1
- package/dist/_embedder/base.d.ts.map +0 -1
- package/dist/_embedder/base.js.map +0 -1
- package/dist/_embedder/index.d.ts.map +0 -1
- package/dist/_embedder/index.js.map +0 -1
- package/dist/_ip/index.d.ts.map +0 -1
- package/dist/_ip/index.js.map +0 -1
- package/dist/_string/index.d.ts.map +0 -1
- package/dist/_string/index.js.map +0 -1
- package/dist/_string/markers.d.ts.map +0 -1
- package/dist/_string/markers.js.map +0 -1
- package/dist/_string/post-processor.d.ts.map +0 -1
- package/dist/_string/post-processor.js.map +0 -1
- package/dist/_string/pretty-objects.d.ts.map +0 -1
- package/dist/_string/pretty-objects.js.map +0 -1
- package/dist/_string/pretty-print.d.ts.map +0 -1
- package/dist/_string/pretty-print.js.map +0 -1
- package/dist/_string/super-script.d.ts.map +0 -1
- package/dist/_string/super-script.js.map +0 -1
- package/dist/_user/index.d.ts.map +0 -1
- package/dist/_user/index.js.map +0 -1
- package/dist/api-kind/index.d.ts +0 -45
- package/dist/api-kind/index.d.ts.map +0 -1
- package/dist/api-kind/index.js.map +0 -1
- package/dist/cmd/cli-command.d.ts.map +0 -1
- package/dist/cmd/cli-command.js.map +0 -1
- package/dist/cmd/cli-term.d.ts.map +0 -1
- package/dist/cmd/cli-term.js.map +0 -1
- package/dist/cmd/index.d.ts +0 -3
- package/dist/cmd/index.d.ts.map +0 -1
- package/dist/cmd/index.js.map +0 -1
- package/dist/cmd/types.d.ts +0 -5
- package/dist/cmd/types.d.ts.map +0 -1
- package/dist/cmd/types.js.map +0 -1
- package/dist/data-sources/index.d.ts.map +0 -1
- package/dist/data-sources/index.js.map +0 -1
- package/dist/displayers/bind.d.ts +0 -4
- package/dist/displayers/bind.d.ts.map +0 -1
- package/dist/displayers/bind.js.map +0 -1
- package/dist/displayers/displayers.d.ts.map +0 -1
- package/dist/displayers/displayers.js.map +0 -1
- package/dist/displayers/index.d.ts.map +0 -1
- package/dist/displayers/index.js.map +0 -1
- package/dist/forward-exports/delayed-exports.d.ts +0 -18
- package/dist/forward-exports/delayed-exports.d.ts.map +0 -1
- package/dist/forward-exports/delayed-exports.js +0 -115
- package/dist/forward-exports/delayed-exports.js.map +0 -1
- package/dist/forward-exports/index.d.ts +0 -2
- package/dist/forward-exports/index.d.ts.map +0 -1
- package/dist/forward-exports/index.js.map +0 -1
- package/dist/graph/base-node.d.ts +0 -35
- package/dist/graph/base-node.d.ts.map +0 -1
- package/dist/graph/base-node.js +0 -112
- package/dist/graph/base-node.js.map +0 -1
- package/dist/graph/base-origin-entity.d.ts +0 -19
- package/dist/graph/base-origin-entity.d.ts.map +0 -1
- package/dist/graph/base-origin-entity.js.map +0 -1
- package/dist/graph/dependencies.d.ts +0 -12
- package/dist/graph/dependencies.d.ts.map +0 -1
- package/dist/graph/dependencies.js.map +0 -1
- package/dist/graph/index.d.ts +0 -7
- package/dist/graph/index.d.ts.map +0 -1
- package/dist/graph/index.js +0 -23
- package/dist/graph/index.js.map +0 -1
- package/dist/graph/origin-node.d.ts +0 -32
- package/dist/graph/origin-node.d.ts.map +0 -1
- package/dist/graph/origin-node.js.map +0 -1
- package/dist/graph/relations.d.ts +0 -26
- package/dist/graph/relations.d.ts.map +0 -1
- package/dist/graph/relations.js +0 -36
- package/dist/graph/relations.js.map +0 -1
- package/dist/graph/resource-node.d.ts +0 -35
- package/dist/graph/resource-node.d.ts.map +0 -1
- package/dist/graph/resource-node.js.map +0 -1
- package/dist/image/family.d.ts.map +0 -1
- package/dist/image/family.js.map +0 -1
- package/dist/image/index.d.ts.map +0 -1
- package/dist/image/index.js.map +0 -1
- package/dist/kind-map/index.d.ts +0 -44
- package/dist/kind-map/index.d.ts.map +0 -1
- package/dist/kind-map/index.js +0 -125
- package/dist/kind-map/index.js.map +0 -1
- package/dist/manifest/index.d.ts +0 -46
- package/dist/manifest/index.d.ts.map +0 -1
- package/dist/manifest/index.js.map +0 -1
- package/dist/manifest/manifest-builder.d.ts +0 -41
- package/dist/manifest/manifest-builder.d.ts.map +0 -1
- package/dist/manifest/manifest-builder.js +0 -64
- package/dist/manifest/manifest-builder.js.map +0 -1
- package/dist/ports/error.d.ts.map +0 -1
- package/dist/ports/error.js.map +0 -1
- package/dist/ports/index.d.ts.map +0 -1
- package/dist/ports/index.js.map +0 -1
- package/dist/ports/map.d.ts.map +0 -1
- package/dist/ports/map.js.map +0 -1
- package/dist/ports/set.d.ts.map +0 -1
- package/dist/ports/set.js.map +0 -1
- package/dist/ports/tools/entry.d.ts.map +0 -1
- package/dist/ports/tools/entry.js.map +0 -1
- package/dist/ports/tools/parse.d.ts.map +0 -1
- package/dist/ports/tools/parse.js.map +0 -1
- package/dist/ports/types.d.ts.map +0 -1
- package/dist/ports/types.js.map +0 -1
- package/dist/producer/index.d.ts +0 -2
- package/dist/producer/index.d.ts.map +0 -1
- package/dist/producer/index.js.map +0 -1
- package/dist/producer/producer.d.ts +0 -6
- package/dist/producer/producer.d.ts.map +0 -1
- package/dist/producer/producer.js +0 -13
- package/dist/producer/producer.js.map +0 -1
- package/dist/ref-key/index.d.ts.map +0 -1
- package/dist/ref-key/index.js.map +0 -1
- package/dist/ref-key/ref-key.d.ts +0 -23
- package/dist/ref-key/ref-key.d.ts.map +0 -1
- package/dist/ref-key/ref-key.js +0 -69
- package/dist/ref-key/ref-key.js.map +0 -1
- package/dist/reference/forward-ref.d.ts +0 -22
- package/dist/reference/forward-ref.d.ts.map +0 -1
- package/dist/reference/forward-ref.js +0 -113
- package/dist/reference/forward-ref.js.map +0 -1
- package/dist/reference/index.d.ts +0 -4
- package/dist/reference/index.d.ts.map +0 -1
- package/dist/reference/index.js +0 -8
- package/dist/reference/index.js.map +0 -1
- package/dist/reference/refable.d.ts +0 -9
- package/dist/reference/refable.d.ts.map +0 -1
- package/dist/reference/refable.js.map +0 -1
- package/dist/resources/index.d.ts.map +0 -1
- package/dist/resources/index.js.map +0 -1
- package/dist/resources/objects.d.ts.map +0 -1
- package/dist/resources/objects.js +0 -100
- package/dist/resources/objects.js.map +0 -1
- package/dist/resources/parser.d.ts.map +0 -1
- package/dist/resources/parser.js.map +0 -1
- package/dist/resources/types.d.ts +0 -24
- package/dist/resources/types.d.ts.map +0 -1
- package/dist/resources/types.js.map +0 -1
- package/dist/timezone.d.ts.map +0 -1
- package/dist/tracing/git.d.ts.map +0 -1
- package/dist/tracing/git.js.map +0 -1
- package/dist/tracing/index.d.ts.map +0 -1
- package/dist/tracing/index.js.map +0 -1
- package/dist/tracing/trace.d.ts.map +0 -1
- package/dist/tracing/trace.js.map +0 -1
- package/dist/tracing/traced.d.ts.map +0 -1
- package/dist/tracing/traced.js +0 -6
- package/dist/tracing/traced.js.map +0 -1
- package/dist/types.d.ts +0 -7
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/units/index.d.ts.map +0 -1
- package/dist/units/index.js.map +0 -1
- package/dist/units/unit-parser.d.ts.map +0 -1
- package/dist/units/unit-parser.js.map +0 -1
- package/dist/units/units.d.ts.map +0 -1
- package/dist/units/units.js.map +0 -1
- package/src/api-kind/index.ts +0 -142
- package/src/cmd/index.ts +0 -2
- package/src/cmd/types.ts +0 -4
- package/src/data-sources/index.ts +0 -126
- package/src/forward-exports/delayed-exports.ts +0 -157
- package/src/forward-exports/index.ts +0 -1
- package/src/graph/base-node.ts +0 -135
- package/src/graph/base-origin-entity.ts +0 -44
- package/src/graph/dependencies.ts +0 -30
- package/src/graph/index.ts +0 -6
- package/src/graph/origin-node.ts +0 -122
- package/src/graph/relations.ts +0 -62
- package/src/kind-map/index.ts +0 -150
- package/src/manifest/manifest-builder.ts +0 -99
- package/src/producer/index.ts +0 -1
- package/src/producer/producer.ts +0 -18
- package/src/ref-key/ref-key.ts +0 -76
- package/src/reference/forward-ref.ts +0 -122
- package/src/reference/index.ts +0 -3
- package/src/reference/refable.ts +0 -12
- package/src/resources/objects.ts +0 -102
- package/src/resources/types.ts +0 -30
- package/src/types.ts +0 -13
- /package/dist/{ref-key → core/graph/resource/ref-key}/index.d.ts +0 -0
- /package/dist/{ref-key → core/graph/resource/ref-key}/index.js +0 -0
- /package/dist/{reference → core/graph/resource/reference}/refable.js +0 -0
- /package/dist/{tracing → core/tracing}/index.d.ts +0 -0
- /package/dist/{tracing → core/tracing}/index.js +0 -0
- /package/dist/{tracing → core/tracing}/trace.d.ts +0 -0
- /package/dist/{tracing → core/tracing}/trace.js +0 -0
- /package/dist/{_ip → expressions/network/ip}/index.d.ts +0 -0
- /package/dist/{_ip → expressions/network/ip}/index.js +0 -0
- /package/dist/{ports → expressions/network/ports}/error.d.ts +0 -0
- /package/dist/{ports → expressions/network/ports}/error.js +0 -0
- /package/dist/{ports → expressions/network/ports}/index.js +0 -0
- /package/dist/{ports → expressions/network/ports}/tools/parse.d.ts +0 -0
- /package/dist/{ports → expressions/network/ports}/tools/parse.js +0 -0
- /package/dist/{_cronjob → expressions/network/ports}/types.js +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/index.d.ts +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/index.js +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/parser.d.ts +0 -0
- /package/dist/{resources → expressions/quantities/reqlem}/parser.js +0 -0
- /package/dist/{cmd → expressions/quantities/reqlem}/types.js +0 -0
- /package/dist/{units → expressions/quantities/units}/index.d.ts +0 -0
- /package/dist/{units → expressions/quantities/units}/index.js +0 -0
- /package/dist/{timezone.d.ts → expressions/timezone.d.ts} +0 -0
- /package/dist/{timezone.js → expressions/timezone.js} +0 -0
- /package/dist/{_user → expressions/workload/_user}/index.d.ts +0 -0
- /package/dist/{_user → expressions/workload/_user}/index.js +0 -0
- /package/dist/{cmd → expressions/workload/cmd}/index.js +0 -0
- /package/dist/{ports → expressions/workload/cmd}/types.js +0 -0
- /package/dist/{_cronjob → expressions/workload/cronjob}/index.d.ts +0 -0
- /package/dist/{_cronjob → expressions/workload/cronjob}/types.d.ts +0 -0
- /package/dist/{resources → expressions/workload/cronjob}/types.js +0 -0
- /package/dist/{image → expressions/workload/image}/family.d.ts +0 -0
- /package/dist/{image → expressions/workload/image}/index.d.ts +0 -0
- /package/dist/{image → expressions/workload/image}/index.js +0 -0
- /package/dist/{_string → utils/_string}/index.d.ts +0 -0
- /package/dist/{_string → utils/_string}/index.js +0 -0
- /package/dist/{_string → utils/_string}/markers.d.ts +0 -0
- /package/dist/{_string → utils/_string}/markers.js +0 -0
- /package/dist/{_string → utils/_string}/post-processor.d.ts +0 -0
- /package/dist/{_string → utils/_string}/post-processor.js +0 -0
- /package/dist/{_string → utils/_string}/pretty-objects.d.ts +0 -0
- /package/dist/{_string → utils/_string}/pretty-objects.js +0 -0
- /package/dist/{_string → utils/_string}/pretty-print.d.ts +0 -0
- /package/dist/{_string → utils/_string}/pretty-print.js +0 -0
- /package/dist/{_string → utils/_string}/super-script.d.ts +0 -0
- /package/dist/{_string → utils/_string}/super-script.js +0 -0
- /package/dist/{displayers → utils/displayers}/index.d.ts +0 -0
- /package/dist/{displayers → utils/displayers}/index.js +0 -0
- /package/dist/{_embedder → utils/embedder}/index.d.ts +0 -0
- /package/dist/{_embedder → utils/embedder}/index.js +0 -0
- /package/src/{ref-key → core/graph/resource/ref-key}/index.ts +0 -0
- /package/src/{tracing → core/tracing}/index.ts +0 -0
- /package/src/{tracing → core/tracing}/trace.ts +0 -0
- /package/src/{_ip → expressions/network/ip}/index.ts +0 -0
- /package/src/{ports → expressions/network/ports}/error.ts +0 -0
- /package/src/{ports → expressions/network/ports}/tools/parse.ts +0 -0
- /package/src/{resources → expressions/quantities/reqlem}/index.ts +0 -0
- /package/src/{resources → expressions/quantities/reqlem}/parser.ts +0 -0
- /package/src/{units → expressions/quantities/units}/index.ts +0 -0
- /package/src/{timezone.ts → expressions/timezone.ts} +0 -0
- /package/src/{_user → expressions/workload/_user}/index.ts +0 -0
- /package/src/{_cronjob → expressions/workload/cronjob}/types.ts +0 -0
- /package/src/{image → expressions/workload/image}/index.ts +0 -0
- /package/src/{_string → utils/_string}/index.ts +0 -0
- /package/src/{_string → utils/_string}/markers.ts +0 -0
- /package/src/{_string → utils/_string}/post-processor.ts +0 -0
- /package/src/{_string → utils/_string}/pretty-objects.ts +0 -0
- /package/src/{_string → utils/_string}/pretty-print.ts +0 -0
- /package/src/{_string → utils/_string}/super-script.ts +0 -0
- /package/src/{displayers → utils/displayers}/index.ts +0 -0
- /package/src/{_embedder → utils/embedder}/index.ts +0 -0
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { doddle, DoddleAsync } from "doddle"
|
|
2
|
-
import { readFile } from "fs/promises"
|
|
3
|
-
import { Map } from "immutable"
|
|
4
|
-
import { dirname, join, resolve } from "path"
|
|
5
|
-
import StackTracey from "stacktracey"
|
|
6
|
-
import { InstrumentsError } from "../error"
|
|
7
|
-
export type LocalFileMode = "text" | "binary"
|
|
8
|
-
|
|
9
|
-
export interface LocalFileSourceProps<Mode extends LocalFileMode = "text"> {
|
|
10
|
-
pointOfCall: StackTracey
|
|
11
|
-
path: string
|
|
12
|
-
cwd?: string
|
|
13
|
-
mode?: Mode
|
|
14
|
-
}
|
|
15
|
-
export class LocalFileSource<Mode extends LocalFileMode = "text"> {
|
|
16
|
-
constructor(private readonly _props: LocalFileSourceProps<Mode>) {}
|
|
17
|
-
|
|
18
|
-
get cwd() {
|
|
19
|
-
if (this._props.cwd) {
|
|
20
|
-
return this._props.cwd
|
|
21
|
-
}
|
|
22
|
-
const where = this._props.pointOfCall.at(0)
|
|
23
|
-
return dirname(where.file)
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
get path() {
|
|
27
|
-
const where = this._props.pointOfCall.at(0)
|
|
28
|
-
const joined = join(dirname(where.file), this._props.path)
|
|
29
|
-
return resolve(joined)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
contents = doddle(async () => {
|
|
33
|
-
const mode = this._props.mode ?? "text"
|
|
34
|
-
if (mode === "binary") {
|
|
35
|
-
const data = await readFile(this.path, null)
|
|
36
|
-
return data
|
|
37
|
-
}
|
|
38
|
-
return readFile(this.path, "utf-8")
|
|
39
|
-
}) as DoddleAsync<Mode extends "text" ? string : Uint8Array>
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export function localFile<Mode extends LocalFileMode = "text">(
|
|
43
|
-
path: string,
|
|
44
|
-
props?: Pick<LocalFileSourceProps<Mode>, "cwd" | "mode">
|
|
45
|
-
): LocalFileSource<Mode>
|
|
46
|
-
export function localFile(args: TemplateStringsArray, ...params: any[]): LocalFileSource<"text">
|
|
47
|
-
export function localFile(args: any, ...params: any[]) {
|
|
48
|
-
if (typeof args === "string") {
|
|
49
|
-
const options = params[0] ?? {}
|
|
50
|
-
return new LocalFileSource({
|
|
51
|
-
pointOfCall: new StackTracey().slice(1),
|
|
52
|
-
path: args,
|
|
53
|
-
...(options ?? {})
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
const path = String.raw(args, ...params)
|
|
57
|
-
return new LocalFileSource({
|
|
58
|
-
pointOfCall: new StackTracey().slice(1),
|
|
59
|
-
path
|
|
60
|
-
})
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export interface TypedArrayLike {
|
|
64
|
-
buffer: ArrayBuffer
|
|
65
|
-
byteLength: number
|
|
66
|
-
}
|
|
67
|
-
export type DataSource_Text = LocalFileSource<"text"> | string
|
|
68
|
-
export type DataSource_Binary = LocalFileSource<"binary"> | TypedArrayLike | ArrayBuffer
|
|
69
|
-
export type DataSourceRecord_Text = Record<string, DataSource_Text>
|
|
70
|
-
export type DataSourceRecord_Binary = Record<string, DataSource_Binary>
|
|
71
|
-
export type DataSourceRecord = DataSourceRecord_Text | DataSourceRecord_Binary
|
|
72
|
-
export function isTypedArray(data: DataSource_Binary): data is TypedArrayLike {
|
|
73
|
-
return (
|
|
74
|
-
typeof data === "object" &&
|
|
75
|
-
"buffer" in data &&
|
|
76
|
-
"byteSize" in data &&
|
|
77
|
-
typeof data.byteSize === "number"
|
|
78
|
-
)
|
|
79
|
-
}
|
|
80
|
-
export function isArrayBuffer(data: DataSource_Binary): data is ArrayBuffer {
|
|
81
|
-
return data instanceof ArrayBuffer
|
|
82
|
-
}
|
|
83
|
-
export interface DataSourceResolvedRecord {
|
|
84
|
-
data: Record<string, string>
|
|
85
|
-
binaryData: Record<string, Uint8Array>
|
|
86
|
-
}
|
|
87
|
-
type MaybePromise<T> = T | Promise<T>
|
|
88
|
-
async function promiseAllMap<K, V>(m: Map<K, MaybePromise<V>>) {
|
|
89
|
-
const promises = m.toArray().map(async x => [x[0], await x[1]] as [K, V])
|
|
90
|
-
const res = await Promise.all(promises)
|
|
91
|
-
return Map(res)
|
|
92
|
-
}
|
|
93
|
-
export async function resolveText(record: DataSourceRecord_Text) {
|
|
94
|
-
const mp = Map(record).map(async (v, k) => {
|
|
95
|
-
let resolved = v
|
|
96
|
-
if (v instanceof LocalFileSource) {
|
|
97
|
-
resolved = await v.contents.pull()
|
|
98
|
-
}
|
|
99
|
-
if (typeof resolved !== "string") {
|
|
100
|
-
throw new InstrumentsError(
|
|
101
|
-
`Got an invalid data value ${v} for key ${k}. Must be a string.`
|
|
102
|
-
)
|
|
103
|
-
}
|
|
104
|
-
return resolved
|
|
105
|
-
})
|
|
106
|
-
return promiseAllMap(mp)
|
|
107
|
-
}
|
|
108
|
-
export async function resolveBinary(record: DataSourceRecord_Binary) {
|
|
109
|
-
const mp = Map(record).map(async (v, k) => {
|
|
110
|
-
let resolved = v
|
|
111
|
-
if (v instanceof LocalFileSource) {
|
|
112
|
-
resolved = await v.contents.pull()
|
|
113
|
-
}
|
|
114
|
-
if (isTypedArray(resolved)) {
|
|
115
|
-
return new Uint8Array(resolved.buffer)
|
|
116
|
-
} else if (isArrayBuffer(resolved)) {
|
|
117
|
-
return new Uint8Array(resolved)
|
|
118
|
-
} else {
|
|
119
|
-
throw new InstrumentsError(
|
|
120
|
-
`Got an invalid data value ${v} for key ${k}. Must be binary data.`
|
|
121
|
-
)
|
|
122
|
-
}
|
|
123
|
-
})
|
|
124
|
-
|
|
125
|
-
return promiseAllMap(mp)
|
|
126
|
-
}
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import { seq } from "doddle"
|
|
2
|
-
import { ProxyOperationError } from "../error"
|
|
3
|
-
import { ResourceEntity } from "../graph"
|
|
4
|
-
import { Origin } from "../graph/origin-node"
|
|
5
|
-
import type { LiveRefable } from "../reference"
|
|
6
|
-
import { ForwardRef } from "../reference"
|
|
7
|
-
|
|
8
|
-
export type FutureExports<Exps extends LiveRefable> = FutureExports.FutureExports<Exps>
|
|
9
|
-
export namespace FutureExports {
|
|
10
|
-
export type FutureExports<Exps extends LiveRefable> = _ExportsByKey<Exps>
|
|
11
|
-
type _ExportsByKey<Exports extends LiveRefable = LiveRefable> = {
|
|
12
|
-
[E in Exports as `${E["kind"]["name"]}/${E["name"]}`]: ForwardRef<E>
|
|
13
|
-
}
|
|
14
|
-
export interface Props<
|
|
15
|
-
Actual extends object = object,
|
|
16
|
-
Exports extends LiveRefable = LiveRefable
|
|
17
|
-
> {
|
|
18
|
-
readonly origin: Origin
|
|
19
|
-
readonly actual: Actual
|
|
20
|
-
readonly exports: Iterable<Exports>
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function make<T extends LiveRefable, Actual extends object>(
|
|
24
|
-
props: Props<Actual, T>
|
|
25
|
-
): Actual & FutureExports<LiveRefable> {
|
|
26
|
-
const handler = new Handler(props)
|
|
27
|
-
return new Proxy(props.actual, handler) as any
|
|
28
|
-
}
|
|
29
|
-
class Handler implements ProxyHandler<object> {
|
|
30
|
-
constructor(private readonly _props: Props) {}
|
|
31
|
-
|
|
32
|
-
#createImmutableError(action: string) {
|
|
33
|
-
return new ProxyOperationError(
|
|
34
|
-
`Tried to ${action} an the exports constructs of ${this._props.origin}, but it is immutable.`
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
defineProperty(_: object, property: string | symbol, __: PropertyDescriptor): boolean {
|
|
39
|
-
throw this.#createImmutableError(`define property ${String(property)} on`)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
deleteProperty(_: object, property: string | symbol): boolean {
|
|
43
|
-
throw this.#createImmutableError(`delete property ${String(property)} from`)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
getPrototypeOf(_: Iterable<LiveRefable>): object | null {
|
|
47
|
-
return Reflect.getPrototypeOf(this._target)
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
get seq() {
|
|
51
|
-
return seq(this._props.exports)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
#isValidReferant(prop: PropertyKey) {
|
|
55
|
-
return this._props.origin.resourceKinds.tryParse(prop as string) != null
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
get _target() {
|
|
59
|
-
return this._props.actual
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
get(target: any, property: string | symbol): any {
|
|
63
|
-
const key = property as string
|
|
64
|
-
if (Reflect.has(this._target, key)) {
|
|
65
|
-
const x = Reflect.get(this._target, property)
|
|
66
|
-
if (typeof x === "function") {
|
|
67
|
-
return x.bind(this._target)
|
|
68
|
-
}
|
|
69
|
-
return x
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
const refKey = this._props.origin.resourceKinds.tryParse(key)
|
|
73
|
-
if (refKey == null) {
|
|
74
|
-
return undefined
|
|
75
|
-
}
|
|
76
|
-
const cls = this._props.origin.resourceKinds.getClass(refKey)
|
|
77
|
-
return ForwardRef.make({
|
|
78
|
-
class: cls,
|
|
79
|
-
key: refKey,
|
|
80
|
-
origin: this._props.origin,
|
|
81
|
-
namespace: this._props.origin.meta.tryGet("namespace"),
|
|
82
|
-
resolver: this.seq
|
|
83
|
-
.as<ResourceEntity>()
|
|
84
|
-
.first(exp => exp.node.key.equals(refKey))
|
|
85
|
-
.map(x => {
|
|
86
|
-
if (x == null) {
|
|
87
|
-
throw new ProxyOperationError(
|
|
88
|
-
`Failed to resolve forward reference to ${refKey} in ${this._props.origin}.`
|
|
89
|
-
)
|
|
90
|
-
}
|
|
91
|
-
return x
|
|
92
|
-
})
|
|
93
|
-
})
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
has(_: Iterable<LiveRefable>, p: string | symbol): boolean {
|
|
97
|
-
if (Reflect.has(this._target, p)) {
|
|
98
|
-
return true
|
|
99
|
-
}
|
|
100
|
-
if (!this.#isValidReferant(p)) {
|
|
101
|
-
return false
|
|
102
|
-
}
|
|
103
|
-
return true
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
isExtensible(target: Iterable<LiveRefable>): boolean {
|
|
107
|
-
return false
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
preventExtensions(target: Iterable<LiveRefable>): boolean {
|
|
111
|
-
return true
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
ownKeys(target: Iterable<LiveRefable>): ArrayLike<string | symbol> {
|
|
115
|
-
throw new ProxyOperationError(
|
|
116
|
-
`Cannot list all keys of a dynamic exports construct for ${this._props.origin}.`
|
|
117
|
-
)
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
set(
|
|
121
|
-
target: Iterable<LiveRefable>,
|
|
122
|
-
p: string | symbol,
|
|
123
|
-
newValue: any,
|
|
124
|
-
receiver: any
|
|
125
|
-
): boolean {
|
|
126
|
-
throw this.#createImmutableError(`set property ${String(p)} on`)
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
setPrototypeOf(target: Iterable<LiveRefable>, v: any): boolean {
|
|
130
|
-
throw this.#createImmutableError(`set prototype of`)
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
_tryTargetDescriptor(p: PropertyKey) {
|
|
134
|
-
return Object.getOwnPropertyDescriptor(this._target, p)
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
getOwnPropertyDescriptor(
|
|
138
|
-
target: Iterable<LiveRefable>,
|
|
139
|
-
p: string | symbol
|
|
140
|
-
): PropertyDescriptor | undefined {
|
|
141
|
-
const desc = this._tryTargetDescriptor(p)
|
|
142
|
-
if (desc) {
|
|
143
|
-
return desc
|
|
144
|
-
}
|
|
145
|
-
const value = this.get(this._target, p)
|
|
146
|
-
if (value == null) {
|
|
147
|
-
return undefined
|
|
148
|
-
}
|
|
149
|
-
return {
|
|
150
|
-
configurable: false,
|
|
151
|
-
enumerable: true,
|
|
152
|
-
value,
|
|
153
|
-
writable: false
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./delayed-exports"
|
package/src/graph/base-node.ts
DELETED
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { Seq, seq } from "doddle"
|
|
2
|
-
import { hash, Set } from "immutable"
|
|
3
|
-
import { Kind } from "../api-kind"
|
|
4
|
-
import { RefKey } from "../ref-key"
|
|
5
|
-
import { ForwardRef } from "../reference"
|
|
6
|
-
import { Relation } from "./dependencies"
|
|
7
|
-
|
|
8
|
-
export interface BaseEntity<Node extends BaseNode<Node>> {
|
|
9
|
-
readonly node: Node
|
|
10
|
-
|
|
11
|
-
readonly kind: Kind.Identifier
|
|
12
|
-
readonly name: string
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export abstract class BaseNode<
|
|
16
|
-
Node extends BaseNode<Node, Entity>,
|
|
17
|
-
Entity extends BaseEntity<Node> = BaseEntity<Node>
|
|
18
|
-
> {
|
|
19
|
-
private _eqProxy = {}
|
|
20
|
-
abstract readonly key: RefKey
|
|
21
|
-
get kind() {
|
|
22
|
-
return this.key.kind
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
abstract readonly kids: Seq<Node>
|
|
26
|
-
abstract readonly relations: Seq<Relation<Node>>
|
|
27
|
-
abstract readonly parent: Node | null
|
|
28
|
-
protected get _asNode() {
|
|
29
|
-
return this as any as Node
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
constructor(readonly _entity: Entity) {}
|
|
33
|
-
|
|
34
|
-
get shortFqn() {
|
|
35
|
-
return `${this.kind.name}/${this.name}`
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
get root(): Node {
|
|
39
|
-
return (this.ancestors.at(-1).pull() as any) ?? (this as any)
|
|
40
|
-
}
|
|
41
|
-
get name() {
|
|
42
|
-
return this.key.name
|
|
43
|
-
}
|
|
44
|
-
get isRoot() {
|
|
45
|
-
return this.parent === null && this._entity.kind.name !== "PodTemplate"
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
hashCode() {
|
|
49
|
-
return hash(this._eqProxy)
|
|
50
|
-
}
|
|
51
|
-
equals(other: any) {
|
|
52
|
-
if (ForwardRef.is(other)) {
|
|
53
|
-
return other.equals(this)
|
|
54
|
-
}
|
|
55
|
-
return this === other
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
readonly ancestors = seq(() => {
|
|
59
|
-
const seen = Set<Node>()
|
|
60
|
-
const recurse = function* (from: Node): Iterable<Node> {
|
|
61
|
-
const parent = from.parent
|
|
62
|
-
if (parent && !seen.has(parent)) {
|
|
63
|
-
seen.add(parent)
|
|
64
|
-
yield parent
|
|
65
|
-
yield* recurse(parent)
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
return seq(recurse.bind(null, this._asNode))
|
|
69
|
-
}).cache()
|
|
70
|
-
|
|
71
|
-
readonly descendants = seq(() => {
|
|
72
|
-
const self = this
|
|
73
|
-
let seen = Set<Node>()
|
|
74
|
-
const recurse = function* (from: Node): Iterable<Node> {
|
|
75
|
-
for (const kid of from.kids) {
|
|
76
|
-
if (seen.has(kid)) {
|
|
77
|
-
continue
|
|
78
|
-
}
|
|
79
|
-
seen = seen.add(kid)
|
|
80
|
-
yield kid
|
|
81
|
-
yield* recurse(kid)
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return seq(recurse.bind(null, self._asNode))
|
|
85
|
-
}).cache()
|
|
86
|
-
|
|
87
|
-
isParentOf(other: Node): boolean {
|
|
88
|
-
if (ForwardRef.is(other)) {
|
|
89
|
-
return other.isChildOf(this._asNode)
|
|
90
|
-
}
|
|
91
|
-
return Set(this.descendants).has(other)
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
isChildOf(other: Node): boolean {
|
|
95
|
-
if (ForwardRef.is(other)) {
|
|
96
|
-
return other.isParentOf(this._asNode)
|
|
97
|
-
}
|
|
98
|
-
return this.equals(other) || Set(this.ancestors).has(other._asNode)
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
hasRelationTo(other: Node): boolean {
|
|
102
|
-
return this.recursiveRelations.some(x => x.needed.equals(other)).pull()
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
readonly recursiveRelationsSubtree = seq((): Seq<Relation<Node>> => {
|
|
106
|
-
const self = this
|
|
107
|
-
return seq(function* () {
|
|
108
|
-
for (const child of [self, ...self.descendants] as Node[]) {
|
|
109
|
-
yield* child.recursiveRelations
|
|
110
|
-
}
|
|
111
|
-
}) as any
|
|
112
|
-
})
|
|
113
|
-
|
|
114
|
-
readonly recursiveRelations = seq(() => {
|
|
115
|
-
let resources = Set<Node>()
|
|
116
|
-
const recurseIntoDependency = function* (root: Relation<Node>): Iterable<Relation<Node>> {
|
|
117
|
-
yield root
|
|
118
|
-
if (resources.has(root.needed)) {
|
|
119
|
-
return
|
|
120
|
-
}
|
|
121
|
-
resources = resources.add(root.needed)
|
|
122
|
-
|
|
123
|
-
const ownDeps = root.needed.relations
|
|
124
|
-
for (const needsEdge of ownDeps) {
|
|
125
|
-
yield* recurseIntoDependency(needsEdge)
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
return seq(recurseIntoDependency.bind(null, new Relation<Node>("self", this._asNode)))
|
|
129
|
-
.after(() => {
|
|
130
|
-
resources = Set()
|
|
131
|
-
})
|
|
132
|
-
.cache()
|
|
133
|
-
})
|
|
134
|
-
}
|
|
135
|
-
export type Formats = "local" | "source" | undefined
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import chalk from "chalk"
|
|
3
|
-
import { doddle, Doddle } from "doddle"
|
|
4
|
-
import { Kind } from "../api-kind"
|
|
5
|
-
import { displayers } from "../displayers"
|
|
6
|
-
import { RefKey } from "../ref-key"
|
|
7
|
-
import { Origin, OriginEntity } from "./origin-node"
|
|
8
|
-
export interface OriginEntityProps {
|
|
9
|
-
meta?: Meta.Input
|
|
10
|
-
alias?: string
|
|
11
|
-
}
|
|
12
|
-
@displayers({
|
|
13
|
-
simple: x => `[${x.shortFqn}]`,
|
|
14
|
-
pretty(origin) {
|
|
15
|
-
const kindPart = chalk.greenBright.bold(origin.kind.name)
|
|
16
|
-
const originName = chalk.cyan(origin.name)
|
|
17
|
-
return `${kindPart}/${originName}`
|
|
18
|
-
}
|
|
19
|
-
})
|
|
20
|
-
export abstract class BaseOriginEntity<Props extends OriginEntityProps = OriginEntityProps>
|
|
21
|
-
implements OriginEntity
|
|
22
|
-
{
|
|
23
|
-
abstract readonly kind: Kind.Kind
|
|
24
|
-
#node: Doddle<Origin>
|
|
25
|
-
|
|
26
|
-
meta: Meta
|
|
27
|
-
get alias() {
|
|
28
|
-
return this.props.alias ?? undefined
|
|
29
|
-
}
|
|
30
|
-
get node() {
|
|
31
|
-
return this.#node.pull()
|
|
32
|
-
}
|
|
33
|
-
constructor(
|
|
34
|
-
readonly name: string,
|
|
35
|
-
readonly props: Props,
|
|
36
|
-
parent: Origin | null
|
|
37
|
-
) {
|
|
38
|
-
this.#node = doddle(() => new Origin(parent, this, RefKey.make(this.kind, name)))
|
|
39
|
-
this.meta = Meta.make(props.meta)
|
|
40
|
-
}
|
|
41
|
-
get shortFqn() {
|
|
42
|
-
return this.node.shortFqn
|
|
43
|
-
}
|
|
44
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { pretty } from "../_string"
|
|
2
|
-
import { displayers } from "../displayers"
|
|
3
|
-
import { BaseNode } from "./base-node"
|
|
4
|
-
import { ResourceEntity } from "./resource-node"
|
|
5
|
-
|
|
6
|
-
export namespace Dependencies {
|
|
7
|
-
export type Input = Record<string, ResourceEntity | undefined>
|
|
8
|
-
}
|
|
9
|
-
export function dependencies(record: Dependencies.Input) {
|
|
10
|
-
return Object.entries(record)
|
|
11
|
-
.map(([key, value]) => {
|
|
12
|
-
if (value) {
|
|
13
|
-
return new Relation(key, value.node)
|
|
14
|
-
}
|
|
15
|
-
})
|
|
16
|
-
.filter(x => !!x)
|
|
17
|
-
}
|
|
18
|
-
@displayers({
|
|
19
|
-
simple: s => [s.why, "-->", s.needed],
|
|
20
|
-
pretty: (dep, format) => {
|
|
21
|
-
const neededFmt = pretty`${["lowkey", dep.needed]}`
|
|
22
|
-
return [dep.why, neededFmt].join("➜ ")
|
|
23
|
-
}
|
|
24
|
-
})
|
|
25
|
-
export class Relation<Node extends BaseNode<Node>> {
|
|
26
|
-
constructor(
|
|
27
|
-
readonly why: string,
|
|
28
|
-
readonly needed: Node
|
|
29
|
-
) {}
|
|
30
|
-
}
|
package/src/graph/index.ts
DELETED
package/src/graph/origin-node.ts
DELETED
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@k8ts/metadata"
|
|
2
|
-
import chalk from "chalk"
|
|
3
|
-
import { doddle, seq, Seq } from "doddle"
|
|
4
|
-
import StackTracey from "stacktracey"
|
|
5
|
-
import { getMarkerForExternal, getMarkerForIndex } from "../_string"
|
|
6
|
-
import { displayers } from "../displayers"
|
|
7
|
-
import { KindMap } from "../kind-map"
|
|
8
|
-
import { RefKey } from "../ref-key"
|
|
9
|
-
import { TraceEmbedder } from "../tracing"
|
|
10
|
-
import { Trace } from "../tracing/trace"
|
|
11
|
-
import { BaseEntity, BaseNode } from "./base-node"
|
|
12
|
-
import { ResourceNode } from "./resource-node"
|
|
13
|
-
@displayers({
|
|
14
|
-
simple: s => `[${s.shortFqn}]`,
|
|
15
|
-
prefix: s => {
|
|
16
|
-
if (s.name === "EXTERNAL") {
|
|
17
|
-
return getMarkerForExternal()
|
|
18
|
-
}
|
|
19
|
-
return getMarkerForIndex(s.index)
|
|
20
|
-
},
|
|
21
|
-
pretty(origin, format) {
|
|
22
|
-
const kindName = chalk.greenBright.bold(origin.kind.name)
|
|
23
|
-
const resourceName = chalk.cyan(origin.name)
|
|
24
|
-
const pref = this.prefix!()
|
|
25
|
-
|
|
26
|
-
return chalk.underline(`${pref}${kindName}:${resourceName}`)
|
|
27
|
-
}
|
|
28
|
-
})
|
|
29
|
-
export class Origin extends BaseNode<Origin, OriginEntity> implements Iterable<ResourceNode> {
|
|
30
|
-
private _kids = [] as Origin[]
|
|
31
|
-
get kids() {
|
|
32
|
-
return seq(this._kids)
|
|
33
|
-
}
|
|
34
|
-
get meta() {
|
|
35
|
-
return this._entity.meta
|
|
36
|
-
}
|
|
37
|
-
readonly index: number
|
|
38
|
-
private readonly _getIndex = doddle(() => {
|
|
39
|
-
let index = 1
|
|
40
|
-
return () => index++
|
|
41
|
-
}).pull()
|
|
42
|
-
constructor(
|
|
43
|
-
readonly parent: Origin | null,
|
|
44
|
-
entity: OriginEntity,
|
|
45
|
-
readonly key: RefKey
|
|
46
|
-
) {
|
|
47
|
-
super(entity)
|
|
48
|
-
this.index = parent?._getIndex() ?? 0
|
|
49
|
-
this._kindMap = new KindMap(undefined, parent?._kindMap)
|
|
50
|
-
}
|
|
51
|
-
get resourceKinds() {
|
|
52
|
-
return this._kindMap
|
|
53
|
-
}
|
|
54
|
-
private _kindMap: KindMap
|
|
55
|
-
private _attached = [] as ResourceNode[]
|
|
56
|
-
|
|
57
|
-
get relations() {
|
|
58
|
-
return seq.empty()
|
|
59
|
-
}
|
|
60
|
-
[Symbol.iterator]() {
|
|
61
|
-
return this.resources[Symbol.iterator]()
|
|
62
|
-
}
|
|
63
|
-
readonly attachedTree: Seq<ResourceNode> = seq(() => {
|
|
64
|
-
const self = this
|
|
65
|
-
const desc = self.descendants
|
|
66
|
-
.concatFirst([this])
|
|
67
|
-
.map(x => x)
|
|
68
|
-
.concatMap(function* (x) {
|
|
69
|
-
yield* self.resources
|
|
70
|
-
for (const kid of self.kids) {
|
|
71
|
-
yield* kid.resources
|
|
72
|
-
}
|
|
73
|
-
})
|
|
74
|
-
return desc
|
|
75
|
-
}).cache()
|
|
76
|
-
|
|
77
|
-
get resources() {
|
|
78
|
-
return this._attached
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
static registerWithOrigin<F extends Function>(ctor: F) {
|
|
82
|
-
const prototype = ctor.prototype
|
|
83
|
-
for (const key of Object.getOwnPropertyNames(prototype)) {
|
|
84
|
-
const value = prototype[key]
|
|
85
|
-
if (!key.match(/^[A-Z]/) || typeof value !== "function") {
|
|
86
|
-
continue
|
|
87
|
-
}
|
|
88
|
-
const orig = prototype[key]
|
|
89
|
-
prototype[key] = {
|
|
90
|
-
[key](this: any, ...args: any[]) {
|
|
91
|
-
const result = orig.apply(this, args) as BaseEntity<any>
|
|
92
|
-
if (
|
|
93
|
-
typeof result === "object" &&
|
|
94
|
-
"node" in result &&
|
|
95
|
-
result.node instanceof ResourceNode
|
|
96
|
-
) {
|
|
97
|
-
result.node.origin.__attach_resource__([result.node])
|
|
98
|
-
TraceEmbedder.set(result.node, new Trace(new StackTracey().slice(1)))
|
|
99
|
-
}
|
|
100
|
-
return result
|
|
101
|
-
}
|
|
102
|
-
}[key]
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
private __attach_child__(child: Origin) {
|
|
107
|
-
this._kids.push(child)
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
private __attach_resource__(resources: ResourceNode | Iterable<ResourceNode>) {
|
|
111
|
-
resources = Symbol.iterator in resources ? resources : [resources]
|
|
112
|
-
for (const resource of resources) {
|
|
113
|
-
this._attached.push(resource)
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
export interface OriginEntity extends BaseEntity<Origin> {
|
|
118
|
-
alias?: string
|
|
119
|
-
meta: Meta
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
export const auto_register = Origin.registerWithOrigin
|
package/src/graph/relations.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Embedder } from "../_embedder/base"
|
|
2
|
-
import { Dependencies, dependencies, Relation } from "./dependencies"
|
|
3
|
-
import { ResourceEntity, ResourceNode } from "./resource-node"
|
|
4
|
-
|
|
5
|
-
export namespace Relations {
|
|
6
|
-
export interface Out {
|
|
7
|
-
needs: () => Iterable<Relation<ResourceNode>>
|
|
8
|
-
parent: () => ResourceNode | null
|
|
9
|
-
kids: () => ResourceNode[]
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export type In<Target extends ResourceEntity = ResourceEntity> = {
|
|
13
|
-
needs: (self: Target) => Dependencies.Input
|
|
14
|
-
parent: (self: Target) => ResourceEntity | null
|
|
15
|
-
kids: (self: Target) => ResourceEntity[]
|
|
16
|
-
} & {
|
|
17
|
-
[key: string]: (self: Target, ...args: any[]) => any
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
class RelationsService {
|
|
22
|
-
private _system = new Embedder<ResourceEntity, Relations.In>("relations")
|
|
23
|
-
|
|
24
|
-
implement(
|
|
25
|
-
ctor: abstract new (...args: any[]) => ResourceEntity,
|
|
26
|
-
input: Relations.In<ResourceEntity>
|
|
27
|
-
) {
|
|
28
|
-
const existing = this._system.tryGet(ctor.prototype)
|
|
29
|
-
if (existing) {
|
|
30
|
-
input = Object.assign({}, existing, input)
|
|
31
|
-
}
|
|
32
|
-
this._system.set(ctor.prototype, input)
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
get(target: ResourceEntity): Relations.Out {
|
|
36
|
-
const input = this._system.get(target)
|
|
37
|
-
const o = {
|
|
38
|
-
kids: () => input.kids?.call(o, target).map(x => x.node) ?? [],
|
|
39
|
-
parent: () => input.parent?.call(o, target)?.node ?? null,
|
|
40
|
-
needs: () => dependencies(input.needs?.call(o, target) ?? {})
|
|
41
|
-
}
|
|
42
|
-
return o
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
get decorator() {
|
|
46
|
-
return <
|
|
47
|
-
Target extends abstract new (...args: any[]) => ResourceEntity,
|
|
48
|
-
Impl extends Partial<Relations.In<InstanceType<Target>>> | "none"
|
|
49
|
-
>(
|
|
50
|
-
input: Impl
|
|
51
|
-
) => {
|
|
52
|
-
return (ctor: Target) => {
|
|
53
|
-
this.implement(ctor, input === "none" ? {} : (input as any))
|
|
54
|
-
return ctor
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
export const Relations = new RelationsService()
|
|
60
|
-
export const relations = Relations.decorator
|
|
61
|
-
|
|
62
|
-
// writing the decorator itself
|