@hyperweb/telescope 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (382) hide show
  1. package/README.md +1529 -0
  2. package/main/build.js +183 -0
  3. package/main/builder.js +229 -0
  4. package/main/bundle.js +162 -0
  5. package/main/bundler.js +100 -0
  6. package/main/cli.js +71 -0
  7. package/main/cmds.js +28 -0
  8. package/main/commands/download.js +122 -0
  9. package/main/commands/generate.js +151 -0
  10. package/main/commands/install.js +143 -0
  11. package/main/commands/transpile.js +197 -0
  12. package/main/contracts/generate.js +31 -0
  13. package/main/contracts/install.js +107 -0
  14. package/main/contracts/message-composer.js +31 -0
  15. package/main/contracts/react-query.js +31 -0
  16. package/main/contracts/recoil.js +31 -0
  17. package/main/file.js +20 -0
  18. package/main/generators/create-aggregated-lcd-client.js +87 -0
  19. package/main/generators/create-all-stargate-clients.js +96 -0
  20. package/main/generators/create-amino-converters.js +43 -0
  21. package/main/generators/create-bundle.js +83 -0
  22. package/main/generators/create-cosmwasm-bundle.js +15 -0
  23. package/main/generators/create-custom-stargate-clients.js +100 -0
  24. package/main/generators/create-helpers.js +119 -0
  25. package/main/generators/create-index.js +75 -0
  26. package/main/generators/create-lcd-client-all.js +116 -0
  27. package/main/generators/create-lcd-client-scoped.js +89 -0
  28. package/main/generators/create-lcd-clients.js +78 -0
  29. package/main/generators/create-mcp-server.js +1853 -0
  30. package/main/generators/create-mobx-bundle.js +52 -0
  31. package/main/generators/create-msg-funcs.js +132 -0
  32. package/main/generators/create-pinia-store-bundle.js +50 -0
  33. package/main/generators/create-pinia-store.js +90 -0
  34. package/main/generators/create-query-funcs.js +133 -0
  35. package/main/generators/create-react-query-bundle.js +103 -0
  36. package/main/generators/create-registries.js +49 -0
  37. package/main/generators/create-root-readme.js +259 -0
  38. package/main/generators/create-rpc-msg-client-all.js +135 -0
  39. package/main/generators/create-rpc-msg-client-scoped.js +114 -0
  40. package/main/generators/create-rpc-msg-clients.js +116 -0
  41. package/main/generators/create-rpc-ops-bundle.js +119 -0
  42. package/main/generators/create-rpc-query-client-all.js +137 -0
  43. package/main/generators/create-rpc-query-client-scoped.js +110 -0
  44. package/main/generators/create-rpc-query-clients.js +198 -0
  45. package/main/generators/create-sdk-module-stargate-clients.js +95 -0
  46. package/main/generators/create-stargate-clients.js +96 -0
  47. package/main/generators/create-types.js +164 -0
  48. package/main/generators/customize-utils.js +50 -0
  49. package/main/helpers/__test__/internalTimestamp.js +49 -0
  50. package/main/helpers/__test__/internalTimestampBigint.js +45 -0
  51. package/main/helpers/binary-coder.js +535 -0
  52. package/main/helpers/decimals.js +111 -0
  53. package/main/helpers/external-comet.js +52 -0
  54. package/main/helpers/external-icjs.js +36 -0
  55. package/main/helpers/external.js +31 -0
  56. package/main/helpers/grpc-gateway.js +348 -0
  57. package/main/helpers/grpc-web.js +14 -0
  58. package/main/helpers/helper-func-types-interface.js +106 -0
  59. package/main/helpers/helper-func-types.js +93 -0
  60. package/main/helpers/index.js +38 -0
  61. package/main/helpers/internal-for-bigint.js +259 -0
  62. package/main/helpers/internal.js +240 -0
  63. package/main/helpers/json-safe.js +12 -0
  64. package/main/helpers/mobx.js +80 -0
  65. package/main/helpers/pinia-endpoint.js +20 -0
  66. package/main/helpers/react-query-hooks-icjs.js +223 -0
  67. package/main/helpers/react-query-hooks.js +258 -0
  68. package/main/helpers/react-query.js +93 -0
  69. package/main/helpers/registry-helper.js +229 -0
  70. package/main/helpers/types-helper.js +165 -0
  71. package/main/helpers/utf8-helper.js +146 -0
  72. package/main/helpers/varint.js +486 -0
  73. package/main/helpers/vue-query-hooks.js +226 -0
  74. package/main/imports.js +416 -0
  75. package/main/index.js +24 -0
  76. package/main/parse.js +194 -0
  77. package/main/prompt.js +64 -0
  78. package/main/protod/bufbuild.js +87 -0
  79. package/main/protod/config.js +30 -0
  80. package/main/protod/git-repo.js +58 -0
  81. package/main/protod/index.js +17 -0
  82. package/main/protod/recursive.js +134 -0
  83. package/main/protod/types.js +2 -0
  84. package/main/protod/utils.js +91 -0
  85. package/main/telescope.js +10 -0
  86. package/main/types.js +2 -0
  87. package/main/utils/common-create-bundle.js +29 -0
  88. package/main/utils/contracts.js +39 -0
  89. package/main/utils/files.js +138 -0
  90. package/main/utils/index.js +163 -0
  91. package/main/utils/unused.js +73 -0
  92. package/module/build.js +176 -0
  93. package/module/builder.js +222 -0
  94. package/module/bundle.js +128 -0
  95. package/module/bundler.js +96 -0
  96. package/module/cli.js +44 -0
  97. package/module/cmds.js +22 -0
  98. package/module/commands/download.js +94 -0
  99. package/module/commands/generate.js +123 -0
  100. package/module/commands/install.js +141 -0
  101. package/module/commands/transpile.js +169 -0
  102. package/module/contracts/generate.js +29 -0
  103. package/module/contracts/install.js +105 -0
  104. package/module/contracts/message-composer.js +29 -0
  105. package/module/contracts/react-query.js +29 -0
  106. package/module/contracts/recoil.js +29 -0
  107. package/module/file.js +18 -0
  108. package/module/generators/create-aggregated-lcd-client.js +83 -0
  109. package/module/generators/create-all-stargate-clients.js +92 -0
  110. package/module/generators/create-amino-converters.js +39 -0
  111. package/module/generators/create-bundle.js +79 -0
  112. package/module/generators/create-cosmwasm-bundle.js +11 -0
  113. package/module/generators/create-custom-stargate-clients.js +96 -0
  114. package/module/generators/create-helpers.js +112 -0
  115. package/module/generators/create-index.js +45 -0
  116. package/module/generators/create-lcd-client-all.js +89 -0
  117. package/module/generators/create-lcd-client-scoped.js +62 -0
  118. package/module/generators/create-lcd-clients.js +74 -0
  119. package/module/generators/create-mcp-server.js +1849 -0
  120. package/module/generators/create-mobx-bundle.js +25 -0
  121. package/module/generators/create-msg-funcs.js +128 -0
  122. package/module/generators/create-pinia-store-bundle.js +23 -0
  123. package/module/generators/create-pinia-store.js +86 -0
  124. package/module/generators/create-query-funcs.js +129 -0
  125. package/module/generators/create-react-query-bundle.js +76 -0
  126. package/module/generators/create-registries.js +45 -0
  127. package/module/generators/create-root-readme.js +255 -0
  128. package/module/generators/create-rpc-msg-client-all.js +108 -0
  129. package/module/generators/create-rpc-msg-client-scoped.js +87 -0
  130. package/module/generators/create-rpc-msg-clients.js +112 -0
  131. package/module/generators/create-rpc-ops-bundle.js +92 -0
  132. package/module/generators/create-rpc-query-client-all.js +110 -0
  133. package/module/generators/create-rpc-query-client-scoped.js +83 -0
  134. package/module/generators/create-rpc-query-clients.js +198 -0
  135. package/module/generators/create-sdk-module-stargate-clients.js +91 -0
  136. package/module/generators/create-stargate-clients.js +92 -0
  137. package/module/generators/create-types.js +137 -0
  138. package/module/generators/customize-utils.js +46 -0
  139. package/module/helpers/__test__/internalTimestamp.js +39 -0
  140. package/module/helpers/__test__/internalTimestampBigint.js +38 -0
  141. package/module/helpers/binary-coder.js +531 -0
  142. package/module/helpers/decimals.js +108 -0
  143. package/module/helpers/external-comet.js +49 -0
  144. package/module/helpers/external-icjs.js +33 -0
  145. package/module/helpers/external.js +28 -0
  146. package/module/helpers/grpc-gateway.js +345 -0
  147. package/module/helpers/grpc-web.js +11 -0
  148. package/module/helpers/helper-func-types-interface.js +102 -0
  149. package/module/helpers/helper-func-types.js +89 -0
  150. package/module/helpers/index.js +22 -0
  151. package/module/helpers/internal-for-bigint.js +255 -0
  152. package/module/helpers/internal.js +236 -0
  153. package/module/helpers/json-safe.js +9 -0
  154. package/module/helpers/mobx.js +77 -0
  155. package/module/helpers/pinia-endpoint.js +17 -0
  156. package/module/helpers/react-query-hooks-icjs.js +219 -0
  157. package/module/helpers/react-query-hooks.js +254 -0
  158. package/module/helpers/react-query.js +89 -0
  159. package/module/helpers/registry-helper.js +225 -0
  160. package/module/helpers/types-helper.js +161 -0
  161. package/module/helpers/utf8-helper.js +143 -0
  162. package/module/helpers/varint.js +483 -0
  163. package/module/helpers/vue-query-hooks.js +222 -0
  164. package/module/imports.js +382 -0
  165. package/module/index.js +8 -0
  166. package/module/parse.js +185 -0
  167. package/module/prompt.js +58 -0
  168. package/module/protod/bufbuild.js +76 -0
  169. package/module/protod/config.js +27 -0
  170. package/module/protod/git-repo.js +54 -0
  171. package/module/protod/index.js +1 -0
  172. package/module/protod/recursive.js +125 -0
  173. package/module/protod/types.js +1 -0
  174. package/module/protod/utils.js +77 -0
  175. package/module/telescope.js +8 -0
  176. package/module/types.js +1 -0
  177. package/module/utils/common-create-bundle.js +25 -0
  178. package/module/utils/contracts.js +33 -0
  179. package/module/utils/files.js +106 -0
  180. package/module/utils/index.js +143 -0
  181. package/module/utils/unused.js +47 -0
  182. package/package.json +115 -0
  183. package/src/build.ts +255 -0
  184. package/src/builder.ts +302 -0
  185. package/src/bundle.ts +160 -0
  186. package/src/bundler.ts +153 -0
  187. package/src/cli.js +51 -0
  188. package/src/cmds.js +25 -0
  189. package/src/commands/download.ts +120 -0
  190. package/src/commands/generate.ts +156 -0
  191. package/src/commands/install.ts +154 -0
  192. package/src/commands/transpile.ts +198 -0
  193. package/src/contracts/generate.ts +33 -0
  194. package/src/contracts/install.ts +118 -0
  195. package/src/contracts/message-composer.ts +34 -0
  196. package/src/contracts/react-query.ts +33 -0
  197. package/src/contracts/recoil.ts +32 -0
  198. package/src/file.js +20 -0
  199. package/src/generators/create-aggregated-lcd-client.ts +133 -0
  200. package/src/generators/create-all-stargate-clients.ts +121 -0
  201. package/src/generators/create-amino-converters.ts +62 -0
  202. package/src/generators/create-bundle.ts +97 -0
  203. package/src/generators/create-cosmwasm-bundle.ts +17 -0
  204. package/src/generators/create-custom-stargate-clients.ts +128 -0
  205. package/src/generators/create-helpers.ts +196 -0
  206. package/src/generators/create-index.ts +72 -0
  207. package/src/generators/create-lcd-client-all.ts +139 -0
  208. package/src/generators/create-lcd-client-scoped.ts +109 -0
  209. package/src/generators/create-lcd-clients.ts +108 -0
  210. package/src/generators/create-mcp-server.ts +1902 -0
  211. package/src/generators/create-mobx-bundle.ts +31 -0
  212. package/src/generators/create-msg-funcs.ts +219 -0
  213. package/src/generators/create-pinia-store-bundle.ts +35 -0
  214. package/src/generators/create-pinia-store.ts +121 -0
  215. package/src/generators/create-query-funcs.ts +224 -0
  216. package/src/generators/create-react-query-bundle.ts +111 -0
  217. package/src/generators/create-registries.ts +70 -0
  218. package/src/generators/create-root-readme.ts +316 -0
  219. package/src/generators/create-rpc-msg-client-all.ts +167 -0
  220. package/src/generators/create-rpc-msg-client-scoped.ts +147 -0
  221. package/src/generators/create-rpc-msg-clients.ts +165 -0
  222. package/src/generators/create-rpc-ops-bundle.ts +155 -0
  223. package/src/generators/create-rpc-query-client-all.ts +173 -0
  224. package/src/generators/create-rpc-query-client-scoped.ts +142 -0
  225. package/src/generators/create-rpc-query-clients.ts +304 -0
  226. package/src/generators/create-sdk-module-stargate-clients.ts +120 -0
  227. package/src/generators/create-stargate-clients.ts +123 -0
  228. package/src/generators/create-types.ts +236 -0
  229. package/src/generators/customize-utils.ts +54 -0
  230. package/src/helpers/__test__/internalTimestamp.test.ts +79 -0
  231. package/src/helpers/__test__/internalTimestamp.ts +58 -0
  232. package/src/helpers/__test__/internalTimestampBigint.test.ts +78 -0
  233. package/src/helpers/__test__/internalTimestampBigint.ts +58 -0
  234. package/src/helpers/binary-coder.ts +533 -0
  235. package/src/helpers/decimals.ts +108 -0
  236. package/src/helpers/external-comet.ts +49 -0
  237. package/src/helpers/external-icjs.ts +33 -0
  238. package/src/helpers/external.ts +28 -0
  239. package/src/helpers/grpc-gateway.ts +345 -0
  240. package/src/helpers/grpc-web.ts +11 -0
  241. package/src/helpers/helper-func-types-interface.ts +104 -0
  242. package/src/helpers/helper-func-types.ts +91 -0
  243. package/src/helpers/index.ts +22 -0
  244. package/src/helpers/internal-for-bigint.ts +257 -0
  245. package/src/helpers/internal.ts +238 -0
  246. package/src/helpers/json-safe.ts +11 -0
  247. package/src/helpers/mobx.ts +77 -0
  248. package/src/helpers/pinia-endpoint.ts +17 -0
  249. package/src/helpers/react-query-hooks-icjs.ts +223 -0
  250. package/src/helpers/react-query-hooks.ts +266 -0
  251. package/src/helpers/react-query.ts +101 -0
  252. package/src/helpers/registry-helper.ts +227 -0
  253. package/src/helpers/types-helper.ts +169 -0
  254. package/src/helpers/utf8-helper.ts +143 -0
  255. package/src/helpers/varint.ts +483 -0
  256. package/src/helpers/vue-query-hooks.ts +224 -0
  257. package/src/imports.ts +499 -0
  258. package/src/index.ts +12 -0
  259. package/src/parse.ts +243 -0
  260. package/src/prompt.js +65 -0
  261. package/src/protod/bufbuild.spec.ts +80 -0
  262. package/src/protod/bufbuild.ts +95 -0
  263. package/src/protod/config.ts +30 -0
  264. package/src/protod/git-repo.ts +74 -0
  265. package/src/protod/index.ts +1 -0
  266. package/src/protod/recursive.spec.ts +164 -0
  267. package/src/protod/recursive.ts +180 -0
  268. package/src/protod/test-data/.protod.config.json +42 -0
  269. package/src/protod/test-data/buf.lock +23 -0
  270. package/src/protod/test-data/buf.yaml +25 -0
  271. package/src/protod/test-data/buf2.yaml +20 -0
  272. package/src/protod/test-data/cosmos/buf.lock +23 -0
  273. package/src/protod/test-data/cosmos/crypto/secp256k1/keys.proto +38 -0
  274. package/src/protod/test-data/model.proto +101 -0
  275. package/src/protod/types.ts +55 -0
  276. package/src/protod/utils.spec.ts +68 -0
  277. package/src/protod/utils.ts +90 -0
  278. package/src/telescope.js +9 -0
  279. package/src/types.ts +46 -0
  280. package/src/utils/common-create-bundle.ts +62 -0
  281. package/src/utils/contracts.ts +37 -0
  282. package/src/utils/files.ts +145 -0
  283. package/src/utils/index.ts +150 -0
  284. package/src/utils/unused.ts +52 -0
  285. package/types/build.d.ts +41 -0
  286. package/types/builder.d.ts +50 -0
  287. package/types/bundle.d.ts +30 -0
  288. package/types/bundler.d.ts +31 -0
  289. package/types/cli.d.ts +1 -0
  290. package/types/cmds.d.ts +11 -0
  291. package/types/commands/download.d.ts +5 -0
  292. package/types/commands/generate.d.ts +2 -0
  293. package/types/commands/install.d.ts +2 -0
  294. package/types/commands/transpile.d.ts +4 -0
  295. package/types/contracts/generate.d.ts +2 -0
  296. package/types/contracts/install.d.ts +2 -0
  297. package/types/contracts/message-composer.d.ts +2 -0
  298. package/types/contracts/react-query.d.ts +2 -0
  299. package/types/contracts/recoil.d.ts +2 -0
  300. package/types/file.d.ts +2 -0
  301. package/types/generators/create-aggregated-lcd-client.d.ts +2 -0
  302. package/types/generators/create-all-stargate-clients.d.ts +3 -0
  303. package/types/generators/create-amino-converters.d.ts +3 -0
  304. package/types/generators/create-bundle.d.ts +3 -0
  305. package/types/generators/create-combined-stargate-clients.d.ts +3 -0
  306. package/types/generators/create-cosmwasm-bundle.d.ts +2 -0
  307. package/types/generators/create-custom-stargate-clients.d.ts +3 -0
  308. package/types/generators/create-helpers.d.ts +2 -0
  309. package/types/generators/create-index.d.ts +2 -0
  310. package/types/generators/create-lcd-client-all.d.ts +3 -0
  311. package/types/generators/create-lcd-client-scoped.d.ts +3 -0
  312. package/types/generators/create-lcd-clients.d.ts +3 -0
  313. package/types/generators/create-mcp-server.d.ts +3 -0
  314. package/types/generators/create-mobx-bundle.d.ts +2 -0
  315. package/types/generators/create-msg-funcs.d.ts +3 -0
  316. package/types/generators/create-pinia-store-bundle.d.ts +2 -0
  317. package/types/generators/create-pinia-store.d.ts +3 -0
  318. package/types/generators/create-query-funcs.d.ts +3 -0
  319. package/types/generators/create-react-query-bundle.d.ts +2 -0
  320. package/types/generators/create-registries.d.ts +3 -0
  321. package/types/generators/create-root-readme.d.ts +2 -0
  322. package/types/generators/create-rpc-msg-client-all.d.ts +3 -0
  323. package/types/generators/create-rpc-msg-client-scoped.d.ts +3 -0
  324. package/types/generators/create-rpc-msg-clients.d.ts +3 -0
  325. package/types/generators/create-rpc-ops-bundle.d.ts +2 -0
  326. package/types/generators/create-rpc-query-client-all.d.ts +3 -0
  327. package/types/generators/create-rpc-query-client-scoped.d.ts +3 -0
  328. package/types/generators/create-rpc-query-clients.d.ts +3 -0
  329. package/types/generators/create-scoped-stargate-clients.d.ts +3 -0
  330. package/types/generators/create-sdk-module-stargate-clients.d.ts +3 -0
  331. package/types/generators/create-stargate-clients.d.ts +3 -0
  332. package/types/generators/create-types.d.ts +3 -0
  333. package/types/generators/create-unified-stargate-clients.d.ts +3 -0
  334. package/types/generators/customize-utils.d.ts +2 -0
  335. package/types/helpers/__test__/internalTimestamp.d.ts +21 -0
  336. package/types/helpers/__test__/internalTimestampBigint.d.ts +20 -0
  337. package/types/helpers/binary-coder.d.ts +2 -0
  338. package/types/helpers/decimals.d.ts +1 -0
  339. package/types/helpers/external-comet.d.ts +1 -0
  340. package/types/helpers/external-icjs.d.ts +1 -0
  341. package/types/helpers/external.d.ts +1 -0
  342. package/types/helpers/generated-type.d.ts +1 -0
  343. package/types/helpers/grpc-gateway.d.ts +1 -0
  344. package/types/helpers/grpc-web.d.ts +1 -0
  345. package/types/helpers/helper-func-types-interface.d.ts +2 -0
  346. package/types/helpers/helper-func-types.d.ts +2 -0
  347. package/types/helpers/index.d.ts +22 -0
  348. package/types/helpers/internal-for-bigint.d.ts +2 -0
  349. package/types/helpers/internal.d.ts +2 -0
  350. package/types/helpers/internalForBigInt.d.ts +1 -0
  351. package/types/helpers/json-safe.d.ts +1 -0
  352. package/types/helpers/mobx.d.ts +1 -0
  353. package/types/helpers/pinia-endpoint.d.ts +1 -0
  354. package/types/helpers/react-query-hooks-icjs.d.ts +2 -0
  355. package/types/helpers/react-query-hooks.d.ts +2 -0
  356. package/types/helpers/react-query.d.ts +2 -0
  357. package/types/helpers/registry-helper.d.ts +2 -0
  358. package/types/helpers/types-helper.d.ts +2 -0
  359. package/types/helpers/types.d.ts +1 -0
  360. package/types/helpers/utf8-helper.d.ts +1 -0
  361. package/types/helpers/varint.d.ts +1 -0
  362. package/types/helpers/vue-query-hooks.d.ts +2 -0
  363. package/types/helpers/vue-query.d.ts +2 -0
  364. package/types/imports.d.ts +17 -0
  365. package/types/index.d.ts +6 -0
  366. package/types/parse.d.ts +15 -0
  367. package/types/prompt.d.ts +3 -0
  368. package/types/protod/bufbuild.d.ts +6 -0
  369. package/types/protod/config.d.ts +7 -0
  370. package/types/protod/git-repo.d.ts +11 -0
  371. package/types/protod/index.d.ts +1 -0
  372. package/types/protod/proto-download.d.ts +2 -0
  373. package/types/protod/recursive.d.ts +4 -0
  374. package/types/protod/types.d.ts +49 -0
  375. package/types/protod/utils.d.ts +11 -0
  376. package/types/telescope.d.ts +2 -0
  377. package/types/types.d.ts +43 -0
  378. package/types/utils/common-create-bundle.d.ts +18 -0
  379. package/types/utils/contracts.d.ts +6 -0
  380. package/types/utils/files.d.ts +5 -0
  381. package/types/utils/index.d.ts +16 -0
  382. package/types/utils/unused.d.ts +5 -0
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.plugin = void 0;
27
+ const ast_1 = require("@cosmology/ast");
28
+ const dotty = __importStar(require("dotty"));
29
+ const utils_1 = require("../utils");
30
+ const plugin = (builder) => {
31
+ // if mobx is enabled
32
+ // generate stores.ts based on query hooks generated in each package.
33
+ // eg: __fixtures__/output1/stores.ts
34
+ if (!builder.options.mobx?.enabled) {
35
+ return;
36
+ }
37
+ // get mapping of packages and rpc query filenames.
38
+ const obj = {};
39
+ const bundlerFiles = builder.stateManagers["mobx"];
40
+ if (!bundlerFiles || !bundlerFiles.length) {
41
+ return;
42
+ }
43
+ bundlerFiles.map((queryClient) => {
44
+ const path = `./${queryClient.localname.replace(/\.ts$/, '')}`;
45
+ dotty.put(obj, queryClient.package, path);
46
+ });
47
+ (0, utils_1.commonBundlePlugin)(builder, 'mobx.stores.ts', obj, (context, obj) => {
48
+ // generate code for createRpcQueryHooks and imports of related packages.
49
+ return (0, ast_1.createMobxQueryFactory)(context, obj);
50
+ });
51
+ };
52
+ exports.plugin = plugin;
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.plugin = void 0;
4
+ const imports_1 = require("../imports");
5
+ const ast_1 = require("@cosmology/ast");
6
+ const proto_parser_1 = require("@cosmology/proto-parser");
7
+ const parse_1 = require("../parse");
8
+ const utils_1 = require("@cosmology/utils");
9
+ const types_1 = require("@cosmology/types");
10
+ const files_1 = require("../utils/files");
11
+ const plugin = (builder, bundler) => {
12
+ const mutationContexts = bundler.contexts.filter((context) => context.mutations.length > 0);
13
+ const clients = mutationContexts
14
+ .map((c) => {
15
+ const enabled = c.proto.pluginValue("helperFunctions.enabled");
16
+ if (!enabled)
17
+ return;
18
+ const serviceTypes = c.proto.pluginValue("helperFunctions.include.serviceTypes");
19
+ if (serviceTypes && !serviceTypes.includes("Tx")) {
20
+ return;
21
+ }
22
+ if (c.proto.isExcluded())
23
+ return;
24
+ const localname = bundler.getLocalFilename(c.ref, "rpc.func");
25
+ const localnameReact = bundler.getLocalFilename(c.ref, `rpc.react`);
26
+ const localnameVue = bundler.getLocalFilename(c.ref, `rpc.vue`);
27
+ const filename = bundler.getFilename(localname);
28
+ const filenameReact = bundler.getFilename(localnameReact);
29
+ const filenameVue = bundler.getFilename(localnameVue);
30
+ const ctx = bundler.getFreshContext(c);
31
+ // get mutations, services
32
+ (0, parse_1.parse)(ctx);
33
+ const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
34
+ // hard-coding, for now, only Msg service
35
+ if (!proto?.Msg || proto.Msg?.type !== "Service") {
36
+ return;
37
+ }
38
+ const asts = [];
39
+ const reactAsts = [];
40
+ const vueAsts = [];
41
+ const helperCreatorNameList = [];
42
+ const bundlerFile = {
43
+ proto: c.ref.filename,
44
+ package: c.ref.proto.package,
45
+ localname,
46
+ filename,
47
+ isMsg: true,
48
+ };
49
+ types_1.TX_SVC_TYPES.forEach((svcKey) => {
50
+ if (proto[svcKey]) {
51
+ const svc = proto[svcKey];
52
+ const patterns = c.proto.pluginValue("helperFunctions.include.patterns");
53
+ const nameMappers = c.proto.pluginValue("helperFunctions.nameMappers");
54
+ const methodKeys = (0, utils_1.getQueryMethodNames)(bundlerFile.package, Object.keys(proto[svcKey].methods ?? {}), patterns || ["**"], String);
55
+ // see if the function is excluded.
56
+ if (!methodKeys || !methodKeys.length) {
57
+ return;
58
+ }
59
+ // for each method key, create creators, hooks.
60
+ methodKeys.forEach((methodKey) => {
61
+ // get helperCreatorName
62
+ // get hookName
63
+ const { creator: helperCreatorName, hook: hookName } = (0, utils_1.getHelperFuncName)(bundlerFile.package, methodKey, [nameMappers?.Msg, nameMappers?.All], "unchanged");
64
+ helperCreatorNameList.push(helperCreatorName);
65
+ const genCustomHooks = c.proto.pluginValue("helperFunctions.hooks.react");
66
+ const genCustomHooksVue = c.proto.pluginValue("helperFunctions.hooks.vue");
67
+ // Store the mapping in builder
68
+ builder.addFunctionMapping(bundlerFile.package, svcKey, methodKey, helperCreatorName, hookName, svc.methods[methodKey].comment, svc.methods[methodKey].requestType, svc.methods[methodKey].responseType, localname, // function source file
69
+ genCustomHooks ? localnameReact : undefined, // hook source file (React)
70
+ bundler.getLocalFilename(c.ref) // type source file (main types file)
71
+ );
72
+ // gen helper funcs
73
+ asts.push((0, ast_1.createMsgHelperCreator)(ctx.generic, svc.methods[methodKey], helperCreatorName));
74
+ if (genCustomHooks) {
75
+ // gen custom react hooks
76
+ reactAsts.push((0, ast_1.createMsgHooks)(ctx.generic, svc.methods[methodKey], helperCreatorName, hookName));
77
+ }
78
+ if (genCustomHooksVue) {
79
+ // gen custom vue hooks
80
+ vueAsts.push((0, ast_1.createVueMsgHooks)(ctx.generic, svc.methods[methodKey], helperCreatorName, hookName));
81
+ }
82
+ });
83
+ }
84
+ });
85
+ if (!asts.length) {
86
+ return;
87
+ }
88
+ const serviceImports = (0, imports_1.getDepsFromQueries)(ctx.mutations, localname);
89
+ const serviceImportsReact = (0, imports_1.getDepsFromQueries)(ctx.mutations, localnameReact);
90
+ const serviceImportsVue = (0, imports_1.getDepsFromQueries)(ctx.mutations, localnameVue);
91
+ // add imports from func file like query.rpc.func.ts without the .ts extension
92
+ const funcFileName = "./".concat(localname.substring(localname.lastIndexOf("/") + 1).replace(/\.ts$/, ""));
93
+ serviceImportsReact[funcFileName] = helperCreatorNameList;
94
+ serviceImportsVue[funcFileName] = helperCreatorNameList;
95
+ const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
96
+ const importsReact = (0, imports_1.buildAllImports)(ctx, serviceImportsReact, localnameReact);
97
+ const importsVue = (0, imports_1.buildAllImports)(ctx, serviceImportsVue, localnameReact);
98
+ const prog = [].concat(imports).concat(ctx.body).concat(asts);
99
+ const progReact = [].concat(importsReact).concat(reactAsts);
100
+ const progVue = [].concat(importsVue).concat(vueAsts);
101
+ const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
102
+ const exportedTypeNamesReact = (0, files_1.getExportedTypeNames)(progReact);
103
+ const exportedTypeNamesVue = (0, files_1.getExportedTypeNames)(progVue);
104
+ exportedTypeNames.forEach((name) => {
105
+ builder.store.setHelperFuncFilesMapping(name, localname);
106
+ });
107
+ exportedTypeNamesReact.forEach((name) => {
108
+ builder.store.setHelperFuncFilesMapping(name, localnameReact);
109
+ });
110
+ exportedTypeNamesVue.forEach((name) => {
111
+ builder.store.setHelperFuncFilesMapping(name, localnameVue);
112
+ });
113
+ bundler.writeAst(prog, filename);
114
+ bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames, true);
115
+ if (reactAsts.length) {
116
+ bundler.writeAst(progReact, filenameReact);
117
+ bundler.addExportObjToBundle(c.ref.proto.package, localnameReact, exportedTypeNamesReact, true);
118
+ }
119
+ if (vueAsts.length) {
120
+ bundler.writeAst(progVue, filenameVue);
121
+ bundler.addExportObjToBundle(c.ref.proto.package, localnameVue, exportedTypeNamesVue, true);
122
+ }
123
+ bundler.addToBundle(c, localname);
124
+ return {
125
+ package: c.ref.proto.package,
126
+ localname,
127
+ filename,
128
+ };
129
+ })
130
+ .filter(Boolean);
131
+ };
132
+ exports.plugin = plugin;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.plugin = void 0;
27
+ const utils_1 = require("../utils");
28
+ const dotty = __importStar(require("dotty"));
29
+ const ast_1 = require("@cosmology/ast");
30
+ const plugin = (builder) => {
31
+ // if not enabled, exit
32
+ if (!builder.options?.pinia?.enabled) {
33
+ return;
34
+ }
35
+ // get mapping of packages and rpc query filenames.
36
+ const obj = {};
37
+ const bundlerFiles = builder.stateManagers['pinia'];
38
+ if (!bundlerFiles || !bundlerFiles.length) {
39
+ return;
40
+ }
41
+ bundlerFiles.map((queryClient) => {
42
+ const path = `./${queryClient.localname.replace(/\.ts$/, '')}`;
43
+ dotty.put(obj, queryClient.package, path);
44
+ });
45
+ (0, utils_1.commonBundlePlugin)(builder, 'pinia.store.ts', obj, (context, obj) => {
46
+ // generate code for createRpcQueryHooks and imports of related packages.
47
+ return (0, ast_1.createPiniaStoreFactory)(context, obj);
48
+ });
49
+ };
50
+ exports.plugin = plugin;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.plugin = void 0;
4
+ const imports_1 = require("../imports");
5
+ const parse_1 = require("../parse");
6
+ const proto_parser_1 = require("@cosmology/proto-parser");
7
+ const ast_1 = require("@cosmology/ast");
8
+ const plugin = (builder, bundler) => {
9
+ if (!builder.options.pinia?.enabled) {
10
+ return;
11
+ }
12
+ // get mapping of packages and rpc query filenames.
13
+ if (!builder.options.lcdClients?.enabled) {
14
+ return;
15
+ }
16
+ const queryContexts = bundler.contexts.filter((context) => context.queries.length > 0 || context.services.length > 0);
17
+ if (queryContexts.length > 0) {
18
+ const piniaBundlerFiles = [];
19
+ // [x] write out one registry helper for all contexts w/mutations
20
+ queryContexts.forEach((c) => {
21
+ const enabled = c.proto.pluginValue('lcdClients.enabled');
22
+ if (!enabled)
23
+ return;
24
+ const includePinia = c.proto.pluginValue('pinia.enabled') &&
25
+ (0, proto_parser_1.isRefIncluded)(c.ref, c.proto.pluginValue('pinia.include'));
26
+ if (!includePinia)
27
+ return;
28
+ if (c.proto.isExcluded())
29
+ return;
30
+ const ctx = bundler.getFreshContext(c);
31
+ // get mutations, services
32
+ (0, parse_1.parse)(ctx);
33
+ const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
34
+ //// Anything except Msg Service OK...
35
+ const allowedRpcServices = builder.options.rpcClients.enabledServices.filter((a) => a !== 'Msg');
36
+ let name, getImportsFrom;
37
+ // get imports
38
+ allowedRpcServices.forEach((svcKey) => {
39
+ if (proto[svcKey]) {
40
+ if (svcKey === 'Query') {
41
+ getImportsFrom = ctx.queries;
42
+ }
43
+ else {
44
+ getImportsFrom = ctx.services;
45
+ }
46
+ name = svcKey;
47
+ }
48
+ });
49
+ const localname = bundler.getLocalFilename(c.ref, 'pinia.store');
50
+ const filename = bundler.getFilename(localname);
51
+ const bundlerFile = {
52
+ package: c.ref.proto.package,
53
+ localname,
54
+ filename
55
+ };
56
+ let ast = null;
57
+ allowedRpcServices.forEach((svcKey) => {
58
+ if (proto[svcKey]) {
59
+ ast = (0, ast_1.createPiniaStore)(ctx.generic, proto[svcKey]);
60
+ }
61
+ });
62
+ if (!ast) {
63
+ return;
64
+ }
65
+ piniaBundlerFiles.push(bundlerFile);
66
+ const serviceImports = (0, imports_1.getDepsFromQueries)(getImportsFrom, localname);
67
+ const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
68
+ const piniaImport = (0, imports_1.getImportStatements)('pinia', [
69
+ {
70
+ type: 'import',
71
+ name: 'defineStore',
72
+ path: 'pinia'
73
+ },
74
+ {
75
+ type: 'import',
76
+ name: 'LCDQueryClient',
77
+ path: './query.lcd'
78
+ }
79
+ ], builder.options);
80
+ const prog = []
81
+ .concat([...imports, ...piniaImport])
82
+ .concat(ctx.body)
83
+ .concat(ast);
84
+ bundler.writeAst(prog, filename);
85
+ bundler.addToBundle(c, localname);
86
+ });
87
+ bundler.addStateManagers('pinia', piniaBundlerFiles);
88
+ }
89
+ };
90
+ exports.plugin = plugin;
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.plugin = void 0;
4
+ const imports_1 = require("../imports");
5
+ const ast_1 = require("@cosmology/ast");
6
+ const proto_parser_1 = require("@cosmology/proto-parser");
7
+ const parse_1 = require("../parse");
8
+ const types_1 = require("@cosmology/types");
9
+ const utils_1 = require("@cosmology/utils");
10
+ const files_1 = require("../utils/files");
11
+ const plugin = (builder, bundler) => {
12
+ const clients = bundler.contexts
13
+ .map((c) => {
14
+ const enabled = c.proto.pluginValue("helperFunctions.enabled");
15
+ if (!enabled)
16
+ return;
17
+ const serviceTypes = c.proto.pluginValue("helperFunctions.include.serviceTypes");
18
+ if (serviceTypes &&
19
+ !serviceTypes.includes("Query") &&
20
+ !serviceTypes.includes("All")) {
21
+ return;
22
+ }
23
+ if (c.proto.isExcluded())
24
+ return;
25
+ const ctx = bundler.getFreshContext(c);
26
+ // get mutations, services
27
+ (0, parse_1.parse)(ctx);
28
+ const proto = (0, proto_parser_1.getNestedProto)(c.ref.traversed);
29
+ //// Anything except Msg Service OK...
30
+ if (proto?.Msg) {
31
+ return;
32
+ }
33
+ let getImportsFrom;
34
+ if (proto.Query) {
35
+ getImportsFrom = ctx.queries;
36
+ }
37
+ else {
38
+ getImportsFrom = ctx.services;
39
+ }
40
+ const localname = bundler.getLocalFilename(c.ref, `rpc.func`);
41
+ const localnameReact = bundler.getLocalFilename(c.ref, `rpc.react`);
42
+ const localnameVue = bundler.getLocalFilename(c.ref, `rpc.vue`);
43
+ const filename = bundler.getFilename(localname);
44
+ const filenameReact = bundler.getFilename(localnameReact);
45
+ const filenameVue = bundler.getFilename(localnameVue);
46
+ const bundlerFile = {
47
+ proto: c.ref.filename,
48
+ package: c.ref.proto.package,
49
+ localname,
50
+ filename,
51
+ };
52
+ const asts = [];
53
+ const reactAsts = [];
54
+ const vueAsts = [];
55
+ const helperCreatorNameList = [];
56
+ types_1.QUERY_SVC_TYPES.forEach((svcKey) => {
57
+ if (proto[svcKey]) {
58
+ const svc = proto[svcKey];
59
+ const patterns = c.proto.pluginValue("helperFunctions.include.patterns");
60
+ const nameMappers = c.proto.pluginValue("helperFunctions.nameMappers");
61
+ const methodKeys = (0, utils_1.getQueryMethodNames)(bundlerFile.package, Object.keys(proto[svcKey].methods ?? {}), patterns || ["**"], String);
62
+ // see if the function is excluded.
63
+ if (!methodKeys || !methodKeys.length) {
64
+ return;
65
+ }
66
+ // for each method key, create creators, hooks.
67
+ methodKeys.forEach((methodKey) => {
68
+ // get helperCreatorName
69
+ // get hookName
70
+ const { creator: helperCreatorName, hook: hookName } = (0, utils_1.getHelperFuncName)(bundlerFile.package, methodKey, [nameMappers?.Query, nameMappers?.All], "get");
71
+ helperCreatorNameList.push(helperCreatorName);
72
+ const genCustomHooksReact = c.proto.pluginValue("helperFunctions.hooks.react");
73
+ const genCustomHooksVue = c.proto.pluginValue("helperFunctions.hooks.vue");
74
+ // Store the mapping in builder
75
+ builder.addFunctionMapping(bundlerFile.package, svcKey, methodKey, helperCreatorName, hookName, svc.methods[methodKey].comment, svc.methods[methodKey].requestType, svc.methods[methodKey].responseType, localname, genCustomHooksReact ? localnameReact : undefined, bundler.getLocalFilename(c.ref));
76
+ // gen helper funcs
77
+ asts.push((0, ast_1.createQueryHelperCreator)(ctx.generic, svc.methods[methodKey], svc.name, methodKey, helperCreatorName));
78
+ if (genCustomHooksReact) {
79
+ // gen custom react hooks
80
+ reactAsts.push((0, ast_1.createQueryHooks)(ctx.generic, svc.methods[methodKey], methodKey, helperCreatorName, hookName));
81
+ }
82
+ if (genCustomHooksVue) {
83
+ // gen custom vue hooks
84
+ vueAsts.push((0, ast_1.createVueQueryHooks)(ctx.generic, svc.methods[methodKey], methodKey, helperCreatorName, hookName));
85
+ }
86
+ });
87
+ }
88
+ });
89
+ if (!asts.length) {
90
+ return;
91
+ }
92
+ const serviceImports = (0, imports_1.getDepsFromQueries)(getImportsFrom, localname);
93
+ const serviceImportsReact = (0, imports_1.getDepsFromQueries)(getImportsFrom, localnameReact);
94
+ const serviceImportsVue = (0, imports_1.getDepsFromQueries)(getImportsFrom, localnameVue);
95
+ // add imports from func file like query.rpc.func.ts without the .ts extension
96
+ const funcFileName = "./".concat(localname.substring(localname.lastIndexOf("/") + 1).replace(/\.ts$/, ""));
97
+ serviceImportsReact[funcFileName] = helperCreatorNameList;
98
+ serviceImportsVue[funcFileName] = helperCreatorNameList;
99
+ // TODO we do NOT need all imports...
100
+ const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
101
+ const importsReact = (0, imports_1.buildAllImports)(ctx, serviceImportsReact, localnameReact);
102
+ const importsVue = (0, imports_1.buildAllImports)(ctx, serviceImportsVue, localnameReact);
103
+ const prog = [].concat(imports).concat(ctx.body).concat(asts);
104
+ const progReact = [].concat(importsReact).concat(reactAsts);
105
+ const progVue = [].concat(importsVue).concat(vueAsts);
106
+ const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
107
+ const exportedTypeNamesReact = (0, files_1.getExportedTypeNames)(progReact);
108
+ const exportedTypeNamesVue = (0, files_1.getExportedTypeNames)(progVue);
109
+ exportedTypeNames.forEach((name) => {
110
+ builder.store.setHelperFuncFilesMapping(name, localname);
111
+ });
112
+ exportedTypeNamesReact.forEach((name) => {
113
+ builder.store.setHelperFuncFilesMapping(name, localnameReact);
114
+ });
115
+ exportedTypeNamesVue.forEach((name) => {
116
+ builder.store.setHelperFuncFilesMapping(name, localnameVue);
117
+ });
118
+ bundler.writeAst(prog, filename);
119
+ bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames, true);
120
+ if (reactAsts.length) {
121
+ bundler.writeAst(progReact, filenameReact);
122
+ bundler.addExportObjToBundle(c.ref.proto.package, localnameReact, exportedTypeNamesReact, true);
123
+ }
124
+ if (vueAsts.length) {
125
+ bundler.writeAst(progVue, filenameVue);
126
+ bundler.addExportObjToBundle(c.ref.proto.package, localnameVue, exportedTypeNamesVue, true);
127
+ }
128
+ bundler.addToBundle(c, localname);
129
+ return bundlerFile;
130
+ })
131
+ .filter(Boolean);
132
+ };
133
+ exports.plugin = plugin;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.plugin = void 0;
27
+ const imports_1 = require("../imports");
28
+ const path_1 = require("path");
29
+ const ast_1 = require("@cosmology/ast");
30
+ const build_1 = require("../build");
31
+ const files_1 = require("../utils/files");
32
+ const utils_1 = require("../utils");
33
+ const dotty = __importStar(require("dotty"));
34
+ const proto_parser_1 = require("@cosmology/proto-parser");
35
+ const utils_2 = require("@cosmology/utils");
36
+ const utils_3 = require("@cosmology/utils");
37
+ const utils_4 = require("@cosmology/utils");
38
+ const plugin = (builder) => {
39
+ // if react query is enabled
40
+ // generate hooks.ts based on query hooks generated in each package.
41
+ // eg: __fixtures__/output1/hooks.ts
42
+ if (!builder.options.reactQuery.enabled) {
43
+ return;
44
+ }
45
+ const localname = 'hooks.ts';
46
+ // get mapping of packages and rpc query filenames.
47
+ const obj = {};
48
+ const instantHooksMapping = {};
49
+ const methodSet = new Set();
50
+ const bundlerFiles = builder.stateManagers["reactQuery"];
51
+ if (!bundlerFiles || !bundlerFiles.length) {
52
+ return;
53
+ }
54
+ let nameMapping = builder.options.reactQuery?.instantExport?.nameMapping;
55
+ nameMapping = (0, utils_4.swapKeyValue)(nameMapping ?? {});
56
+ bundlerFiles.map(bundlerFile => {
57
+ const path = `./${bundlerFile.localname.replace(/\.ts$/, '')}`;
58
+ dotty.put(obj, bundlerFile.package, path);
59
+ // build instantHooksMapping
60
+ bundlerFile.instantExportedMethods?.forEach((method) => {
61
+ const methodName = method.name;
62
+ const useHookName = (0, utils_2.makeUseHookName)((0, utils_2.camel)(methodName));
63
+ const hookNameWithPkg = `${bundlerFile.package}.${useHookName}`;
64
+ let instantHookName = null;
65
+ if (nameMapping[hookNameWithPkg]) {
66
+ instantHookName = nameMapping[hookNameWithPkg];
67
+ }
68
+ else {
69
+ if (methodSet.has(useHookName)) {
70
+ instantHookName = (0, utils_2.makeUsePkgHookName)(bundlerFile.package, methodName);
71
+ }
72
+ else {
73
+ instantHookName = useHookName;
74
+ }
75
+ }
76
+ dotty.put(instantHooksMapping, instantHookName, {
77
+ useHookName,
78
+ importedVarName: (0, utils_3.variableSlug)(path),
79
+ comment: `${bundlerFile.package}.${useHookName}\n${method.comment ?? methodName}`
80
+ });
81
+ methodSet.add(instantHookName);
82
+ });
83
+ });
84
+ // create proto ref for context
85
+ const pkg = '@root';
86
+ const ref = (0, proto_parser_1.createEmptyProtoRef)(pkg, localname);
87
+ // create context
88
+ const pCtx = new build_1.TelescopeParseContext(ref, builder.store, builder.options);
89
+ // generate code for createRpcQueryHooks and imports of related packages.
90
+ const ast = (0, ast_1.createScopedRpcHookFactory)(pCtx.proto, obj, 'createRpcQueryHooks', instantHooksMapping);
91
+ // generate imports added by context.addUtil
92
+ const imports = (0, utils_1.fixlocalpaths)((0, imports_1.aggregateImports)(pCtx, {}, localname));
93
+ const importStmts = (0, imports_1.getImportStatements)(localname, imports, builder.options);
94
+ // construct the AST
95
+ const prog = []
96
+ .concat(importStmts)
97
+ .concat(ast);
98
+ // write the file.
99
+ const filename = (0, path_1.join)(builder.outPath, localname);
100
+ builder.files.push(localname);
101
+ (0, files_1.writeAstToFile)(builder.outPath, builder.options, prog, filename);
102
+ };
103
+ exports.plugin = plugin;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.plugin = void 0;
4
+ const imports_1 = require("../imports");
5
+ const parse_1 = require("../parse");
6
+ const files_1 = require("../utils/files");
7
+ const plugin = (builder, bundler) => {
8
+ if (!builder.options.aminoEncoding?.enabled) {
9
+ return;
10
+ }
11
+ const mutationContexts = bundler
12
+ .contexts
13
+ .filter(context => context.mutations.length > 0);
14
+ // [x] write out one registry helper for all contexts w/mutations
15
+ const registries = mutationContexts.map(c => {
16
+ const enabled = c.amino.pluginValue('aminoEncoding.enabled');
17
+ if (!enabled)
18
+ return;
19
+ if (c.proto.isExcluded())
20
+ return;
21
+ const localname = bundler.getLocalFilename(c.ref, 'registry');
22
+ const filename = bundler.getFilename(localname);
23
+ const ctx = bundler.getFreshContext(c);
24
+ // get mutations, services
25
+ (0, parse_1.parse)(ctx);
26
+ ctx.buildRegistry();
27
+ ctx.buildRegistryLoader();
28
+ ctx.buildHelperObject();
29
+ const serviceImports = (0, imports_1.getDepsFromMutations)(ctx.mutations, localname);
30
+ const imports = (0, imports_1.buildAllImports)(ctx, serviceImports, localname);
31
+ const prog = []
32
+ .concat(imports)
33
+ .concat(ctx.body);
34
+ const exportedTypeNames = (0, files_1.getExportedTypeNames)(prog);
35
+ exportedTypeNames.forEach((name) => {
36
+ builder.store.setTypeFilesMapping(name, localname);
37
+ });
38
+ bundler.addExportObjToBundle(c.ref.proto.package, localname, exportedTypeNames);
39
+ bundler.writeAst(prog, filename);
40
+ bundler.addToBundle(c, localname);
41
+ return {
42
+ package: c.ref.proto.package,
43
+ localname,
44
+ filename
45
+ };
46
+ }).filter(Boolean);
47
+ bundler.addRegistries(registries);
48
+ };
49
+ exports.plugin = plugin;