@pezkuwi/typegen 16.5.18 → 16.5.32

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 (308) hide show
  1. package/{build-tsc-cjs → cjs}/generate/lookup.js +39 -10
  2. package/{build/cjs → cjs}/packageInfo.js +1 -1
  3. package/{build-tsc-cjs → cjs}/util/derived.js +15 -0
  4. package/{build-tsc-cjs → cjs}/util/formatting.js +5 -0
  5. package/generate/lookup.js +39 -10
  6. package/package.json +27 -27
  7. package/{build-tsc-esm/packageInfo.js → packageInfo.js} +1 -1
  8. package/{build/util → util}/derived.js +16 -1
  9. package/{build-tsc-esm/util → util}/formatting.js +5 -0
  10. package/build/LICENSE +0 -201
  11. package/build/README.md +0 -3
  12. package/build/augment.js +0 -2
  13. package/build/bundle.js +0 -2
  14. package/build/cjs/augment.d.ts +0 -2
  15. package/build/cjs/augment.js +0 -4
  16. package/build/cjs/bundle.d.ts +0 -2
  17. package/build/cjs/bundle.js +0 -7
  18. package/build/cjs/extractChain.js +0 -44
  19. package/build/cjs/fromChain.js +0 -95
  20. package/build/cjs/fromDefs.js +0 -82
  21. package/build/cjs/generate/consts.d.ts +0 -5
  22. package/build/cjs/generate/consts.js +0 -91
  23. package/build/cjs/generate/errors.d.ts +0 -4
  24. package/build/cjs/generate/errors.js +0 -59
  25. package/build/cjs/generate/events.d.ts +0 -5
  26. package/build/cjs/generate/events.js +0 -139
  27. package/build/cjs/generate/index.js +0 -23
  28. package/build/cjs/generate/interfaceRegistry.d.ts +0 -4
  29. package/build/cjs/generate/interfaceRegistry.js +0 -64
  30. package/build/cjs/generate/lookup.d.ts +0 -4
  31. package/build/cjs/generate/lookup.js +0 -240
  32. package/build/cjs/generate/query.d.ts +0 -5
  33. package/build/cjs/generate/query.js +0 -140
  34. package/build/cjs/generate/rpc.d.ts +0 -6
  35. package/build/cjs/generate/rpc.js +0 -115
  36. package/build/cjs/generate/runtime.d.ts +0 -7
  37. package/build/cjs/generate/runtime.js +0 -233
  38. package/build/cjs/generate/tsDef.d.ts +0 -16
  39. package/build/cjs/generate/tsDef.js +0 -254
  40. package/build/cjs/generate/tx.d.ts +0 -5
  41. package/build/cjs/generate/tx.js +0 -121
  42. package/build/cjs/generate/types.d.ts +0 -12
  43. package/build/cjs/generate/types.js +0 -16
  44. package/build/cjs/index.js +0 -5
  45. package/build/cjs/interfacesTs.js +0 -28
  46. package/build/cjs/metadataMd.js +0 -652
  47. package/build/cjs/util/assert.js +0 -15
  48. package/build/cjs/util/derived.js +0 -128
  49. package/build/cjs/util/docs.js +0 -10
  50. package/build/cjs/util/file.js +0 -33
  51. package/build/cjs/util/formatting.js +0 -237
  52. package/build/cjs/util/imports.js +0 -126
  53. package/build/cjs/util/index.js +0 -39
  54. package/build/cjs/util/initMeta.js +0 -22
  55. package/build/cjs/util/register.js +0 -10
  56. package/build/cjs/util/wsMeta.js +0 -60
  57. package/build/extractChain.d.ts +0 -1
  58. package/build/extractChain.js +0 -40
  59. package/build/fromChain.d.ts +0 -1
  60. package/build/fromChain.js +0 -91
  61. package/build/fromDefs.d.ts +0 -1
  62. package/build/fromDefs.js +0 -78
  63. package/build/generate/consts.d.ts +0 -5
  64. package/build/generate/consts.js +0 -87
  65. package/build/generate/errors.d.ts +0 -4
  66. package/build/generate/errors.js +0 -55
  67. package/build/generate/events.d.ts +0 -5
  68. package/build/generate/events.js +0 -135
  69. package/build/generate/index.d.ts +0 -10
  70. package/build/generate/index.js +0 -10
  71. package/build/generate/interfaceRegistry.d.ts +0 -4
  72. package/build/generate/interfaceRegistry.js +0 -59
  73. package/build/generate/lookup.d.ts +0 -4
  74. package/build/generate/lookup.js +0 -235
  75. package/build/generate/query.d.ts +0 -5
  76. package/build/generate/query.js +0 -136
  77. package/build/generate/rpc.d.ts +0 -6
  78. package/build/generate/rpc.js +0 -110
  79. package/build/generate/runtime.d.ts +0 -7
  80. package/build/generate/runtime.js +0 -228
  81. package/build/generate/tsDef.d.ts +0 -16
  82. package/build/generate/tsDef.js +0 -246
  83. package/build/generate/tx.d.ts +0 -5
  84. package/build/generate/tx.js +0 -117
  85. package/build/generate/types.d.ts +0 -12
  86. package/build/generate/types.js +0 -13
  87. package/build/index.d.ts +0 -2
  88. package/build/index.js +0 -2
  89. package/build/interfacesTs.d.ts +0 -1
  90. package/build/interfacesTs.js +0 -24
  91. package/build/metadataMd.d.ts +0 -1
  92. package/build/metadataMd.js +0 -648
  93. package/build/package.json +0 -548
  94. package/build/packageDetect.d.ts +0 -1
  95. package/build/packageDetect.js +0 -6
  96. package/build/packageInfo.d.ts +0 -6
  97. package/build/packageInfo.js +0 -1
  98. package/build/scripts/pezkuwi-types-chain-info.mjs +0 -7
  99. package/build/scripts/pezkuwi-types-from-chain.mjs +0 -7
  100. package/build/scripts/pezkuwi-types-from-defs.mjs +0 -7
  101. package/build/scripts/pezkuwi-types-internal-interfaces.mjs +0 -7
  102. package/build/scripts/pezkuwi-types-internal-metadata.mjs +0 -7
  103. package/build/templates/calls.hbs +0 -30
  104. package/build/templates/consts.hbs +0 -28
  105. package/build/templates/docs.hbs +0 -7
  106. package/build/templates/errors.hbs +0 -28
  107. package/build/templates/events.hbs +0 -28
  108. package/build/templates/header.hbs +0 -2
  109. package/build/templates/interfaceRegistry.hbs +0 -15
  110. package/build/templates/lookup/defs-named.hbs +0 -12
  111. package/build/templates/lookup/defs.hbs +0 -15
  112. package/build/templates/lookup/index.hbs +0 -3
  113. package/build/templates/lookup/types.hbs +0 -14
  114. package/build/templates/query.hbs +0 -29
  115. package/build/templates/rpc.hbs +0 -22
  116. package/build/templates/tsDef/index.hbs +0 -3
  117. package/build/templates/tsDef/moduleTypes.hbs +0 -10
  118. package/build/templates/tsDef/types.hbs +0 -7
  119. package/build/templates/tx.hbs +0 -30
  120. package/build/util/assert.d.ts +0 -2
  121. package/build/util/assert.js +0 -10
  122. package/build/util/derived.d.ts +0 -4
  123. package/build/util/docs.d.ts +0 -1
  124. package/build/util/docs.js +0 -6
  125. package/build/util/file.d.ts +0 -2
  126. package/build/util/file.js +0 -28
  127. package/build/util/formatting.d.ts +0 -11
  128. package/build/util/formatting.js +0 -230
  129. package/build/util/imports.d.ts +0 -23
  130. package/build/util/imports.js +0 -121
  131. package/build/util/index.d.ts +0 -16
  132. package/build/util/index.js +0 -34
  133. package/build/util/initMeta.d.ts +0 -12
  134. package/build/util/initMeta.js +0 -19
  135. package/build/util/register.d.ts +0 -4
  136. package/build/util/register.js +0 -7
  137. package/build/util/wsMeta.d.ts +0 -4
  138. package/build/util/wsMeta.js +0 -55
  139. package/build-tsc-cjs/packageDetect.js +0 -8
  140. package/build-tsc-cjs/packageInfo.js +0 -4
  141. package/build-tsc-esm/generate/consts.js +0 -87
  142. package/build-tsc-esm/generate/errors.js +0 -55
  143. package/build-tsc-esm/generate/events.js +0 -135
  144. package/build-tsc-esm/generate/interfaceRegistry.js +0 -59
  145. package/build-tsc-esm/generate/lookup.js +0 -235
  146. package/build-tsc-esm/generate/query.js +0 -136
  147. package/build-tsc-esm/generate/rpc.js +0 -110
  148. package/build-tsc-esm/generate/runtime.js +0 -228
  149. package/build-tsc-esm/generate/tsDef.js +0 -246
  150. package/build-tsc-esm/generate/tx.js +0 -117
  151. package/build-tsc-esm/generate/types.js +0 -13
  152. package/build-tsc-esm/util/derived.js +0 -125
  153. package/src/augment.ts +0 -5
  154. package/src/bundle.ts +0 -5
  155. package/src/extractChain.ts +0 -54
  156. package/src/fromChain.ts +0 -123
  157. package/src/fromDefs.ts +0 -106
  158. package/src/generate/consts.ts +0 -112
  159. package/src/generate/errors.ts +0 -75
  160. package/src/generate/events.ts +0 -165
  161. package/src/generate/index.ts +0 -13
  162. package/src/generate/interfaceRegistry.ts +0 -85
  163. package/src/generate/lookup.ts +0 -322
  164. package/src/generate/query.ts +0 -169
  165. package/src/generate/rpc.ts +0 -158
  166. package/src/generate/runtime.ts +0 -293
  167. package/src/generate/tsDef.ts +0 -321
  168. package/src/generate/tx.ts +0 -152
  169. package/src/generate/types.ts +0 -26
  170. package/src/index.ts +0 -6
  171. package/src/interfacesTs.ts +0 -35
  172. package/src/metadataMd.ts +0 -844
  173. package/src/packageDetect.ts +0 -14
  174. package/src/packageInfo.ts +0 -6
  175. package/src/templates/calls.hbs +0 -30
  176. package/src/templates/consts.hbs +0 -28
  177. package/src/templates/docs.hbs +0 -7
  178. package/src/templates/errors.hbs +0 -28
  179. package/src/templates/events.hbs +0 -28
  180. package/src/templates/header.hbs +0 -2
  181. package/src/templates/interfaceRegistry.hbs +0 -15
  182. package/src/templates/lookup/defs-named.hbs +0 -12
  183. package/src/templates/lookup/defs.hbs +0 -15
  184. package/src/templates/lookup/index.hbs +0 -3
  185. package/src/templates/lookup/types.hbs +0 -14
  186. package/src/templates/query.hbs +0 -29
  187. package/src/templates/rpc.hbs +0 -22
  188. package/src/templates/tsDef/index.hbs +0 -3
  189. package/src/templates/tsDef/moduleTypes.hbs +0 -10
  190. package/src/templates/tsDef/types.hbs +0 -7
  191. package/src/templates/tx.hbs +0 -30
  192. package/src/util/assert.ts +0 -18
  193. package/src/util/derived.spec.ts +0 -58
  194. package/src/util/derived.ts +0 -133
  195. package/src/util/docs.ts +0 -13
  196. package/src/util/file.ts +0 -42
  197. package/src/util/formatting.spec.ts +0 -30
  198. package/src/util/formatting.ts +0 -322
  199. package/src/util/imports.ts +0 -164
  200. package/src/util/index.ts +0 -42
  201. package/src/util/initMeta.ts +0 -37
  202. package/src/util/register.ts +0 -12
  203. package/src/util/wsMeta.ts +0 -70
  204. package/tsconfig.build.json +0 -28
  205. package/tsconfig.build.tsbuildinfo +0 -1
  206. package/tsconfig.scripts.json +0 -19
  207. package/tsconfig.spec.json +0 -17
  208. package/tsconfig.spec.tsbuildinfo +0 -1
  209. /package/{build-tsc/augment.d.ts → augment.d.ts} +0 -0
  210. /package/{build-tsc-esm/augment.js → augment.js} +0 -0
  211. /package/{build-tsc/bundle.d.ts → bundle.d.ts} +0 -0
  212. /package/{build-tsc-esm/bundle.js → bundle.js} +0 -0
  213. /package/{build → cjs}/augment.d.ts +0 -0
  214. /package/{build-tsc-cjs → cjs}/augment.js +0 -0
  215. /package/{build → cjs}/bundle.d.ts +0 -0
  216. /package/{build-tsc-cjs → cjs}/bundle.js +0 -0
  217. /package/{build-tsc → cjs}/extractChain.d.ts +0 -0
  218. /package/{build-tsc-cjs → cjs}/extractChain.js +0 -0
  219. /package/{build-tsc → cjs}/fromChain.d.ts +0 -0
  220. /package/{build-tsc-cjs → cjs}/fromChain.js +0 -0
  221. /package/{build-tsc → cjs}/fromDefs.d.ts +0 -0
  222. /package/{build-tsc-cjs → cjs}/fromDefs.js +0 -0
  223. /package/{build-tsc → cjs}/generate/consts.d.ts +0 -0
  224. /package/{build-tsc-cjs → cjs}/generate/consts.js +0 -0
  225. /package/{build-tsc → cjs}/generate/errors.d.ts +0 -0
  226. /package/{build-tsc-cjs → cjs}/generate/errors.js +0 -0
  227. /package/{build-tsc → cjs}/generate/events.d.ts +0 -0
  228. /package/{build-tsc-cjs → cjs}/generate/events.js +0 -0
  229. /package/{build-tsc → cjs}/generate/index.d.ts +0 -0
  230. /package/{build-tsc-cjs → cjs}/generate/index.js +0 -0
  231. /package/{build-tsc → cjs}/generate/interfaceRegistry.d.ts +0 -0
  232. /package/{build-tsc-cjs → cjs}/generate/interfaceRegistry.js +0 -0
  233. /package/{build-tsc → cjs}/generate/lookup.d.ts +0 -0
  234. /package/{build-tsc → cjs}/generate/query.d.ts +0 -0
  235. /package/{build-tsc-cjs → cjs}/generate/query.js +0 -0
  236. /package/{build-tsc → cjs}/generate/rpc.d.ts +0 -0
  237. /package/{build-tsc-cjs → cjs}/generate/rpc.js +0 -0
  238. /package/{build-tsc → cjs}/generate/runtime.d.ts +0 -0
  239. /package/{build-tsc-cjs → cjs}/generate/runtime.js +0 -0
  240. /package/{build-tsc → cjs}/generate/tsDef.d.ts +0 -0
  241. /package/{build-tsc-cjs → cjs}/generate/tsDef.js +0 -0
  242. /package/{build-tsc → cjs}/generate/tx.d.ts +0 -0
  243. /package/{build-tsc-cjs → cjs}/generate/tx.js +0 -0
  244. /package/{build-tsc → cjs}/generate/types.d.ts +0 -0
  245. /package/{build-tsc-cjs → cjs}/generate/types.js +0 -0
  246. /package/{build-tsc → cjs}/index.d.ts +0 -0
  247. /package/{build-tsc-cjs → cjs}/index.js +0 -0
  248. /package/{build-tsc → cjs}/interfacesTs.d.ts +0 -0
  249. /package/{build-tsc-cjs → cjs}/interfacesTs.js +0 -0
  250. /package/{build-tsc → cjs}/metadataMd.d.ts +0 -0
  251. /package/{build-tsc-cjs → cjs}/metadataMd.js +0 -0
  252. /package/{build/cjs → cjs}/package.json +0 -0
  253. /package/{build-tsc → cjs}/packageDetect.d.ts +0 -0
  254. /package/{build/cjs → cjs}/packageDetect.js +0 -0
  255. /package/{build-tsc → cjs}/packageInfo.d.ts +0 -0
  256. /package/{build-tsc → cjs}/util/assert.d.ts +0 -0
  257. /package/{build-tsc-cjs → cjs}/util/assert.js +0 -0
  258. /package/{build-tsc → cjs}/util/derived.d.ts +0 -0
  259. /package/{build-tsc → cjs}/util/docs.d.ts +0 -0
  260. /package/{build-tsc-cjs → cjs}/util/docs.js +0 -0
  261. /package/{build-tsc → cjs}/util/file.d.ts +0 -0
  262. /package/{build-tsc-cjs → cjs}/util/file.js +0 -0
  263. /package/{build-tsc → cjs}/util/formatting.d.ts +0 -0
  264. /package/{build-tsc → cjs}/util/imports.d.ts +0 -0
  265. /package/{build-tsc-cjs → cjs}/util/imports.js +0 -0
  266. /package/{build-tsc → cjs}/util/index.d.ts +0 -0
  267. /package/{build-tsc-cjs → cjs}/util/index.js +0 -0
  268. /package/{build-tsc → cjs}/util/initMeta.d.ts +0 -0
  269. /package/{build-tsc-cjs → cjs}/util/initMeta.js +0 -0
  270. /package/{build-tsc → cjs}/util/register.d.ts +0 -0
  271. /package/{build-tsc-cjs → cjs}/util/register.js +0 -0
  272. /package/{build-tsc → cjs}/util/wsMeta.d.ts +0 -0
  273. /package/{build-tsc-cjs → cjs}/util/wsMeta.js +0 -0
  274. /package/{build/cjs/extractChain.d.ts → extractChain.d.ts} +0 -0
  275. /package/{build-tsc-esm/extractChain.js → extractChain.js} +0 -0
  276. /package/{build/cjs/fromChain.d.ts → fromChain.d.ts} +0 -0
  277. /package/{build-tsc-esm/fromChain.js → fromChain.js} +0 -0
  278. /package/{build/cjs/fromDefs.d.ts → fromDefs.d.ts} +0 -0
  279. /package/{build-tsc-esm/fromDefs.js → fromDefs.js} +0 -0
  280. /package/{build/cjs/generate → generate}/index.d.ts +0 -0
  281. /package/{build-tsc-esm/generate → generate}/index.js +0 -0
  282. /package/{build/cjs/index.d.ts → index.d.ts} +0 -0
  283. /package/{build-tsc-esm/index.js → index.js} +0 -0
  284. /package/{build/cjs/interfacesTs.d.ts → interfacesTs.d.ts} +0 -0
  285. /package/{build-tsc-esm/interfacesTs.js → interfacesTs.js} +0 -0
  286. /package/{build/cjs/metadataMd.d.ts → metadataMd.d.ts} +0 -0
  287. /package/{build-tsc-esm/metadataMd.js → metadataMd.js} +0 -0
  288. /package/{build/cjs/packageDetect.d.ts → packageDetect.d.ts} +0 -0
  289. /package/{build-tsc-esm/packageDetect.js → packageDetect.js} +0 -0
  290. /package/{build/cjs/packageInfo.d.ts → packageInfo.d.ts} +0 -0
  291. /package/{build/cjs/util → util}/assert.d.ts +0 -0
  292. /package/{build-tsc-esm/util → util}/assert.js +0 -0
  293. /package/{build/cjs/util → util}/derived.d.ts +0 -0
  294. /package/{build/cjs/util → util}/docs.d.ts +0 -0
  295. /package/{build-tsc-esm/util → util}/docs.js +0 -0
  296. /package/{build/cjs/util → util}/file.d.ts +0 -0
  297. /package/{build-tsc-esm/util → util}/file.js +0 -0
  298. /package/{build/cjs/util → util}/formatting.d.ts +0 -0
  299. /package/{build/cjs/util → util}/imports.d.ts +0 -0
  300. /package/{build-tsc-esm/util → util}/imports.js +0 -0
  301. /package/{build/cjs/util → util}/index.d.ts +0 -0
  302. /package/{build-tsc-esm/util → util}/index.js +0 -0
  303. /package/{build/cjs/util → util}/initMeta.d.ts +0 -0
  304. /package/{build-tsc-esm/util → util}/initMeta.js +0 -0
  305. /package/{build/cjs/util → util}/register.d.ts +0 -0
  306. /package/{build-tsc-esm/util → util}/register.js +0 -0
  307. /package/{build/cjs/util → util}/wsMeta.d.ts +0 -0
  308. /package/{build-tsc-esm/util → util}/wsMeta.js +0 -0
@@ -1,233 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateCallTypes = generateCallTypes;
4
- exports.generateDefaultRuntime = generateDefaultRuntime;
5
- const tslib_1 = require("tslib");
6
- const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
7
- const defaultDefs = tslib_1.__importStar(require("@pezkuwi/types/interfaces/definitions"));
8
- const definitions_1 = tslib_1.__importDefault(require("@pezkuwi/types-augment/lookup/definitions"));
9
- const util_1 = require("@pezkuwi/util");
10
- const util_crypto_1 = require("@pezkuwi/util-crypto");
11
- const index_js_1 = require("../util/index.js");
12
- const types_js_1 = require("./types.js");
13
- const generateCallsTypesTemplate = handlebars_1.default.compile((0, index_js_1.readTemplate)('calls'));
14
- const aliases = {
15
- AssetHubZagrosRuntimeRuntimeCall: 'RuntimeCall',
16
- AssetHubPezkuwiRuntimeRuntimeCall: 'RuntimeCall',
17
- AssetHubDicleRuntimeOriginCaller: 'OriginCaller',
18
- AssetHubDicleRuntimeRuntimeCall: 'RuntimeCall',
19
- DicleRuntimeConstantsProxyProxyType: 'ProxyType',
20
- KitchensinkRuntimeRuntimeCall: 'RuntimeCall',
21
- KitchensinkRuntimeRuntimeParametersKey: 'RuntimeParametersKey',
22
- OpaqueValue: 'Bytes',
23
- PezkuwiTeyrchainPrimitivesPrimitivesId: 'ParaId',
24
- PezkuwiTeyrchainPrimitivesPrimitivesValidationCodeHash: 'ValidationCodeHash',
25
- PezkuwiPrimitivesV7SlashingOpaqueKeyOwnershipProof: 'OpaqueKeyOwnershipProof',
26
- PezkuwiPrimitivesV8SlashingOpaqueKeyOwnershipProof: 'OpaqueKeyOwnershipProof',
27
- PezkuwiRuntimeRuntimeCall: 'RuntimeCall',
28
- PrimitiveTypesH160: 'H160',
29
- PrimitiveTypesH256: 'H256',
30
- PrimitiveTypesU256: 'U256',
31
- PezspConsensusBabeOpaqueKeyOwnershipProof: 'OpaqueKeyOwnershipProof',
32
- PezspConsensusSlotsSlot: 'Slot',
33
- PezspConsensusSlotsSlotDuration: 'SlotDuration',
34
- PezspCoreCryptoAccountId32: 'AccountId32',
35
- PezspCoreOpaqueMetadata: 'OpaqueMetadata',
36
- PezspRuntimeOpaqueValue: 'Bytes',
37
- PezspRuntimeUncheckedExtrinsic: 'Extrinsic',
38
- StagingDicleRuntimeOriginCaller: 'OriginCaller',
39
- StagingDicleRuntimeRuntimeCall: 'RuntimeCall',
40
- StagingDicleRuntimeRuntimeParameters: 'RuntimeParameters',
41
- StagingDicleRuntimeRuntimeParametersKey: 'RuntimeParametersKey',
42
- StagingZagrosRuntimeRuntimeCall: 'RuntimeCall'
43
- };
44
- const getTypesViaAlias = (registry, id) => {
45
- const rawTypeName = registry.lookup.getName(id) || registry.lookup.getTypeDef(id).type;
46
- const typeName = (0, index_js_1.rebrandTypeName)(rawTypeName);
47
- if (aliases[typeName]) {
48
- return aliases[typeName];
49
- }
50
- return typeName;
51
- };
52
- /** @internal */
53
- function getMethods(registry, methods) {
54
- const result = {};
55
- methods.forEach((m) => {
56
- const { deprecationInfo, docs, inputs, name, output } = m;
57
- let description = docs.map((d) => d.toString()).join();
58
- if (!deprecationInfo.isNotDeprecated) {
59
- const deprecationNotice = (0, types_js_1.getDeprecationNotice)(deprecationInfo, (0, util_1.stringCamelCase)(name));
60
- const notice = description.length ? `\n * ${deprecationNotice}` : ` * ${deprecationNotice}`;
61
- description += notice;
62
- }
63
- result[name.toString()] = {
64
- description,
65
- params: inputs.map(({ name, type }) => {
66
- return { name: name.toString(), type: getTypesViaAlias(registry, type) };
67
- }),
68
- type: getTypesViaAlias(registry, output)
69
- };
70
- });
71
- return result;
72
- }
73
- /** @internal */
74
- function getRuntimeDefViaMetadata(registry) {
75
- const result = {};
76
- const { apis } = registry.metadata;
77
- for (let i = 0, count = apis.length; i < count; i++) {
78
- const { methods, name } = apis[i];
79
- result[name.toString()] = [{
80
- methods: getMethods(registry, methods),
81
- // We set the version to 0 here since it will not be relevant when we are grabbing the runtime apis
82
- // from the Metadata.
83
- version: 0
84
- }];
85
- }
86
- return Object.entries(result);
87
- }
88
- /** @internal */
89
- function getDefs(apis, defs, registry) {
90
- const named = {};
91
- const all = Object.values(defs);
92
- const isApiInMetadata = registry.metadata.apis.length > 0;
93
- if (isApiInMetadata) {
94
- const sections = getRuntimeDefViaMetadata(registry);
95
- for (let j = 0, jcount = sections.length; j < jcount; j++) {
96
- const [_section, secs] = sections[j];
97
- const sec = secs[0];
98
- const sectionHash = (0, util_crypto_1.blake2AsHex)(_section, 64);
99
- const section = (0, util_1.stringCamelCase)(_section);
100
- const methods = Object.entries(sec.methods);
101
- if (!named[section]) {
102
- named[section] = {};
103
- }
104
- for (let m = 0, mcount = methods.length; m < mcount; m++) {
105
- const [_method, def] = methods[m];
106
- const method = (0, util_1.stringCamelCase)(_method);
107
- named[section][method] = (0, util_1.objectSpread)({ method, name: `${_section}_${_method}`, section, sectionHash }, def);
108
- }
109
- }
110
- }
111
- else {
112
- for (let j = 0, jcount = all.length; j < jcount; j++) {
113
- const set = all[j].runtime;
114
- if (set) {
115
- const sections = Object.entries(set);
116
- for (let i = 0, scount = sections.length; i < scount; i++) {
117
- const [_section, sec] = sections[i];
118
- const sectionHash = (0, util_crypto_1.blake2AsHex)(_section, 64);
119
- const api = apis?.find(([h]) => h === sectionHash);
120
- if (api) {
121
- const ver = sec.find(({ version }) => version === api[1]);
122
- if (ver) {
123
- const methods = Object.entries(ver.methods);
124
- const mcount = methods.length;
125
- if (mcount) {
126
- const section = (0, util_1.stringCamelCase)(_section);
127
- if (!named[section]) {
128
- named[section] = {};
129
- }
130
- for (let m = 0; m < mcount; m++) {
131
- const [_method, def] = methods[m];
132
- const method = (0, util_1.stringCamelCase)(_method);
133
- named[section][method] = (0, util_1.objectSpread)({ method, name: `${_section}_${method}`, section, sectionHash, version: ver.version }, def);
134
- }
135
- }
136
- }
137
- else {
138
- console.warn(`Unable to find matching version for runtime ${_section}, expected ${api[1]}`);
139
- }
140
- }
141
- }
142
- }
143
- }
144
- }
145
- return named;
146
- }
147
- /** @internal */
148
- function generateCallTypes(registry, meta, dest, extraTypes, isStrict, customLookupDefinitions) {
149
- (0, index_js_1.writeFile)(dest, () => {
150
- const allTypes = {
151
- '@pezkuwi/types-augment': {
152
- lookup: {
153
- ...definitions_1.default,
154
- ...customLookupDefinitions
155
- }
156
- },
157
- '@pezkuwi/types/interfaces': defaultDefs,
158
- ...extraTypes
159
- };
160
- const imports = (0, index_js_1.createImports)(allTypes);
161
- // find the system.Version in metadata
162
- let apis = null;
163
- const sysp = meta.asLatest.pallets.find(({ name }) => name.eq('System'));
164
- if (sysp) {
165
- const verc = sysp.constants.find(({ name }) => name.eq('Version'));
166
- if (verc) {
167
- apis = registry.createType('RuntimeVersion', verc.value).apis.map(([k, v]) => [k.toHex(), v.toNumber()]);
168
- }
169
- else {
170
- console.error('Unable to find System.Version pallet, skipping API extraction');
171
- }
172
- }
173
- else {
174
- console.error('Unable to find System pallet, skipping API extraction');
175
- }
176
- const allDefs = Object.entries(allTypes).reduce((defs, [path, obj]) => {
177
- return Object.entries(obj).reduce((defs, [key, value]) => ({ ...defs, [`${path}/${key}`]: value }), defs);
178
- }, {});
179
- const definitions = getDefs(apis, imports.definitions, registry);
180
- const callKeys = Object.keys(definitions);
181
- const modules = callKeys.map((section) => {
182
- const calls = definitions[section];
183
- const allMethods = Object.keys(calls).sort().map((methodName) => {
184
- const def = calls[methodName];
185
- (0, index_js_1.setImports)(allDefs, imports, [def.type]);
186
- const args = def.params.map((param) => {
187
- const similarTypes = (0, index_js_1.getSimilarTypes)(registry, imports.definitions, param.type, imports);
188
- (0, index_js_1.setImports)(allDefs, imports, [param.type, ...similarTypes]);
189
- return `${param.name}: ${similarTypes.join(' | ')}`;
190
- });
191
- return {
192
- args: args.join(', '),
193
- docs: [def.description],
194
- name: methodName,
195
- sectionHash: def.sectionHash,
196
- sectionName: def.section,
197
- sectionVersion: def.version,
198
- type: (0, index_js_1.formatType)(registry, allDefs, def.type, imports)
199
- };
200
- }).sort((a, b) => a.name.localeCompare(b.name));
201
- return {
202
- items: allMethods,
203
- name: section || 'unknown',
204
- sectionHash: allMethods.length && allMethods[0].sectionHash,
205
- sectionName: allMethods.length && allMethods[0].sectionName,
206
- sectionVersion: allMethods.length && allMethods[0].sectionVersion
207
- };
208
- }).filter(({ items }) => items.length).sort((a, b) => a.name.localeCompare(b.name));
209
- if (modules.length) {
210
- imports.typesTypes['Observable'] = true;
211
- }
212
- return generateCallsTypesTemplate({
213
- headerType: 'chain',
214
- imports,
215
- isStrict,
216
- modules,
217
- types: [
218
- ...Object.keys(imports.localTypes).sort().map((packagePath) => ({
219
- file: packagePath.replace('@pezkuwi/types-augment', '@pezkuwi/types'),
220
- types: Object.keys(imports.localTypes[packagePath])
221
- })),
222
- {
223
- file: '@pezkuwi/api-base/types',
224
- types: ['ApiTypes', 'AugmentedCall', 'DecoratedCallBase']
225
- }
226
- ]
227
- });
228
- });
229
- }
230
- function generateDefaultRuntime(dest, data, extraTypes = {}, isStrict = false, customLookupDefinitions) {
231
- const { metadata, registry } = (0, index_js_1.initMeta)(data, extraTypes);
232
- generateCallTypes(registry, metadata, dest, extraTypes, isStrict, customLookupDefinitions);
233
- }
@@ -1,16 +0,0 @@
1
- import type { Registry } from '@pezkuwi/types/types';
2
- import type { TypeDef } from '@pezkuwi/types-create/types';
3
- import type { ModuleTypes } from '../util/imports.js';
4
- import type { TypeImports } from '../util/index.js';
5
- import { TypeDefInfo } from '@pezkuwi/types-create';
6
- /** @internal */
7
- export declare function createGetter(definitions: Record<string, ModuleTypes>, name: string | undefined, type: string, imports: TypeImports): string;
8
- export declare const typeEncoders: Record<TypeDefInfo, (registry: Registry, definitions: Record<string, ModuleTypes>, def: TypeDef, imports: TypeImports) => string>;
9
- /** @internal */
10
- export declare function generateTsDefFor(registry: Registry, importDefinitions: Record<string, Record<string, ModuleTypes>>, defName: string, { types }: {
11
- types: Record<string, any>;
12
- }, outputDir: string): void;
13
- /** @internal */
14
- export declare function generateTsDef(importDefinitions: Record<string, Record<string, ModuleTypes>>, outputDir: string, generatingPackage: string): void;
15
- /** @internal */
16
- export declare function generateDefaultTsDef(): void;
@@ -1,254 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.typeEncoders = void 0;
4
- exports.createGetter = createGetter;
5
- exports.generateTsDefFor = generateTsDefFor;
6
- exports.generateTsDef = generateTsDef;
7
- exports.generateDefaultTsDef = generateDefaultTsDef;
8
- const tslib_1 = require("tslib");
9
- const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
10
- const node_path_1 = tslib_1.__importDefault(require("node:path"));
11
- const create_1 = require("@pezkuwi/types/create");
12
- const defaultDefinitions = tslib_1.__importStar(require("@pezkuwi/types/interfaces/definitions"));
13
- const types_create_1 = require("@pezkuwi/types-create");
14
- const util_1 = require("@pezkuwi/util");
15
- const index_js_1 = require("../util/index.js");
16
- const generateTsDefIndexTemplate = handlebars_1.default.compile((0, index_js_1.readTemplate)('tsDef/index'));
17
- const generateTsDefModuleTypesTemplate = handlebars_1.default.compile((0, index_js_1.readTemplate)('tsDef/moduleTypes'));
18
- const generateTsDefTypesTemplate = handlebars_1.default.compile((0, index_js_1.readTemplate)('tsDef/types'));
19
- /** @internal */
20
- function createGetter(definitions, name = '', type, imports) {
21
- (0, index_js_1.setImports)(definitions, imports, [type]);
22
- return ` readonly ${name}: ${type};\n`;
23
- }
24
- /** @internal */
25
- function errorUnhandled(_, _definitions, def, _imports) {
26
- throw new Error(`Generate: ${def.name || ''}: Unhandled type ${types_create_1.TypeDefInfo[def.info]}`);
27
- }
28
- /** @internal */
29
- function tsExport(registry, definitions, def, imports) {
30
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, (0, index_js_1.formatType)(registry, definitions, def, imports, false));
31
- }
32
- /** @internal */
33
- function tsEnum(registry, definitions, { lookupIndex, name: enumName, sub }, imports, withShortcut = false) {
34
- (0, index_js_1.setImports)(definitions, imports, ['Enum']);
35
- const indent = withShortcut ? ' ' : '';
36
- const named = sub.filter(({ name }) => !!name && !name.startsWith('__Unused'));
37
- const keys = named.map((def) => {
38
- const { info, lookupName, name = '', sub, type } = def;
39
- const getter = (0, util_1.stringPascalCase)(name.replace(' ', '_'));
40
- const isComplex = [types_create_1.TypeDefInfo.Option, types_create_1.TypeDefInfo.Range, types_create_1.TypeDefInfo.RangeInclusive, types_create_1.TypeDefInfo.Result, types_create_1.TypeDefInfo.Struct, types_create_1.TypeDefInfo.Tuple, types_create_1.TypeDefInfo.Vec, types_create_1.TypeDefInfo.VecFixed].includes(info);
41
- let extractedLookupName;
42
- // When the parent type does not have a lookupName, and the sub type is the same
43
- // type as the parent we can take the lookupName from the sub.
44
- // This is specific to `StagingXcmV4Junction`.
45
- // see: https://github.com/pezkuwichain/pezkuwi-api/pull/5812
46
- if (sub && !Array.isArray(sub) && type.includes(`${sub.type};`)) {
47
- if (sub.lookupName === 'StagingXcmV4Junction') {
48
- extractedLookupName = sub.lookupName;
49
- }
50
- else if (sub.lookupName === 'StagingXcmV5Junction') {
51
- extractedLookupName = `Vec<${sub.lookupName}>`;
52
- }
53
- }
54
- const asGetter = type === 'Null' || info === types_create_1.TypeDefInfo.DoNotConstruct
55
- ? ''
56
- : createGetter(definitions, `as${getter}`, lookupName || extractedLookupName || (isComplex ? (0, index_js_1.formatType)(registry, definitions, info === types_create_1.TypeDefInfo.Struct ? def : type, imports, withShortcut) : type), imports);
57
- const isGetter = info === types_create_1.TypeDefInfo.DoNotConstruct
58
- ? ''
59
- : createGetter(definitions, `is${getter}`, 'boolean', imports);
60
- switch (info) {
61
- case types_create_1.TypeDefInfo.Compact:
62
- case types_create_1.TypeDefInfo.Plain:
63
- case types_create_1.TypeDefInfo.Range:
64
- case types_create_1.TypeDefInfo.RangeInclusive:
65
- case types_create_1.TypeDefInfo.Result:
66
- case types_create_1.TypeDefInfo.Si:
67
- case types_create_1.TypeDefInfo.Struct:
68
- case types_create_1.TypeDefInfo.Tuple:
69
- case types_create_1.TypeDefInfo.Vec:
70
- case types_create_1.TypeDefInfo.BTreeMap:
71
- case types_create_1.TypeDefInfo.BTreeSet:
72
- case types_create_1.TypeDefInfo.Option:
73
- case types_create_1.TypeDefInfo.VecFixed:
74
- case types_create_1.TypeDefInfo.WrapperKeepOpaque:
75
- case types_create_1.TypeDefInfo.WrapperOpaque:
76
- return `${indent}${isGetter}${indent}${asGetter}`;
77
- case types_create_1.TypeDefInfo.DoNotConstruct:
78
- case types_create_1.TypeDefInfo.Null:
79
- return `${indent}${isGetter}`;
80
- default:
81
- throw new Error(`Enum: ${enumName || 'undefined'}: Unhandled type ${types_create_1.TypeDefInfo[info]}, ${(0, util_1.stringify)(def)}`);
82
- }
83
- });
84
- return (0, index_js_1.exportInterface)(lookupIndex, enumName, 'Enum', `${keys.join('')} ${indent}readonly type: ${named.map(({ name = '' }) => `'${(0, util_1.stringPascalCase)(name.replace(' ', '_'))}'`).join(' | ')};\n`, withShortcut);
85
- }
86
- function tsInt(_, definitions, def, imports, type = 'Int') {
87
- (0, index_js_1.setImports)(definitions, imports, [type]);
88
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, type);
89
- }
90
- /** @internal */
91
- function tsNull(_registry, definitions, { lookupIndex = -1, name }, imports) {
92
- (0, index_js_1.setImports)(definitions, imports, ['Null']);
93
- // * @description extends [[${base}]]
94
- const doc = `/** @name ${name || ''}${lookupIndex !== -1 ? ` (${lookupIndex})` : ''} */\n`;
95
- return `${doc}export type ${name || ''} = Null;`;
96
- }
97
- /** @internal */
98
- function tsResultGetter(registry, definitions, resultName = '', getter, def, imports) {
99
- const { info, lookupName, type } = def;
100
- const asGetter = type === 'Null'
101
- ? ''
102
- : createGetter(definitions, `as${getter}`, lookupName || (info === types_create_1.TypeDefInfo.Tuple ? (0, index_js_1.formatType)(registry, definitions, def, imports, false) : type), imports);
103
- const isGetter = createGetter(definitions, `is${getter}`, 'boolean', imports);
104
- switch (info) {
105
- case types_create_1.TypeDefInfo.Option:
106
- case types_create_1.TypeDefInfo.Plain:
107
- case types_create_1.TypeDefInfo.Si:
108
- case types_create_1.TypeDefInfo.Tuple:
109
- case types_create_1.TypeDefInfo.Vec:
110
- case types_create_1.TypeDefInfo.BTreeMap:
111
- case types_create_1.TypeDefInfo.BTreeSet:
112
- case types_create_1.TypeDefInfo.WrapperKeepOpaque:
113
- case types_create_1.TypeDefInfo.WrapperOpaque:
114
- return `${isGetter}${asGetter}`;
115
- case types_create_1.TypeDefInfo.Null:
116
- return `${isGetter}`;
117
- default:
118
- throw new Error(`Result: ${resultName}: Unhandled type ${types_create_1.TypeDefInfo[info]}, ${(0, util_1.stringify)(def)}`);
119
- }
120
- }
121
- /** @internal */
122
- function tsResult(registry, definitions, def, imports) {
123
- const [okDef, errorDef] = def.sub;
124
- const inner = [
125
- tsResultGetter(registry, definitions, def.name, 'Err', errorDef, imports),
126
- tsResultGetter(registry, definitions, def.name, 'Ok', okDef, imports)
127
- ].join('');
128
- (0, index_js_1.setImports)(definitions, imports, [def.type]);
129
- const fmtType = def.lookupName && def.name !== def.lookupName
130
- ? def.lookupName
131
- : (0, index_js_1.formatType)(registry, definitions, def, imports, false);
132
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, fmtType, inner);
133
- }
134
- /** @internal */
135
- function tsSi(_registry, _definitions, typeDef, _imports) {
136
- // FIXME
137
- return `// SI: ${(0, util_1.stringify)(typeDef)}`;
138
- }
139
- /** @internal */
140
- function tsSet(_, definitions, { lookupIndex, name: setName, sub }, imports) {
141
- (0, index_js_1.setImports)(definitions, imports, ['Set']);
142
- const types = sub.map(({ name }) => {
143
- (0, util_1.assert)(name, 'Invalid TypeDef found, no name specified');
144
- return createGetter(definitions, `is${name}`, 'boolean', imports);
145
- });
146
- return (0, index_js_1.exportInterface)(lookupIndex, setName, 'Set', types.join(''));
147
- }
148
- /** @internal */
149
- function tsStruct(registry, definitions, { lookupIndex, name: structName, sub }, imports) {
150
- (0, index_js_1.setImports)(definitions, imports, ['Struct']);
151
- const keys = sub.map((def) => {
152
- const fmtType = def.lookupName && def.name !== def.lookupName
153
- ? def.lookupName
154
- : def.info === types_create_1.TypeDefInfo.Enum
155
- ? `${tsEnum(registry, definitions, def, imports, true)} & Enum`
156
- : (0, index_js_1.formatType)(registry, definitions, def, imports, false);
157
- return createGetter(definitions, def.name, fmtType, imports);
158
- });
159
- return (0, index_js_1.exportInterface)(lookupIndex, structName, 'Struct', keys.join(''));
160
- }
161
- /** @internal */
162
- function tsUInt(registry, definitions, def, imports) {
163
- return tsInt(registry, definitions, def, imports, 'UInt');
164
- }
165
- /** @internal */
166
- function tsVec(registry, definitions, def, imports) {
167
- const type = def.sub.type;
168
- if (type === 'u8') {
169
- if (def.info === types_create_1.TypeDefInfo.VecFixed) {
170
- (0, index_js_1.setImports)(definitions, imports, ['U8aFixed']);
171
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, 'U8aFixed');
172
- }
173
- else {
174
- (0, index_js_1.setImports)(definitions, imports, ['Bytes']);
175
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, 'Bytes');
176
- }
177
- }
178
- const fmtType = def.lookupName && def.name !== def.lookupName
179
- ? def.lookupName
180
- : (0, index_js_1.formatType)(registry, definitions, def, imports, false);
181
- return (0, index_js_1.exportInterface)(def.lookupIndex, def.name, fmtType);
182
- }
183
- exports.typeEncoders = {
184
- [types_create_1.TypeDefInfo.BTreeMap]: tsExport,
185
- [types_create_1.TypeDefInfo.BTreeSet]: tsExport,
186
- [types_create_1.TypeDefInfo.Compact]: tsExport,
187
- [types_create_1.TypeDefInfo.DoNotConstruct]: tsExport,
188
- [types_create_1.TypeDefInfo.Enum]: tsEnum,
189
- [types_create_1.TypeDefInfo.HashMap]: tsExport,
190
- [types_create_1.TypeDefInfo.Int]: tsInt,
191
- [types_create_1.TypeDefInfo.Linkage]: errorUnhandled,
192
- [types_create_1.TypeDefInfo.Null]: tsNull,
193
- [types_create_1.TypeDefInfo.Option]: tsExport,
194
- [types_create_1.TypeDefInfo.Plain]: tsExport,
195
- [types_create_1.TypeDefInfo.Range]: tsExport,
196
- [types_create_1.TypeDefInfo.RangeInclusive]: tsExport,
197
- [types_create_1.TypeDefInfo.Result]: tsResult,
198
- [types_create_1.TypeDefInfo.Set]: tsSet,
199
- [types_create_1.TypeDefInfo.Si]: tsSi,
200
- [types_create_1.TypeDefInfo.Struct]: tsStruct,
201
- [types_create_1.TypeDefInfo.Tuple]: tsExport,
202
- [types_create_1.TypeDefInfo.UInt]: tsUInt,
203
- [types_create_1.TypeDefInfo.Vec]: tsVec,
204
- [types_create_1.TypeDefInfo.VecFixed]: tsVec,
205
- [types_create_1.TypeDefInfo.WrapperKeepOpaque]: tsExport,
206
- [types_create_1.TypeDefInfo.WrapperOpaque]: tsExport
207
- };
208
- /** @internal */
209
- function generateInterfaces(registry, definitions, { types }, imports) {
210
- return Object.entries(types).map(([name, type]) => {
211
- const def = (0, types_create_1.getTypeDef)((0, util_1.isString)(type) ? type : (0, util_1.stringify)(type), { name });
212
- return [name, exports.typeEncoders[def.info](registry, definitions, def, imports)];
213
- });
214
- }
215
- /** @internal */
216
- function generateTsDefFor(registry, importDefinitions, defName, { types }, outputDir) {
217
- const imports = { ...(0, index_js_1.createImports)(importDefinitions, { types }), interfaces: [] };
218
- const definitions = imports.definitions;
219
- const interfaces = generateInterfaces(registry, definitions, { types }, imports);
220
- const items = interfaces.sort((a, b) => a[0].localeCompare(b[0])).map(([, definition]) => definition);
221
- (0, index_js_1.writeFile)(node_path_1.default.join(outputDir, defName, 'types.ts'), () => generateTsDefModuleTypesTemplate({
222
- headerType: 'defs',
223
- imports,
224
- items,
225
- name: defName,
226
- types: [
227
- ...Object.keys(imports.localTypes).sort().map((packagePath) => ({
228
- file: packagePath.replace('@pezkuwi/types/augment', '@pezkuwi/types'),
229
- types: Object.keys(imports.localTypes[packagePath])
230
- }))
231
- ]
232
- }), true);
233
- (0, index_js_1.writeFile)(node_path_1.default.join(outputDir, defName, 'index.ts'), () => generateTsDefIndexTemplate({ headerType: 'defs' }), true);
234
- }
235
- /** @internal */
236
- function generateTsDef(importDefinitions, outputDir, generatingPackage) {
237
- const registry = new create_1.TypeRegistry();
238
- (0, index_js_1.writeFile)(node_path_1.default.join(outputDir, 'types.ts'), () => {
239
- const definitions = importDefinitions[generatingPackage];
240
- Object.entries(definitions).forEach(([defName, obj]) => {
241
- console.log(`\tExtracting interfaces for ${defName}`);
242
- generateTsDefFor(registry, importDefinitions, defName, obj, outputDir);
243
- });
244
- return generateTsDefTypesTemplate({
245
- headerType: 'defs',
246
- items: Object.keys(definitions)
247
- });
248
- });
249
- (0, index_js_1.writeFile)(node_path_1.default.join(outputDir, 'index.ts'), () => generateTsDefIndexTemplate({ headerType: 'defs' }), true);
250
- }
251
- /** @internal */
252
- function generateDefaultTsDef() {
253
- generateTsDef({ '@pezkuwi/types/interfaces': defaultDefinitions }, 'packages/types/src/interfaces', '@pezkuwi/types/interfaces');
254
- }
@@ -1,5 +0,0 @@
1
- import type { Definitions } from '@pezkuwi/types/types';
2
- import type { HexString } from '@pezkuwi/util/types';
3
- import { type ExtraTypes } from './types.js';
4
- /** @internal */
5
- export declare function generateDefaultTx(dest: string, data: HexString, extraTypes?: ExtraTypes, isStrict?: boolean, customLookupDefinitions?: Definitions): void;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateDefaultTx = generateDefaultTx;
4
- const tslib_1 = require("tslib");
5
- const handlebars_1 = tslib_1.__importDefault(require("handlebars"));
6
- const defaultDefs = tslib_1.__importStar(require("@pezkuwi/types/interfaces/definitions"));
7
- const definitions_1 = tslib_1.__importDefault(require("@pezkuwi/types-augment/lookup/definitions"));
8
- const util_1 = require("@pezkuwi/util");
9
- const index_js_1 = require("../util/index.js");
10
- const lookup_js_1 = require("./lookup.js");
11
- const types_js_1 = require("./types.js");
12
- const MAPPED_NAMES = {
13
- class: 'clazz',
14
- new: 'updated'
15
- };
16
- const generateForMetaTemplate = handlebars_1.default.compile((0, index_js_1.readTemplate)('tx'));
17
- function mapName(_name) {
18
- const name = (0, util_1.stringCamelCase)(_name);
19
- return MAPPED_NAMES[name] || name;
20
- }
21
- /** @internal */
22
- function generateForMeta(registry, meta, dest, extraTypes, isStrict, customLookupDefinitions) {
23
- (0, index_js_1.writeFile)(dest, () => {
24
- const allTypes = {
25
- '@pezkuwi/types-augment': {
26
- lookup: {
27
- ...definitions_1.default,
28
- ...customLookupDefinitions
29
- }
30
- },
31
- '@pezkuwi/types/interfaces': defaultDefs,
32
- ...extraTypes
33
- };
34
- const imports = (0, index_js_1.createImports)(allTypes);
35
- const allDefs = Object.entries(allTypes).reduce((defs, [path, obj]) => {
36
- return Object.entries(obj).reduce((defs, [key, value]) => ({ ...defs, [`${path}/${key}`]: value }), defs);
37
- }, {});
38
- const { lookup, pallets } = meta.asLatest;
39
- const usedTypes = new Set([]);
40
- const modules = pallets
41
- .sort(index_js_1.compareName)
42
- .filter(({ calls }) => calls.isSome)
43
- .map((data) => {
44
- const name = data.name;
45
- const calls = data.calls.unwrap();
46
- const deprecationInfo = calls.deprecationInfo.toJSON();
47
- (0, index_js_1.setImports)(allDefs, imports, ['SubmittableExtrinsic']);
48
- const sectionName = (0, util_1.stringCamelCase)(name);
49
- const items = lookup.getSiType(calls.type).def.asVariant.variants
50
- .map(({ docs, fields, index, name }) => {
51
- const rawStatus = deprecationInfo?.[index.toNumber()];
52
- if (rawStatus) {
53
- const deprecationVariantInfo = meta.registry.createTypeUnsafe('VariantDeprecationInfoV16', [rawStatus]);
54
- const deprecationNotice = (0, types_js_1.getDeprecationNotice)(deprecationVariantInfo, name.toString(), 'Call');
55
- const notice = docs.length ? ['', deprecationNotice] : [deprecationNotice];
56
- docs.push(...notice.map((text) => meta.registry.createType('Text', text)));
57
- }
58
- const typesInfo = fields.map(({ name, type, typeName }, index) => {
59
- const typeDef = registry.lookup.getTypeDef(type);
60
- return [
61
- name.isSome
62
- ? mapName(name.unwrap())
63
- : `param${index}`,
64
- (0, index_js_1.rebrandTypeName)(typeName.isSome
65
- ? typeName.toString()
66
- : typeDef.type),
67
- (0, index_js_1.rebrandTypeName)(typeDef.isFromSi
68
- ? typeDef.type
69
- : typeDef.lookupName || typeDef.type)
70
- ];
71
- });
72
- const params = typesInfo
73
- .map(([name, , typeStr]) => {
74
- const similarTypes = (0, index_js_1.getSimilarTypes)(registry, allDefs, typeStr, imports);
75
- (0, index_js_1.setImports)(allDefs, imports, [typeStr, ...similarTypes]);
76
- // Add the type to the list of used types
77
- if (!(imports.primitiveTypes[typeStr])) {
78
- usedTypes.add(typeStr);
79
- }
80
- return `${name}: ${similarTypes.join(' | ')}`;
81
- })
82
- .join(', ');
83
- return {
84
- args: typesInfo.map(([, , typeStr]) => (0, index_js_1.formatType)(registry, allDefs, typeStr, imports)).join(', '),
85
- docs,
86
- name: (0, util_1.stringCamelCase)(name),
87
- params
88
- };
89
- })
90
- .sort(index_js_1.compareName);
91
- return {
92
- items,
93
- name: sectionName
94
- };
95
- })
96
- .sort(index_js_1.compareName);
97
- // filter out the unused lookup types from imports
98
- (0, lookup_js_1.ignoreUnusedLookups)([...usedTypes], imports);
99
- return generateForMetaTemplate({
100
- headerType: 'chain',
101
- imports,
102
- isStrict,
103
- modules,
104
- types: [
105
- ...Object.keys(imports.localTypes).sort().map((packagePath) => ({
106
- file: packagePath.replace('@pezkuwi/types-augment', '@pezkuwi/types'),
107
- types: Object.keys(imports.localTypes[packagePath])
108
- })),
109
- {
110
- file: '@pezkuwi/api-base/types',
111
- types: ['ApiTypes', 'AugmentedSubmittable', 'SubmittableExtrinsic', 'SubmittableExtrinsicFunction']
112
- }
113
- ]
114
- });
115
- });
116
- }
117
- /** @internal */
118
- function generateDefaultTx(dest, data, extraTypes = {}, isStrict = false, customLookupDefinitions) {
119
- const { metadata, registry } = (0, index_js_1.initMeta)(data, extraTypes);
120
- return generateForMeta(registry, metadata, dest, extraTypes, isStrict, customLookupDefinitions);
121
- }
@@ -1,12 +0,0 @@
1
- import type { Option, Text } from '@pezkuwi/types-codec';
2
- export type ExtraTypes = Record<string, Record<string, {
3
- runtime?: Record<string, any>;
4
- types: Record<string, any>;
5
- }>>;
6
- export declare function getDeprecationNotice<T extends {
7
- isDeprecated: boolean;
8
- asDeprecated: {
9
- note: Text;
10
- since: Option<Text>;
11
- };
12
- }>(deprecationInfo: T, name: string, label?: string): string;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDeprecationNotice = getDeprecationNotice;
4
- function getDeprecationNotice(deprecationInfo, name, label) {
5
- let deprecationNotice = '@deprecated';
6
- if (deprecationInfo.isDeprecated) {
7
- const { note, since } = deprecationInfo.asDeprecated;
8
- const sinceText = since.isSome ? ` Since ${since.unwrap().toString()}.` : '';
9
- deprecationNotice += ` ${note.toString()}${sinceText}`;
10
- }
11
- else {
12
- const labelText = label ? `${label} ` : '';
13
- deprecationNotice += ` ${labelText}${name} has been deprecated`;
14
- }
15
- return deprecationNotice;
16
- }
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- require("./packageDetect.js");
5
- tslib_1.__exportStar(require("./bundle.js"), exports);