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.
- package/LICENSE-Apache +201 -0
- package/LICENSE-MIT +21 -0
- package/README.md +1 -1
- package/{types/client → client}/client.d.ts +2 -2
- package/client/client.js +275 -0
- package/client/index.js +17 -0
- package/{types/context → context}/context.d.ts +9 -22
- package/context/context.js +114 -0
- package/{types/context → context}/imports.d.ts +9 -8
- package/context/imports.js +166 -0
- package/context/index.js +18 -0
- package/esm/client/client.js +238 -0
- package/esm/client/index.js +1 -0
- package/esm/context/context.js +104 -0
- package/esm/context/imports.js +136 -0
- package/{module → esm}/context/index.js +1 -1
- package/{src/index.ts → esm/index.js} +0 -1
- package/esm/message-builder/message-builder.js +64 -0
- package/esm/message-composer/message-composer.js +105 -0
- package/esm/provider/provider.js +97 -0
- package/esm/react-query/react-query.js +458 -0
- package/esm/recoil/recoil.js +110 -0
- package/esm/utils/babel.js +231 -0
- package/esm/utils/constants.js +20 -0
- package/esm/utils/ref.js +4 -0
- package/esm/utils/types.js +343 -0
- package/{types/index.d.ts → index.d.ts} +0 -1
- package/index.js +24 -0
- package/message-builder/index.js +17 -0
- package/{types/message-builder → message-builder}/message-builder.d.ts +1 -1
- package/message-builder/message-builder.js +91 -0
- package/message-composer/index.d.ts +1 -0
- package/message-composer/index.js +17 -0
- package/{types/message-composer → message-composer}/message-composer.d.ts +1 -1
- package/message-composer/message-composer.js +133 -0
- package/package.json +19 -68
- package/provider/index.d.ts +1 -0
- package/provider/index.js +17 -0
- package/provider/provider.js +127 -0
- package/react-query/index.d.ts +1 -0
- package/react-query/index.js +17 -0
- package/{types/react-query → react-query}/react-query.d.ts +2 -3
- package/react-query/react-query.js +490 -0
- package/recoil/index.d.ts +1 -0
- package/recoil/index.js +17 -0
- package/{types/recoil → recoil}/recoil.d.ts +1 -1
- package/recoil/recoil.js +140 -0
- package/{types/utils → utils}/babel.d.ts +9 -8
- package/utils/babel.js +285 -0
- package/utils/constants.js +46 -0
- package/utils/index.js +26 -0
- package/{types/utils → utils}/ref.d.ts +1 -1
- package/utils/ref.js +8 -0
- package/{types/utils → utils}/types.d.ts +8 -8
- package/utils/types.js +379 -0
- package/main/client/client.js +0 -196
- package/main/client/index.js +0 -16
- package/main/client/test/ts-client.account-nfts.spec.js +0 -28
- package/main/client/test/ts-client.arrays-ref.spec.js +0 -19
- package/main/client/test/ts-client.arrays.spec.js +0 -26
- package/main/client/test/ts-client.cw-named-groups.test.js +0 -19
- package/main/client/test/ts-client.cw-proposal-single.test.js +0 -23
- package/main/client/test/ts-client.empty-enums.spec.js +0 -13
- package/main/client/test/ts-client.issue-101.spec.js +0 -23
- package/main/client/test/ts-client.issue-103.test.js +0 -44
- package/main/client/test/ts-client.issue-71.test.js +0 -81
- package/main/client/test/ts-client.issue-98.test.js +0 -28
- package/main/client/test/ts-client.issues.test.js +0 -81
- package/main/client/test/ts-client.overrides.spec.js +0 -33
- package/main/client/test/ts-client.sg721.spec.js +0 -19
- package/main/client/test/ts-client.spec.js +0 -87
- package/main/client/test/ts-client.vectis.spec.js +0 -46
- package/main/client/test/ts-client.wager.spec.js +0 -39
- package/main/context/context.js +0 -162
- package/main/context/imports.js +0 -159
- package/main/context/index.js +0 -27
- package/main/index.js +0 -104
- package/main/message-builder/index.js +0 -16
- package/main/message-builder/message-builder.js +0 -62
- package/main/message-builder/message-builder.spec.js +0 -20
- package/main/message-composer/index.js +0 -16
- package/main/message-composer/message-composer.js +0 -86
- package/main/message-composer/message-composer.spec.js +0 -23
- package/main/provider/index.js +0 -16
- package/main/provider/provider.js +0 -71
- package/main/provider/provider.spec.js +0 -60
- package/main/react-query/index.js +0 -16
- package/main/react-query/react-query.js +0 -413
- package/main/react-query/react-query.spec.js +0 -91
- package/main/recoil/index.js +0 -16
- package/main/recoil/recoil.js +0 -61
- package/main/recoil/recoil.spec.js +0 -20
- package/main/types.js +0 -4
- package/main/utils/babel.js +0 -282
- package/main/utils/babel.spec.js +0 -109
- package/main/utils/constants.js +0 -26
- package/main/utils/index.js +0 -65
- package/main/utils/ref.js +0 -12
- package/main/utils/types.js +0 -343
- package/module/client/client.js +0 -166
- package/module/client/index.js +0 -1
- package/module/client/test/ts-client.account-nfts.spec.js +0 -25
- package/module/client/test/ts-client.arrays-ref.spec.js +0 -16
- package/module/client/test/ts-client.arrays.spec.js +0 -23
- package/module/client/test/ts-client.cw-named-groups.test.js +0 -16
- package/module/client/test/ts-client.cw-proposal-single.test.js +0 -20
- package/module/client/test/ts-client.empty-enums.spec.js +0 -10
- package/module/client/test/ts-client.issue-101.spec.js +0 -22
- package/module/client/test/ts-client.issue-103.test.js +0 -41
- package/module/client/test/ts-client.issue-71.test.js +0 -21
- package/module/client/test/ts-client.issue-98.test.js +0 -25
- package/module/client/test/ts-client.issues.test.js +0 -21
- package/module/client/test/ts-client.overrides.spec.js +0 -30
- package/module/client/test/ts-client.sg721.spec.js +0 -16
- package/module/client/test/ts-client.spec.js +0 -84
- package/module/client/test/ts-client.vectis.spec.js +0 -43
- package/module/client/test/ts-client.wager.spec.js +0 -36
- package/module/context/context.js +0 -116
- package/module/context/imports.js +0 -127
- package/module/index.js +0 -9
- package/module/message-builder/index.js +0 -1
- package/module/message-builder/message-builder.js +0 -52
- package/module/message-builder/message-builder.spec.js +0 -17
- package/module/message-composer/index.js +0 -1
- package/module/message-composer/message-composer.js +0 -70
- package/module/message-composer/message-composer.spec.js +0 -20
- package/module/provider/index.js +0 -1
- package/module/provider/provider.js +0 -45
- package/module/provider/provider.spec.js +0 -58
- package/module/react-query/index.js +0 -1
- package/module/react-query/react-query.js +0 -403
- package/module/react-query/react-query.spec.js +0 -85
- package/module/recoil/index.js +0 -1
- package/module/recoil/recoil.js +0 -46
- package/module/recoil/recoil.spec.js +0 -14
- package/module/types.js +0 -3
- package/module/utils/babel.js +0 -203
- package/module/utils/babel.spec.js +0 -70
- package/module/utils/constants.js +0 -12
- package/module/utils/index.js +0 -6
- package/module/utils/ref.js +0 -4
- package/module/utils/types.js +0 -301
- package/src/client/client.ts +0 -584
- package/src/client/index.ts +0 -1
- package/src/client/test/__snapshots__/ts-client.account-nfts.spec.ts.snap +0 -497
- package/src/client/test/__snapshots__/ts-client.arrays-ref.spec.ts.snap +0 -452
- package/src/client/test/__snapshots__/ts-client.arrays.spec.ts.snap +0 -101
- package/src/client/test/__snapshots__/ts-client.cw-named-groups.test.ts.snap +0 -141
- package/src/client/test/__snapshots__/ts-client.cw-proposal-single.test.ts.snap +0 -341
- package/src/client/test/__snapshots__/ts-client.empty-enums.spec.ts.snap +0 -20
- package/src/client/test/__snapshots__/ts-client.issue-101.spec.ts.snap +0 -47
- package/src/client/test/__snapshots__/ts-client.issue-103.test.ts.snap +0 -79
- package/src/client/test/__snapshots__/ts-client.issue-71.test.ts.snap +0 -432
- package/src/client/test/__snapshots__/ts-client.issue-98.test.ts.snap +0 -117
- package/src/client/test/__snapshots__/ts-client.issues.test.ts.snap +0 -984
- package/src/client/test/__snapshots__/ts-client.overrides.spec.ts.snap +0 -709
- package/src/client/test/__snapshots__/ts-client.sg721.spec.ts.snap +0 -350
- package/src/client/test/__snapshots__/ts-client.spec.ts.snap +0 -723
- package/src/client/test/__snapshots__/ts-client.vectis.spec.ts.snap +0 -337
- package/src/client/test/__snapshots__/ts-client.wager.spec.ts.snap +0 -132
- package/src/client/test/ts-client.account-nfts.spec.ts +0 -55
- package/src/client/test/ts-client.arrays-ref.spec.ts +0 -48
- package/src/client/test/ts-client.arrays.spec.ts +0 -58
- package/src/client/test/ts-client.cw-named-groups.test.ts +0 -48
- package/src/client/test/ts-client.cw-proposal-single.test.ts +0 -50
- package/src/client/test/ts-client.empty-enums.spec.ts +0 -28
- package/src/client/test/ts-client.issue-101.spec.ts +0 -37
- package/src/client/test/ts-client.issue-103.test.ts +0 -106
- package/src/client/test/ts-client.issue-71.test.ts +0 -51
- package/src/client/test/ts-client.issue-98.test.ts +0 -55
- package/src/client/test/ts-client.issues.test.ts +0 -52
- package/src/client/test/ts-client.overrides.spec.ts +0 -74
- package/src/client/test/ts-client.sg721.spec.ts +0 -46
- package/src/client/test/ts-client.spec.ts +0 -166
- package/src/client/test/ts-client.vectis.spec.ts +0 -97
- package/src/client/test/ts-client.wager.spec.ts +0 -63
- package/src/context/context.ts +0 -229
- package/src/context/imports.ts +0 -195
- package/src/context/index.ts +0 -2
- package/src/message-builder/__snapshots__/message-builder.spec.ts.snap +0 -270
- package/src/message-builder/message-builder.spec.ts +0 -24
- package/src/message-builder/message-builder.ts +0 -119
- package/src/message-composer/__snapshots__/message-composer.spec.ts.snap +0 -331
- package/src/message-composer/index.ts +0 -1
- package/src/message-composer/message-composer.spec.ts +0 -46
- package/src/message-composer/message-composer.ts +0 -262
- package/src/provider/__snapshots__/provider.spec.ts.snap +0 -49
- package/src/provider/index.ts +0 -1
- package/src/provider/provider.spec.ts +0 -81
- package/src/provider/provider.ts +0 -237
- package/src/react-query/__snapshots__/react-query.spec.ts.snap +0 -1359
- package/src/react-query/index.ts +0 -1
- package/src/react-query/react-query.spec.ts +0 -116
- package/src/react-query/react-query.ts +0 -1072
- package/src/recoil/__snapshots__/recoil.spec.ts.snap +0 -203
- package/src/recoil/index.ts +0 -1
- package/src/recoil/recoil.spec.ts +0 -38
- package/src/recoil/recoil.ts +0 -307
- package/src/types.ts +0 -44
- package/src/utils/__snapshots__/babel.spec.ts.snap +0 -75
- package/src/utils/babel.spec.ts +0 -511
- package/src/utils/babel.ts +0 -352
- package/src/utils/constants.ts +0 -37
- package/src/utils/ref.ts +0 -6
- package/src/utils/types.ts +0 -478
- package/types/types.d.ts +0 -41
- /package/{types/client → client}/index.d.ts +0 -0
- /package/{types/context → context}/index.d.ts +0 -0
- /package/{src/message-builder/index.ts → esm/message-builder/index.js} +0 -0
- /package/{types/message-composer/index.d.ts → esm/message-composer/index.js} +0 -0
- /package/{types/provider/index.d.ts → esm/provider/index.js} +0 -0
- /package/{types/react-query/index.d.ts → esm/react-query/index.js} +0 -0
- /package/{types/recoil/index.d.ts → esm/recoil/index.js} +0 -0
- /package/{src/utils/index.ts → esm/utils/index.js} +0 -0
- /package/{types/message-builder → message-builder}/index.d.ts +0 -0
- /package/{types/provider → provider}/provider.d.ts +0 -0
- /package/{types/utils → utils}/constants.d.ts +0 -0
- /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
|
-
};
|