@dagger.io/dagger 0.14.0 → 0.15.1

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 (284) hide show
  1. package/dist/{api → src/api}/client.gen.d.ts +145 -201
  2. package/dist/src/api/client.gen.d.ts.map +1 -0
  3. package/dist/{api → src/api}/client.gen.js +1114 -3520
  4. package/dist/src/common/context.d.ts +12 -0
  5. package/dist/src/common/context.d.ts.map +1 -0
  6. package/dist/src/common/context.js +22 -0
  7. package/dist/{common → src/common}/errors/DaggerSDKError.d.ts +1 -1
  8. package/dist/src/common/errors/DaggerSDKError.d.ts.map +1 -0
  9. package/dist/src/common/errors/DockerImageRefValidationError.d.ts.map +1 -0
  10. package/dist/src/common/errors/EngineSessionConnectParamsParseError.d.ts.map +1 -0
  11. package/dist/src/common/errors/EngineSessionConnectionTimeoutError.d.ts.map +1 -0
  12. package/dist/src/common/errors/EngineSessionErrorOptions.d.ts.map +1 -0
  13. package/dist/{common → src/common}/errors/ExecError.d.ts +0 -1
  14. package/dist/src/common/errors/ExecError.d.ts.map +1 -0
  15. package/dist/{common → src/common}/errors/ExecError.js +0 -3
  16. package/dist/src/common/errors/FunctionNotFound.d.ts.map +1 -0
  17. package/dist/src/common/errors/GraphQLRequestError.d.ts.map +1 -0
  18. package/dist/src/common/errors/InitEngineSessionBinaryError.d.ts.map +1 -0
  19. package/dist/src/common/errors/IntrospectionError.d.ts +7 -0
  20. package/dist/src/common/errors/IntrospectionError.d.ts.map +1 -0
  21. package/dist/src/common/errors/IntrospectionError.js +9 -0
  22. package/dist/src/common/errors/NotAwaitedRequestError.d.ts.map +1 -0
  23. package/dist/src/common/errors/TooManyNestedObjectsError.d.ts.map +1 -0
  24. package/dist/src/common/errors/UnknownDaggerError.d.ts.map +1 -0
  25. package/dist/{common → src/common}/errors/errors-codes.d.ts +4 -0
  26. package/dist/src/common/errors/errors-codes.d.ts.map +1 -0
  27. package/dist/{common → src/common}/errors/errors-codes.js +4 -0
  28. package/dist/{common → src/common}/errors/index.d.ts +2 -0
  29. package/dist/src/common/errors/index.d.ts.map +1 -0
  30. package/dist/{common → src/common}/errors/index.js +2 -0
  31. package/dist/src/common/graphql/client.d.ts.map +1 -0
  32. package/dist/{api/utils.d.ts → src/common/graphql/compute_query.d.ts} +10 -2
  33. package/dist/src/common/graphql/compute_query.d.ts.map +1 -0
  34. package/dist/{api/utils.js → src/common/graphql/compute_query.js} +4 -4
  35. package/dist/src/common/graphql/connect.d.ts +8 -0
  36. package/dist/src/common/graphql/connect.d.ts.map +1 -0
  37. package/dist/src/common/graphql/connect.js +22 -0
  38. package/dist/src/common/graphql/connection.d.ts +14 -0
  39. package/dist/src/common/graphql/connection.d.ts.map +1 -0
  40. package/dist/src/common/graphql/connection.js +23 -0
  41. package/dist/{common → src/common}/utils.d.ts +4 -4
  42. package/dist/src/common/utils.d.ts.map +1 -0
  43. package/dist/{connect.d.ts → src/connect.d.ts} +0 -4
  44. package/dist/src/connect.d.ts.map +1 -0
  45. package/dist/{connect.js → src/connect.js} +21 -23
  46. package/dist/src/connectOpts.d.ts.map +1 -0
  47. package/dist/{index.d.ts → src/index.d.ts} +5 -5
  48. package/dist/src/index.d.ts.map +1 -0
  49. package/dist/src/index.js +10 -0
  50. package/dist/{introspector/decorators → src/module}/decorators.d.ts +3 -3
  51. package/dist/src/module/decorators.d.ts.map +1 -0
  52. package/dist/{introspector/decorators → src/module}/decorators.js +1 -1
  53. package/dist/{entrypoint → src/module/entrypoint}/context.d.ts +1 -1
  54. package/dist/src/module/entrypoint/context.d.ts.map +1 -0
  55. package/dist/src/module/entrypoint/entrypoint.d.ts +2 -0
  56. package/dist/src/module/entrypoint/entrypoint.d.ts.map +1 -0
  57. package/dist/{entrypoint → src/module/entrypoint}/entrypoint.js +7 -16
  58. package/dist/{entrypoint → src/module/entrypoint}/invoke.d.ts +2 -2
  59. package/dist/src/module/entrypoint/invoke.d.ts.map +1 -0
  60. package/dist/{entrypoint → src/module/entrypoint}/invoke.js +2 -2
  61. package/dist/{entrypoint → src/module/entrypoint}/load.d.ts +6 -11
  62. package/dist/src/module/entrypoint/load.d.ts.map +1 -0
  63. package/dist/{entrypoint → src/module/entrypoint}/load.js +15 -5
  64. package/dist/src/module/entrypoint/register.d.ts +7 -0
  65. package/dist/src/module/entrypoint/register.d.ts.map +1 -0
  66. package/dist/{entrypoint → src/module/entrypoint}/register.js +3 -3
  67. package/dist/{introspector/executor → src/module}/executor.d.ts +4 -2
  68. package/dist/src/module/executor.d.ts.map +1 -0
  69. package/dist/src/module/executor.js +45 -0
  70. package/dist/src/module/introspector/case_convertor.d.ts +2 -0
  71. package/dist/src/module/introspector/case_convertor.d.ts.map +1 -0
  72. package/dist/src/module/introspector/case_convertor.js +17 -0
  73. package/dist/src/module/introspector/dagger_module/argument.d.ts +47 -0
  74. package/dist/src/module/introspector/dagger_module/argument.d.ts.map +1 -0
  75. package/dist/src/module/introspector/dagger_module/argument.js +109 -0
  76. package/dist/src/module/introspector/dagger_module/constructor.d.ts +18 -0
  77. package/dist/src/module/introspector/dagger_module/constructor.d.ts.map +1 -0
  78. package/dist/src/module/introspector/dagger_module/constructor.js +38 -0
  79. package/dist/src/module/introspector/dagger_module/decorator.d.ts +7 -0
  80. package/dist/src/module/introspector/dagger_module/decorator.d.ts.map +1 -0
  81. package/dist/src/module/introspector/dagger_module/decorator.js +6 -0
  82. package/dist/src/module/introspector/dagger_module/enum.d.ts +37 -0
  83. package/dist/src/module/introspector/dagger_module/enum.d.ts.map +1 -0
  84. package/dist/src/module/introspector/dagger_module/enum.js +55 -0
  85. package/dist/src/module/introspector/dagger_module/enumBase.d.ts +17 -0
  86. package/dist/src/module/introspector/dagger_module/enumBase.d.ts.map +1 -0
  87. package/dist/src/module/introspector/dagger_module/enumClass.d.ts +37 -0
  88. package/dist/src/module/introspector/dagger_module/enumClass.d.ts.map +1 -0
  89. package/dist/src/module/introspector/dagger_module/enumClass.js +61 -0
  90. package/dist/src/module/introspector/dagger_module/function.d.ts +35 -0
  91. package/dist/src/module/introspector/dagger_module/function.d.ts.map +1 -0
  92. package/dist/src/module/introspector/dagger_module/function.js +86 -0
  93. package/dist/src/module/introspector/dagger_module/index.d.ts +13 -0
  94. package/dist/src/module/introspector/dagger_module/index.d.ts.map +1 -0
  95. package/dist/src/module/introspector/dagger_module/index.js +12 -0
  96. package/dist/src/module/introspector/dagger_module/module.d.ts +110 -0
  97. package/dist/src/module/introspector/dagger_module/module.d.ts.map +1 -0
  98. package/dist/src/module/introspector/dagger_module/module.js +275 -0
  99. package/dist/src/module/introspector/dagger_module/object.d.ts +29 -0
  100. package/dist/src/module/introspector/dagger_module/object.d.ts.map +1 -0
  101. package/dist/src/module/introspector/dagger_module/object.js +91 -0
  102. package/dist/src/module/introspector/dagger_module/objectBase.d.ts +29 -0
  103. package/dist/src/module/introspector/dagger_module/objectBase.d.ts.map +1 -0
  104. package/dist/src/module/introspector/dagger_module/property.d.ts +33 -0
  105. package/dist/src/module/introspector/dagger_module/property.d.ts.map +1 -0
  106. package/dist/src/module/introspector/dagger_module/property.js +76 -0
  107. package/dist/src/module/introspector/dagger_module/reference.d.ts +13 -0
  108. package/dist/src/module/introspector/dagger_module/reference.d.ts.map +1 -0
  109. package/dist/src/module/introspector/dagger_module/reference.js +33 -0
  110. package/dist/src/module/introspector/dagger_module/typeObject.d.ts +25 -0
  111. package/dist/src/module/introspector/dagger_module/typeObject.d.ts.map +1 -0
  112. package/dist/src/module/introspector/dagger_module/typeObject.js +58 -0
  113. package/dist/src/module/introspector/dagger_module/typeObjectProperty.d.ts +31 -0
  114. package/dist/src/module/introspector/dagger_module/typeObjectProperty.d.ts.map +1 -0
  115. package/dist/src/module/introspector/dagger_module/typeObjectProperty.js +54 -0
  116. package/dist/src/module/introspector/index.d.ts +3 -0
  117. package/dist/src/module/introspector/index.d.ts.map +1 -0
  118. package/dist/src/module/introspector/index.js +16 -0
  119. package/dist/{introspector/scanner/typeDefs.d.ts → src/module/introspector/typedef.d.ts} +1 -1
  120. package/dist/src/module/introspector/typedef.d.ts.map +1 -0
  121. package/dist/src/module/introspector/typescript_module/ast.d.ts +42 -0
  122. package/dist/src/module/introspector/typescript_module/ast.d.ts.map +1 -0
  123. package/dist/src/module/introspector/typescript_module/ast.js +254 -0
  124. package/dist/src/module/introspector/typescript_module/declarations.d.ts +15 -0
  125. package/dist/src/module/introspector/typescript_module/declarations.d.ts.map +1 -0
  126. package/dist/src/module/introspector/typescript_module/declarations.js +10 -0
  127. package/dist/src/module/introspector/typescript_module/explorer.d.ts +4 -0
  128. package/dist/src/module/introspector/typescript_module/explorer.d.ts.map +1 -0
  129. package/dist/src/module/introspector/typescript_module/explorer.js +16 -0
  130. package/dist/src/module/introspector/typescript_module/index.d.ts +4 -0
  131. package/dist/src/module/introspector/typescript_module/index.d.ts.map +1 -0
  132. package/dist/src/module/introspector/typescript_module/index.js +3 -0
  133. package/dist/src/module/introspector/typescript_module/typedef_utils.d.ts +5 -0
  134. package/dist/src/module/introspector/typescript_module/typedef_utils.d.ts.map +1 -0
  135. package/dist/src/module/introspector/typescript_module/typedef_utils.js +26 -0
  136. package/dist/src/module/introspector/utils/files.d.ts.map +1 -0
  137. package/dist/{introspector → src/module/introspector}/utils/files.js +1 -1
  138. package/dist/src/module/registry.d.ts.map +1 -0
  139. package/dist/{introspector/registry → src/module}/registry.js +1 -1
  140. package/dist/src/provisioning/bin.d.ts.map +1 -0
  141. package/dist/{provisioning → src/provisioning}/bin.js +1 -1
  142. package/dist/src/provisioning/default.d.ts +2 -0
  143. package/dist/src/provisioning/default.d.ts.map +1 -0
  144. package/dist/{provisioning → src/provisioning}/default.js +1 -1
  145. package/dist/src/provisioning/engineconn.d.ts +30 -0
  146. package/dist/src/provisioning/engineconn.d.ts.map +1 -0
  147. package/dist/src/provisioning/engineconn.js +1 -0
  148. package/dist/src/provisioning/index.d.ts +4 -0
  149. package/dist/src/provisioning/index.d.ts.map +1 -0
  150. package/dist/src/provisioning/index.js +14 -0
  151. package/dist/src/telemetry/index.d.ts.map +1 -0
  152. package/dist/src/telemetry/init.d.ts.map +1 -0
  153. package/dist/src/telemetry/telemetry.d.ts.map +1 -0
  154. package/dist/src/telemetry/tracer.d.ts.map +1 -0
  155. package/package.json +5 -4
  156. package/dist/api/client.gen.d.ts.map +0 -1
  157. package/dist/api/utils.d.ts.map +0 -1
  158. package/dist/common/errors/DaggerSDKError.d.ts.map +0 -1
  159. package/dist/common/errors/DockerImageRefValidationError.d.ts.map +0 -1
  160. package/dist/common/errors/EngineSessionConnectParamsParseError.d.ts.map +0 -1
  161. package/dist/common/errors/EngineSessionConnectionTimeoutError.d.ts.map +0 -1
  162. package/dist/common/errors/EngineSessionErrorOptions.d.ts.map +0 -1
  163. package/dist/common/errors/ExecError.d.ts.map +0 -1
  164. package/dist/common/errors/FunctionNotFound.d.ts.map +0 -1
  165. package/dist/common/errors/GraphQLRequestError.d.ts.map +0 -1
  166. package/dist/common/errors/InitEngineSessionBinaryError.d.ts.map +0 -1
  167. package/dist/common/errors/NotAwaitedRequestError.d.ts.map +0 -1
  168. package/dist/common/errors/TooManyNestedObjectsError.d.ts.map +0 -1
  169. package/dist/common/errors/UnknownDaggerError.d.ts.map +0 -1
  170. package/dist/common/errors/errors-codes.d.ts.map +0 -1
  171. package/dist/common/errors/index.d.ts.map +0 -1
  172. package/dist/common/utils.d.ts.map +0 -1
  173. package/dist/connect.d.ts.map +0 -1
  174. package/dist/connectOpts.d.ts.map +0 -1
  175. package/dist/context/builder.d.ts +0 -9
  176. package/dist/context/builder.d.ts.map +0 -1
  177. package/dist/context/builder.js +0 -34
  178. package/dist/context/context.d.ts +0 -40
  179. package/dist/context/context.d.ts.map +0 -1
  180. package/dist/context/context.js +0 -53
  181. package/dist/entrypoint/context.d.ts.map +0 -1
  182. package/dist/entrypoint/entrypoint.d.ts +0 -2
  183. package/dist/entrypoint/entrypoint.d.ts.map +0 -1
  184. package/dist/entrypoint/invoke.d.ts.map +0 -1
  185. package/dist/entrypoint/load.d.ts.map +0 -1
  186. package/dist/entrypoint/register.d.ts +0 -7
  187. package/dist/entrypoint/register.d.ts.map +0 -1
  188. package/dist/graphql/client.d.ts.map +0 -1
  189. package/dist/index.d.ts.map +0 -1
  190. package/dist/index.js +0 -7
  191. package/dist/introspector/decorators/decorators.d.ts.map +0 -1
  192. package/dist/introspector/executor/executor.d.ts.map +0 -1
  193. package/dist/introspector/executor/executor.js +0 -32
  194. package/dist/introspector/registry/registry.d.ts.map +0 -1
  195. package/dist/introspector/scanner/abtractions/argument.d.ts +0 -104
  196. package/dist/introspector/scanner/abtractions/argument.d.ts.map +0 -1
  197. package/dist/introspector/scanner/abtractions/argument.js +0 -207
  198. package/dist/introspector/scanner/abtractions/constructor.d.ts +0 -17
  199. package/dist/introspector/scanner/abtractions/constructor.d.ts.map +0 -1
  200. package/dist/introspector/scanner/abtractions/constructor.js +0 -40
  201. package/dist/introspector/scanner/abtractions/enum.d.ts +0 -33
  202. package/dist/introspector/scanner/abtractions/enum.d.ts.map +0 -1
  203. package/dist/introspector/scanner/abtractions/enum.js +0 -73
  204. package/dist/introspector/scanner/abtractions/enumValue.d.ts +0 -24
  205. package/dist/introspector/scanner/abtractions/enumValue.d.ts.map +0 -1
  206. package/dist/introspector/scanner/abtractions/enumValue.js +0 -51
  207. package/dist/introspector/scanner/abtractions/method.d.ts +0 -67
  208. package/dist/introspector/scanner/abtractions/method.d.ts.map +0 -1
  209. package/dist/introspector/scanner/abtractions/method.js +0 -132
  210. package/dist/introspector/scanner/abtractions/module.d.ts +0 -26
  211. package/dist/introspector/scanner/abtractions/module.d.ts.map +0 -1
  212. package/dist/introspector/scanner/abtractions/module.js +0 -103
  213. package/dist/introspector/scanner/abtractions/object.d.ts +0 -52
  214. package/dist/introspector/scanner/abtractions/object.d.ts.map +0 -1
  215. package/dist/introspector/scanner/abtractions/object.js +0 -118
  216. package/dist/introspector/scanner/abtractions/property.d.ts +0 -55
  217. package/dist/introspector/scanner/abtractions/property.d.ts.map +0 -1
  218. package/dist/introspector/scanner/abtractions/property.js +0 -110
  219. package/dist/introspector/scanner/abtractions/typeToTypedef.d.ts +0 -8
  220. package/dist/introspector/scanner/abtractions/typeToTypedef.d.ts.map +0 -1
  221. package/dist/introspector/scanner/abtractions/typeToTypedef.js +0 -85
  222. package/dist/introspector/scanner/scan.d.ts +0 -14
  223. package/dist/introspector/scanner/scan.d.ts.map +0 -1
  224. package/dist/introspector/scanner/scan.js +0 -26
  225. package/dist/introspector/scanner/typeDefs.d.ts.map +0 -1
  226. package/dist/introspector/scanner/utils.d.ts +0 -22
  227. package/dist/introspector/scanner/utils.d.ts.map +0 -1
  228. package/dist/introspector/scanner/utils.js +0 -101
  229. package/dist/introspector/utils/files.d.ts.map +0 -1
  230. package/dist/provisioning/bin.d.ts.map +0 -1
  231. package/dist/provisioning/default.d.ts +0 -2
  232. package/dist/provisioning/default.d.ts.map +0 -1
  233. package/dist/provisioning/engineconn.d.ts +0 -28
  234. package/dist/provisioning/engineconn.d.ts.map +0 -1
  235. package/dist/provisioning/index.d.ts +0 -4
  236. package/dist/provisioning/index.d.ts.map +0 -1
  237. package/dist/provisioning/index.js +0 -3
  238. package/dist/telemetry/attributes.d.ts +0 -2
  239. package/dist/telemetry/attributes.d.ts.map +0 -1
  240. package/dist/telemetry/index.d.ts.map +0 -1
  241. package/dist/telemetry/init.d.ts.map +0 -1
  242. package/dist/telemetry/telemetry.d.ts.map +0 -1
  243. package/dist/telemetry/tracer.d.ts.map +0 -1
  244. /package/dist/{common → src/common}/errors/DaggerSDKError.js +0 -0
  245. /package/dist/{common → src/common}/errors/DockerImageRefValidationError.d.ts +0 -0
  246. /package/dist/{common → src/common}/errors/DockerImageRefValidationError.js +0 -0
  247. /package/dist/{common → src/common}/errors/EngineSessionConnectParamsParseError.d.ts +0 -0
  248. /package/dist/{common → src/common}/errors/EngineSessionConnectParamsParseError.js +0 -0
  249. /package/dist/{common → src/common}/errors/EngineSessionConnectionTimeoutError.d.ts +0 -0
  250. /package/dist/{common → src/common}/errors/EngineSessionConnectionTimeoutError.js +0 -0
  251. /package/dist/{common → src/common}/errors/EngineSessionErrorOptions.d.ts +0 -0
  252. /package/dist/{common → src/common}/errors/EngineSessionErrorOptions.js +0 -0
  253. /package/dist/{common → src/common}/errors/FunctionNotFound.d.ts +0 -0
  254. /package/dist/{common → src/common}/errors/FunctionNotFound.js +0 -0
  255. /package/dist/{common → src/common}/errors/GraphQLRequestError.d.ts +0 -0
  256. /package/dist/{common → src/common}/errors/GraphQLRequestError.js +0 -0
  257. /package/dist/{common → src/common}/errors/InitEngineSessionBinaryError.d.ts +0 -0
  258. /package/dist/{common → src/common}/errors/InitEngineSessionBinaryError.js +0 -0
  259. /package/dist/{common → src/common}/errors/NotAwaitedRequestError.d.ts +0 -0
  260. /package/dist/{common → src/common}/errors/NotAwaitedRequestError.js +0 -0
  261. /package/dist/{common → src/common}/errors/TooManyNestedObjectsError.d.ts +0 -0
  262. /package/dist/{common → src/common}/errors/TooManyNestedObjectsError.js +0 -0
  263. /package/dist/{common → src/common}/errors/UnknownDaggerError.d.ts +0 -0
  264. /package/dist/{common → src/common}/errors/UnknownDaggerError.js +0 -0
  265. /package/dist/{graphql → src/common/graphql}/client.d.ts +0 -0
  266. /package/dist/{graphql → src/common/graphql}/client.js +0 -0
  267. /package/dist/{common → src/common}/utils.js +0 -0
  268. /package/dist/{connectOpts.d.ts → src/connectOpts.d.ts} +0 -0
  269. /package/dist/{connectOpts.js → src/connectOpts.js} +0 -0
  270. /package/dist/{entrypoint → src/module/entrypoint}/context.js +0 -0
  271. /package/dist/{introspector/scanner/typeDefs.js → src/module/introspector/dagger_module/enumBase.js} +0 -0
  272. /package/dist/{provisioning/engineconn.js → src/module/introspector/dagger_module/objectBase.js} +0 -0
  273. /package/dist/{telemetry/attributes.js → src/module/introspector/typedef.js} +0 -0
  274. /package/dist/{introspector → src/module/introspector}/utils/files.d.ts +0 -0
  275. /package/dist/{introspector/registry → src/module}/registry.d.ts +0 -0
  276. /package/dist/{provisioning → src/provisioning}/bin.d.ts +0 -0
  277. /package/dist/{telemetry → src/telemetry}/index.d.ts +0 -0
  278. /package/dist/{telemetry → src/telemetry}/index.js +0 -0
  279. /package/dist/{telemetry → src/telemetry}/init.d.ts +0 -0
  280. /package/dist/{telemetry → src/telemetry}/init.js +0 -0
  281. /package/dist/{telemetry → src/telemetry}/telemetry.d.ts +0 -0
  282. /package/dist/{telemetry → src/telemetry}/telemetry.js +0 -0
  283. /package/dist/{telemetry → src/telemetry}/tracer.d.ts +0 -0
  284. /package/dist/{telemetry → src/telemetry}/tracer.js +0 -0
@@ -1,207 +0,0 @@
1
- import ts from "typescript";
2
- import { UnknownDaggerError } from "../../../common/errors/UnknownDaggerError.js";
3
- import { argument } from "../../decorators/decorators.js";
4
- import { typeToTypedef } from "./typeToTypedef.js";
5
- export const ARGUMENT_DECORATOR = argument.name;
6
- /**
7
- * Argument is an abstraction of a function argument.
8
- *
9
- * This aims to simplify and adds clarity to how we analyse the code and using
10
- * clear accessor.
11
- */
12
- export class Argument {
13
- symbol;
14
- checker;
15
- param;
16
- // Preloaded values.
17
- _name;
18
- _description;
19
- _type;
20
- _defaultValue;
21
- _isOptional;
22
- _isNullable;
23
- _isVariadic;
24
- _defaultPath;
25
- _ignore;
26
- /**
27
- * Create a new Argument instance.
28
- *
29
- * @param checker Checker to use to introspect the type of the argument.
30
- * @param param The symbol of the argument to introspect.
31
- *
32
- * @throws UnknownDaggerError If the symbol doesn't have any declaration.
33
- * @throws UnknownDaggerError If the declaration of the symbol isn't a parameter.
34
- */
35
- constructor(checker, param) {
36
- this.symbol = param;
37
- this.checker = checker;
38
- const declarations = this.symbol.getDeclarations();
39
- if (!declarations || declarations.length < 0) {
40
- throw new UnknownDaggerError(`could not find param declarations of symbol ${this.symbol.name}`, {});
41
- }
42
- const parameterDeclaration = declarations[0];
43
- if (!ts.isParameter(parameterDeclaration)) {
44
- throw new UnknownDaggerError(`the declaration of symbol ${this.symbol.name} isn't a parameter`, {});
45
- }
46
- this.param = parameterDeclaration;
47
- // Preload to optimize the introspection.
48
- this._name = this.loadName();
49
- this._description = this.loadDescription();
50
- this._type = this.loadType();
51
- this._defaultValue = this.loadDefaultValue();
52
- this._isNullable = this.loadIsNullable();
53
- this._isVariadic = this.loadIsVariadic();
54
- this._isOptional = this.loadIsOptional();
55
- this.loadMetadata();
56
- }
57
- get name() {
58
- return this._name;
59
- }
60
- get description() {
61
- return this._description;
62
- }
63
- /**
64
- * Return the type of the argument in a Dagger TypeDef format.
65
- */
66
- get type() {
67
- return this._type;
68
- }
69
- get defaultValue() {
70
- return this._defaultValue;
71
- }
72
- /**
73
- * Return true if the parameter is optional.
74
- *
75
- * A parameter is considered optional if he fits one of the following:
76
- * - It has a question token (e.g. `foo?: <type>`).
77
- * - It's variadic (e.g. `...foo: <type>[]`).
78
- * - It's nullable (e.g. `foo: <type> | null`).
79
- */
80
- get isOptional() {
81
- return this._isOptional;
82
- }
83
- /**
84
- * Return true if the parameter is nullable.
85
- *
86
- * A parameter is considered nullable if itstype is a union type with `null`
87
- * on the list of types.
88
- * Example: `foo: string | null`.
89
- */
90
- get isNullable() {
91
- return this._isNullable;
92
- }
93
- get isVariadic() {
94
- return this._isVariadic;
95
- }
96
- get defaultPath() {
97
- return this._defaultPath;
98
- }
99
- get ignore() {
100
- return this._ignore;
101
- }
102
- toJSON() {
103
- return {
104
- name: this.name,
105
- description: this.description,
106
- type: this.type,
107
- isVariadic: this.isVariadic,
108
- isNullable: this.isNullable,
109
- isOptional: this.isOptional,
110
- defaultValue: this.defaultValue,
111
- defaultPath: this.defaultPath,
112
- ignore: this.ignore,
113
- };
114
- }
115
- loadName() {
116
- return this.symbol.getName();
117
- }
118
- loadDescription() {
119
- return ts.displayPartsToString(this.symbol.getDocumentationComment(this.checker));
120
- }
121
- loadType() {
122
- if (!this.symbol.valueDeclaration) {
123
- throw new UnknownDaggerError("could not find symbol value declaration", {});
124
- }
125
- const type = this.checker.getTypeOfSymbolAtLocation(this.symbol, this.symbol.valueDeclaration);
126
- return typeToTypedef(this.checker, type);
127
- }
128
- loadDefaultValue() {
129
- if (this.param.initializer === undefined) {
130
- return undefined;
131
- }
132
- return this.formatDefaultValue(this.param.initializer.getText());
133
- }
134
- /**
135
- * Return true if the parameter is optional.
136
- *
137
- * A parameter is considered optional if:
138
- * - It has a question token (e.g. `foo?: <type>`).
139
- * - It's variadic (e.g. `...foo: <type>[]`).
140
- * - It's nullable (e.g. `foo: <type> | null`).
141
- */
142
- loadIsOptional() {
143
- return (this.param.questionToken !== undefined ||
144
- this.isVariadic ||
145
- this.isNullable);
146
- }
147
- loadIsNullable() {
148
- if (!this.param.type) {
149
- return false;
150
- }
151
- if (ts.isUnionTypeNode(this.param.type)) {
152
- for (const _type of this.param.type.types) {
153
- if (_type.getText() === "null") {
154
- return true;
155
- }
156
- }
157
- }
158
- return false;
159
- }
160
- loadIsVariadic() {
161
- return this.param.dotDotDotToken !== undefined;
162
- }
163
- /**
164
- * The TypeScript Compiler API returns the raw default value as it is written
165
- * by the user.
166
- * However, some notations are not supported by GraphQL so this function
167
- * formats the default value to be compatible with the GraphQL syntax.
168
- *
169
- * Formatting rules:
170
- * - Single quote strings are converted to double quote strings.
171
- *
172
- * @param value The value to format.
173
- */
174
- formatDefaultValue(value) {
175
- const isSingleQuoteString = () => value.startsWith("'") && value.endsWith("'");
176
- if (isSingleQuoteString()) {
177
- return `"${value.slice(1, value.length - 1)}"`;
178
- }
179
- return value;
180
- }
181
- loadMetadata() {
182
- const contextDecorator = ts.getDecorators(this.param)?.find((d) => {
183
- if (ts.isCallExpression(d.expression)) {
184
- return d.expression.expression.getText() === ARGUMENT_DECORATOR;
185
- }
186
- return false;
187
- });
188
- if (!contextDecorator) {
189
- return undefined;
190
- }
191
- const expression = contextDecorator.expression;
192
- const arg = expression.arguments[0];
193
- if (!arg) {
194
- return;
195
- }
196
- // We eval the string to convert it to a JavaScript object, because parsing it
197
- // with JSON.parse will fails if the properties are not quoted.
198
- const parsedArg = eval(`(${arg.getText()})`);
199
- if (parsedArg.defaultPath) {
200
- this._defaultPath = parsedArg.defaultPath;
201
- }
202
- if (parsedArg.ignore) {
203
- this._ignore = parsedArg.ignore;
204
- }
205
- return;
206
- }
207
- }
@@ -1,17 +0,0 @@
1
- import ts from "typescript";
2
- import { Arguments } from "./argument.js";
3
- export declare class Constructor {
4
- private checker;
5
- private declaration;
6
- private _name;
7
- private _arguments;
8
- constructor(checker: ts.TypeChecker, declaration: ts.ConstructorDeclaration);
9
- get name(): string;
10
- get arguments(): Arguments;
11
- toJSON(): {
12
- args: Arguments;
13
- };
14
- getArgOrder(): string[];
15
- private loadArguments;
16
- }
17
- //# sourceMappingURL=constructor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constructor.d.ts","sourceRoot":"","sources":["../../../../introspector/scanner/abtractions/constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAA;AAEnD,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,WAAW,CAA2B;IAG9C,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,UAAU,CAAW;gBAEjB,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,CAAC,sBAAsB;IAQ3E,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,MAAM;;;IAMN,WAAW,IAAI,MAAM,EAAE;IAIvB,OAAO,CAAC,aAAa;CAiBtB"}
@@ -1,40 +0,0 @@
1
- import { UnknownDaggerError } from "../../../common/errors/UnknownDaggerError.js";
2
- import { Argument } from "./argument.js";
3
- export class Constructor {
4
- checker;
5
- declaration;
6
- // Preloaded values.
7
- _name = "";
8
- _arguments;
9
- constructor(checker, declaration) {
10
- this.checker = checker;
11
- this.declaration = declaration;
12
- // Preload values.
13
- this._arguments = this.loadArguments();
14
- }
15
- get name() {
16
- return this._name;
17
- }
18
- get arguments() {
19
- return this._arguments;
20
- }
21
- toJSON() {
22
- return {
23
- args: this.arguments,
24
- };
25
- }
26
- getArgOrder() {
27
- return Object.keys(this.arguments);
28
- }
29
- loadArguments() {
30
- return this.declaration.parameters.reduce((acc, param) => {
31
- const symbol = this.checker.getSymbolAtLocation(param.name);
32
- if (!symbol) {
33
- throw new UnknownDaggerError(`could not get constructor param: ${param.name.getText()}`, {});
34
- }
35
- const argument = new Argument(this.checker, symbol);
36
- acc[argument.name] = argument;
37
- return acc;
38
- }, {});
39
- }
40
- }
@@ -1,33 +0,0 @@
1
- import ts from "typescript";
2
- import { DaggerEnumValues } from "./enumValue.js";
3
- export declare const ENUM_DECORATOR: string;
4
- /**
5
- * Return true if the given class declaration has the decorator @enum() on
6
- * top of its declaration.
7
- */
8
- export declare function isEnumDecorated(object: ts.ClassDeclaration): boolean;
9
- export type DaggerEnums = {
10
- [name: string]: DaggerEnum;
11
- };
12
- export declare class DaggerEnum {
13
- private checker;
14
- private enumClass;
15
- private symbol;
16
- private file;
17
- private _name;
18
- private _description;
19
- private _values;
20
- constructor(checker: ts.TypeChecker, file: ts.SourceFile, enumClassDeclaration: ts.ClassDeclaration);
21
- get name(): string;
22
- get description(): string;
23
- get values(): DaggerEnumValues;
24
- toJSON(): {
25
- name: string;
26
- description: string;
27
- values: DaggerEnumValues;
28
- };
29
- private loadName;
30
- private loadDescription;
31
- private loadEnumValues;
32
- }
33
- //# sourceMappingURL=enum.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../../../introspector/scanner/abtractions/enum.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,OAAO,EAAmB,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAElE,eAAO,MAAM,cAAc,QAAgB,CAAA;AAE3C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,gBAAgB,GAAG,OAAO,CAUpE;AAED,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAA;AAExD,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,MAAM,CAAW;IAEzB,OAAO,CAAC,IAAI,CAAe;IAE3B,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,YAAY,CAAQ;IAE5B,OAAO,CAAC,OAAO,CAAkB;gBAG/B,OAAO,EAAE,EAAE,CAAC,WAAW,EACvB,IAAI,EAAE,EAAE,CAAC,UAAU,EACnB,oBAAoB,EAAE,EAAE,CAAC,gBAAgB;IA+B3C,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,MAAM,IAAI,gBAAgB,CAE7B;IAED,MAAM;;;;;IAQN,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,cAAc;CAYvB"}
@@ -1,73 +0,0 @@
1
- import ts from "typescript";
2
- import { UnknownDaggerError } from "../../../common/errors/UnknownDaggerError.js";
3
- import { enumType } from "../../decorators/decorators.js";
4
- import { DaggerEnumValue } from "./enumValue.js";
5
- export const ENUM_DECORATOR = enumType.name;
6
- /**
7
- * Return true if the given class declaration has the decorator @enum() on
8
- * top of its declaration.
9
- */
10
- export function isEnumDecorated(object) {
11
- return (ts.getDecorators(object)?.find((d) => {
12
- if (ts.isCallExpression(d.expression)) {
13
- return d.expression.expression.getText() === ENUM_DECORATOR;
14
- }
15
- return false;
16
- }) !== undefined);
17
- }
18
- export class DaggerEnum {
19
- checker;
20
- enumClass;
21
- symbol;
22
- file;
23
- _name;
24
- _description;
25
- _values;
26
- constructor(checker, file, enumClassDeclaration) {
27
- this.checker = checker;
28
- this.enumClass = enumClassDeclaration;
29
- this.file = file;
30
- if (!enumClassDeclaration.name) {
31
- throw new UnknownDaggerError(`could not introspect enum class: ${enumClassDeclaration}`, {});
32
- }
33
- const enumClassSymbol = checker.getSymbolAtLocation(enumClassDeclaration.name);
34
- if (!enumClassSymbol) {
35
- throw new UnknownDaggerError(`could not get enum class symbol: ${enumClassDeclaration.name.getText()}`, {});
36
- }
37
- this.symbol = enumClassSymbol;
38
- // Preload definition to optimize the introspection.
39
- this._name = this.loadName();
40
- this._description = this.loadDescription();
41
- this._values = this.loadEnumValues();
42
- }
43
- get name() {
44
- return this._name;
45
- }
46
- get description() {
47
- return this._description;
48
- }
49
- get values() {
50
- return this._values;
51
- }
52
- toJSON() {
53
- return {
54
- name: this.name,
55
- description: this.description,
56
- values: this._values,
57
- };
58
- }
59
- loadName() {
60
- return this.symbol.getName();
61
- }
62
- loadDescription() {
63
- return ts.displayPartsToString(this.symbol.getDocumentationComment(this.checker));
64
- }
65
- loadEnumValues() {
66
- return this.enumClass.members
67
- .filter((member) => ts.isPropertyDeclaration(member))
68
- .reduce((acc, member) => {
69
- const value = new DaggerEnumValue(this.checker, member);
70
- return { ...acc, [value.name]: value };
71
- }, {});
72
- }
73
- }
@@ -1,24 +0,0 @@
1
- import ts from "typescript";
2
- export type DaggerEnumValues = {
3
- [name: string]: DaggerEnumValue;
4
- };
5
- export declare class DaggerEnumValue {
6
- private checker;
7
- private property;
8
- private symbol;
9
- private _name;
10
- private _value;
11
- private _description;
12
- constructor(checker: ts.TypeChecker, property: ts.PropertyDeclaration);
13
- get name(): string;
14
- get value(): string;
15
- get description(): string;
16
- toJSON(): {
17
- name: string;
18
- description: string;
19
- };
20
- private loadName;
21
- private loadValue;
22
- private loadDescription;
23
- }
24
- //# sourceMappingURL=enumValue.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enumValue.d.ts","sourceRoot":"","sources":["../../../../introspector/scanner/abtractions/enumValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAI3B,MAAM,MAAM,gBAAgB,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,CAAA;AAElE,qBAAa,eAAe;IAC1B,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,QAAQ,CAAwB;IAExC,OAAO,CAAC,MAAM,CAAW;IAEzB,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO,CAAC,MAAM,CAAQ;IAEtB,OAAO,CAAC,YAAY,CAAQ;gBAEhB,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,CAAC,mBAAmB;IAkBrE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,MAAM;;;;IAON,OAAO,CAAC,QAAQ;IAMhB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,eAAe;CAKxB"}
@@ -1,51 +0,0 @@
1
- import ts from "typescript";
2
- import { UnknownDaggerError } from "../../../common/errors/UnknownDaggerError.js";
3
- export class DaggerEnumValue {
4
- checker;
5
- property;
6
- symbol;
7
- _name;
8
- _value;
9
- _description;
10
- constructor(checker, property) {
11
- this.checker = checker;
12
- this.property = property;
13
- const propertySymbol = checker.getSymbolAtLocation(property.name);
14
- if (!propertySymbol) {
15
- throw new UnknownDaggerError(`could not get property symbol: ${property.name.getText()}`, {});
16
- }
17
- this.symbol = propertySymbol;
18
- this._name = this.loadName();
19
- this._value = this.loadValue();
20
- this._description = this.loadDescription();
21
- }
22
- get name() {
23
- return this._name;
24
- }
25
- get value() {
26
- return this._value;
27
- }
28
- get description() {
29
- return this._description;
30
- }
31
- toJSON() {
32
- return {
33
- name: this.value,
34
- description: this.description,
35
- };
36
- }
37
- loadName() {
38
- return this.symbol.getName();
39
- }
40
- // Load the value of the enum value from the property initializer.
41
- // If the initializer is not set, it will throw an error.
42
- loadValue() {
43
- if (!this.property.initializer) {
44
- throw new Error("Dagger enum value has no value set");
45
- }
46
- return JSON.parse(this.property.initializer.getText());
47
- }
48
- loadDescription() {
49
- return ts.displayPartsToString(this.symbol.getDocumentationComment(this.checker));
50
- }
51
- }
@@ -1,67 +0,0 @@
1
- import ts from "typescript";
2
- import { TypeDefKind } from "../../../api/client.gen.js";
3
- import { TypeDef } from "../typeDefs.js";
4
- import { Arguments } from "./argument.js";
5
- export declare const METHOD_DECORATOR: string;
6
- /**
7
- * Return true if the given method has the decorator @fct() on top
8
- * of its declaration.
9
- *
10
- * @param method The method to check
11
- */
12
- export declare function isMethodDecorated(method: ts.MethodDeclaration): boolean;
13
- export type Methods = {
14
- [name: string]: Method;
15
- };
16
- /**
17
- * Method is an abstraction of a function or method.
18
- *
19
- * This aims to simplify and adds clarity to how we analyse the code and using
20
- * clear accessor.
21
- */
22
- export declare class Method {
23
- private checker;
24
- private symbol;
25
- private signature;
26
- private decorator;
27
- private _name;
28
- private _description;
29
- private _alias;
30
- private _arguments;
31
- private _returnType;
32
- /**
33
- * Create a new Method instance.
34
- *
35
- * @param checker Checker to use to introspect the method.
36
- * @param method The method to introspect.
37
- *
38
- * @throws UnknownDaggerError If the method doesn't have any symbol.
39
- * @throws UnknownDaggerError If the method doesn't have any signature.
40
- */
41
- constructor(checker: ts.TypeChecker, method: ts.MethodDeclaration);
42
- get name(): string;
43
- get description(): string;
44
- /**
45
- * Return the alias of the method if it has one.
46
- */
47
- get alias(): string | undefined;
48
- get arguments(): Arguments;
49
- /**
50
- * Return the type of the return value in a Dagger TypeDef format.
51
- */
52
- get returnType(): TypeDef<TypeDefKind>;
53
- toJSON(): {
54
- name: string;
55
- description: string;
56
- alias: string | undefined;
57
- arguments: Arguments;
58
- returnType: TypeDef<TypeDefKind>;
59
- };
60
- getArgOrder(): string[];
61
- private loadName;
62
- private loadDescription;
63
- private loadAlias;
64
- private loadArguments;
65
- private loadReturnType;
66
- }
67
- //# sourceMappingURL=method.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"method.d.ts","sourceRoot":"","sources":["../../../../introspector/scanner/abtractions/method.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAGxD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,OAAO,EAAY,SAAS,EAAE,MAAM,eAAe,CAAA;AAGnD,eAAO,MAAM,gBAAgB,QAAY,CAAA;AAEzC;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,iBAAiB,GAAG,OAAO,CAUvE;AAED,MAAM,MAAM,OAAO,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAA;AAEhD;;;;;GAKG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,MAAM,CAAW;IAEzB,OAAO,CAAC,SAAS,CAAc;IAE/B,OAAO,CAAC,SAAS,CAA0B;IAG3C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,UAAU,CAAW;IAC7B,OAAO,CAAC,WAAW,CAAsB;IAEzC;;;;;;;;OAQG;gBACS,OAAO,EAAE,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,iBAAiB;IAuCjE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,MAAM,GAAG,SAAS,CAE9B;IAED,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,OAAO,CAAC,WAAW,CAAC,CAErC;IAED,MAAM;;;;;;;IAUN,WAAW,IAAI,MAAM,EAAE;IAIvB,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,SAAS;IAejB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,cAAc;CAGvB"}
@@ -1,132 +0,0 @@
1
- import ts from "typescript";
2
- import { UnknownDaggerError } from "../../../common/errors/UnknownDaggerError.js";
3
- import { func } from "../../decorators/decorators.js";
4
- import { Argument } from "./argument.js";
5
- import { typeToTypedef } from "./typeToTypedef.js";
6
- export const METHOD_DECORATOR = func.name;
7
- /**
8
- * Return true if the given method has the decorator @fct() on top
9
- * of its declaration.
10
- *
11
- * @param method The method to check
12
- */
13
- export function isMethodDecorated(method) {
14
- return (ts.getDecorators(method)?.find((d) => {
15
- if (ts.isCallExpression(d.expression)) {
16
- return d.expression.expression.getText() === METHOD_DECORATOR;
17
- }
18
- return false;
19
- }) !== undefined);
20
- }
21
- /**
22
- * Method is an abstraction of a function or method.
23
- *
24
- * This aims to simplify and adds clarity to how we analyse the code and using
25
- * clear accessor.
26
- */
27
- export class Method {
28
- checker;
29
- symbol;
30
- signature;
31
- decorator;
32
- // Preloaded values.
33
- _name;
34
- _description;
35
- _alias;
36
- _arguments;
37
- _returnType;
38
- /**
39
- * Create a new Method instance.
40
- *
41
- * @param checker Checker to use to introspect the method.
42
- * @param method The method to introspect.
43
- *
44
- * @throws UnknownDaggerError If the method doesn't have any symbol.
45
- * @throws UnknownDaggerError If the method doesn't have any signature.
46
- */
47
- constructor(checker, method) {
48
- this.checker = checker;
49
- const methodSymbol = checker.getSymbolAtLocation(method.name);
50
- if (!methodSymbol) {
51
- throw new UnknownDaggerError(`could not get method symbol: ${method.name.getText()}`, {});
52
- }
53
- this.symbol = methodSymbol;
54
- const signature = checker.getSignatureFromDeclaration(method);
55
- if (!signature) {
56
- throw new UnknownDaggerError(`could not get method signature: ${method.name.getText()}`, {});
57
- }
58
- this.signature = signature;
59
- this.decorator = ts.getDecorators(method)?.find((d) => {
60
- if (ts.isCallExpression(d.expression)) {
61
- return d.expression.expression.getText() === METHOD_DECORATOR;
62
- }
63
- return false;
64
- });
65
- // Preload to optimize the introspection.
66
- this._name = this.loadName();
67
- this._description = this.loadDescription();
68
- this._alias = this.loadAlias();
69
- this._arguments = this.loadArguments();
70
- this._returnType = this.loadReturnType();
71
- }
72
- get name() {
73
- return this._name;
74
- }
75
- get description() {
76
- return this._description;
77
- }
78
- /**
79
- * Return the alias of the method if it has one.
80
- */
81
- get alias() {
82
- return this._alias;
83
- }
84
- get arguments() {
85
- return this._arguments;
86
- }
87
- /**
88
- * Return the type of the return value in a Dagger TypeDef format.
89
- */
90
- get returnType() {
91
- return this._returnType;
92
- }
93
- toJSON() {
94
- return {
95
- name: this.name,
96
- description: this.description,
97
- alias: this.alias,
98
- arguments: this.arguments,
99
- returnType: this.returnType,
100
- };
101
- }
102
- getArgOrder() {
103
- return Object.keys(this.arguments);
104
- }
105
- loadName() {
106
- return this.symbol.getName();
107
- }
108
- loadDescription() {
109
- return ts.displayPartsToString(this.symbol.getDocumentationComment(this.checker));
110
- }
111
- loadAlias() {
112
- if (!this.decorator) {
113
- return undefined;
114
- }
115
- const expression = this.decorator.expression;
116
- const aliasArg = expression.arguments[0];
117
- if (!aliasArg) {
118
- return undefined;
119
- }
120
- return JSON.parse(aliasArg.getText().replace(/'/g, '"'));
121
- }
122
- loadArguments() {
123
- return this.signature.parameters.reduce((acc, param) => {
124
- const argument = new Argument(this.checker, param);
125
- acc[argument.name] = argument;
126
- return acc;
127
- }, {});
128
- }
129
- loadReturnType() {
130
- return typeToTypedef(this.checker, this.signature.getReturnType());
131
- }
132
- }
@@ -1,26 +0,0 @@
1
- import ts from "typescript";
2
- import { DaggerEnums } from "./enum.js";
3
- import { DaggerObjects } from "./object.js";
4
- export declare class DaggerModule {
5
- private checker;
6
- private readonly files;
7
- name: string;
8
- private _description;
9
- private _objects;
10
- private _enums;
11
- constructor(checker: ts.TypeChecker, name: string | undefined, files: readonly ts.SourceFile[]);
12
- get objects(): DaggerObjects;
13
- get enums(): DaggerEnums;
14
- get description(): string | undefined;
15
- toJSON(): {
16
- name: string;
17
- description: string | undefined;
18
- objects: DaggerObjects;
19
- enums: DaggerEnums;
20
- };
21
- private loadObjects;
22
- private loadEnums;
23
- private loadDescription;
24
- private toPascalCase;
25
- }
26
- //# sourceMappingURL=module.d.ts.map