@k8ts/instruments 0.5.3 → 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/expressions/quantities/reqlem/objects.d.ts +24 -0
- 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/expressions/quantities/units/unit-parser.d.ts +29 -0
- package/dist/expressions/quantities/units/unit-parser.d.ts.map +1 -0
- package/dist/{units → expressions/quantities/units}/unit-parser.js +43 -16
- package/dist/expressions/quantities/units/unit-parser.js.map +1 -0
- package/dist/{units → expressions/quantities/units}/units.d.ts +4 -4
- 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/expressions/quantities/units/unit-parser.ts +93 -0
- package/src/{units → expressions/quantities/units}/units.ts +4 -5
- 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 +0 -22
- package/dist/resources/objects.d.ts.map +0 -1
- package/dist/resources/objects.js +0 -97
- 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 -21
- 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 +0 -19
- 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 -99
- package/src/resources/types.ts +0 -26
- package/src/types.ts +0 -13
- package/src/units/unit-parser.ts +0 -63
- /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
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
|
package/src/kind-map/index.ts
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { Map, type Set } from "immutable"
|
|
2
|
-
import { Kind } from "../api-kind"
|
|
3
|
-
import { InstrumentsError } from "../error"
|
|
4
|
-
import { RefKey } from "../ref-key"
|
|
5
|
-
const separator = "/"
|
|
6
|
-
export type LookupKey = NodeEntry[keyof NodeEntry]
|
|
7
|
-
interface NodeEntry {
|
|
8
|
-
kind: string
|
|
9
|
-
class: Function
|
|
10
|
-
ident: Kind.Identifier
|
|
11
|
-
}
|
|
12
|
-
export class KindMap {
|
|
13
|
-
constructor(
|
|
14
|
-
private _entryMap: Map<LookupKey, NodeEntry> = Map([]) as any,
|
|
15
|
-
private _parent: KindMap | undefined = undefined
|
|
16
|
-
) {}
|
|
17
|
-
|
|
18
|
-
refKey<Kind extends string, Name extends string>(
|
|
19
|
-
kind: Kind | Kind.Identifier<Kind>,
|
|
20
|
-
name: Name
|
|
21
|
-
): RefKey<Kind, Name> {
|
|
22
|
-
const trueKind = this.getKind(kind)
|
|
23
|
-
return new RefKey.RefKey(trueKind, name) as any
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
private _bindEntry(entry: NodeEntry) {
|
|
27
|
-
for (const key of [entry.kind, entry.class, entry.ident]) {
|
|
28
|
-
this._entryMap = this._entryMap.set(key, entry)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
add(kind: Kind.Identifier, klass: Function) {
|
|
33
|
-
this._bindEntry({
|
|
34
|
-
kind: kind.name,
|
|
35
|
-
class: klass,
|
|
36
|
-
ident: kind
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
parse(ref: string | RefKey) {
|
|
41
|
-
const result = this.tryParse(ref)
|
|
42
|
-
if (!result) {
|
|
43
|
-
throw new InstrumentsError(`Could not parse reference key: ${ref}`)
|
|
44
|
-
}
|
|
45
|
-
return result
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
tryParse(ref: unknown): RefKey.RefKey | undefined {
|
|
49
|
-
if (typeof ref !== "string" && typeof ref !== "object") {
|
|
50
|
-
return undefined
|
|
51
|
-
}
|
|
52
|
-
if (ref == null) {
|
|
53
|
-
return undefined
|
|
54
|
-
}
|
|
55
|
-
if (ref instanceof RefKey.RefKey) {
|
|
56
|
-
return ref
|
|
57
|
-
}
|
|
58
|
-
if (typeof ref === "object") {
|
|
59
|
-
return undefined
|
|
60
|
-
}
|
|
61
|
-
const [kind, name] = ref.split(separator).map(s => s.trim())
|
|
62
|
-
if (!kind || !name) {
|
|
63
|
-
return undefined
|
|
64
|
-
}
|
|
65
|
-
return this.refKey(kind, name)
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
get kinds(): Set<string> {
|
|
69
|
-
return this._entryMap
|
|
70
|
-
.keySeq()
|
|
71
|
-
.filter(k => typeof k === "string")
|
|
72
|
-
.toSet()
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
private _unknownNameError(kind: string) {
|
|
76
|
-
return new InstrumentsError(`The shorthand name ${kind} is not registered`)
|
|
77
|
-
}
|
|
78
|
-
private _unknownIdentError(ident: Kind.Identifier) {
|
|
79
|
-
return new InstrumentsError(`The kind identifier ${ident} is not registered`)
|
|
80
|
-
}
|
|
81
|
-
private _unknownClassError(klass: Function) {
|
|
82
|
-
return new InstrumentsError(`The class ${klass.name} is not registered`)
|
|
83
|
-
}
|
|
84
|
-
private _convert(something: LookupKey | RefKey.RefKey) {
|
|
85
|
-
if (typeof something === "string") {
|
|
86
|
-
if (something.includes("/")) {
|
|
87
|
-
return this.parse(something).kind
|
|
88
|
-
}
|
|
89
|
-
return something
|
|
90
|
-
} else if (typeof something === "function" || something instanceof Kind.Identifier) {
|
|
91
|
-
return something
|
|
92
|
-
} else if (something instanceof RefKey.RefKey) {
|
|
93
|
-
return something.kind
|
|
94
|
-
}
|
|
95
|
-
throw new InstrumentsError(`Invalid argument ${something}`)
|
|
96
|
-
}
|
|
97
|
-
private _getEntry(key: LookupKey | RefKey.RefKey) {
|
|
98
|
-
const converted = this._convert(key)
|
|
99
|
-
const entry = this._tryGetEntry(key)
|
|
100
|
-
if (!entry) {
|
|
101
|
-
if (typeof converted === "string") {
|
|
102
|
-
throw this._unknownNameError(converted)
|
|
103
|
-
} else if (converted instanceof Kind.Identifier) {
|
|
104
|
-
throw this._unknownIdentError(converted)
|
|
105
|
-
} else if (typeof converted === "function") {
|
|
106
|
-
throw this._unknownClassError(converted)
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
return entry!
|
|
110
|
-
}
|
|
111
|
-
private _tryGetEntry(key: LookupKey | RefKey.RefKey): NodeEntry | undefined {
|
|
112
|
-
const converted = this._convert(key)
|
|
113
|
-
return this._entryMap.get(converted) ?? this._parent?._tryGetEntry(converted) ?? undefined
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
tryGetKind<Name extends string>(refKey: RefKey.RefKey<Name>): Kind.Identifier<Name> | undefined
|
|
117
|
-
tryGetKind<F extends Kind.Identifier>(klass: F): F
|
|
118
|
-
tryGetKind<Name extends string>(kind: Name): Kind.Identifier<Name> | undefined
|
|
119
|
-
tryGetKind(key: LookupKey): Kind.Identifier | undefined
|
|
120
|
-
tryGetKind(kindOrIdent: LookupKey | RefKey.RefKey): Kind.Identifier | undefined {
|
|
121
|
-
return this._tryGetEntry(kindOrIdent)?.ident
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
getKind<K extends Kind.Identifier>(kind: K): K
|
|
125
|
-
getKind<Name extends string>(kind: Name): Kind.Identifier<Name>
|
|
126
|
-
getKind(kindOrClass: LookupKey): Kind.Identifier
|
|
127
|
-
getKind(kindOrClass: string | Function): Kind.Identifier {
|
|
128
|
-
return this._getEntry(kindOrClass).ident
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
tryGetClass(refKey: RefKey.RefKey): Function | undefined
|
|
132
|
-
tryGetClass<F extends Function>(klass: F): F
|
|
133
|
-
tryGetClass(kind: string): Function | undefined
|
|
134
|
-
tryGetClass(ident: Kind.Identifier): Function | undefined
|
|
135
|
-
tryGetClass(kindOrIdent: LookupKey | RefKey.RefKey): Function | undefined {
|
|
136
|
-
return this._tryGetEntry(kindOrIdent)?.class
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
getClass(refKey: RefKey.RefKey): Function
|
|
140
|
-
getClass<F extends Function>(klass: F): F
|
|
141
|
-
getClass(kind: string): Function
|
|
142
|
-
getClass<T extends Function | string>(kindOrClass: T): T extends Function ? string : Function
|
|
143
|
-
getClass(kindOrClass: string | Function | RefKey.RefKey): Function | string {
|
|
144
|
-
return this._getEntry(kindOrClass).class
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
has(kindOrClass: LookupKey): boolean {
|
|
148
|
-
return this._entryMap.has(kindOrClass as any)
|
|
149
|
-
}
|
|
150
|
-
}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
BaseManifest,
|
|
3
|
-
ManifestIdentFields,
|
|
4
|
-
ManifestMetadata,
|
|
5
|
-
ManifestSourceEmbedder,
|
|
6
|
-
PreManifest
|
|
7
|
-
} from "."
|
|
8
|
-
import { Embedder } from "../_embedder/base"
|
|
9
|
-
import { MetadataEntity } from "../graph/resource-node"
|
|
10
|
-
|
|
11
|
-
type MaybePromise<T> = T | Promise<T>
|
|
12
|
-
export namespace ManifestBuilder {
|
|
13
|
-
export interface Out {
|
|
14
|
-
body: () => MaybePromise<PreManifest>
|
|
15
|
-
metadata: () => Partial<ManifestMetadata>
|
|
16
|
-
ident: () => ManifestIdentFields
|
|
17
|
-
manifest: () => MaybePromise<BaseManifest>
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export type In<Target extends MetadataEntity = MetadataEntity> = Partial<{
|
|
21
|
-
[K in keyof Out]: (self: Target) => ReturnType<Out[K]>
|
|
22
|
-
}> & {
|
|
23
|
-
body: (self: Target) => PreManifest
|
|
24
|
-
} & {
|
|
25
|
-
[key: string]: (self: Target, ...args: any[]) => any
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
class BuilderDecorator {
|
|
30
|
-
private _system = new Embedder<MetadataEntity, ManifestBuilder.In>("builder")
|
|
31
|
-
|
|
32
|
-
implement(
|
|
33
|
-
ctor: { new (...args: any[]): MetadataEntity },
|
|
34
|
-
input: ManifestBuilder.In<MetadataEntity>
|
|
35
|
-
) {
|
|
36
|
-
this._system.set(ctor.prototype, {
|
|
37
|
-
...input
|
|
38
|
-
})
|
|
39
|
-
}
|
|
40
|
-
private _metadata(self: MetadataEntity) {
|
|
41
|
-
return {
|
|
42
|
-
name: self.meta.get("name"),
|
|
43
|
-
namespace: self.meta.tryGet("namespace"),
|
|
44
|
-
labels: self.meta.labels,
|
|
45
|
-
annotations: self.meta.annotations
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
private _idents(self: MetadataEntity) {
|
|
50
|
-
return {
|
|
51
|
-
apiVersion: self.kind.parent!.text,
|
|
52
|
-
kind: self.kind.name
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async manifest(trait: ManifestBuilder.Out, self: MetadataEntity) {
|
|
57
|
-
const mani = {
|
|
58
|
-
...trait.ident(),
|
|
59
|
-
metadata: trait.metadata(),
|
|
60
|
-
...(await trait.body())
|
|
61
|
-
}
|
|
62
|
-
ManifestSourceEmbedder.set(mani, self)
|
|
63
|
-
return mani
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
idents(self: MetadataEntity) {
|
|
67
|
-
return {
|
|
68
|
-
kind: self.kind.name,
|
|
69
|
-
apiVersion: self.kind.parent!.text
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
get(target: MetadataEntity): ManifestBuilder.Out {
|
|
73
|
-
const input = this._system.get(target)
|
|
74
|
-
const o: ManifestBuilder.Out = {
|
|
75
|
-
ident: () => input.ident?.call(o, target) ?? this._idents(target),
|
|
76
|
-
metadata: () => input.metadata?.call(o, target) ?? this._metadata(target),
|
|
77
|
-
body: () => input.body.call(o, target),
|
|
78
|
-
manifest: () => this.manifest(o, target) as any
|
|
79
|
-
}
|
|
80
|
-
return o
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
get decorator() {
|
|
84
|
-
return <Target extends new (...args: any[]) => MetadataEntity>(
|
|
85
|
-
input: ManifestBuilder.In<InstanceType<Target>>
|
|
86
|
-
) => {
|
|
87
|
-
return (ctor: Target) => {
|
|
88
|
-
this.implement(ctor, input as any)
|
|
89
|
-
return ctor
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export const Builder = new BuilderDecorator()
|
|
96
|
-
|
|
97
|
-
export const manifest = Builder.decorator
|
|
98
|
-
|
|
99
|
-
// writing the decorator itself
|
package/src/producer/index.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./producer"
|
package/src/producer/producer.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
export type Producer<Factory extends object, Thing extends object> = Producer.Producer<
|
|
2
|
-
Factory,
|
|
3
|
-
Thing
|
|
4
|
-
>
|
|
5
|
-
export namespace Producer {
|
|
6
|
-
export type Producer<Factory extends object, Produced extends object> = (
|
|
7
|
-
factory: Factory
|
|
8
|
-
) => Iterable<Produced>
|
|
9
|
-
|
|
10
|
-
export function map<Factory extends object, Produced extends object, NewInput extends object>(
|
|
11
|
-
producer: Producer<Factory, Produced>,
|
|
12
|
-
projection: (input: NewInput) => Factory
|
|
13
|
-
) {
|
|
14
|
-
return function bound_producer(input: NewInput) {
|
|
15
|
-
return producer(projection(input))
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
package/src/ref-key/ref-key.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { hash } from "immutable"
|
|
2
|
-
import { Kind } from "../api-kind"
|
|
3
|
-
import { InstrumentsError } from "../error"
|
|
4
|
-
export type RefKey<Kind extends string = string, Name extends string = string> = RefKey.RefKey<
|
|
5
|
-
Kind,
|
|
6
|
-
Name
|
|
7
|
-
>
|
|
8
|
-
export namespace RefKey {
|
|
9
|
-
export function make<K extends string, Name extends string>(
|
|
10
|
-
kind: Kind.Identifier<K>,
|
|
11
|
-
name: Name
|
|
12
|
-
): RefKey<K, Name> {
|
|
13
|
-
return new RefKey(kind, name)
|
|
14
|
-
}
|
|
15
|
-
export type Input = RefKey | RefKey["string"]
|
|
16
|
-
export type Format<Kind extends string, Name extends string> = `${Kind}/${Name}`
|
|
17
|
-
const separator = "/"
|
|
18
|
-
export interface Parsed {
|
|
19
|
-
kind: string
|
|
20
|
-
name: string
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function parse(ref: string) {
|
|
24
|
-
const result = tryParse(ref)
|
|
25
|
-
if (!result) {
|
|
26
|
-
throw new InstrumentsError(`Could not parse reference key: ${ref}`)
|
|
27
|
-
}
|
|
28
|
-
return result
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
export function tryParse(ref: string): Parsed | undefined {
|
|
32
|
-
if (typeof ref !== "string") {
|
|
33
|
-
return undefined
|
|
34
|
-
}
|
|
35
|
-
if (ref == null) {
|
|
36
|
-
return undefined
|
|
37
|
-
}
|
|
38
|
-
if (typeof ref === "object") {
|
|
39
|
-
return undefined
|
|
40
|
-
}
|
|
41
|
-
const [kind, name] = ref.split(separator).map(s => s.trim())
|
|
42
|
-
if (!kind || !name) {
|
|
43
|
-
return undefined
|
|
44
|
-
}
|
|
45
|
-
return {
|
|
46
|
-
kind,
|
|
47
|
-
name
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
export class RefKey<K extends string = string, Name extends string = string> {
|
|
51
|
-
constructor(
|
|
52
|
-
readonly kind: Kind.Identifier<K>,
|
|
53
|
-
readonly name: Name
|
|
54
|
-
) {}
|
|
55
|
-
|
|
56
|
-
get string(): Format<K, Name> {
|
|
57
|
-
return [this.kind.name, this.name].join(separator) as Format<K, Name>
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
equals(other: RefKey): boolean {
|
|
61
|
-
if (other == null) {
|
|
62
|
-
return false
|
|
63
|
-
}
|
|
64
|
-
if (typeof other !== "object") {
|
|
65
|
-
return false
|
|
66
|
-
}
|
|
67
|
-
return this.kind.equals(other.kind) && this.name === other.name
|
|
68
|
-
}
|
|
69
|
-
hashCode() {
|
|
70
|
-
return hash(this.string)
|
|
71
|
-
}
|
|
72
|
-
toString() {
|
|
73
|
-
return this.string
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import type { Doddle } from "doddle"
|
|
2
|
-
import { hash, List } from "immutable"
|
|
3
|
-
import { ProxyOperationError } from "../error"
|
|
4
|
-
import { RefKey } from "../ref-key/ref-key"
|
|
5
|
-
|
|
6
|
-
export type ForwardRef<T extends object> = ForwardRef.Core<T> & T
|
|
7
|
-
export namespace ForwardRef {
|
|
8
|
-
export function is(x: any): boolean {
|
|
9
|
-
return "__reference_props__" in x
|
|
10
|
-
}
|
|
11
|
-
export function make<T extends object>(props: Props<T>): ForwardRef<T> {
|
|
12
|
-
const core = new Core(props)
|
|
13
|
-
return new Proxy(core, new Handler(core)) as ForwardRef<T>
|
|
14
|
-
}
|
|
15
|
-
export interface Props<Referenced extends object> {
|
|
16
|
-
readonly key: RefKey
|
|
17
|
-
readonly namespace?: string
|
|
18
|
-
readonly origin: object
|
|
19
|
-
readonly resolver: Doddle<Referenced>
|
|
20
|
-
readonly class: Function
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export class Core<T extends object> {
|
|
24
|
-
#props: Props<T>
|
|
25
|
-
constructor(props: Props<T>) {
|
|
26
|
-
this.#props = props
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
equals(other: any) {
|
|
30
|
-
const resolved = this.#props.resolver.pull() as any
|
|
31
|
-
if (ForwardRef.is(other)) {
|
|
32
|
-
return other.equals(resolved)
|
|
33
|
-
}
|
|
34
|
-
if ("equals" in resolved) {
|
|
35
|
-
return resolved.equals(other)
|
|
36
|
-
}
|
|
37
|
-
return resolved === other
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
hashCode() {
|
|
41
|
-
return hash(List.of(this.#props.key, this.#props.origin))
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
get __reference_props__() {
|
|
45
|
-
return this.#props
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
class Handler<T extends object> implements ProxyHandler<T> {
|
|
50
|
-
get _props() {
|
|
51
|
-
return this._core.__reference_props__
|
|
52
|
-
}
|
|
53
|
-
constructor(private readonly _core: Core<T>) {}
|
|
54
|
-
|
|
55
|
-
get(target: T, prop: PropertyKey) {
|
|
56
|
-
const { _props, _core } = this
|
|
57
|
-
if (Reflect.has(_core, prop)) {
|
|
58
|
-
return Reflect.get(_core, prop)
|
|
59
|
-
}
|
|
60
|
-
const resource = _props.resolver.pull() as any
|
|
61
|
-
const result = Reflect.get(resource, prop)
|
|
62
|
-
if (typeof result === "function") {
|
|
63
|
-
return result.bind(resource)
|
|
64
|
-
}
|
|
65
|
-
return result
|
|
66
|
-
}
|
|
67
|
-
getPrototypeOf(target: T) {
|
|
68
|
-
const { _props } = this
|
|
69
|
-
return _props.class.prototype
|
|
70
|
-
}
|
|
71
|
-
has(target: T, prop: PropertyKey) {
|
|
72
|
-
const { _props, _core } = this
|
|
73
|
-
if (Reflect.has(_core, prop)) {
|
|
74
|
-
return true
|
|
75
|
-
}
|
|
76
|
-
const resource = _props.resolver.pull() as any
|
|
77
|
-
return Reflect.has(resource, prop)
|
|
78
|
-
}
|
|
79
|
-
getOwnPropertyDescriptor(_: T, p: string | symbol): PropertyDescriptor | undefined {
|
|
80
|
-
const { _core, _props } = this
|
|
81
|
-
const desc = Object.getOwnPropertyDescriptor(_core, p)
|
|
82
|
-
if (desc) {
|
|
83
|
-
desc.configurable = false
|
|
84
|
-
return desc
|
|
85
|
-
}
|
|
86
|
-
const resource = _props.resolver.pull() as any
|
|
87
|
-
const resourceDesc = Object.getOwnPropertyDescriptor(resource, p)
|
|
88
|
-
return resourceDesc
|
|
89
|
-
}
|
|
90
|
-
get referant() {
|
|
91
|
-
return this._core.__reference_props__.key.string
|
|
92
|
-
}
|
|
93
|
-
#createImmutableError(action: string) {
|
|
94
|
-
return new ProxyOperationError(
|
|
95
|
-
`Tried to ${action} a forward reference to ${this.referant}, but it cannot be modified.`
|
|
96
|
-
)
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
defineProperty(_: any, property: string | symbol, desc: PropertyDescriptor): boolean {
|
|
100
|
-
throw this.#createImmutableError(`define property ${String(property)} on`)
|
|
101
|
-
}
|
|
102
|
-
deleteProperty(_: T, p: string | symbol): boolean {
|
|
103
|
-
throw this.#createImmutableError(`delete property ${String(p)} from`)
|
|
104
|
-
}
|
|
105
|
-
preventExtensions(): boolean {
|
|
106
|
-
return true
|
|
107
|
-
}
|
|
108
|
-
isExtensible(): boolean {
|
|
109
|
-
return false
|
|
110
|
-
}
|
|
111
|
-
set(_: T, p: string | symbol): boolean {
|
|
112
|
-
throw this.#createImmutableError(`set property ${String(p)} on`)
|
|
113
|
-
}
|
|
114
|
-
ownKeys(): ArrayLike<string | symbol> {
|
|
115
|
-
const pulled = this._props.resolver.pull() as any
|
|
116
|
-
return [...Reflect.ownKeys(this._core), ...Reflect.ownKeys(pulled)]
|
|
117
|
-
}
|
|
118
|
-
setPrototypeOf(): boolean {
|
|
119
|
-
throw this.#createImmutableError(`set the prototype of`)
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
package/src/reference/index.ts
DELETED
package/src/reference/refable.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { Kind } from "../api-kind"
|
|
2
|
-
|
|
3
|
-
export type Kinded<K extends Kind.IdentParent = Kind.IdentParent> = { kind: K }
|
|
4
|
-
|
|
5
|
-
export type Refable<
|
|
6
|
-
Kind extends Kind.IdentParent = Kind.IdentParent,
|
|
7
|
-
Name extends string = string
|
|
8
|
-
> = Kinded<Kind> & {
|
|
9
|
-
name: Name
|
|
10
|
-
}
|
|
11
|
-
export type LiveRefable<Object extends Kinded = Kinded, Name extends string = string> = Object &
|
|
12
|
-
Refable<Object["kind"], Name>
|