@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.
Files changed (567) hide show
  1. package/dist/core/graph/entity.d.ts +13 -0
  2. package/dist/core/graph/entity.d.ts.map +1 -0
  3. package/dist/core/graph/entity.js +27 -0
  4. package/dist/core/graph/entity.js.map +1 -0
  5. package/dist/core/graph/index.d.ts +6 -0
  6. package/dist/core/graph/index.d.ts.map +1 -0
  7. package/dist/core/graph/index.js +26 -0
  8. package/dist/core/graph/index.js.map +1 -0
  9. package/dist/core/graph/node.d.ts +24 -0
  10. package/dist/core/graph/node.d.ts.map +1 -0
  11. package/dist/core/graph/node.js +131 -0
  12. package/dist/core/graph/node.js.map +1 -0
  13. package/dist/core/graph/origin/entity.d.ts +32 -0
  14. package/dist/core/graph/origin/entity.d.ts.map +1 -0
  15. package/dist/core/graph/origin/entity.js +149 -0
  16. package/dist/core/graph/origin/entity.js.map +1 -0
  17. package/dist/core/graph/origin/events.d.ts +41 -0
  18. package/dist/core/graph/origin/events.d.ts.map +1 -0
  19. package/dist/core/graph/origin/events.js +46 -0
  20. package/dist/core/graph/origin/events.js.map +1 -0
  21. package/dist/core/graph/origin/exporter.d.ts +13 -0
  22. package/dist/core/graph/origin/exporter.d.ts.map +1 -0
  23. package/dist/core/graph/origin/exporter.js +94 -0
  24. package/dist/core/graph/origin/exporter.js.map +1 -0
  25. package/dist/core/graph/origin/index.d.ts +7 -0
  26. package/dist/core/graph/origin/index.d.ts.map +1 -0
  27. package/dist/core/graph/origin/index.js +23 -0
  28. package/dist/core/graph/origin/index.js.map +1 -0
  29. package/dist/core/graph/origin/kind-map/index.d.ts +36 -0
  30. package/dist/core/graph/origin/kind-map/index.d.ts.map +1 -0
  31. package/dist/core/graph/origin/kind-map/index.js +195 -0
  32. package/dist/core/graph/origin/kind-map/index.js.map +1 -0
  33. package/dist/core/graph/origin/node.d.ts +23 -0
  34. package/dist/core/graph/origin/node.d.ts.map +1 -0
  35. package/dist/{graph/origin-node.js → core/graph/origin/node.js} +33 -78
  36. package/dist/core/graph/origin/node.js.map +1 -0
  37. package/dist/core/graph/origin/origin-events.d.ts +41 -0
  38. package/dist/core/graph/origin/origin-events.d.ts.map +1 -0
  39. package/dist/core/graph/origin/origin-events.js +46 -0
  40. package/dist/core/graph/origin/origin-events.js.map +1 -0
  41. package/dist/core/graph/origin/tracker.d.ts +19 -0
  42. package/dist/core/graph/origin/tracker.d.ts.map +1 -0
  43. package/dist/core/graph/origin/tracker.js +87 -0
  44. package/dist/core/graph/origin/tracker.js.map +1 -0
  45. package/dist/core/graph/relation.d.ts +7 -0
  46. package/dist/core/graph/relation.d.ts.map +1 -0
  47. package/dist/{graph/dependencies.js → core/graph/relation.js} +3 -13
  48. package/dist/core/graph/relation.js.map +1 -0
  49. package/dist/core/graph/resource/api-kind/index.d.ts +57 -0
  50. package/dist/core/graph/resource/api-kind/index.d.ts.map +1 -0
  51. package/dist/{api-kind → core/graph/resource/api-kind}/index.js +35 -15
  52. package/dist/core/graph/resource/api-kind/index.js.map +1 -0
  53. package/dist/core/graph/resource/api-kind/pluralize.d.ts +19 -0
  54. package/dist/core/graph/resource/api-kind/pluralize.d.ts.map +1 -0
  55. package/dist/core/graph/resource/api-kind/pluralize.js +13 -0
  56. package/dist/core/graph/resource/api-kind/pluralize.js.map +1 -0
  57. package/dist/core/graph/resource/child.d.ts +10 -0
  58. package/dist/core/graph/resource/child.d.ts.map +1 -0
  59. package/dist/core/graph/resource/child.js +22 -0
  60. package/dist/core/graph/resource/child.js.map +1 -0
  61. package/dist/core/graph/resource/entity.d.ts +21 -0
  62. package/dist/core/graph/resource/entity.d.ts.map +1 -0
  63. package/dist/{graph/base-origin-entity.js → core/graph/resource/entity.js} +37 -34
  64. package/dist/core/graph/resource/entity.js.map +1 -0
  65. package/dist/core/graph/resource/index.d.ts +8 -0
  66. package/dist/core/graph/resource/index.d.ts.map +1 -0
  67. package/dist/core/graph/resource/index.js +24 -0
  68. package/dist/core/graph/resource/index.js.map +1 -0
  69. package/dist/core/graph/resource/node.d.ts +29 -0
  70. package/dist/core/graph/resource/node.d.ts.map +1 -0
  71. package/dist/{graph/resource-node.js → core/graph/resource/node.js} +23 -31
  72. package/dist/core/graph/resource/node.js.map +1 -0
  73. package/dist/core/graph/resource/ref-key/index.d.ts.map +1 -0
  74. package/dist/core/graph/resource/ref-key/index.js.map +1 -0
  75. package/dist/core/graph/resource/ref-key/ref-key.d.ts +18 -0
  76. package/dist/core/graph/resource/ref-key/ref-key.d.ts.map +1 -0
  77. package/dist/core/graph/resource/ref-key/ref-key.js +58 -0
  78. package/dist/core/graph/resource/ref-key/ref-key.js.map +1 -0
  79. package/dist/core/graph/resource/reference/error.d.ts +5 -0
  80. package/dist/core/graph/resource/reference/error.d.ts.map +1 -0
  81. package/dist/core/graph/resource/reference/error.js +11 -0
  82. package/dist/core/graph/resource/reference/error.js.map +1 -0
  83. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts +15 -0
  84. package/dist/core/graph/resource/reference/fw-ref-exports.d.ts.map +1 -0
  85. package/dist/core/graph/resource/reference/fw-ref-exports.js +133 -0
  86. package/dist/core/graph/resource/reference/fw-ref-exports.js.map +1 -0
  87. package/dist/core/graph/resource/reference/fw-ref.d.ts +25 -0
  88. package/dist/core/graph/resource/reference/fw-ref.d.ts.map +1 -0
  89. package/dist/core/graph/resource/reference/fw-ref.js +105 -0
  90. package/dist/core/graph/resource/reference/fw-ref.js.map +1 -0
  91. package/dist/core/graph/resource/reference/index.d.ts +4 -0
  92. package/dist/core/graph/resource/reference/index.d.ts.map +1 -0
  93. package/dist/core/graph/resource/reference/index.js +8 -0
  94. package/dist/core/graph/resource/reference/index.js.map +1 -0
  95. package/dist/core/graph/resource/reference/refable.d.ts +17 -0
  96. package/dist/core/graph/resource/reference/refable.d.ts.map +1 -0
  97. package/dist/core/graph/resource/reference/refable.js.map +1 -0
  98. package/dist/core/graph/resource/top.d.ts +18 -0
  99. package/dist/core/graph/resource/top.d.ts.map +1 -0
  100. package/dist/core/graph/resource/top.js +59 -0
  101. package/dist/core/graph/resource/top.js.map +1 -0
  102. package/dist/core/index.d.ts +5 -0
  103. package/dist/core/index.d.ts.map +1 -0
  104. package/dist/core/index.js +21 -0
  105. package/dist/core/index.js.map +1 -0
  106. package/dist/core/manifest/index.d.ts +31 -0
  107. package/dist/core/manifest/index.d.ts.map +1 -0
  108. package/dist/core/manifest/index.js +6 -0
  109. package/dist/core/manifest/index.js.map +1 -0
  110. package/dist/{tracing → core/tracing}/git.d.ts +2 -1
  111. package/dist/core/tracing/git.d.ts.map +1 -0
  112. package/dist/{tracing → core/tracing}/git.js +20 -3
  113. package/dist/core/tracing/git.js.map +1 -0
  114. package/dist/core/tracing/index.d.ts.map +1 -0
  115. package/dist/core/tracing/index.js.map +1 -0
  116. package/dist/core/tracing/trace.d.ts.map +1 -0
  117. package/dist/core/tracing/trace.js.map +1 -0
  118. package/dist/{tracing → core/tracing}/traced.d.ts +1 -1
  119. package/dist/core/tracing/traced.d.ts.map +1 -0
  120. package/dist/core/tracing/traced.js +6 -0
  121. package/dist/core/tracing/traced.js.map +1 -0
  122. package/dist/error.d.ts +0 -3
  123. package/dist/error.d.ts.map +1 -1
  124. package/dist/error.js +1 -7
  125. package/dist/error.js.map +1 -1
  126. package/dist/{data-sources → expressions/data-sources}/index.d.ts +8 -9
  127. package/dist/expressions/data-sources/index.d.ts.map +1 -0
  128. package/dist/{data-sources → expressions/data-sources}/index.js +52 -34
  129. package/dist/expressions/data-sources/index.js.map +1 -0
  130. package/dist/expressions/index.d.ts +6 -0
  131. package/dist/expressions/index.d.ts.map +1 -0
  132. package/dist/{manifest → expressions}/index.js +5 -4
  133. package/dist/expressions/index.js.map +1 -0
  134. package/dist/expressions/network/index.d.ts +2 -0
  135. package/dist/expressions/network/index.d.ts.map +1 -0
  136. package/dist/{producer → expressions/network}/index.js +1 -1
  137. package/dist/expressions/network/index.js.map +1 -0
  138. package/dist/expressions/network/ip/index.d.ts.map +1 -0
  139. package/dist/expressions/network/ip/index.js.map +1 -0
  140. package/dist/expressions/network/ports/error.d.ts.map +1 -0
  141. package/dist/expressions/network/ports/error.js.map +1 -0
  142. package/dist/{ports → expressions/network/ports}/index.d.ts +1 -1
  143. package/dist/expressions/network/ports/index.d.ts.map +1 -0
  144. package/dist/expressions/network/ports/index.js.map +1 -0
  145. package/dist/{ports → expressions/network/ports}/map.d.ts +0 -1
  146. package/dist/expressions/network/ports/map.d.ts.map +1 -0
  147. package/dist/{ports → expressions/network/ports}/map.js +3 -2
  148. package/dist/expressions/network/ports/map.js.map +1 -0
  149. package/dist/{ports → expressions/network/ports}/set.d.ts +0 -1
  150. package/dist/expressions/network/ports/set.d.ts.map +1 -0
  151. package/dist/{ports → expressions/network/ports}/set.js +8 -7
  152. package/dist/expressions/network/ports/set.js.map +1 -0
  153. package/dist/{ports → expressions/network/ports}/tools/entry.d.ts +0 -1
  154. package/dist/expressions/network/ports/tools/entry.d.ts.map +1 -0
  155. package/dist/{ports → expressions/network/ports}/tools/entry.js +7 -5
  156. package/dist/expressions/network/ports/tools/entry.js.map +1 -0
  157. package/dist/expressions/network/ports/tools/parse.d.ts.map +1 -0
  158. package/dist/expressions/network/ports/tools/parse.js.map +1 -0
  159. package/dist/{ports → expressions/network/ports}/types.d.ts +1 -1
  160. package/dist/expressions/network/ports/types.d.ts.map +1 -0
  161. package/dist/expressions/network/ports/types.js.map +1 -0
  162. package/dist/expressions/quantities/index.d.ts +3 -0
  163. package/dist/expressions/quantities/index.d.ts.map +1 -0
  164. package/dist/{forward-exports → expressions/quantities}/index.js +2 -1
  165. package/dist/expressions/quantities/index.js.map +1 -0
  166. package/dist/expressions/quantities/reqlem/index.d.ts.map +1 -0
  167. package/dist/expressions/quantities/reqlem/index.js.map +1 -0
  168. package/dist/expressions/quantities/reqlem/objects.d.ts +24 -0
  169. package/dist/expressions/quantities/reqlem/objects.d.ts.map +1 -0
  170. package/dist/expressions/quantities/reqlem/objects.js +103 -0
  171. package/dist/expressions/quantities/reqlem/objects.js.map +1 -0
  172. package/dist/expressions/quantities/reqlem/parser.d.ts.map +1 -0
  173. package/dist/expressions/quantities/reqlem/parser.js.map +1 -0
  174. package/dist/expressions/quantities/reqlem/types.d.ts +23 -0
  175. package/dist/expressions/quantities/reqlem/types.d.ts.map +1 -0
  176. package/dist/expressions/quantities/reqlem/types.js.map +1 -0
  177. package/dist/expressions/quantities/units/index.d.ts.map +1 -0
  178. package/dist/expressions/quantities/units/index.js.map +1 -0
  179. package/dist/expressions/quantities/units/unit-parser.d.ts +29 -0
  180. package/dist/expressions/quantities/units/unit-parser.d.ts.map +1 -0
  181. package/dist/{units → expressions/quantities/units}/unit-parser.js +43 -16
  182. package/dist/expressions/quantities/units/unit-parser.js.map +1 -0
  183. package/dist/{units → expressions/quantities/units}/units.d.ts +4 -4
  184. package/dist/expressions/quantities/units/units.d.ts.map +1 -0
  185. package/dist/{units → expressions/quantities/units}/units.js +3 -4
  186. package/dist/expressions/quantities/units/units.js.map +1 -0
  187. package/dist/expressions/timezone.d.ts.map +1 -0
  188. package/dist/{timezone.js.map → expressions/timezone.js.map} +1 -1
  189. package/dist/expressions/workload/_user/index.d.ts.map +1 -0
  190. package/dist/expressions/workload/_user/index.js.map +1 -0
  191. package/dist/{cmd → expressions/workload/cmd}/cli-command.d.ts +7 -8
  192. package/dist/expressions/workload/cmd/cli-command.d.ts.map +1 -0
  193. package/dist/{cmd → expressions/workload/cmd}/cli-command.js +15 -11
  194. package/dist/expressions/workload/cmd/cli-command.js.map +1 -0
  195. package/dist/{cmd → expressions/workload/cmd}/cli-term.d.ts +7 -7
  196. package/dist/expressions/workload/cmd/cli-term.d.ts.map +1 -0
  197. package/dist/{cmd → expressions/workload/cmd}/cli-term.js +12 -12
  198. package/dist/expressions/workload/cmd/cli-term.js.map +1 -0
  199. package/dist/expressions/workload/cmd/index.d.ts +3 -0
  200. package/dist/expressions/workload/cmd/index.d.ts.map +1 -0
  201. package/dist/expressions/workload/cmd/index.js.map +1 -0
  202. package/dist/expressions/workload/cmd/types.d.ts +5 -0
  203. package/dist/expressions/workload/cmd/types.d.ts.map +1 -0
  204. package/dist/expressions/workload/cmd/types.js.map +1 -0
  205. package/dist/expressions/workload/cronjob/index.d.ts.map +1 -0
  206. package/dist/{_cronjob → expressions/workload/cronjob}/index.js +1 -1
  207. package/dist/expressions/workload/cronjob/index.js.map +1 -0
  208. package/dist/expressions/workload/cronjob/types.d.ts.map +1 -0
  209. package/dist/expressions/workload/cronjob/types.js.map +1 -0
  210. package/dist/expressions/workload/image/family.d.ts.map +1 -0
  211. package/dist/{image → expressions/workload/image}/family.js +1 -1
  212. package/dist/expressions/workload/image/family.js.map +1 -0
  213. package/dist/expressions/workload/image/index.d.ts.map +1 -0
  214. package/dist/expressions/workload/image/index.js.map +1 -0
  215. package/dist/expressions/workload/index.d.ts +5 -0
  216. package/dist/expressions/workload/index.d.ts.map +1 -0
  217. package/dist/expressions/workload/index.js +21 -0
  218. package/dist/expressions/workload/index.js.map +1 -0
  219. package/dist/index.d.ts +4 -21
  220. package/dist/index.d.ts.map +1 -1
  221. package/dist/index.js +4 -21
  222. package/dist/index.js.map +1 -1
  223. package/dist/utils/_string/index.d.ts.map +1 -0
  224. package/dist/utils/_string/index.js.map +1 -0
  225. package/dist/utils/_string/markers.d.ts.map +1 -0
  226. package/dist/utils/_string/markers.js.map +1 -0
  227. package/dist/utils/_string/post-processor.d.ts.map +1 -0
  228. package/dist/utils/_string/post-processor.js.map +1 -0
  229. package/dist/utils/_string/pretty-objects.d.ts.map +1 -0
  230. package/dist/utils/_string/pretty-objects.js.map +1 -0
  231. package/dist/utils/_string/pretty-print.d.ts.map +1 -0
  232. package/dist/utils/_string/pretty-print.js.map +1 -0
  233. package/dist/utils/_string/super-script.d.ts.map +1 -0
  234. package/dist/utils/_string/super-script.js.map +1 -0
  235. package/dist/utils/bind.d.ts +3 -0
  236. package/dist/utils/bind.d.ts.map +1 -0
  237. package/dist/{displayers → utils}/bind.js +2 -3
  238. package/dist/utils/bind.js.map +1 -0
  239. package/dist/{displayers → utils/displayers}/displayers.d.ts +2 -10
  240. package/dist/utils/displayers/displayers.d.ts.map +1 -0
  241. package/dist/{displayers → utils/displayers}/displayers.js +27 -8
  242. package/dist/utils/displayers/displayers.js.map +1 -0
  243. package/dist/utils/displayers/index.d.ts.map +1 -0
  244. package/dist/utils/displayers/index.js.map +1 -0
  245. package/dist/{_embedder → utils/embedder}/base.d.ts +2 -1
  246. package/dist/utils/embedder/base.d.ts.map +1 -0
  247. package/dist/{_embedder → utils/embedder}/base.js +8 -4
  248. package/dist/utils/embedder/base.js.map +1 -0
  249. package/dist/utils/embedder/index.d.ts.map +1 -0
  250. package/dist/utils/embedder/index.js.map +1 -0
  251. package/dist/utils/index.d.ts +5 -0
  252. package/dist/utils/index.d.ts.map +1 -0
  253. package/dist/utils/index.js +21 -0
  254. package/dist/utils/index.js.map +1 -0
  255. package/package.json +16 -16
  256. package/src/core/graph/entity.ts +35 -0
  257. package/src/core/graph/index.ts +5 -0
  258. package/src/core/graph/node.ts +139 -0
  259. package/src/core/graph/origin/entity.ts +118 -0
  260. package/src/core/graph/origin/events.ts +86 -0
  261. package/src/core/graph/origin/exporter.ts +62 -0
  262. package/src/core/graph/origin/index.ts +6 -0
  263. package/src/core/graph/origin/kind-map/index.ts +171 -0
  264. package/src/core/graph/origin/node.ts +75 -0
  265. package/src/core/graph/origin/origin-events.ts +86 -0
  266. package/src/core/graph/origin/tracker.ts +103 -0
  267. package/src/core/graph/relation.ts +17 -0
  268. package/src/core/graph/resource/api-kind/index.ts +176 -0
  269. package/src/core/graph/resource/api-kind/pluralize.ts +32 -0
  270. package/src/core/graph/resource/child.ts +26 -0
  271. package/src/core/graph/resource/entity.ts +58 -0
  272. package/src/core/graph/resource/index.ts +7 -0
  273. package/src/{graph/resource-node.ts → core/graph/resource/node.ts} +28 -40
  274. package/src/core/graph/resource/ref-key/ref-key.ts +62 -0
  275. package/src/core/graph/resource/reference/error.ts +7 -0
  276. package/src/core/graph/resource/reference/fw-ref-exports.ts +164 -0
  277. package/src/core/graph/resource/reference/fw-ref.ts +122 -0
  278. package/src/core/graph/resource/reference/index.ts +8 -0
  279. package/src/core/graph/resource/reference/refable.ts +24 -0
  280. package/src/core/graph/resource/top.ts +69 -0
  281. package/src/core/index.ts +4 -0
  282. package/src/{manifest → core/manifest}/index.ts +7 -22
  283. package/src/{tracing → core/tracing}/git.ts +20 -3
  284. package/src/{tracing → core/tracing}/traced.ts +1 -1
  285. package/src/error.ts +0 -6
  286. package/src/expressions/data-sources/index.ts +147 -0
  287. package/src/expressions/index.ts +5 -0
  288. package/src/expressions/network/index.ts +1 -0
  289. package/src/{ports → expressions/network/ports}/index.ts +1 -1
  290. package/src/{ports → expressions/network/ports}/map.ts +3 -3
  291. package/src/{ports → expressions/network/ports}/set.ts +8 -7
  292. package/src/{ports → expressions/network/ports}/tools/entry.ts +6 -4
  293. package/src/{ports → expressions/network/ports}/types.ts +1 -1
  294. package/src/expressions/quantities/index.ts +2 -0
  295. package/src/expressions/quantities/reqlem/objects.ts +107 -0
  296. package/src/expressions/quantities/reqlem/types.ts +28 -0
  297. package/src/expressions/quantities/units/unit-parser.ts +93 -0
  298. package/src/{units → expressions/quantities/units}/units.ts +4 -5
  299. package/src/{cmd → expressions/workload/cmd}/cli-command.ts +35 -31
  300. package/src/{cmd → expressions/workload/cmd}/cli-term.ts +9 -9
  301. package/src/expressions/workload/cmd/index.ts +2 -0
  302. package/src/expressions/workload/cmd/types.ts +4 -0
  303. package/src/{_cronjob → expressions/workload/cronjob}/index.ts +1 -1
  304. package/src/{image → expressions/workload/image}/family.ts +1 -1
  305. package/src/expressions/workload/index.ts +4 -0
  306. package/src/index.ts +5 -21
  307. package/src/{displayers → utils}/bind.ts +4 -4
  308. package/src/{displayers → utils/displayers}/displayers.ts +28 -20
  309. package/src/{_embedder → utils/embedder}/base.ts +9 -5
  310. package/src/utils/index.ts +4 -0
  311. package/dist/_cronjob/index.d.ts.map +0 -1
  312. package/dist/_cronjob/index.js.map +0 -1
  313. package/dist/_cronjob/types.d.ts.map +0 -1
  314. package/dist/_cronjob/types.js.map +0 -1
  315. package/dist/_embedder/base.d.ts.map +0 -1
  316. package/dist/_embedder/base.js.map +0 -1
  317. package/dist/_embedder/index.d.ts.map +0 -1
  318. package/dist/_embedder/index.js.map +0 -1
  319. package/dist/_ip/index.d.ts.map +0 -1
  320. package/dist/_ip/index.js.map +0 -1
  321. package/dist/_string/index.d.ts.map +0 -1
  322. package/dist/_string/index.js.map +0 -1
  323. package/dist/_string/markers.d.ts.map +0 -1
  324. package/dist/_string/markers.js.map +0 -1
  325. package/dist/_string/post-processor.d.ts.map +0 -1
  326. package/dist/_string/post-processor.js.map +0 -1
  327. package/dist/_string/pretty-objects.d.ts.map +0 -1
  328. package/dist/_string/pretty-objects.js.map +0 -1
  329. package/dist/_string/pretty-print.d.ts.map +0 -1
  330. package/dist/_string/pretty-print.js.map +0 -1
  331. package/dist/_string/super-script.d.ts.map +0 -1
  332. package/dist/_string/super-script.js.map +0 -1
  333. package/dist/_user/index.d.ts.map +0 -1
  334. package/dist/_user/index.js.map +0 -1
  335. package/dist/api-kind/index.d.ts +0 -45
  336. package/dist/api-kind/index.d.ts.map +0 -1
  337. package/dist/api-kind/index.js.map +0 -1
  338. package/dist/cmd/cli-command.d.ts.map +0 -1
  339. package/dist/cmd/cli-command.js.map +0 -1
  340. package/dist/cmd/cli-term.d.ts.map +0 -1
  341. package/dist/cmd/cli-term.js.map +0 -1
  342. package/dist/cmd/index.d.ts +0 -3
  343. package/dist/cmd/index.d.ts.map +0 -1
  344. package/dist/cmd/index.js.map +0 -1
  345. package/dist/cmd/types.d.ts +0 -5
  346. package/dist/cmd/types.d.ts.map +0 -1
  347. package/dist/cmd/types.js.map +0 -1
  348. package/dist/data-sources/index.d.ts.map +0 -1
  349. package/dist/data-sources/index.js.map +0 -1
  350. package/dist/displayers/bind.d.ts +0 -4
  351. package/dist/displayers/bind.d.ts.map +0 -1
  352. package/dist/displayers/bind.js.map +0 -1
  353. package/dist/displayers/displayers.d.ts.map +0 -1
  354. package/dist/displayers/displayers.js.map +0 -1
  355. package/dist/displayers/index.d.ts.map +0 -1
  356. package/dist/displayers/index.js.map +0 -1
  357. package/dist/forward-exports/delayed-exports.d.ts +0 -18
  358. package/dist/forward-exports/delayed-exports.d.ts.map +0 -1
  359. package/dist/forward-exports/delayed-exports.js +0 -115
  360. package/dist/forward-exports/delayed-exports.js.map +0 -1
  361. package/dist/forward-exports/index.d.ts +0 -2
  362. package/dist/forward-exports/index.d.ts.map +0 -1
  363. package/dist/forward-exports/index.js.map +0 -1
  364. package/dist/graph/base-node.d.ts +0 -35
  365. package/dist/graph/base-node.d.ts.map +0 -1
  366. package/dist/graph/base-node.js +0 -112
  367. package/dist/graph/base-node.js.map +0 -1
  368. package/dist/graph/base-origin-entity.d.ts +0 -19
  369. package/dist/graph/base-origin-entity.d.ts.map +0 -1
  370. package/dist/graph/base-origin-entity.js.map +0 -1
  371. package/dist/graph/dependencies.d.ts +0 -12
  372. package/dist/graph/dependencies.d.ts.map +0 -1
  373. package/dist/graph/dependencies.js.map +0 -1
  374. package/dist/graph/index.d.ts +0 -7
  375. package/dist/graph/index.d.ts.map +0 -1
  376. package/dist/graph/index.js +0 -23
  377. package/dist/graph/index.js.map +0 -1
  378. package/dist/graph/origin-node.d.ts +0 -32
  379. package/dist/graph/origin-node.d.ts.map +0 -1
  380. package/dist/graph/origin-node.js.map +0 -1
  381. package/dist/graph/relations.d.ts +0 -26
  382. package/dist/graph/relations.d.ts.map +0 -1
  383. package/dist/graph/relations.js +0 -36
  384. package/dist/graph/relations.js.map +0 -1
  385. package/dist/graph/resource-node.d.ts +0 -35
  386. package/dist/graph/resource-node.d.ts.map +0 -1
  387. package/dist/graph/resource-node.js.map +0 -1
  388. package/dist/image/family.d.ts.map +0 -1
  389. package/dist/image/family.js.map +0 -1
  390. package/dist/image/index.d.ts.map +0 -1
  391. package/dist/image/index.js.map +0 -1
  392. package/dist/kind-map/index.d.ts +0 -44
  393. package/dist/kind-map/index.d.ts.map +0 -1
  394. package/dist/kind-map/index.js +0 -125
  395. package/dist/kind-map/index.js.map +0 -1
  396. package/dist/manifest/index.d.ts +0 -46
  397. package/dist/manifest/index.d.ts.map +0 -1
  398. package/dist/manifest/index.js.map +0 -1
  399. package/dist/manifest/manifest-builder.d.ts +0 -41
  400. package/dist/manifest/manifest-builder.d.ts.map +0 -1
  401. package/dist/manifest/manifest-builder.js +0 -64
  402. package/dist/manifest/manifest-builder.js.map +0 -1
  403. package/dist/ports/error.d.ts.map +0 -1
  404. package/dist/ports/error.js.map +0 -1
  405. package/dist/ports/index.d.ts.map +0 -1
  406. package/dist/ports/index.js.map +0 -1
  407. package/dist/ports/map.d.ts.map +0 -1
  408. package/dist/ports/map.js.map +0 -1
  409. package/dist/ports/set.d.ts.map +0 -1
  410. package/dist/ports/set.js.map +0 -1
  411. package/dist/ports/tools/entry.d.ts.map +0 -1
  412. package/dist/ports/tools/entry.js.map +0 -1
  413. package/dist/ports/tools/parse.d.ts.map +0 -1
  414. package/dist/ports/tools/parse.js.map +0 -1
  415. package/dist/ports/types.d.ts.map +0 -1
  416. package/dist/ports/types.js.map +0 -1
  417. package/dist/producer/index.d.ts +0 -2
  418. package/dist/producer/index.d.ts.map +0 -1
  419. package/dist/producer/index.js.map +0 -1
  420. package/dist/producer/producer.d.ts +0 -6
  421. package/dist/producer/producer.d.ts.map +0 -1
  422. package/dist/producer/producer.js +0 -13
  423. package/dist/producer/producer.js.map +0 -1
  424. package/dist/ref-key/index.d.ts.map +0 -1
  425. package/dist/ref-key/index.js.map +0 -1
  426. package/dist/ref-key/ref-key.d.ts +0 -23
  427. package/dist/ref-key/ref-key.d.ts.map +0 -1
  428. package/dist/ref-key/ref-key.js +0 -69
  429. package/dist/ref-key/ref-key.js.map +0 -1
  430. package/dist/reference/forward-ref.d.ts +0 -22
  431. package/dist/reference/forward-ref.d.ts.map +0 -1
  432. package/dist/reference/forward-ref.js +0 -113
  433. package/dist/reference/forward-ref.js.map +0 -1
  434. package/dist/reference/index.d.ts +0 -4
  435. package/dist/reference/index.d.ts.map +0 -1
  436. package/dist/reference/index.js +0 -8
  437. package/dist/reference/index.js.map +0 -1
  438. package/dist/reference/refable.d.ts +0 -9
  439. package/dist/reference/refable.d.ts.map +0 -1
  440. package/dist/reference/refable.js.map +0 -1
  441. package/dist/resources/index.d.ts.map +0 -1
  442. package/dist/resources/index.js.map +0 -1
  443. package/dist/resources/objects.d.ts +0 -22
  444. package/dist/resources/objects.d.ts.map +0 -1
  445. package/dist/resources/objects.js +0 -97
  446. package/dist/resources/objects.js.map +0 -1
  447. package/dist/resources/parser.d.ts.map +0 -1
  448. package/dist/resources/parser.js.map +0 -1
  449. package/dist/resources/types.d.ts +0 -21
  450. package/dist/resources/types.d.ts.map +0 -1
  451. package/dist/resources/types.js.map +0 -1
  452. package/dist/timezone.d.ts.map +0 -1
  453. package/dist/tracing/git.d.ts.map +0 -1
  454. package/dist/tracing/git.js.map +0 -1
  455. package/dist/tracing/index.d.ts.map +0 -1
  456. package/dist/tracing/index.js.map +0 -1
  457. package/dist/tracing/trace.d.ts.map +0 -1
  458. package/dist/tracing/trace.js.map +0 -1
  459. package/dist/tracing/traced.d.ts.map +0 -1
  460. package/dist/tracing/traced.js +0 -6
  461. package/dist/tracing/traced.js.map +0 -1
  462. package/dist/types.d.ts +0 -7
  463. package/dist/types.d.ts.map +0 -1
  464. package/dist/types.js +0 -3
  465. package/dist/types.js.map +0 -1
  466. package/dist/units/index.d.ts.map +0 -1
  467. package/dist/units/index.js.map +0 -1
  468. package/dist/units/unit-parser.d.ts +0 -19
  469. package/dist/units/unit-parser.d.ts.map +0 -1
  470. package/dist/units/unit-parser.js.map +0 -1
  471. package/dist/units/units.d.ts.map +0 -1
  472. package/dist/units/units.js.map +0 -1
  473. package/src/api-kind/index.ts +0 -142
  474. package/src/cmd/index.ts +0 -2
  475. package/src/cmd/types.ts +0 -4
  476. package/src/data-sources/index.ts +0 -126
  477. package/src/forward-exports/delayed-exports.ts +0 -157
  478. package/src/forward-exports/index.ts +0 -1
  479. package/src/graph/base-node.ts +0 -135
  480. package/src/graph/base-origin-entity.ts +0 -44
  481. package/src/graph/dependencies.ts +0 -30
  482. package/src/graph/index.ts +0 -6
  483. package/src/graph/origin-node.ts +0 -122
  484. package/src/graph/relations.ts +0 -62
  485. package/src/kind-map/index.ts +0 -150
  486. package/src/manifest/manifest-builder.ts +0 -99
  487. package/src/producer/index.ts +0 -1
  488. package/src/producer/producer.ts +0 -18
  489. package/src/ref-key/ref-key.ts +0 -76
  490. package/src/reference/forward-ref.ts +0 -122
  491. package/src/reference/index.ts +0 -3
  492. package/src/reference/refable.ts +0 -12
  493. package/src/resources/objects.ts +0 -99
  494. package/src/resources/types.ts +0 -26
  495. package/src/types.ts +0 -13
  496. package/src/units/unit-parser.ts +0 -63
  497. /package/dist/{ref-key → core/graph/resource/ref-key}/index.d.ts +0 -0
  498. /package/dist/{ref-key → core/graph/resource/ref-key}/index.js +0 -0
  499. /package/dist/{reference → core/graph/resource/reference}/refable.js +0 -0
  500. /package/dist/{tracing → core/tracing}/index.d.ts +0 -0
  501. /package/dist/{tracing → core/tracing}/index.js +0 -0
  502. /package/dist/{tracing → core/tracing}/trace.d.ts +0 -0
  503. /package/dist/{tracing → core/tracing}/trace.js +0 -0
  504. /package/dist/{_ip → expressions/network/ip}/index.d.ts +0 -0
  505. /package/dist/{_ip → expressions/network/ip}/index.js +0 -0
  506. /package/dist/{ports → expressions/network/ports}/error.d.ts +0 -0
  507. /package/dist/{ports → expressions/network/ports}/error.js +0 -0
  508. /package/dist/{ports → expressions/network/ports}/index.js +0 -0
  509. /package/dist/{ports → expressions/network/ports}/tools/parse.d.ts +0 -0
  510. /package/dist/{ports → expressions/network/ports}/tools/parse.js +0 -0
  511. /package/dist/{_cronjob → expressions/network/ports}/types.js +0 -0
  512. /package/dist/{resources → expressions/quantities/reqlem}/index.d.ts +0 -0
  513. /package/dist/{resources → expressions/quantities/reqlem}/index.js +0 -0
  514. /package/dist/{resources → expressions/quantities/reqlem}/parser.d.ts +0 -0
  515. /package/dist/{resources → expressions/quantities/reqlem}/parser.js +0 -0
  516. /package/dist/{cmd → expressions/quantities/reqlem}/types.js +0 -0
  517. /package/dist/{units → expressions/quantities/units}/index.d.ts +0 -0
  518. /package/dist/{units → expressions/quantities/units}/index.js +0 -0
  519. /package/dist/{timezone.d.ts → expressions/timezone.d.ts} +0 -0
  520. /package/dist/{timezone.js → expressions/timezone.js} +0 -0
  521. /package/dist/{_user → expressions/workload/_user}/index.d.ts +0 -0
  522. /package/dist/{_user → expressions/workload/_user}/index.js +0 -0
  523. /package/dist/{cmd → expressions/workload/cmd}/index.js +0 -0
  524. /package/dist/{ports → expressions/workload/cmd}/types.js +0 -0
  525. /package/dist/{_cronjob → expressions/workload/cronjob}/index.d.ts +0 -0
  526. /package/dist/{_cronjob → expressions/workload/cronjob}/types.d.ts +0 -0
  527. /package/dist/{resources → expressions/workload/cronjob}/types.js +0 -0
  528. /package/dist/{image → expressions/workload/image}/family.d.ts +0 -0
  529. /package/dist/{image → expressions/workload/image}/index.d.ts +0 -0
  530. /package/dist/{image → expressions/workload/image}/index.js +0 -0
  531. /package/dist/{_string → utils/_string}/index.d.ts +0 -0
  532. /package/dist/{_string → utils/_string}/index.js +0 -0
  533. /package/dist/{_string → utils/_string}/markers.d.ts +0 -0
  534. /package/dist/{_string → utils/_string}/markers.js +0 -0
  535. /package/dist/{_string → utils/_string}/post-processor.d.ts +0 -0
  536. /package/dist/{_string → utils/_string}/post-processor.js +0 -0
  537. /package/dist/{_string → utils/_string}/pretty-objects.d.ts +0 -0
  538. /package/dist/{_string → utils/_string}/pretty-objects.js +0 -0
  539. /package/dist/{_string → utils/_string}/pretty-print.d.ts +0 -0
  540. /package/dist/{_string → utils/_string}/pretty-print.js +0 -0
  541. /package/dist/{_string → utils/_string}/super-script.d.ts +0 -0
  542. /package/dist/{_string → utils/_string}/super-script.js +0 -0
  543. /package/dist/{displayers → utils/displayers}/index.d.ts +0 -0
  544. /package/dist/{displayers → utils/displayers}/index.js +0 -0
  545. /package/dist/{_embedder → utils/embedder}/index.d.ts +0 -0
  546. /package/dist/{_embedder → utils/embedder}/index.js +0 -0
  547. /package/src/{ref-key → core/graph/resource/ref-key}/index.ts +0 -0
  548. /package/src/{tracing → core/tracing}/index.ts +0 -0
  549. /package/src/{tracing → core/tracing}/trace.ts +0 -0
  550. /package/src/{_ip → expressions/network/ip}/index.ts +0 -0
  551. /package/src/{ports → expressions/network/ports}/error.ts +0 -0
  552. /package/src/{ports → expressions/network/ports}/tools/parse.ts +0 -0
  553. /package/src/{resources → expressions/quantities/reqlem}/index.ts +0 -0
  554. /package/src/{resources → expressions/quantities/reqlem}/parser.ts +0 -0
  555. /package/src/{units → expressions/quantities/units}/index.ts +0 -0
  556. /package/src/{timezone.ts → expressions/timezone.ts} +0 -0
  557. /package/src/{_user → expressions/workload/_user}/index.ts +0 -0
  558. /package/src/{_cronjob → expressions/workload/cronjob}/types.ts +0 -0
  559. /package/src/{image → expressions/workload/image}/index.ts +0 -0
  560. /package/src/{_string → utils/_string}/index.ts +0 -0
  561. /package/src/{_string → utils/_string}/markers.ts +0 -0
  562. /package/src/{_string → utils/_string}/post-processor.ts +0 -0
  563. /package/src/{_string → utils/_string}/pretty-objects.ts +0 -0
  564. /package/src/{_string → utils/_string}/pretty-print.ts +0 -0
  565. /package/src/{_string → utils/_string}/super-script.ts +0 -0
  566. /package/src/{displayers → utils/displayers}/index.ts +0 -0
  567. /package/src/{_embedder → utils/embedder}/index.ts +0 -0
@@ -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
@@ -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
@@ -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
@@ -1 +0,0 @@
1
- export * from "./producer"
@@ -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
- }
@@ -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
- }
@@ -1,3 +0,0 @@
1
- export { RefKey } from "../ref-key"
2
- export { ForwardRef } from "./forward-ref"
3
- export { Kinded, LiveRefable, Refable } from "./refable"
@@ -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>