@kontor/kontor-sdk 1.0.0-alpha.15 → 1.0.0-alpha.16

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 (293) hide show
  1. package/dist/cjs/exports/index.js +17 -1
  2. package/dist/cjs/exports/index.js.map +1 -1
  3. package/dist/cjs/tsconfig.build.tsbuildinfo +1 -1
  4. package/dist/esm/exports/index.js +8 -0
  5. package/dist/esm/exports/index.js.map +1 -1
  6. package/dist/esm/tsconfig.build.tsbuildinfo +1 -1
  7. package/dist/types/exports/index.d.ts +8 -0
  8. package/dist/types/exports/index.d.ts.map +1 -1
  9. package/package.json +2 -6
  10. package/src/exports/index.ts +44 -0
  11. package/dist/src/exports/index.js +0 -11
  12. package/dist/src/exports/index.js.map +0 -1
  13. package/dist/src/exports/index.test.js +0 -10
  14. package/dist/src/exports/index.test.js.map +0 -1
  15. package/dist/src/sdk/accounts/hd-key-to-account.js +0 -20
  16. package/dist/src/sdk/accounts/hd-key-to-account.js.map +0 -1
  17. package/dist/src/sdk/accounts/mnemonic-to-account.js +0 -16
  18. package/dist/src/sdk/accounts/mnemonic-to-account.js.map +0 -1
  19. package/dist/src/sdk/accounts/mnemonic-to-account.test.js +0 -96
  20. package/dist/src/sdk/accounts/mnemonic-to-account.test.js.map +0 -1
  21. package/dist/src/sdk/accounts/private-key-to-account.js +0 -42
  22. package/dist/src/sdk/accounts/private-key-to-account.js.map +0 -1
  23. package/dist/src/sdk/accounts/to-local-account.js +0 -28
  24. package/dist/src/sdk/accounts/to-local-account.js.map +0 -1
  25. package/dist/src/sdk/accounts/types.js +0 -2
  26. package/dist/src/sdk/accounts/types.js.map +0 -1
  27. package/dist/src/sdk/accounts/utils/parse-account.js +0 -10
  28. package/dist/src/sdk/accounts/utils/parse-account.js.map +0 -1
  29. package/dist/src/sdk/accounts/utils/public-key-to-p2tr-payment.js +0 -14
  30. package/dist/src/sdk/accounts/utils/public-key-to-p2tr-payment.js.map +0 -1
  31. package/dist/src/sdk/accounts/utils/sign-psbt.js +0 -17
  32. package/dist/src/sdk/accounts/utils/sign-psbt.js.map +0 -1
  33. package/dist/src/sdk/actions/get-contract.js +0 -50
  34. package/dist/src/sdk/actions/get-contract.js.map +0 -1
  35. package/dist/src/sdk/actions/get-contract.test-d.js +0 -43
  36. package/dist/src/sdk/actions/get-contract.test-d.js.map +0 -1
  37. package/dist/src/sdk/actions/kontor/public/build-compose-query.js +0 -30
  38. package/dist/src/sdk/actions/kontor/public/build-compose-query.js.map +0 -1
  39. package/dist/src/sdk/actions/kontor/public/build-instruction-query.js +0 -45
  40. package/dist/src/sdk/actions/kontor/public/build-instruction-query.js.map +0 -1
  41. package/dist/src/sdk/actions/kontor/public/call-compose.js +0 -38
  42. package/dist/src/sdk/actions/kontor/public/call-compose.js.map +0 -1
  43. package/dist/src/sdk/actions/kontor/public/call-view.js +0 -21
  44. package/dist/src/sdk/actions/kontor/public/call-view.js.map +0 -1
  45. package/dist/src/sdk/actions/kontor/public/inspect.js +0 -20
  46. package/dist/src/sdk/actions/kontor/public/inspect.js.map +0 -1
  47. package/dist/src/sdk/actions/kontor/public/proc-contract.js +0 -54
  48. package/dist/src/sdk/actions/kontor/public/proc-contract.js.map +0 -1
  49. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js +0 -47
  50. package/dist/src/sdk/actions/kontor/public/proc-contract.test.js.map +0 -1
  51. package/dist/src/sdk/actions/kontor/public/view-contract.js +0 -43
  52. package/dist/src/sdk/actions/kontor/public/view-contract.js.map +0 -1
  53. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js +0 -43
  54. package/dist/src/sdk/actions/kontor/public/view-contract.test-d.js.map +0 -1
  55. package/dist/src/sdk/actions/kontor/wallet/sign-commit.js +0 -34
  56. package/dist/src/sdk/actions/kontor/wallet/sign-commit.js.map +0 -1
  57. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js +0 -88
  58. package/dist/src/sdk/actions/kontor/wallet/sign-reveal.js.map +0 -1
  59. package/dist/src/sdk/actions/public/send-raw-transaction.js +0 -7
  60. package/dist/src/sdk/actions/public/send-raw-transaction.js.map +0 -1
  61. package/dist/src/sdk/actions/public/test-mempool-accept.js +0 -20
  62. package/dist/src/sdk/actions/public/test-mempool-accept.js.map +0 -1
  63. package/dist/src/sdk/actions/wallet/get-addresses.js +0 -20
  64. package/dist/src/sdk/actions/wallet/get-addresses.js.map +0 -1
  65. package/dist/src/sdk/actions/wallet/sign-psbt.js +0 -28
  66. package/dist/src/sdk/actions/wallet/sign-psbt.js.map +0 -1
  67. package/dist/src/sdk/chains/definitions/index.js +0 -2
  68. package/dist/src/sdk/chains/definitions/index.js.map +0 -1
  69. package/dist/src/sdk/chains/definitions/signet.js +0 -36
  70. package/dist/src/sdk/chains/definitions/signet.js.map +0 -1
  71. package/dist/src/sdk/clients/base/create-http-client.js +0 -41
  72. package/dist/src/sdk/clients/base/create-http-client.js.map +0 -1
  73. package/dist/src/sdk/clients/base/create-rpc-client.js +0 -41
  74. package/dist/src/sdk/clients/base/create-rpc-client.js.map +0 -1
  75. package/dist/src/sdk/clients/base/create-rpc-client.test.js +0 -145
  76. package/dist/src/sdk/clients/base/create-rpc-client.test.js.map +0 -1
  77. package/dist/src/sdk/clients/create-public-client.js +0 -13
  78. package/dist/src/sdk/clients/create-public-client.js.map +0 -1
  79. package/dist/src/sdk/clients/create-public-client.test.js +0 -113
  80. package/dist/src/sdk/clients/create-public-client.test.js.map +0 -1
  81. package/dist/src/sdk/clients/create-wallet-client.js +0 -14
  82. package/dist/src/sdk/clients/create-wallet-client.js.map +0 -1
  83. package/dist/src/sdk/clients/decorators/kontor/public.js +0 -19
  84. package/dist/src/sdk/clients/decorators/kontor/public.js.map +0 -1
  85. package/dist/src/sdk/clients/decorators/kontor/wallet.js +0 -13
  86. package/dist/src/sdk/clients/decorators/kontor/wallet.js.map +0 -1
  87. package/dist/src/sdk/clients/decorators/public.js +0 -9
  88. package/dist/src/sdk/clients/decorators/public.js.map +0 -1
  89. package/dist/src/sdk/clients/decorators/wallet.js +0 -9
  90. package/dist/src/sdk/clients/decorators/wallet.js.map +0 -1
  91. package/dist/src/sdk/clients/kontor/create-public-client.js +0 -14
  92. package/dist/src/sdk/clients/kontor/create-public-client.js.map +0 -1
  93. package/dist/src/sdk/clients/kontor/create-public-client.test.js +0 -44
  94. package/dist/src/sdk/clients/kontor/create-public-client.test.js.map +0 -1
  95. package/dist/src/sdk/clients/kontor/create-wallet-client.js +0 -14
  96. package/dist/src/sdk/clients/kontor/create-wallet-client.js.map +0 -1
  97. package/dist/src/sdk/clients/transports/create-http-transport.js +0 -25
  98. package/dist/src/sdk/clients/transports/create-http-transport.js.map +0 -1
  99. package/dist/src/sdk/clients/transports/create-rpc-transport.js +0 -36
  100. package/dist/src/sdk/clients/transports/create-rpc-transport.js.map +0 -1
  101. package/dist/src/sdk/clients/transports/create-rpc-transport.test.js +0 -58
  102. package/dist/src/sdk/clients/transports/create-rpc-transport.test.js.map +0 -1
  103. package/dist/src/sdk/clients/transports/custom.js +0 -14
  104. package/dist/src/sdk/clients/transports/custom.js.map +0 -1
  105. package/dist/src/sdk/clients/transports/http-rpc.js +0 -84
  106. package/dist/src/sdk/clients/transports/http-rpc.js.map +0 -1
  107. package/dist/src/sdk/clients/transports/http-rpc.test.js +0 -147
  108. package/dist/src/sdk/clients/transports/http-rpc.test.js.map +0 -1
  109. package/dist/src/sdk/clients/transports/http.js +0 -45
  110. package/dist/src/sdk/clients/transports/http.js.map +0 -1
  111. package/dist/src/sdk/contracts/wits.js +0 -26
  112. package/dist/src/sdk/contracts/wits.js.map +0 -1
  113. package/dist/src/sdk/errors/address.js +0 -13
  114. package/dist/src/sdk/errors/address.js.map +0 -1
  115. package/dist/src/sdk/errors/base.js +0 -92
  116. package/dist/src/sdk/errors/base.js.map +0 -1
  117. package/dist/src/sdk/errors/request.js +0 -100
  118. package/dist/src/sdk/errors/request.js.map +0 -1
  119. package/dist/src/sdk/errors/rpc.js +0 -30
  120. package/dist/src/sdk/errors/rpc.js.map +0 -1
  121. package/dist/src/sdk/errors/transport.js +0 -10
  122. package/dist/src/sdk/errors/transport.js.map +0 -1
  123. package/dist/src/sdk/errors/utils.js +0 -2
  124. package/dist/src/sdk/errors/utils.js.map +0 -1
  125. package/dist/src/sdk/errors/version.js +0 -2
  126. package/dist/src/sdk/errors/version.js.map +0 -1
  127. package/dist/src/sdk/errors/wit.js +0 -19
  128. package/dist/src/sdk/errors/wit.js.map +0 -1
  129. package/dist/src/sdk/test/e2e.test.js +0 -166
  130. package/dist/src/sdk/test/e2e.test.js.map +0 -1
  131. package/dist/src/sdk/types/account.js +0 -2
  132. package/dist/src/sdk/types/account.js.map +0 -1
  133. package/dist/src/sdk/types/btc-rpc.js +0 -2
  134. package/dist/src/sdk/types/btc-rpc.js.map +0 -1
  135. package/dist/src/sdk/types/chain.js +0 -2
  136. package/dist/src/sdk/types/chain.js.map +0 -1
  137. package/dist/src/sdk/types/contract.js +0 -2
  138. package/dist/src/sdk/types/contract.js.map +0 -1
  139. package/dist/src/sdk/types/contract.test-d.js +0 -35
  140. package/dist/src/sdk/types/contract.test-d.js.map +0 -1
  141. package/dist/src/sdk/types/http-schema.js +0 -73
  142. package/dist/src/sdk/types/http-schema.js.map +0 -1
  143. package/dist/src/sdk/types/http-schema.test-d.js +0 -133
  144. package/dist/src/sdk/types/http-schema.test-d.js.map +0 -1
  145. package/dist/src/sdk/types/kontor.js +0 -28
  146. package/dist/src/sdk/types/kontor.js.map +0 -1
  147. package/dist/src/sdk/types/misc.js +0 -2
  148. package/dist/src/sdk/types/misc.js.map +0 -1
  149. package/dist/src/sdk/types/rpc-schema.js +0 -2
  150. package/dist/src/sdk/types/rpc-schema.js.map +0 -1
  151. package/dist/src/sdk/types/rpc.js +0 -19
  152. package/dist/src/sdk/types/rpc.js.map +0 -1
  153. package/dist/src/sdk/types/utils.js +0 -2
  154. package/dist/src/sdk/types/utils.js.map +0 -1
  155. package/dist/src/sdk/types/wbip001.js +0 -3
  156. package/dist/src/sdk/types/wbip001.js.map +0 -1
  157. package/dist/src/sdk/utils/build-http-request.js +0 -55
  158. package/dist/src/sdk/utils/build-http-request.js.map +0 -1
  159. package/dist/src/sdk/utils/build-request.js +0 -35
  160. package/dist/src/sdk/utils/build-request.js.map +0 -1
  161. package/dist/src/sdk/utils/build-rpc-request.js +0 -84
  162. package/dist/src/sdk/utils/build-rpc-request.js.map +0 -1
  163. package/dist/src/sdk/utils/chain/defineChain.js +0 -9
  164. package/dist/src/sdk/utils/chain/defineChain.js.map +0 -1
  165. package/dist/src/sdk/utils/encoding/to-hex.js +0 -23
  166. package/dist/src/sdk/utils/encoding/to-hex.js.map +0 -1
  167. package/dist/src/sdk/utils/get-action.js +0 -27
  168. package/dist/src/sdk/utils/get-action.js.map +0 -1
  169. package/dist/src/sdk/utils/http.js +0 -137
  170. package/dist/src/sdk/utils/http.js.map +0 -1
  171. package/dist/src/sdk/utils/lru.js +0 -35
  172. package/dist/src/sdk/utils/lru.js.map +0 -1
  173. package/dist/src/sdk/utils/promise/create-batch-scheduler.js +0 -49
  174. package/dist/src/sdk/utils/promise/create-batch-scheduler.js.map +0 -1
  175. package/dist/src/sdk/utils/promise/with-dedupe.js +0 -14
  176. package/dist/src/sdk/utils/promise/with-dedupe.js.map +0 -1
  177. package/dist/src/sdk/utils/promise/with-resolvers.js +0 -10
  178. package/dist/src/sdk/utils/promise/with-resolvers.js.map +0 -1
  179. package/dist/src/sdk/utils/promise/with-retry.js +0 -25
  180. package/dist/src/sdk/utils/promise/with-retry.js.map +0 -1
  181. package/dist/src/sdk/utils/promise/with-timeout.js +0 -30
  182. package/dist/src/sdk/utils/promise/with-timeout.js.map +0 -1
  183. package/dist/src/sdk/utils/rpc/http.js +0 -86
  184. package/dist/src/sdk/utils/rpc/http.js.map +0 -1
  185. package/dist/src/sdk/utils/rpc/id.js +0 -13
  186. package/dist/src/sdk/utils/rpc/id.js.map +0 -1
  187. package/dist/src/sdk/utils/stringify.js +0 -5
  188. package/dist/src/sdk/utils/stringify.js.map +0 -1
  189. package/dist/src/sdk/utils/uid.js +0 -14
  190. package/dist/src/sdk/utils/uid.js.map +0 -1
  191. package/dist/src/sdk/utils/wait.js +0 -4
  192. package/dist/src/sdk/utils/wait.js.map +0 -1
  193. package/dist/src/sdk/utils/wit/codecs/decimal.js +0 -165
  194. package/dist/src/sdk/utils/wit/codecs/decimal.js.map +0 -1
  195. package/dist/src/sdk/utils/wit/codecs/enum.js +0 -104
  196. package/dist/src/sdk/utils/wit/codecs/enum.js.map +0 -1
  197. package/dist/src/sdk/utils/wit/codecs/integer.js +0 -167
  198. package/dist/src/sdk/utils/wit/codecs/integer.js.map +0 -1
  199. package/dist/src/sdk/utils/wit/codecs/list.js +0 -117
  200. package/dist/src/sdk/utils/wit/codecs/list.js.map +0 -1
  201. package/dist/src/sdk/utils/wit/codecs/option.js +0 -91
  202. package/dist/src/sdk/utils/wit/codecs/option.js.map +0 -1
  203. package/dist/src/sdk/utils/wit/codecs/string.js +0 -27
  204. package/dist/src/sdk/utils/wit/codecs/string.js.map +0 -1
  205. package/dist/src/sdk/utils/wit/codecs/types.js +0 -45
  206. package/dist/src/sdk/utils/wit/codecs/types.js.map +0 -1
  207. package/dist/src/sdk/utils/wit/codecs/unit.js +0 -22
  208. package/dist/src/sdk/utils/wit/codecs/unit.js.map +0 -1
  209. package/dist/src/sdk/utils/wit/decode-function-result.js +0 -36
  210. package/dist/src/sdk/utils/wit/decode-function-result.js.map +0 -1
  211. package/dist/src/sdk/utils/wit/decode-wit-parameter.js +0 -286
  212. package/dist/src/sdk/utils/wit/decode-wit-parameter.js.map +0 -1
  213. package/dist/src/sdk/utils/wit/decode-wit-parameter.test.js +0 -75
  214. package/dist/src/sdk/utils/wit/decode-wit-parameter.test.js.map +0 -1
  215. package/dist/src/sdk/utils/wit/encode-function-data.js +0 -17
  216. package/dist/src/sdk/utils/wit/encode-function-data.js.map +0 -1
  217. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js +0 -21
  218. package/dist/src/sdk/utils/wit/encode-function-data.test-d.js.map +0 -1
  219. package/dist/src/sdk/utils/wit/encode-function-data.test.js +0 -91
  220. package/dist/src/sdk/utils/wit/encode-function-data.test.js.map +0 -1
  221. package/dist/src/sdk/utils/wit/encode-wit-parameters.js +0 -250
  222. package/dist/src/sdk/utils/wit/encode-wit-parameters.js.map +0 -1
  223. package/dist/src/sdk/utils/wit/encode-wit-parameters.test.js +0 -62
  224. package/dist/src/sdk/utils/wit/encode-wit-parameters.test.js.map +0 -1
  225. package/dist/src/sdk/utils/wit/get-wit-item.js +0 -15
  226. package/dist/src/sdk/utils/wit/get-wit-item.js.map +0 -1
  227. package/dist/src/sdk/utils/wit/get-wit-item.test.js +0 -118
  228. package/dist/src/sdk/utils/wit/get-wit-item.test.js.map +0 -1
  229. package/dist/src/sdk/utils/wit/prepare-encode-function-data.js +0 -24
  230. package/dist/src/sdk/utils/wit/prepare-encode-function-data.js.map +0 -1
  231. package/dist/src/wit/error.js +0 -59
  232. package/dist/src/wit/error.js.map +0 -1
  233. package/dist/src/wit/narrow.js +0 -14
  234. package/dist/src/wit/narrow.js.map +0 -1
  235. package/dist/src/wit/regex.js +0 -6
  236. package/dist/src/wit/regex.js.map +0 -1
  237. package/dist/src/wit/register.js +0 -2
  238. package/dist/src/wit/register.js.map +0 -1
  239. package/dist/src/wit/type-utils.js +0 -2
  240. package/dist/src/wit/type-utils.js.map +0 -1
  241. package/dist/src/wit/utils.js +0 -2
  242. package/dist/src/wit/utils.js.map +0 -1
  243. package/dist/src/wit/utils.test-d.js +0 -16
  244. package/dist/src/wit/utils.test-d.js.map +0 -1
  245. package/dist/src/wit/version.js +0 -2
  246. package/dist/src/wit/version.js.map +0 -1
  247. package/dist/src/wit/wit-parser/core/errors/signature.js +0 -42
  248. package/dist/src/wit/wit-parser/core/errors/signature.js.map +0 -1
  249. package/dist/src/wit/wit-parser/core/errors/splitParameters.js +0 -18
  250. package/dist/src/wit/wit-parser/core/errors/splitParameters.js.map +0 -1
  251. package/dist/src/wit/wit-parser/core/errors/wit-parameter.js +0 -29
  252. package/dist/src/wit/wit-parser/core/errors/wit-parameter.js.map +0 -1
  253. package/dist/src/wit/wit-parser/core/records.js +0 -73
  254. package/dist/src/wit/wit-parser/core/records.js.map +0 -1
  255. package/dist/src/wit/wit-parser/core/records.test.js +0 -53
  256. package/dist/src/wit/wit-parser/core/records.test.js.map +0 -1
  257. package/dist/src/wit/wit-parser/core/signatures.js +0 -32
  258. package/dist/src/wit/wit-parser/core/signatures.js.map +0 -1
  259. package/dist/src/wit/wit-parser/core/signatures.test.js +0 -54
  260. package/dist/src/wit/wit-parser/core/signatures.test.js.map +0 -1
  261. package/dist/src/wit/wit-parser/core/types/records.js +0 -2
  262. package/dist/src/wit/wit-parser/core/types/records.js.map +0 -1
  263. package/dist/src/wit/wit-parser/core/types/records.test-d.js +0 -19
  264. package/dist/src/wit/wit-parser/core/types/records.test-d.js.map +0 -1
  265. package/dist/src/wit/wit-parser/core/types/signatures.js +0 -3
  266. package/dist/src/wit/wit-parser/core/types/signatures.js.map +0 -1
  267. package/dist/src/wit/wit-parser/core/types/signatures.test-d.js +0 -18
  268. package/dist/src/wit/wit-parser/core/types/signatures.test-d.js.map +0 -1
  269. package/dist/src/wit/wit-parser/core/types/utils.js +0 -2
  270. package/dist/src/wit/wit-parser/core/types/utils.js.map +0 -1
  271. package/dist/src/wit/wit-parser/core/types/utils.test-d.js +0 -138
  272. package/dist/src/wit/wit-parser/core/types/utils.test-d.js.map +0 -1
  273. package/dist/src/wit/wit-parser/core/utils.js +0 -212
  274. package/dist/src/wit/wit-parser/core/utils.js.map +0 -1
  275. package/dist/src/wit/wit-parser/core/utils.test.js +0 -302
  276. package/dist/src/wit/wit-parser/core/utils.test.js.map +0 -1
  277. package/dist/src/wit/wit-parser/parse-wit-parameter.js +0 -26
  278. package/dist/src/wit/wit-parser/parse-wit-parameter.js.map +0 -1
  279. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js +0 -77
  280. package/dist/src/wit/wit-parser/parse-wit-parameter.test.js.map +0 -1
  281. package/dist/src/wit/wit-parser/parse-wit.js +0 -16
  282. package/dist/src/wit/wit-parser/parse-wit.js.map +0 -1
  283. package/dist/src/wit/wit-parser/parse-wit.test.js +0 -78
  284. package/dist/src/wit/wit-parser/parse-wit.test.js.map +0 -1
  285. package/dist/src/wit/wit.js +0 -2
  286. package/dist/src/wit/wit.js.map +0 -1
  287. package/dist/src/wit/wit.test.js +0 -6
  288. package/dist/src/wit/wit.test.js.map +0 -1
  289. package/dist/test/globalSetup.js +0 -14
  290. package/dist/test/globalSetup.js.map +0 -1
  291. package/dist/test/src/wits.js +0 -21
  292. package/dist/test/src/wits.js.map +0 -1
  293. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,118 +0,0 @@
1
- import { describe, expect, test } from "vitest";
2
- import { getWitItem } from "./get-wit-item.js";
3
- import { parseWit } from "../../../wit/wit-parser/parse-wit.js";
4
- export const nativeToken = parseWit([
5
- "record balance { key: string, value: decimal }",
6
- "export mint: func(ctx: borrow<proc-context>, n: decimal) -> result<_, error>;",
7
- "export burn: func(ctx: borrow<proc-context>, n: decimal) -> result<_, error>;",
8
- "export transfer: func(ctx: borrow<proc-context>, to: string, n: decimal) -> result<_, error>;",
9
- "export balance: func(ctx: borrow<view-context>, acc: string) -> option<decimal>;",
10
- "export balances: func(ctx: borrow<view-context>) -> list<balance>;",
11
- "export total-supply: func(ctx: borrow<view-context>) -> decimal;",
12
- ]);
13
- describe("getWitItem", () => {
14
- test("returns undefined for missing item", () => {
15
- const item = getWitItem({
16
- wit: nativeToken,
17
- // @ts-expect-error - "does-not-exist" is not a valid WitItemName
18
- name: "does-not-exist",
19
- });
20
- expect(item).toBeUndefined();
21
- });
22
- test("selects mint function by name", () => {
23
- const item = getWitItem({
24
- wit: nativeToken,
25
- name: "mint",
26
- });
27
- expect(item).toStrictEqual({
28
- name: "mint",
29
- type: "function",
30
- context: "proc",
31
- inputs: [{ type: "decimal", name: "n" }],
32
- outputs: [{ type: "result<_, error>" }],
33
- });
34
- });
35
- test("selects burn function by name", () => {
36
- const item = getWitItem({
37
- wit: nativeToken,
38
- name: "burn",
39
- });
40
- expect(item).toStrictEqual({
41
- name: "burn",
42
- type: "function",
43
- context: "proc",
44
- inputs: [{ type: "decimal", name: "n" }],
45
- outputs: [{ type: "result<_, error>" }],
46
- });
47
- });
48
- test("selects transfer function by name", () => {
49
- const item = getWitItem({
50
- wit: nativeToken,
51
- name: "transfer",
52
- });
53
- expect(item).toStrictEqual({
54
- name: "transfer",
55
- type: "function",
56
- context: "proc",
57
- inputs: [
58
- { type: "string", name: "to" },
59
- { type: "decimal", name: "n" },
60
- ],
61
- outputs: [{ type: "result<_, error>" }],
62
- });
63
- });
64
- test("selects balance function by name", () => {
65
- const item = getWitItem({
66
- wit: nativeToken,
67
- name: "balance",
68
- });
69
- expect(item).toStrictEqual({
70
- name: "balance",
71
- type: "function",
72
- context: "view",
73
- inputs: [{ type: "string", name: "acc" }],
74
- outputs: [{ type: "option<decimal>" }],
75
- });
76
- });
77
- test("selects balances function by name", () => {
78
- const item = getWitItem({
79
- wit: nativeToken,
80
- name: "balances",
81
- });
82
- expect(item).toStrictEqual({
83
- name: "balances",
84
- type: "function",
85
- context: "view",
86
- inputs: [],
87
- outputs: [
88
- {
89
- type: "list<tuple>",
90
- components: [
91
- {
92
- name: "key",
93
- type: "string",
94
- },
95
- {
96
- name: "value",
97
- type: "decimal",
98
- },
99
- ],
100
- },
101
- ],
102
- });
103
- });
104
- test("selects total-supply function by name (kebab case)", () => {
105
- const item = getWitItem({
106
- wit: nativeToken,
107
- name: "total-supply",
108
- });
109
- expect(item).toBeDefined();
110
- expect(item.name).toBe("total-supply");
111
- const inputs = item.inputs ?? [];
112
- expect(inputs.map((p) => p.name)).toEqual([]);
113
- expect(inputs.map((p) => p.type)).toEqual([]);
114
- // Optional: assert output type
115
- // expect((item as any).outputs?.[0]?.type).toBe("decimal");
116
- });
117
- });
118
- //# sourceMappingURL=get-wit-item.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-wit-item.test.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/get-wit-item.test.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import { getWitItem } from "./get-wit-item.js";
2
- export function prepareEncodeFunctionData(parameters) {
3
- // TODO: rip out args
4
- const { wit: wit, functionName, args: _args, } = parameters;
5
- let witItem = wit[0];
6
- if (functionName) {
7
- const item = getWitItem({
8
- wit: wit,
9
- name: functionName,
10
- });
11
- // if (!item) throw new WitFunctionNotFoundError(functionName, { docsPath });
12
- if (!item)
13
- throw new Error("TMP: WitFunctionNotFoundError");
14
- witItem = item;
15
- }
16
- if (witItem?.type !== "function")
17
- throw new Error("TMP: WitFunctionNotFoundError");
18
- // throw new WitFunctionNotFoundError(undefined, { docsPath });
19
- return {
20
- wit: [witItem],
21
- functionName: witItem.name,
22
- };
23
- }
24
- //# sourceMappingURL=prepare-encode-function-data.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepare-encode-function-data.js","sourceRoot":"","sources":["../../../../../src/sdk/utils/wit/prepare-encode-function-data.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAmD/C,MAAM,UAAU,yBAAyB,CAIvC,UAAkE;IAElE,qBAAqB;IACrB,MAAM,EACJ,GAAG,EAAE,GAAG,EACR,YAAY,EACZ,IAAI,EAAE,KAAK,GACZ,GAAG,UAAiD,CAAC;IAEtD,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,UAAU,CAAC;YACtB,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,YAAY;SACnB,CAAC,CAAC;QACH,6EAA6E;QAC7E,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAC5D,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU;QAC9B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,+DAA+D;IAE/D,OAAO;QACL,GAAG,EAAE,CAAC,OAAO,CAAC;QACd,YAAY,EAAE,OAAO,CAAC,IAAI;KAC0C,CAAC;AACzE,CAAC"}
@@ -1,59 +0,0 @@
1
- import { version } from "./version.js";
2
- export class BaseError extends Error {
3
- constructor(shortMessage, args = {}) {
4
- const details = args.cause instanceof BaseError
5
- ? args.cause.details
6
- : args.cause?.message
7
- ? args.cause.message
8
- : args.details;
9
- const docsPath = args.cause instanceof BaseError
10
- ? args.cause.docsPath || args.docsPath
11
- : args.docsPath;
12
- const message = [
13
- shortMessage || "An error occurred.",
14
- "",
15
- ...(args.metaMessages ? [...args.metaMessages, ""] : []),
16
- ...(docsPath ? [`Docs: TODO: add docs path`] : []),
17
- ...(details ? [`Details: ${details}`] : []),
18
- `Version: kontor-sdk@${version}`,
19
- ].join("\n");
20
- super(message);
21
- Object.defineProperty(this, "details", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: void 0
26
- });
27
- Object.defineProperty(this, "docsPath", {
28
- enumerable: true,
29
- configurable: true,
30
- writable: true,
31
- value: void 0
32
- });
33
- Object.defineProperty(this, "metaMessages", {
34
- enumerable: true,
35
- configurable: true,
36
- writable: true,
37
- value: void 0
38
- });
39
- Object.defineProperty(this, "shortMessage", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, "name", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: "WitTypeError"
50
- });
51
- if (args.cause)
52
- this.cause = args.cause;
53
- this.details = details;
54
- this.docsPath = docsPath;
55
- this.metaMessages = args.metaMessages;
56
- this.shortMessage = shortMessage;
57
- }
58
- }
59
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../../src/wit/error.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AASvC,MAAM,OAAO,SAAU,SAAQ,KAAK;IAQlC,YAAY,YAAoB,EAAE,OAAsB,EAAE;QACxD,MAAM,OAAO,GACX,IAAI,CAAC,KAAK,YAAY,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;YACpB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO;gBACnB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;gBACpB,CAAC,CAAC,IAAI,CAAC,OAAQ,CAAC;QACtB,MAAM,QAAQ,GACZ,IAAI,CAAC,KAAK,YAAY,SAAS;YAC7B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACtC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpB,MAAM,OAAO,GAAG;YACd,YAAY,IAAI,oBAAoB;YACpC,EAAE;YACF,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,uBAAuB,OAAO,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,KAAK,CAAC,OAAO,CAAC,CAAC;QA3BjB;;;;;WAAgB;QAChB;;;;;WAA8B;QAC9B;;;;;WAAoC;QACpC;;;;;WAAqB;QAEZ;;;;mBAAO,cAAc;WAAC;QAwB7B,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Infers embedded primitive type of any type
3
- * Same as `as const` but without setting the object as readonly and without needing the user to use it.
4
- *
5
- * @param value - Value to infer
6
- * @returns Value with embedded type inferred
7
- *
8
- * @example
9
- * const result = narrow(['foo', 'bar', 1])
10
- */
11
- export function narrow(value) {
12
- return value;
13
- }
14
- //# sourceMappingURL=narrow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"narrow.js","sourceRoot":"","sources":["../../../src/wit/narrow.ts"],"names":[],"mappings":"AAiBA;;;;;;;;;GASG;AACH,MAAM,UAAU,MAAM,CAAO,KAAmB;IAC9C,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,6 +0,0 @@
1
- export function execTyped(regex, string) {
2
- const match = regex.exec(string);
3
- return match?.groups;
4
- }
5
- export const isGenericRegex = /^(?<outer>borrow|list|option|result|tuple)\s*<(?<inner>[\s\S]+)>\s*$/;
6
- //# sourceMappingURL=regex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"regex.js","sourceRoot":"","sources":["../../../src/wit/regex.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,SAAS,CAAO,KAAa,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,OAAO,KAAK,EAAE,MAA0B,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GACzB,sEAAsE,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/wit/register.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=type-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-utils.js","sourceRoot":"","sources":["../../../src/wit/type-utils.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/wit/utils.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- import { describe, test, assertType } from "vitest";
2
- import { parseWit } from "./wit-parser/parse-wit.js";
3
- const fibWit = parseWit([
4
- "export fib: func(ctx: borrow<proc-context>, arith-address: contract-address, n: u64) -> u64;",
5
- "export fib-of-sub: func(ctx: borrow<proc-context>, arith-address: contract-address, x: string, y: string) -> result<u64, error>;",
6
- "export cached-values: func(ctx: borrow<view-context>) -> list<u64>;",
7
- ]);
8
- test("IsWit", () => {
9
- assertType(true);
10
- });
11
- describe("Function", () => {
12
- test("ExtractWitFunctions", () => {
13
- // todo; fill out
14
- });
15
- });
16
- //# sourceMappingURL=utils.test-d.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.test-d.js","sourceRoot":"","sources":["../../../src/wit/utils.test-d.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,MAAM,MAAM,GAAQ,QAAQ,CAAC;IAC3B,8FAA8F;IAC9F,kIAAkI;IAClI,qEAAqE;CACtE,CAAC,CAAC;AAEH,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACjB,UAAU,CAAuB,IAAI,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAC/B,iBAAiB;IACnB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export const version = "1.0.0";
2
- //# sourceMappingURL=version.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/wit/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -1,42 +0,0 @@
1
- import { BaseError } from "../../../error.js";
2
- export class InvalidSignatureError extends BaseError {
3
- constructor({ signature, type, }) {
4
- super(`Invalid ${type} signature.`, {
5
- details: signature,
6
- });
7
- Object.defineProperty(this, "name", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: "InvalidSignatureError"
12
- });
13
- }
14
- }
15
- export class UnknownSignatureError extends BaseError {
16
- constructor({ signature }) {
17
- super("Unknown signature.", {
18
- details: signature,
19
- });
20
- Object.defineProperty(this, "name", {
21
- enumerable: true,
22
- configurable: true,
23
- writable: true,
24
- value: "UnknownSignatureError"
25
- });
26
- }
27
- }
28
- export class InvalidRecordSignatureError extends BaseError {
29
- constructor({ signature }) {
30
- super("Invalid record signature.", {
31
- details: signature,
32
- metaMessages: ["No properties exist."],
33
- });
34
- Object.defineProperty(this, "name", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: "InvalidStructSignatureError"
39
- });
40
- }
41
- }
42
- //# sourceMappingURL=signature.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/errors/signature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IAGlD,YAAY,EACV,SAAS,EACT,IAAI,GAIL;QACC,KAAK,CAAC,WAAW,IAAI,aAAa,EAAE;YAClC,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QAXI;;;;mBAAO,uBAAuB;WAAC;IAYxC,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,SAAS;IAGlD,YAAY,EAAE,SAAS,EAAyB;QAC9C,KAAK,CAAC,oBAAoB,EAAE;YAC1B,OAAO,EAAE,SAAS;SACnB,CAAC,CAAC;QALI;;;;mBAAO,uBAAuB;WAAC;IAMxC,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,SAAS;IAGxD,YAAY,EAAE,SAAS,EAAyB;QAC9C,KAAK,CAAC,2BAA2B,EAAE;YACjC,OAAO,EAAE,SAAS;YAClB,YAAY,EAAE,CAAC,sBAAsB,CAAC;SACvC,CAAC,CAAC;QANI;;;;mBAAO,6BAA6B;WAAC;IAO9C,CAAC;CACF"}
@@ -1,18 +0,0 @@
1
- import { BaseError } from "../../../error.js";
2
- export class InvalidGenericDepthError extends BaseError {
3
- constructor({ current, depth }) {
4
- super("Unbalanced angle brackets.", {
5
- metaMessages: [
6
- `"${current.trim()}" has too many ${depth > 0 ? "opening" : "closing"} brackets.`,
7
- ],
8
- details: `Depth "${depth}"`,
9
- });
10
- Object.defineProperty(this, "name", {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: "InvalidGenericDepthError"
15
- });
16
- }
17
- }
18
- //# sourceMappingURL=splitParameters.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitParameters.js","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/errors/splitParameters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IAGrD,YAAY,EAAE,OAAO,EAAE,KAAK,EAAsC;QAChE,KAAK,CAAC,4BAA4B,EAAE;YAClC,YAAY,EAAE;gBACZ,IAAI,OAAO,CAAC,IAAI,EAAE,kBAChB,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAC1B,YAAY;aACb;YACD,OAAO,EAAE,UAAU,KAAK,GAAG;SAC5B,CAAC,CAAC;QAVI;;;;mBAAO,0BAA0B;WAAC;IAW3C,CAAC;CACF"}
@@ -1,29 +0,0 @@
1
- import { BaseError } from "../../../error.js";
2
- export class InvalidWitParameterError extends BaseError {
3
- constructor({ param }) {
4
- super("Failed to parse Wit parameter.", {
5
- details: `parseWitParameter(${JSON.stringify(param, null, 2)})`,
6
- });
7
- Object.defineProperty(this, "name", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: "InvalidWitParameterError"
12
- });
13
- }
14
- }
15
- export class WitProtectedKeywordError extends BaseError {
16
- constructor({ param, name }) {
17
- super("Invalid Wit parameter.", {
18
- details: param,
19
- metaMessages: [`"${name}" is a protected Wit keyword`],
20
- });
21
- Object.defineProperty(this, "name", {
22
- enumerable: true,
23
- configurable: true,
24
- writable: true,
25
- value: "WitProtectedKeywordError"
26
- });
27
- }
28
- }
29
- //# sourceMappingURL=wit-parameter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wit-parameter.js","sourceRoot":"","sources":["../../../../../../src/wit/wit-parser/core/errors/wit-parameter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IAGrD,YAAY,EAAE,KAAK,EAA8B;QAC/C,KAAK,CAAC,gCAAgC,EAAE;YACtC,OAAO,EAAE,qBAAqB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG;SAChE,CAAC,CAAC;QALI;;;;mBAAO,0BAA0B;WAAC;IAM3C,CAAC;CACF;AACD,MAAM,OAAO,wBAAyB,SAAQ,SAAS;IAGrD,YAAY,EAAE,KAAK,EAAE,IAAI,EAAmC;QAC1D,KAAK,CAAC,wBAAwB,EAAE;YAC9B,OAAO,EAAE,KAAK;YACd,YAAY,EAAE,CAAC,IAAI,IAAI,8BAA8B,CAAC;SACvD,CAAC,CAAC;QANI;;;;mBAAO,0BAA0B;WAAC;IAO3C,CAAC;CACF"}
@@ -1,73 +0,0 @@
1
- import { execTyped, isGenericRegex } from "../../regex.js";
2
- import { InvalidRecordSignatureError, InvalidSignatureError, } from "./errors/signature.js";
3
- import { execRecordSignature, isRecordSignature } from "./signatures.js";
4
- import { parseWitParameter } from "./utils.js";
5
- export function parseRecords(signatures) {
6
- const shallowRecords = {};
7
- const signaturesLength = signatures.length;
8
- for (let i = 0; i < signaturesLength; i++) {
9
- const signature = signatures[i];
10
- if (!isRecordSignature(signature))
11
- continue;
12
- const match = execRecordSignature(signature);
13
- if (!match)
14
- throw new InvalidSignatureError({ signature, type: "record" });
15
- const properties = match.properties.split(",");
16
- const components = [];
17
- const propertiesLength = properties.length;
18
- for (let k = 0; k < propertiesLength; k++) {
19
- const property = properties[k];
20
- const trimmed = property.trim();
21
- if (!trimmed)
22
- continue;
23
- const witParameter = parseWitParameter(trimmed, {
24
- type: "record",
25
- });
26
- components.push(witParameter);
27
- }
28
- if (!components.length)
29
- throw new InvalidRecordSignatureError({ signature });
30
- shallowRecords[match.name] = components;
31
- }
32
- const resolvedRecords = {};
33
- const entries = Object.entries(shallowRecords);
34
- const entriesLength = entries.length;
35
- for (let i = 0; i < entriesLength; i++) {
36
- const [name, parameters] = entries[i];
37
- resolvedRecords[name] = resolveRecords(parameters, shallowRecords);
38
- }
39
- return resolvedRecords;
40
- }
41
- // TODO: move?
42
- // e.g. "list<u8>", "option<signer>", "result<integer, error>", "borrow<proc-context>"
43
- export function isGeneric(type) {
44
- return isGenericRegex.test(type.trim());
45
- }
46
- // e.g. "string", "list<u8>", "option<signer>", "result<integer, error>", "borrow<proc-context>"
47
- const witTypeRegex = /^(?:(?<wrapper>borrow|own)\s*<\s*)?(?<base>[a-zA-Z$_][a-zA-Z0-9$_-]*)(?:\s*<(?<inner>[\s\S]+)>)?\s*(?:>)?$/;
48
- function resolveRecords(witParameters, records, ancestors = new Set()) {
49
- const components = [];
50
- for (const witParameter of witParameters) {
51
- const m = execTyped(witTypeRegex, witParameter.type);
52
- // TODO: add custom error
53
- if (!m?.base)
54
- throw new Error(`Invalid WIT type: ${witParameter.type}`);
55
- const base = m.base;
56
- // If it's a named record, expand it into a tuple of its fields.
57
- if (base in records) {
58
- // TODO: add custom error
59
- if (ancestors.has(base))
60
- throw new Error("Circular reference detected.");
61
- components.push({
62
- ...witParameter,
63
- type: "tuple", // normalize records -> tuple
64
- components: resolveRecords(records[base] ?? [], records, new Set([...ancestors, base])),
65
- });
66
- continue;
67
- }
68
- // Otherwise, just pass it through (builtins, generics, etc.)
69
- components.push(witParameter);
70
- }
71
- return components;
72
- }
73
- //# sourceMappingURL=records.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"records.js","sourceRoot":"","sources":["../../../../../src/wit/wit-parser/core/records.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import { expect, test } from "vitest";
2
- import { parseRecords } from "./records.js";
3
- test("parse records", () => {
4
- expect(parseRecords([
5
- "record contract-address { name: string, height: s64, tx-index: s64 }",
6
- "record token-pair { a: contract-address, b: contract-address }",
7
- ])).toEqual({
8
- "contract-address": [
9
- { name: "name", type: "string" },
10
- { name: "height", type: "s64" },
11
- { name: "tx-index", type: "s64" },
12
- ],
13
- "token-pair": [
14
- {
15
- type: "tuple",
16
- name: "a",
17
- components: [
18
- { name: "name", type: "string" },
19
- { name: "height", type: "s64" },
20
- { name: "tx-index", type: "s64" },
21
- ],
22
- },
23
- {
24
- type: "tuple",
25
- name: "b",
26
- components: [
27
- { name: "name", type: "string" },
28
- { name: "height", type: "s64" },
29
- { name: "tx-index", type: "s64" },
30
- ],
31
- },
32
- ],
33
- });
34
- });
35
- test("generic", () => {
36
- expect(parseRecords(["record generic { values: list<string> }"])).toEqual({
37
- generic: [{ name: "values", type: "list<string>" }],
38
- });
39
- });
40
- test("generic", () => {
41
- expect(parseRecords([
42
- "record contract-address { name: string, height: s64, tx-index: s64 }",
43
- "record generic { values: list<contract-address> }",
44
- ])).toEqual({
45
- "contract-address": [
46
- { type: "string", name: "name" },
47
- { type: "s64", name: "height" },
48
- { type: "s64", name: "tx-index" },
49
- ],
50
- generic: [{ name: "values", type: "list<contract-address>" }],
51
- });
52
- });
53
- //# sourceMappingURL=records.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"records.test.js","sourceRoot":"","sources":["../../../../../src/wit/wit-parser/core/records.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE;IACzB,MAAM,CACJ,YAAY,CAAC;QACX,uEAAuE;QACvE,iEAAiE;KAClE,CAAC,CACH,CAAC,OAAO,CAAC;QACR,kBAAkB,EAAE;YAClB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;YAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;SAClC;QACD,YAAY,EAAE;YACZ;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;iBAClC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;oBAC/B,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;iBAClC;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,CAAC,YAAY,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACzE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC;KACpD,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IACnB,MAAM,CACJ,YAAY,CAAC;QACX,uEAAuE;QACvE,oDAAoD;KACrD,CAAC,CACH,CAAC,OAAO,CAAC;QACR,kBAAkB,EAAE;YAClB,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;YAChC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC/B,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE;SAClC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC;KAC9D,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,32 +0,0 @@
1
- import { execTyped } from "../../regex.js";
2
- const errorSignatureRegex = /^error (?<name>[a-zA-Z$_][a-zA-Z0-9$_]*)\((?<parameters>.*?)\)$/;
3
- export function isErrorSignature(signature) {
4
- return errorSignatureRegex.test(signature);
5
- }
6
- export function execErrorSignature(signature) {
7
- return execTyped(errorSignatureRegex, signature);
8
- }
9
- const witFnSignatureRegex = /^export\s+(?<name>[a-z][a-z0-9-]*)\s*:\s*func\s*\(\s*ctx\s*:\s*borrow<(?<ctx>proc-context|view-context|core-context)>\s*(?:,\s*(?<rest>.*?))?\)\s*(?:->\s*(?<returns>[^;]+))?;\s*$/;
10
- export function isFunctionSignature(signature) {
11
- return witFnSignatureRegex.test(signature);
12
- }
13
- export function execFunctionSignature(signature) {
14
- const m = witFnSignatureRegex.exec(signature);
15
- if (!m || !m.groups)
16
- return null;
17
- const name = m.groups.name;
18
- const ctx = m.groups.ctx;
19
- const type = ctx === "proc-context" ? "proc" : ctx == "view-context" ? "view" : "core";
20
- const rest = (m.groups.rest ?? "").trim();
21
- const parameters = rest.length > 0 ? `ctx: borrow<${ctx}>, ${rest}` : `ctx: borrow<${ctx}>`;
22
- const returns = (m.groups.returns ?? "").trim() || undefined;
23
- return { name, type, parameters, returns };
24
- }
25
- const witRecordSignatureRegex = /^record\s+(?<name>[a-zA-Z$_][a-zA-Z0-9$_-]*)\s*\{(?<properties>[\s\S]*?)\}$/;
26
- export function isRecordSignature(signature) {
27
- return witRecordSignatureRegex.test(signature);
28
- }
29
- export function execRecordSignature(signature) {
30
- return execTyped(witRecordSignatureRegex, signature);
31
- }
32
- //# sourceMappingURL=signatures.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../../../../../src/wit/wit-parser/core/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,mBAAmB,GACvB,iEAAiE,CAAC;AACpE,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO,SAAS,CACd,mBAAmB,EACnB,SAAS,CACV,CAAC;AACJ,CAAC;AAED,MAAM,mBAAmB,GACvB,oLAAoL,CAAC;AAEvL,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,SAAiB;IACrD,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEjC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAK,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAuD,CAAC;IAC7E,MAAM,IAAI,GACR,GAAG,KAAK,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAE5E,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC;IAE3E,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS,CAAC;IAE7D,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,MAAM,uBAAuB,GAC3B,6EAA6E,CAAC;AAEhF,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,OAAO,uBAAuB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAGb,uBAAuB,EAAE,SAAS,CAAC,CAAC;AACzC,CAAC"}