wasm-ast-types 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/main/client/client.js +46 -72
  2. package/main/client/index.js +0 -2
  3. package/main/client/test/ts-client.account-nfts.spec.js +3 -5
  4. package/main/client/test/ts-client.arrays-ref.spec.js +0 -4
  5. package/main/client/test/ts-client.arrays.spec.js +3 -6
  6. package/main/client/test/ts-client.cw-named-groups.test.js +0 -4
  7. package/main/client/test/ts-client.cw-proposal-single.test.js +0 -5
  8. package/main/client/test/ts-client.empty-enums.spec.js +0 -4
  9. package/main/client/test/ts-client.issue-101.spec.js +0 -4
  10. package/main/client/test/ts-client.issue-103.test.js +0 -4
  11. package/main/client/test/ts-client.issue-71.test.js +28 -50
  12. package/main/client/test/ts-client.issue-98.test.js +3 -5
  13. package/main/client/test/ts-client.issues.test.js +28 -50
  14. package/main/client/test/ts-client.overrides.spec.js +0 -4
  15. package/main/client/test/ts-client.sg721.spec.js +0 -4
  16. package/main/client/test/ts-client.spec.js +0 -17
  17. package/main/client/test/ts-client.vectis.spec.js +0 -8
  18. package/main/client/test/ts-client.wager.spec.js +4 -5
  19. package/main/context/context.js +6 -33
  20. package/main/context/imports.js +7 -43
  21. package/main/context/index.js +0 -4
  22. package/main/index.js +4 -22
  23. package/main/{msg-builder → message-builder}/index.js +4 -6
  24. package/main/{msg-builder/msg-builder.js → message-builder/message-builder.js} +24 -30
  25. package/main/{msg-builder/msg-builder.spec.js → message-builder/message-builder.spec.js} +4 -10
  26. package/main/message-composer/index.js +0 -2
  27. package/main/message-composer/message-composer.js +18 -28
  28. package/main/message-composer/message-composer.spec.js +0 -5
  29. package/main/provider/index.js +0 -2
  30. package/main/provider/provider.js +2 -29
  31. package/main/provider/provider.spec.js +0 -3
  32. package/main/react-query/index.js +0 -2
  33. package/main/react-query/react-query.js +125 -152
  34. package/main/react-query/react-query.spec.js +0 -10
  35. package/main/recoil/index.js +0 -2
  36. package/main/recoil/recoil.js +0 -14
  37. package/main/recoil/recoil.spec.js +0 -8
  38. package/main/utils/babel.js +12 -98
  39. package/main/utils/babel.spec.js +72 -67
  40. package/main/utils/constants.js +0 -6
  41. package/main/utils/index.js +0 -7
  42. package/main/utils/ref.js +0 -3
  43. package/main/utils/types.js +22 -109
  44. package/module/client/client.js +46 -32
  45. package/module/client/test/ts-client.account-nfts.spec.js +3 -1
  46. package/module/client/test/ts-client.arrays.spec.js +3 -1
  47. package/module/client/test/ts-client.issue-101.spec.js +3 -1
  48. package/module/client/test/ts-client.issue-98.test.js +3 -1
  49. package/module/client/test/ts-client.wager.spec.js +4 -1
  50. package/module/context/context.js +9 -23
  51. package/module/context/imports.js +5 -24
  52. package/module/index.js +1 -1
  53. package/module/message-builder/index.js +1 -0
  54. package/module/{msg-builder/msg-builder.js → message-builder/message-builder.js} +22 -17
  55. package/module/{msg-builder/msg-builder.spec.js → message-builder/message-builder.spec.js} +4 -4
  56. package/module/message-composer/message-composer.js +18 -14
  57. package/module/provider/provider.js +0 -8
  58. package/module/react-query/react-query.js +77 -76
  59. package/module/utils/babel.js +4 -14
  60. package/module/utils/babel.spec.js +49 -23
  61. package/module/utils/types.js +18 -66
  62. package/package.json +2 -2
  63. package/src/context/context.ts +158 -158
  64. package/src/index.ts +1 -1
  65. package/src/{msg-builder/__snapshots__/msg-builder.spec.ts.snap → message-builder/__snapshots__/message-builder.spec.ts.snap} +2 -2
  66. package/src/message-builder/index.ts +1 -0
  67. package/src/{msg-builder/msg-builder.spec.ts → message-builder/message-builder.spec.ts} +6 -7
  68. package/src/{msg-builder/msg-builder.ts → message-builder/message-builder.ts} +5 -5
  69. package/src/react-query/react-query.spec.ts +1 -1
  70. package/types/context/context.d.ts +2 -2
  71. package/types/index.d.ts +1 -1
  72. package/types/message-builder/index.d.ts +1 -0
  73. package/types/message-builder/message-builder.d.ts +4 -0
  74. package/module/msg-builder/index.js +0 -1
  75. package/src/msg-builder/index.ts +0 -1
  76. package/types/msg-builder/index.d.ts +0 -1
  77. package/types/msg-builder/msg-builder.d.ts +0 -4
@@ -6,69 +6,69 @@ import { basename, extname } from 'path'
6
6
 
7
7
  /// Plugin Types
8
8
  export interface ReactQueryOptions {
9
- enabled?: boolean;
10
- optionalClient?: boolean;
11
- version?: 'v3' | 'v4';
12
- mutations?: boolean;
13
- camelize?: boolean;
14
- queryKeys?: boolean
15
- queryFactory?: boolean
9
+ enabled?: boolean;
10
+ optionalClient?: boolean;
11
+ version?: 'v3' | 'v4';
12
+ mutations?: boolean;
13
+ camelize?: boolean;
14
+ queryKeys?: boolean
15
+ queryFactory?: boolean
16
16
  }
17
17
 
18
18
  export interface TSClientOptions {
19
- enabled?: boolean;
20
- execExtendsQuery?: boolean;
21
- noImplicitOverride?: boolean;
19
+ enabled?: boolean;
20
+ execExtendsQuery?: boolean;
21
+ noImplicitOverride?: boolean;
22
22
  }
23
23
  export interface MessageComposerOptions {
24
- enabled?: boolean;
24
+ enabled?: boolean;
25
25
  }
26
- export interface MsgBuilderOptions {
27
- enabled?: boolean;
26
+ export interface MessageBuilderOptions {
27
+ enabled?: boolean;
28
28
  }
29
29
  export interface RecoilOptions {
30
- enabled?: boolean;
30
+ enabled?: boolean;
31
31
  }
32
32
  export interface TSTypesOptions {
33
- enabled?: boolean;
34
- // deprecated
35
- aliasExecuteMsg?: boolean;
36
- aliasEntryPoints?: boolean;
33
+ enabled?: boolean;
34
+ // deprecated
35
+ aliasExecuteMsg?: boolean;
36
+ aliasEntryPoints?: boolean;
37
37
  }
38
38
 
39
39
  /// END Plugin Types
40
40
 
41
41
  interface KeyedSchema {
42
- [key: string]: JSONSchema;
42
+ [key: string]: JSONSchema;
43
43
  }
44
44
  export interface IDLObject {
45
- contract_name: string;
46
- contract_version: string;
47
- idl_version: string;
48
- instantiate: JSONSchema;
49
- execute: JSONSchema;
50
- query: JSONSchema;
51
- migrate: JSONSchema;
52
- sudo: JSONSchema;
53
- responses: KeyedSchema;
45
+ contract_name: string;
46
+ contract_version: string;
47
+ idl_version: string;
48
+ instantiate: JSONSchema;
49
+ execute: JSONSchema;
50
+ query: JSONSchema;
51
+ migrate: JSONSchema;
52
+ sudo: JSONSchema;
53
+ responses: KeyedSchema;
54
54
  }
55
55
 
56
56
  export interface ContractInfo {
57
- schemas: JSONSchema[];
58
- responses?: Record<string, JSONSchema>;
59
- idlObject?: IDLObject;
57
+ schemas: JSONSchema[];
58
+ responses?: Record<string, JSONSchema>;
59
+ idlObject?: IDLObject;
60
60
  };
61
61
  export interface RenderOptions {
62
- enabled?: boolean;
63
- types?: TSTypesOptions;
64
- recoil?: RecoilOptions;
65
- messageComposer?: MessageComposerOptions;
66
- msgBuilder?: MsgBuilderOptions;
67
- client?: TSClientOptions;
68
- reactQuery?: ReactQueryOptions;
62
+ enabled?: boolean;
63
+ types?: TSTypesOptions;
64
+ recoil?: RecoilOptions;
65
+ messageComposer?: MessageComposerOptions;
66
+ messageBuilder?: MessageBuilderOptions;
67
+ client?: TSClientOptions;
68
+ reactQuery?: ReactQueryOptions;
69
69
  }
70
70
 
71
- export interface ProviderInfo{
71
+ export interface ProviderInfo {
72
72
  classname: string,
73
73
  filename: string,
74
74
  basename: string,
@@ -81,90 +81,90 @@ export interface IContext {
81
81
  }
82
82
 
83
83
  export interface IRenderContext<TOpt = RenderOptions> extends IContext {
84
- contract: ContractInfo;
85
- options: TOpt;
86
-
87
- addProviderInfo(contractName:string, type: string, classname: string, filename: string): void;
88
- getProviderInfos(): {
89
- [key: string]: {
90
- [key: string]: ProviderInfo;
91
- };
84
+ contract: ContractInfo;
85
+ options: TOpt;
86
+
87
+ addProviderInfo(contractName: string, type: string, classname: string, filename: string): void;
88
+ getProviderInfos(): {
89
+ [key: string]: {
90
+ [key: string]: ProviderInfo;
92
91
  };
92
+ };
93
93
  }
94
94
 
95
95
  export const defaultOptions: RenderOptions = {
96
+ enabled: true,
97
+ types: {
96
98
  enabled: true,
97
- types: {
98
- enabled: true,
99
- aliasExecuteMsg: false
100
- },
101
- client: {
102
- enabled: true,
103
- execExtendsQuery: true,
104
- noImplicitOverride: false,
105
- },
106
- recoil: {
107
- enabled: false
108
- },
109
- messageComposer: {
110
- enabled: false
111
- },
112
- msgBuilder: {
113
- enabled: false,
114
- },
115
- reactQuery: {
116
- enabled: false,
117
- optionalClient: false,
118
- version: 'v3',
119
- mutations: false,
120
- camelize: true,
121
- queryKeys: false
122
- }
99
+ aliasExecuteMsg: false
100
+ },
101
+ client: {
102
+ enabled: true,
103
+ execExtendsQuery: true,
104
+ noImplicitOverride: false,
105
+ },
106
+ recoil: {
107
+ enabled: false
108
+ },
109
+ messageComposer: {
110
+ enabled: false
111
+ },
112
+ messageBuilder: {
113
+ enabled: false,
114
+ },
115
+ reactQuery: {
116
+ enabled: false,
117
+ optionalClient: false,
118
+ version: 'v3',
119
+ mutations: false,
120
+ camelize: true,
121
+ queryKeys: false
122
+ }
123
123
  };
124
124
 
125
125
  export const getDefinitionSchema = (schemas: JSONSchema[]): JSONSchema => {
126
- const aggregateSchema = {
127
- definitions: {
128
- //
129
- }
130
- };
126
+ const aggregateSchema = {
127
+ definitions: {
128
+ //
129
+ }
130
+ };
131
131
 
132
- schemas.forEach(schema => {
133
- schema.definitions = schema.definitions || {};
134
- aggregateSchema.definitions = {
135
- ...aggregateSchema.definitions,
136
- ...schema.definitions
137
- };
138
- });
132
+ schemas.forEach(schema => {
133
+ schema.definitions = schema.definitions || {};
134
+ aggregateSchema.definitions = {
135
+ ...aggregateSchema.definitions,
136
+ ...schema.definitions
137
+ };
138
+ });
139
139
 
140
- return aggregateSchema;
140
+ return aggregateSchema;
141
141
  };
142
142
 
143
- export class BuilderContext{
144
- providers:{
145
- [key: string]: {
146
- [key: string]: ProviderInfo;
147
- };
148
- } = {};
149
-
150
- addProviderInfo(contractName:string, type: string, classname: string, filename: string): void {
151
- if(!this.providers[contractName]){
152
- this.providers[contractName] = {}
153
- }
154
-
155
- this.providers[contractName][type] = {
156
- classname,
157
- filename,
158
- basename: basename(filename, extname(filename))
159
- };
160
- }
161
- getProviderInfos(): {
162
- [key: string]: {
163
- [key: string]: ProviderInfo;
164
- };
165
- }{
166
- return this.providers;
143
+ export class BuilderContext {
144
+ providers: {
145
+ [key: string]: {
146
+ [key: string]: ProviderInfo;
147
+ };
148
+ } = {};
149
+
150
+ addProviderInfo(contractName: string, type: string, classname: string, filename: string): void {
151
+ if (!this.providers[contractName]) {
152
+ this.providers[contractName] = {}
167
153
  }
154
+
155
+ this.providers[contractName][type] = {
156
+ classname,
157
+ filename,
158
+ basename: basename(filename, extname(filename))
159
+ };
160
+ }
161
+ getProviderInfos(): {
162
+ [key: string]: {
163
+ [key: string]: ProviderInfo;
164
+ };
165
+ } {
166
+ return this.providers;
167
+ }
168
168
  }
169
169
 
170
170
  /**
@@ -173,56 +173,56 @@ export class BuilderContext{
173
173
  * @param TOpt option type
174
174
  */
175
175
  export abstract class RenderContextBase<TOpt = RenderOptions> implements IRenderContext<TOpt> {
176
- builderContext: BuilderContext;
177
- contract: ContractInfo;
178
- utils: string[] = [];
179
- schema: JSONSchema;
180
- options: TOpt;
181
-
182
- constructor(
183
- contract: ContractInfo,
184
- options?: TOpt,
185
- builderContext?: BuilderContext
186
- ) {
187
- this.contract = contract;
188
- this.schema = getDefinitionSchema(contract.schemas);
189
- this.options = this.mergeDefaultOpt(options);
190
- this.builderContext = builderContext;
191
- }
192
- /**
193
- * merge options and default options
194
- * @param options
195
- */
196
- abstract mergeDefaultOpt(options: TOpt): TOpt;
197
- refLookup($ref: string) {
198
- return refLookup($ref, this.schema)
199
- }
200
- addUtil(util: string) {
201
- this.utils[util] = true;
202
- }
203
- addProviderInfo(contractName:string, type: string, classname: string, filename: string): void {
204
- this.builderContext.addProviderInfo(contractName, type, classname, filename);
205
- }
206
- getProviderInfos(): {
207
- [key: string]: {
208
- [key: string]: ProviderInfo;
209
- };
210
- } {
211
- return this.builderContext.providers;
212
- }
213
- getImports(registeredUtils?: UtilMapping, filepath?: string) {
214
- return getImportStatements(
215
- convertUtilsToImportList(
216
- this,
217
- Object.keys(this.utils),
218
- registeredUtils,
219
- ),
220
- filepath
221
- );
222
- }
176
+ builderContext: BuilderContext;
177
+ contract: ContractInfo;
178
+ utils: string[] = [];
179
+ schema: JSONSchema;
180
+ options: TOpt;
181
+
182
+ constructor(
183
+ contract: ContractInfo,
184
+ options?: TOpt,
185
+ builderContext?: BuilderContext
186
+ ) {
187
+ this.contract = contract;
188
+ this.schema = getDefinitionSchema(contract.schemas);
189
+ this.options = this.mergeDefaultOpt(options);
190
+ this.builderContext = builderContext;
191
+ }
192
+ /**
193
+ * merge options and default options
194
+ * @param options
195
+ */
196
+ abstract mergeDefaultOpt(options: TOpt): TOpt;
197
+ refLookup($ref: string) {
198
+ return refLookup($ref, this.schema)
199
+ }
200
+ addUtil(util: string) {
201
+ this.utils[util] = true;
202
+ }
203
+ addProviderInfo(contractName: string, type: string, classname: string, filename: string): void {
204
+ this.builderContext.addProviderInfo(contractName, type, classname, filename);
205
+ }
206
+ getProviderInfos(): {
207
+ [key: string]: {
208
+ [key: string]: ProviderInfo;
209
+ };
210
+ } {
211
+ return this.builderContext.providers;
212
+ }
213
+ getImports(registeredUtils?: UtilMapping, filepath?: string) {
214
+ return getImportStatements(
215
+ convertUtilsToImportList(
216
+ this,
217
+ Object.keys(this.utils),
218
+ registeredUtils,
219
+ ),
220
+ filepath
221
+ );
222
+ }
223
223
  }
224
224
 
225
- export class RenderContext extends RenderContextBase{
225
+ export class RenderContext extends RenderContextBase {
226
226
  mergeDefaultOpt(options: RenderOptions): RenderOptions {
227
227
  return deepmerge(defaultOptions, options ?? {});
228
228
  }
package/src/index.ts CHANGED
@@ -5,5 +5,5 @@ export * from './recoil';
5
5
  export * from './message-composer';
6
6
  export * from './react-query';
7
7
  export * from './types';
8
- export * from './msg-builder';
8
+ export * from './message-builder';
9
9
  export * from './provider';
@@ -1,7 +1,7 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`execute class 1`] = `
4
- "export abstract class SG721MsgBuilder {
4
+ "export abstract class SG721MessageBuilder {
5
5
  static transferNft = ({
6
6
  recipient,
7
7
  tokenId
@@ -135,7 +135,7 @@ exports[`ownership 1`] = `
135
135
  `;
136
136
 
137
137
  exports[`query class 1`] = `
138
- "export abstract class SG721MsgBuilder {
138
+ "export abstract class SG721MessageBuilder {
139
139
  static ownerOf = ({
140
140
  includeExpired,
141
141
  tokenId
@@ -0,0 +1 @@
1
+ export * from './message-builder';
@@ -3,23 +3,22 @@ import query_msg from '../../../../__fixtures__/basic/query_msg.json';
3
3
  import ownership from '../../../../__fixtures__/basic/ownership.json';
4
4
 
5
5
  import {
6
- createMsgBuilderClass,
7
- } from './msg-builder'
6
+ createMessageBuilderClass,
7
+ } from './message-builder'
8
8
  import { expectCode, makeContext } from '../../test-utils';
9
- import { findExecuteMsg } from '@cosmwasm/ts-codegen/src';
10
9
 
11
10
  it('execute class', () => {
12
- const ctx = makeContext(execute_msg);
13
- expectCode(createMsgBuilderClass(ctx, 'SG721MsgBuilder', execute_msg))
11
+ const ctx = makeContext(execute_msg);
12
+ expectCode(createMessageBuilderClass(ctx, 'SG721MessageBuilder', execute_msg))
14
13
  });
15
14
 
16
15
 
17
16
  it('query class', () => {
18
17
  const ctx = makeContext(query_msg);
19
- expectCode(createMsgBuilderClass(ctx, 'SG721MsgBuilder', query_msg))
18
+ expectCode(createMessageBuilderClass(ctx, 'SG721MessageBuilder', query_msg))
20
19
  });
21
20
 
22
21
  it('ownership', () => {
23
22
  const ctx = makeContext(ownership);
24
- expectCode(createMsgBuilderClass(ctx, 'Ownership', ownership))
23
+ expectCode(createMessageBuilderClass(ctx, 'Ownership', ownership))
25
24
  });
@@ -5,15 +5,15 @@ import { ExecuteMsg, QueryMsg } from '../types';
5
5
  import { createTypedObjectParams } from '../utils/types';
6
6
  import { RenderContext } from '../context';
7
7
  import { getWasmMethodArgs } from '../client/client';
8
- import { Expression, Identifier, PatternLike, TSAsExpression } from '@babel/types';
8
+ import { Expression } from '@babel/types';
9
9
 
10
- export const createMsgBuilderClass = (
10
+ export const createMessageBuilderClass = (
11
11
  context: RenderContext,
12
12
  className: string,
13
13
  msg: ExecuteMsg | QueryMsg
14
14
  ): t.ExportNamedDeclaration => {
15
15
  const staticMethods = getMessageProperties(msg).map((schema) => {
16
- return createStaticExecMethodMsgBuilder(context, schema, msg.title);
16
+ return createStaticExecMethodMessageBuilder(context, schema, msg.title);
17
17
  });
18
18
 
19
19
  // const blockStmt = bindings;
@@ -50,7 +50,7 @@ function createExtractTypeAnnotation(underscoreName: string, msgTitle: string) {
50
50
  );
51
51
  }
52
52
 
53
- const createStaticExecMethodMsgBuilder = (
53
+ const createStaticExecMethodMessageBuilder = (
54
54
  context: RenderContext,
55
55
  jsonschema: any,
56
56
  msgTitle: string
@@ -82,7 +82,7 @@ const createStaticExecMethodMsgBuilder = (
82
82
  param.typeAnnotation.type === 'TSTypeAnnotation' &&
83
83
  param.typeAnnotation.typeAnnotation.type === 'TSTypeLiteral'
84
84
  ) {
85
- param.typeAnnotation = createExtractTypeAnnotation(underscoreName, msgTitle);
85
+ param.typeAnnotation = createExtractTypeAnnotation(underscoreName, msgTitle);
86
86
  }
87
87
 
88
88
  return t.classProperty(
@@ -9,7 +9,7 @@ import {
9
9
  createReactQueryMutationHooks,
10
10
  } from './react-query'
11
11
  import { expectCode, makeContext } from '../../test-utils';
12
- import { createMsgBuilderClass } from '../msg-builder';
12
+ import { createMessageBuilderClass } from '../message-builder';
13
13
 
14
14
  const execCtx = makeContext(execute_msg);
15
15
  const queryCtx = makeContext(query_msg);
@@ -17,7 +17,7 @@ export interface TSClientOptions {
17
17
  export interface MessageComposerOptions {
18
18
  enabled?: boolean;
19
19
  }
20
- export interface MsgBuilderOptions {
20
+ export interface MessageBuilderOptions {
21
21
  enabled?: boolean;
22
22
  }
23
23
  export interface RecoilOptions {
@@ -52,7 +52,7 @@ export interface RenderOptions {
52
52
  types?: TSTypesOptions;
53
53
  recoil?: RecoilOptions;
54
54
  messageComposer?: MessageComposerOptions;
55
- msgBuilder?: MsgBuilderOptions;
55
+ messageBuilder?: MessageBuilderOptions;
56
56
  client?: TSClientOptions;
57
57
  reactQuery?: ReactQueryOptions;
58
58
  }
package/types/index.d.ts CHANGED
@@ -5,5 +5,5 @@ export * from './recoil';
5
5
  export * from './message-composer';
6
6
  export * from './react-query';
7
7
  export * from './types';
8
- export * from './msg-builder';
8
+ export * from './message-builder';
9
9
  export * from './provider';
@@ -0,0 +1 @@
1
+ export * from './message-builder';
@@ -0,0 +1,4 @@
1
+ import * as t from '@babel/types';
2
+ import { ExecuteMsg, QueryMsg } from '../types';
3
+ import { RenderContext } from '../context';
4
+ export declare const createMessageBuilderClass: (context: RenderContext, className: string, msg: ExecuteMsg | QueryMsg) => t.ExportNamedDeclaration;
@@ -1 +0,0 @@
1
- export * from './msg-builder';
@@ -1 +0,0 @@
1
- export * from './msg-builder';
@@ -1 +0,0 @@
1
- export * from './msg-builder';
@@ -1,4 +0,0 @@
1
- import * as t from '@babel/types';
2
- import { ExecuteMsg, QueryMsg } from '../types';
3
- import { RenderContext } from '../context';
4
- export declare const createMsgBuilderClass: (context: RenderContext, className: string, msg: ExecuteMsg | QueryMsg) => t.ExportNamedDeclaration;