wasm-ast-types 0.26.4 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. package/LICENSE-Apache +201 -0
  2. package/LICENSE-MIT +21 -0
  3. package/README.md +1 -1
  4. package/{types/client → client}/client.d.ts +2 -2
  5. package/client/client.js +275 -0
  6. package/client/index.js +17 -0
  7. package/{types/context → context}/context.d.ts +9 -22
  8. package/context/context.js +114 -0
  9. package/{types/context → context}/imports.d.ts +9 -8
  10. package/context/imports.js +166 -0
  11. package/context/index.js +18 -0
  12. package/esm/client/client.js +238 -0
  13. package/esm/client/index.js +1 -0
  14. package/esm/context/context.js +104 -0
  15. package/esm/context/imports.js +136 -0
  16. package/{module → esm}/context/index.js +1 -1
  17. package/{src/index.ts → esm/index.js} +0 -1
  18. package/esm/message-builder/message-builder.js +64 -0
  19. package/esm/message-composer/message-composer.js +105 -0
  20. package/esm/provider/provider.js +97 -0
  21. package/esm/react-query/react-query.js +458 -0
  22. package/esm/recoil/recoil.js +110 -0
  23. package/esm/utils/babel.js +231 -0
  24. package/esm/utils/constants.js +20 -0
  25. package/esm/utils/ref.js +4 -0
  26. package/esm/utils/types.js +343 -0
  27. package/{types/index.d.ts → index.d.ts} +0 -1
  28. package/index.js +24 -0
  29. package/message-builder/index.js +17 -0
  30. package/{types/message-builder → message-builder}/message-builder.d.ts +1 -1
  31. package/message-builder/message-builder.js +91 -0
  32. package/message-composer/index.d.ts +1 -0
  33. package/message-composer/index.js +17 -0
  34. package/{types/message-composer → message-composer}/message-composer.d.ts +1 -1
  35. package/message-composer/message-composer.js +133 -0
  36. package/package.json +19 -68
  37. package/provider/index.d.ts +1 -0
  38. package/provider/index.js +17 -0
  39. package/provider/provider.js +127 -0
  40. package/react-query/index.d.ts +1 -0
  41. package/react-query/index.js +17 -0
  42. package/{types/react-query → react-query}/react-query.d.ts +2 -3
  43. package/react-query/react-query.js +490 -0
  44. package/recoil/index.d.ts +1 -0
  45. package/recoil/index.js +17 -0
  46. package/{types/recoil → recoil}/recoil.d.ts +1 -1
  47. package/recoil/recoil.js +140 -0
  48. package/{types/utils → utils}/babel.d.ts +9 -8
  49. package/utils/babel.js +285 -0
  50. package/utils/constants.js +46 -0
  51. package/utils/index.js +26 -0
  52. package/{types/utils → utils}/ref.d.ts +1 -1
  53. package/utils/ref.js +8 -0
  54. package/{types/utils → utils}/types.d.ts +8 -8
  55. package/utils/types.js +379 -0
  56. package/main/client/client.js +0 -196
  57. package/main/client/index.js +0 -16
  58. package/main/client/test/ts-client.account-nfts.spec.js +0 -28
  59. package/main/client/test/ts-client.arrays-ref.spec.js +0 -19
  60. package/main/client/test/ts-client.arrays.spec.js +0 -26
  61. package/main/client/test/ts-client.cw-named-groups.test.js +0 -19
  62. package/main/client/test/ts-client.cw-proposal-single.test.js +0 -23
  63. package/main/client/test/ts-client.empty-enums.spec.js +0 -13
  64. package/main/client/test/ts-client.issue-101.spec.js +0 -23
  65. package/main/client/test/ts-client.issue-103.test.js +0 -44
  66. package/main/client/test/ts-client.issue-71.test.js +0 -81
  67. package/main/client/test/ts-client.issue-98.test.js +0 -28
  68. package/main/client/test/ts-client.issues.test.js +0 -81
  69. package/main/client/test/ts-client.overrides.spec.js +0 -33
  70. package/main/client/test/ts-client.sg721.spec.js +0 -19
  71. package/main/client/test/ts-client.spec.js +0 -87
  72. package/main/client/test/ts-client.vectis.spec.js +0 -46
  73. package/main/client/test/ts-client.wager.spec.js +0 -39
  74. package/main/context/context.js +0 -162
  75. package/main/context/imports.js +0 -159
  76. package/main/context/index.js +0 -27
  77. package/main/index.js +0 -104
  78. package/main/message-builder/index.js +0 -16
  79. package/main/message-builder/message-builder.js +0 -62
  80. package/main/message-builder/message-builder.spec.js +0 -20
  81. package/main/message-composer/index.js +0 -16
  82. package/main/message-composer/message-composer.js +0 -86
  83. package/main/message-composer/message-composer.spec.js +0 -23
  84. package/main/provider/index.js +0 -16
  85. package/main/provider/provider.js +0 -71
  86. package/main/provider/provider.spec.js +0 -60
  87. package/main/react-query/index.js +0 -16
  88. package/main/react-query/react-query.js +0 -413
  89. package/main/react-query/react-query.spec.js +0 -91
  90. package/main/recoil/index.js +0 -16
  91. package/main/recoil/recoil.js +0 -61
  92. package/main/recoil/recoil.spec.js +0 -20
  93. package/main/types.js +0 -4
  94. package/main/utils/babel.js +0 -282
  95. package/main/utils/babel.spec.js +0 -109
  96. package/main/utils/constants.js +0 -26
  97. package/main/utils/index.js +0 -65
  98. package/main/utils/ref.js +0 -12
  99. package/main/utils/types.js +0 -343
  100. package/module/client/client.js +0 -166
  101. package/module/client/index.js +0 -1
  102. package/module/client/test/ts-client.account-nfts.spec.js +0 -25
  103. package/module/client/test/ts-client.arrays-ref.spec.js +0 -16
  104. package/module/client/test/ts-client.arrays.spec.js +0 -23
  105. package/module/client/test/ts-client.cw-named-groups.test.js +0 -16
  106. package/module/client/test/ts-client.cw-proposal-single.test.js +0 -20
  107. package/module/client/test/ts-client.empty-enums.spec.js +0 -10
  108. package/module/client/test/ts-client.issue-101.spec.js +0 -22
  109. package/module/client/test/ts-client.issue-103.test.js +0 -41
  110. package/module/client/test/ts-client.issue-71.test.js +0 -21
  111. package/module/client/test/ts-client.issue-98.test.js +0 -25
  112. package/module/client/test/ts-client.issues.test.js +0 -21
  113. package/module/client/test/ts-client.overrides.spec.js +0 -30
  114. package/module/client/test/ts-client.sg721.spec.js +0 -16
  115. package/module/client/test/ts-client.spec.js +0 -84
  116. package/module/client/test/ts-client.vectis.spec.js +0 -43
  117. package/module/client/test/ts-client.wager.spec.js +0 -36
  118. package/module/context/context.js +0 -116
  119. package/module/context/imports.js +0 -127
  120. package/module/index.js +0 -9
  121. package/module/message-builder/index.js +0 -1
  122. package/module/message-builder/message-builder.js +0 -52
  123. package/module/message-builder/message-builder.spec.js +0 -17
  124. package/module/message-composer/index.js +0 -1
  125. package/module/message-composer/message-composer.js +0 -70
  126. package/module/message-composer/message-composer.spec.js +0 -20
  127. package/module/provider/index.js +0 -1
  128. package/module/provider/provider.js +0 -45
  129. package/module/provider/provider.spec.js +0 -58
  130. package/module/react-query/index.js +0 -1
  131. package/module/react-query/react-query.js +0 -403
  132. package/module/react-query/react-query.spec.js +0 -85
  133. package/module/recoil/index.js +0 -1
  134. package/module/recoil/recoil.js +0 -46
  135. package/module/recoil/recoil.spec.js +0 -14
  136. package/module/types.js +0 -3
  137. package/module/utils/babel.js +0 -203
  138. package/module/utils/babel.spec.js +0 -70
  139. package/module/utils/constants.js +0 -12
  140. package/module/utils/index.js +0 -6
  141. package/module/utils/ref.js +0 -4
  142. package/module/utils/types.js +0 -301
  143. package/src/client/client.ts +0 -584
  144. package/src/client/index.ts +0 -1
  145. package/src/client/test/__snapshots__/ts-client.account-nfts.spec.ts.snap +0 -497
  146. package/src/client/test/__snapshots__/ts-client.arrays-ref.spec.ts.snap +0 -452
  147. package/src/client/test/__snapshots__/ts-client.arrays.spec.ts.snap +0 -101
  148. package/src/client/test/__snapshots__/ts-client.cw-named-groups.test.ts.snap +0 -141
  149. package/src/client/test/__snapshots__/ts-client.cw-proposal-single.test.ts.snap +0 -341
  150. package/src/client/test/__snapshots__/ts-client.empty-enums.spec.ts.snap +0 -20
  151. package/src/client/test/__snapshots__/ts-client.issue-101.spec.ts.snap +0 -47
  152. package/src/client/test/__snapshots__/ts-client.issue-103.test.ts.snap +0 -79
  153. package/src/client/test/__snapshots__/ts-client.issue-71.test.ts.snap +0 -432
  154. package/src/client/test/__snapshots__/ts-client.issue-98.test.ts.snap +0 -117
  155. package/src/client/test/__snapshots__/ts-client.issues.test.ts.snap +0 -984
  156. package/src/client/test/__snapshots__/ts-client.overrides.spec.ts.snap +0 -709
  157. package/src/client/test/__snapshots__/ts-client.sg721.spec.ts.snap +0 -350
  158. package/src/client/test/__snapshots__/ts-client.spec.ts.snap +0 -723
  159. package/src/client/test/__snapshots__/ts-client.vectis.spec.ts.snap +0 -337
  160. package/src/client/test/__snapshots__/ts-client.wager.spec.ts.snap +0 -132
  161. package/src/client/test/ts-client.account-nfts.spec.ts +0 -55
  162. package/src/client/test/ts-client.arrays-ref.spec.ts +0 -48
  163. package/src/client/test/ts-client.arrays.spec.ts +0 -58
  164. package/src/client/test/ts-client.cw-named-groups.test.ts +0 -48
  165. package/src/client/test/ts-client.cw-proposal-single.test.ts +0 -50
  166. package/src/client/test/ts-client.empty-enums.spec.ts +0 -28
  167. package/src/client/test/ts-client.issue-101.spec.ts +0 -37
  168. package/src/client/test/ts-client.issue-103.test.ts +0 -106
  169. package/src/client/test/ts-client.issue-71.test.ts +0 -51
  170. package/src/client/test/ts-client.issue-98.test.ts +0 -55
  171. package/src/client/test/ts-client.issues.test.ts +0 -52
  172. package/src/client/test/ts-client.overrides.spec.ts +0 -74
  173. package/src/client/test/ts-client.sg721.spec.ts +0 -46
  174. package/src/client/test/ts-client.spec.ts +0 -166
  175. package/src/client/test/ts-client.vectis.spec.ts +0 -97
  176. package/src/client/test/ts-client.wager.spec.ts +0 -63
  177. package/src/context/context.ts +0 -229
  178. package/src/context/imports.ts +0 -195
  179. package/src/context/index.ts +0 -2
  180. package/src/message-builder/__snapshots__/message-builder.spec.ts.snap +0 -270
  181. package/src/message-builder/message-builder.spec.ts +0 -24
  182. package/src/message-builder/message-builder.ts +0 -119
  183. package/src/message-composer/__snapshots__/message-composer.spec.ts.snap +0 -331
  184. package/src/message-composer/index.ts +0 -1
  185. package/src/message-composer/message-composer.spec.ts +0 -46
  186. package/src/message-composer/message-composer.ts +0 -262
  187. package/src/provider/__snapshots__/provider.spec.ts.snap +0 -49
  188. package/src/provider/index.ts +0 -1
  189. package/src/provider/provider.spec.ts +0 -81
  190. package/src/provider/provider.ts +0 -237
  191. package/src/react-query/__snapshots__/react-query.spec.ts.snap +0 -1359
  192. package/src/react-query/index.ts +0 -1
  193. package/src/react-query/react-query.spec.ts +0 -116
  194. package/src/react-query/react-query.ts +0 -1072
  195. package/src/recoil/__snapshots__/recoil.spec.ts.snap +0 -203
  196. package/src/recoil/index.ts +0 -1
  197. package/src/recoil/recoil.spec.ts +0 -38
  198. package/src/recoil/recoil.ts +0 -307
  199. package/src/types.ts +0 -44
  200. package/src/utils/__snapshots__/babel.spec.ts.snap +0 -75
  201. package/src/utils/babel.spec.ts +0 -511
  202. package/src/utils/babel.ts +0 -352
  203. package/src/utils/constants.ts +0 -37
  204. package/src/utils/ref.ts +0 -6
  205. package/src/utils/types.ts +0 -478
  206. package/types/types.d.ts +0 -41
  207. /package/{types/client → client}/index.d.ts +0 -0
  208. /package/{types/context → context}/index.d.ts +0 -0
  209. /package/{src/message-builder/index.ts → esm/message-builder/index.js} +0 -0
  210. /package/{types/message-composer/index.d.ts → esm/message-composer/index.js} +0 -0
  211. /package/{types/provider/index.d.ts → esm/provider/index.js} +0 -0
  212. /package/{types/react-query/index.d.ts → esm/react-query/index.js} +0 -0
  213. /package/{types/recoil/index.d.ts → esm/recoil/index.js} +0 -0
  214. /package/{src/utils/index.ts → esm/utils/index.js} +0 -0
  215. /package/{types/message-builder → message-builder}/index.d.ts +0 -0
  216. /package/{types/provider → provider}/provider.d.ts +0 -0
  217. /package/{types/utils → utils}/constants.d.ts +0 -0
  218. /package/{types/utils → utils}/index.d.ts +0 -0
@@ -1,270 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`execute class 1`] = `
4
- "export abstract class SG721MessageBuilder {
5
- static transferNft = ({
6
- recipient,
7
- tokenId
8
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
9
- transfer_nft: unknown;
10
- }>[\\"transfer_nft\\"]>): ExecuteMsg_for_Empty => {
11
- return {
12
- transfer_nft: ({
13
- recipient,
14
- token_id: tokenId
15
- } as const)
16
- };
17
- };
18
- static sendNft = ({
19
- contract,
20
- msg,
21
- tokenId
22
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
23
- send_nft: unknown;
24
- }>[\\"send_nft\\"]>): ExecuteMsg_for_Empty => {
25
- return {
26
- send_nft: ({
27
- contract,
28
- msg,
29
- token_id: tokenId
30
- } as const)
31
- };
32
- };
33
- static approve = ({
34
- expires,
35
- spender,
36
- tokenId
37
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
38
- approve: unknown;
39
- }>[\\"approve\\"]>): ExecuteMsg_for_Empty => {
40
- return {
41
- approve: ({
42
- expires,
43
- spender,
44
- token_id: tokenId
45
- } as const)
46
- };
47
- };
48
- static revoke = ({
49
- spender,
50
- tokenId
51
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
52
- revoke: unknown;
53
- }>[\\"revoke\\"]>): ExecuteMsg_for_Empty => {
54
- return {
55
- revoke: ({
56
- spender,
57
- token_id: tokenId
58
- } as const)
59
- };
60
- };
61
- static approveAll = ({
62
- expires,
63
- operator
64
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
65
- approve_all: unknown;
66
- }>[\\"approve_all\\"]>): ExecuteMsg_for_Empty => {
67
- return {
68
- approve_all: ({
69
- expires,
70
- operator
71
- } as const)
72
- };
73
- };
74
- static revokeAll = ({
75
- operator
76
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
77
- revoke_all: unknown;
78
- }>[\\"revoke_all\\"]>): ExecuteMsg_for_Empty => {
79
- return {
80
- revoke_all: ({
81
- operator
82
- } as const)
83
- };
84
- };
85
- static mint = ({
86
- extension,
87
- owner,
88
- tokenId,
89
- tokenUri
90
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
91
- mint: unknown;
92
- }>[\\"mint\\"]>): ExecuteMsg_for_Empty => {
93
- return {
94
- mint: ({
95
- extension,
96
- owner,
97
- token_id: tokenId,
98
- token_uri: tokenUri
99
- } as const)
100
- };
101
- };
102
- static burn = ({
103
- tokenId
104
- }: CamelCasedProperties<Extract<ExecuteMsg_for_Empty, {
105
- burn: unknown;
106
- }>[\\"burn\\"]>): ExecuteMsg_for_Empty => {
107
- return {
108
- burn: ({
109
- token_id: tokenId
110
- } as const)
111
- };
112
- };
113
- }"
114
- `;
115
-
116
- exports[`ownership 1`] = `
117
- "export abstract class Ownership {
118
- static setFactory = ({
119
- newFactory
120
- }: CamelCasedProperties<Extract<ExecuteMsg, {
121
- set_factory: unknown;
122
- }>[\\"set_factory\\"]>): ExecuteMsg => {
123
- return {
124
- set_factory: ({
125
- new_factory: newFactory
126
- } as const)
127
- };
128
- };
129
- static updateOwnership = (action: Action): ExecuteMsg => {
130
- return {
131
- update_ownership: action
132
- };
133
- };
134
- }"
135
- `;
136
-
137
- exports[`query class 1`] = `
138
- "export abstract class SG721MessageBuilder {
139
- static ownerOf = ({
140
- includeExpired,
141
- tokenId
142
- }: CamelCasedProperties<Extract<QueryMsg, {
143
- owner_of: unknown;
144
- }>[\\"owner_of\\"]>): QueryMsg => {
145
- return {
146
- owner_of: ({
147
- include_expired: includeExpired,
148
- token_id: tokenId
149
- } as const)
150
- };
151
- };
152
- static approval = ({
153
- includeExpired,
154
- spender,
155
- tokenId
156
- }: CamelCasedProperties<Extract<QueryMsg, {
157
- approval: unknown;
158
- }>[\\"approval\\"]>): QueryMsg => {
159
- return {
160
- approval: ({
161
- include_expired: includeExpired,
162
- spender,
163
- token_id: tokenId
164
- } as const)
165
- };
166
- };
167
- static approvals = ({
168
- includeExpired,
169
- tokenId
170
- }: CamelCasedProperties<Extract<QueryMsg, {
171
- approvals: unknown;
172
- }>[\\"approvals\\"]>): QueryMsg => {
173
- return {
174
- approvals: ({
175
- include_expired: includeExpired,
176
- token_id: tokenId
177
- } as const)
178
- };
179
- };
180
- static allOperators = ({
181
- includeExpired,
182
- limit,
183
- owner,
184
- startAfter
185
- }: CamelCasedProperties<Extract<QueryMsg, {
186
- all_operators: unknown;
187
- }>[\\"all_operators\\"]>): QueryMsg => {
188
- return {
189
- all_operators: ({
190
- include_expired: includeExpired,
191
- limit,
192
- owner,
193
- start_after: startAfter
194
- } as const)
195
- };
196
- };
197
- static numTokens = (): QueryMsg => {
198
- return {
199
- num_tokens: ({} as const)
200
- };
201
- };
202
- static contractInfo = (): QueryMsg => {
203
- return {
204
- contract_info: ({} as const)
205
- };
206
- };
207
- static nftInfo = ({
208
- tokenId
209
- }: CamelCasedProperties<Extract<QueryMsg, {
210
- nft_info: unknown;
211
- }>[\\"nft_info\\"]>): QueryMsg => {
212
- return {
213
- nft_info: ({
214
- token_id: tokenId
215
- } as const)
216
- };
217
- };
218
- static allNftInfo = ({
219
- includeExpired,
220
- tokenId
221
- }: CamelCasedProperties<Extract<QueryMsg, {
222
- all_nft_info: unknown;
223
- }>[\\"all_nft_info\\"]>): QueryMsg => {
224
- return {
225
- all_nft_info: ({
226
- include_expired: includeExpired,
227
- token_id: tokenId
228
- } as const)
229
- };
230
- };
231
- static tokens = ({
232
- limit,
233
- owner,
234
- startAfter
235
- }: CamelCasedProperties<Extract<QueryMsg, {
236
- tokens: unknown;
237
- }>[\\"tokens\\"]>): QueryMsg => {
238
- return {
239
- tokens: ({
240
- limit,
241
- owner,
242
- start_after: startAfter
243
- } as const)
244
- };
245
- };
246
- static allTokens = ({
247
- limit,
248
- startAfter
249
- }: CamelCasedProperties<Extract<QueryMsg, {
250
- all_tokens: unknown;
251
- }>[\\"all_tokens\\"]>): QueryMsg => {
252
- return {
253
- all_tokens: ({
254
- limit,
255
- start_after: startAfter
256
- } as const)
257
- };
258
- };
259
- static minter = (): QueryMsg => {
260
- return {
261
- minter: ({} as const)
262
- };
263
- };
264
- static collectionInfo = (): QueryMsg => {
265
- return {
266
- collection_info: ({} as const)
267
- };
268
- };
269
- }"
270
- `;
@@ -1,24 +0,0 @@
1
- import execute_msg from '../../../../__fixtures__/basic/execute_msg_for__empty.json';
2
- import query_msg from '../../../../__fixtures__/basic/query_msg.json';
3
- import ownership from '../../../../__fixtures__/basic/ownership.json';
4
-
5
- import {
6
- createMessageBuilderClass,
7
- } from './message-builder'
8
- import { expectCode, makeContext } from '../../test-utils';
9
-
10
- it('execute class', () => {
11
- const ctx = makeContext(execute_msg);
12
- expectCode(createMessageBuilderClass(ctx, 'SG721MessageBuilder', execute_msg))
13
- });
14
-
15
-
16
- it('query class', () => {
17
- const ctx = makeContext(query_msg);
18
- expectCode(createMessageBuilderClass(ctx, 'SG721MessageBuilder', query_msg))
19
- });
20
-
21
- it('ownership', () => {
22
- const ctx = makeContext(ownership);
23
- expectCode(createMessageBuilderClass(ctx, 'Ownership', ownership))
24
- });
@@ -1,119 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { camel } from 'case';
3
- import { abstractClassDeclaration, arrowFunctionExpression, getMessageProperties } from '../utils';
4
- import { ExecuteMsg, QueryMsg } from '../types';
5
- import { createTypedObjectParams } from '../utils/types';
6
- import { RenderContext } from '../context';
7
- import { getWasmMethodArgs } from '../client/client';
8
- import { Expression } from '@babel/types';
9
-
10
- export const createMessageBuilderClass = (
11
- context: RenderContext,
12
- className: string,
13
- msg: ExecuteMsg | QueryMsg
14
- ): t.ExportNamedDeclaration => {
15
- const staticMethods = getMessageProperties(msg).map((schema) => {
16
- return createStaticExecMethodMessageBuilder(context, schema, msg.title);
17
- });
18
-
19
- // const blockStmt = bindings;
20
-
21
- return t.exportNamedDeclaration(
22
- abstractClassDeclaration(className, staticMethods, [], null)
23
- );
24
- };
25
-
26
- /**
27
- * CamelCasedProperties<Extract<ExecuteMsg, { exec_on_module: unknown }>['exec_on_module']>
28
- */
29
- function createExtractTypeAnnotation(underscoreName: string, msgTitle: string) {
30
- return t.tsTypeAnnotation(
31
- t.tsTypeReference(
32
- t.identifier('CamelCasedProperties'),
33
- t.tsTypeParameterInstantiation([
34
- t.tsIndexedAccessType(
35
- t.tsTypeReference(t.identifier('Extract'),
36
- t.tsTypeParameterInstantiation([
37
- t.tsTypeReference(t.identifier(msgTitle)),
38
- t.tsTypeLiteral([
39
- t.tsPropertySignature(
40
- t.identifier(underscoreName),
41
- t.tsTypeAnnotation(t.tsUnknownKeyword())
42
- )
43
- ])
44
- ])
45
- ),
46
- t.tsLiteralType(t.stringLiteral(underscoreName))
47
- )
48
- ])
49
- )
50
- );
51
- }
52
-
53
- const createStaticExecMethodMessageBuilder = (
54
- context: RenderContext,
55
- jsonschema: any,
56
- msgTitle: string
57
- ) => {
58
- const underscoreName = Object.keys(jsonschema.properties)[0];
59
- const methodName = camel(underscoreName);
60
- const param = createTypedObjectParams(
61
- context,
62
- jsonschema.properties[underscoreName]
63
- );
64
- const args = getWasmMethodArgs(
65
- context,
66
- jsonschema.properties[underscoreName]
67
- );
68
-
69
- // what the underscore named property in the message is assigned to
70
- let actionValue: Expression
71
- if (param?.type === 'Identifier') {
72
- actionValue = t.identifier(param.name);
73
- } else {
74
- actionValue = t.tsAsExpression(t.objectExpression(args), t.tsTypeReference(t.identifier('const')));
75
- }
76
-
77
-
78
- // TODO: this is a hack to get the type annotation to work
79
- // all type annotations in the future should be the extracted and camelized type
80
- if (
81
- param &&
82
- param.typeAnnotation.type === 'TSTypeAnnotation' &&
83
- param.typeAnnotation.typeAnnotation.type === 'TSTypeLiteral'
84
- ) {
85
- param.typeAnnotation = createExtractTypeAnnotation(underscoreName, msgTitle);
86
- }
87
-
88
- return t.classProperty(
89
- t.identifier(methodName),
90
- arrowFunctionExpression(
91
- // params
92
- param
93
- ? [
94
- // props
95
- param
96
- ]
97
- : [],
98
- // body
99
- t.blockStatement([
100
- t.returnStatement(
101
- t.objectExpression([
102
- t.objectProperty(
103
- t.identifier(underscoreName),
104
- actionValue
105
- )
106
- ])
107
- )
108
- ]),
109
- // return type
110
- t.tsTypeAnnotation(t.tsTypeReference(t.identifier(msgTitle))),
111
- false
112
- ),
113
- null,
114
- null,
115
- false,
116
- // static
117
- true
118
- );
119
- };