wasm-ast-types 0.5.1 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. package/main/{wasm.js → client/client.js} +54 -40
  2. package/main/client/index.js +18 -0
  3. package/main/client/test/ts-client.arrays.spec.js +25 -0
  4. package/main/client/test/ts-client.cw-named-groups.test.js +25 -0
  5. package/main/client/test/ts-client.cw-proposal-single.test.js +30 -0
  6. package/main/client/test/ts-client.empty-enums.spec.js +19 -0
  7. package/main/client/test/ts-client.sg721.spec.js +25 -0
  8. package/main/client/test/ts-client.spec.js +106 -0
  9. package/main/client/test/ts-client.vectis.spec.js +56 -0
  10. package/main/context/context.js +48 -0
  11. package/main/context/index.js +18 -0
  12. package/main/{messages.js → from-partial/from-partial.js} +17 -60
  13. package/main/from-partial/from-partial.spec.js +20 -0
  14. package/main/from-partial/index.js +18 -0
  15. package/main/index.js +34 -8
  16. package/main/react-query/index.js +18 -0
  17. package/main/{react-query.js → react-query/react-query.js} +39 -64
  18. package/main/{react-query.spec.js → react-query/react-query.spec.js} +33 -43
  19. package/main/recoil/index.js +18 -0
  20. package/main/{recoil.js → recoil/recoil.js} +7 -26
  21. package/main/{recoil.spec.js → recoil/recoil.spec.js} +9 -14
  22. package/main/utils/babel.spec.js +7 -15
  23. package/main/utils/index.js +13 -0
  24. package/main/utils/types.js +34 -32
  25. package/module/{wasm.js → client/client.js} +43 -33
  26. package/module/client/index.js +1 -0
  27. package/module/client/test/ts-client.arrays.spec.js +17 -0
  28. package/module/client/test/ts-client.cw-named-groups.test.js +17 -0
  29. package/module/client/test/ts-client.cw-proposal-single.test.js +21 -0
  30. package/module/client/test/ts-client.empty-enums.spec.js +11 -0
  31. package/module/client/test/ts-client.sg721.spec.js +17 -0
  32. package/module/client/test/ts-client.spec.js +85 -0
  33. package/module/client/test/ts-client.vectis.spec.js +44 -0
  34. package/module/context/context.js +25 -0
  35. package/module/context/index.js +1 -0
  36. package/module/{messages.js → from-partial/from-partial.js} +16 -57
  37. package/module/from-partial/from-partial.spec.js +12 -0
  38. package/module/from-partial/index.js +1 -0
  39. package/module/index.js +5 -3
  40. package/module/react-query/index.js +1 -0
  41. package/module/{react-query.js → react-query/react-query.js} +30 -49
  42. package/module/react-query/react-query.spec.js +53 -0
  43. package/module/recoil/index.js +1 -0
  44. package/module/{recoil.js → recoil/recoil.js} +6 -20
  45. package/module/recoil/recoil.spec.js +15 -0
  46. package/module/utils/babel.spec.js +1 -10
  47. package/module/utils/index.js +2 -1
  48. package/module/utils/types.js +32 -30
  49. package/package.json +4 -3
  50. package/types/src/client/client.d.ts +17 -0
  51. package/types/src/client/index.d.ts +1 -0
  52. package/types/src/client/test/ts-client.cw-named-groups.test.d.ts +1 -0
  53. package/types/src/client/test/ts-client.cw-proposal-single.test.d.ts +1 -0
  54. package/types/src/context/context.d.ts +20 -0
  55. package/types/src/context/index.d.ts +1 -0
  56. package/types/src/from-partial/from-partial.d.ts +4 -0
  57. package/types/src/from-partial/index.d.ts +1 -0
  58. package/types/src/index.d.ts +7 -0
  59. package/types/src/react-query/index.d.ts +1 -0
  60. package/types/src/react-query/react-query.d.ts +81 -0
  61. package/types/src/recoil/index.d.ts +1 -0
  62. package/types/{recoil.d.ts → src/recoil/recoil.d.ts} +5 -5
  63. package/types/{types.d.ts → src/types.d.ts} +17 -0
  64. package/types/{utils.d.ts → src/utils/babel.d.ts} +21 -1
  65. package/types/src/utils/index.d.ts +2 -0
  66. package/types/src/utils/types.d.ts +18 -0
  67. package/types/test-utils/index.d.ts +2 -0
  68. package/main/messages.spec.js +0 -24
  69. package/main/wasm.arrays.spec.js +0 -30
  70. package/main/wasm.cw-named-groups.test.js +0 -30
  71. package/main/wasm.cw-proposal-single.test.js +0 -32
  72. package/main/wasm.empty-enums.spec.js +0 -24
  73. package/main/wasm.sg721.spec.js +0 -30
  74. package/main/wasm.spec.js +0 -95
  75. package/main/wasm.vectis.spec.js +0 -53
  76. package/module/messages.spec.js +0 -18
  77. package/module/react-query.spec.js +0 -65
  78. package/module/recoil.spec.js +0 -22
  79. package/module/wasm.arrays.spec.js +0 -24
  80. package/module/wasm.cw-named-groups.test.js +0 -24
  81. package/module/wasm.cw-proposal-single.test.js +0 -25
  82. package/module/wasm.empty-enums.spec.js +0 -18
  83. package/module/wasm.sg721.spec.js +0 -24
  84. package/module/wasm.spec.js +0 -76
  85. package/module/wasm.vectis.spec.js +0 -43
  86. package/types/amino/amino-interfaces.d.ts +0 -6
  87. package/types/amino/from-amino.d.ts +0 -13
  88. package/types/amino/index.d.ts +0 -3
  89. package/types/amino/to-amino.d.ts +0 -11
  90. package/types/index.d.ts +0 -5
  91. package/types/messages.d.ts +0 -4
  92. package/types/react-query.d.ts +0 -70
  93. package/types/wasm.d.ts +0 -24
@@ -3,31 +3,15 @@ import { camel } from 'case';
3
3
  import { propertySignature } from './babel';
4
4
 
5
5
  const getTypeStrFromRef = $ref => {
6
- switch ($ref) {
7
- case '#/definitions/Binary':
8
- return 'Binary';
9
-
10
- default:
11
- if ($ref?.startsWith('#/definitions/')) {
12
- return $ref.replace('#/definitions/', '');
13
- }
14
-
15
- throw new Error('what is $ref: ' + $ref);
6
+ if ($ref?.startsWith('#/definitions/')) {
7
+ return $ref.replace('#/definitions/', '');
16
8
  }
9
+
10
+ throw new Error('what is $ref: ' + $ref);
17
11
  };
18
12
 
19
13
  export const getTypeFromRef = $ref => {
20
- switch ($ref) {
21
- case '#/definitions/Binary':
22
- return t.tsTypeReference(t.identifier('Binary'));
23
-
24
- default:
25
- if ($ref?.startsWith('#/definitions/')) {
26
- return t.tsTypeReference(t.identifier($ref.replace('#/definitions/', '')));
27
- }
28
-
29
- throw new Error('what is $ref: ' + $ref);
30
- }
14
+ return t.tsTypeReference(t.identifier(getTypeStrFromRef($ref)));
31
15
  };
32
16
 
33
17
  const getArrayTypeFromRef = $ref => {
@@ -61,7 +45,7 @@ export const getType = type => {
61
45
  throw new Error('contact maintainers [unknown type]: ' + type);
62
46
  }
63
47
  };
64
- export const getPropertyType = (schema, prop) => {
48
+ export const getPropertyType = (context, schema, prop) => {
65
49
  const props = schema.properties ?? {};
66
50
  let info = props[prop];
67
51
  let type = null;
@@ -150,7 +134,7 @@ export const getPropertyType = (schema, prop) => {
150
134
  optional
151
135
  };
152
136
  };
153
- export function getPropertySignatureFromProp(jsonschema, prop, camelize) {
137
+ export function getPropertySignatureFromProp(context, jsonschema, prop, camelize) {
154
138
  if (jsonschema.properties[prop].type === 'object') {
155
139
  if (jsonschema.properties[prop].title) {
156
140
  return propertySignature(camelize ? camel(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(jsonschema.properties[prop].title))));
@@ -190,7 +174,7 @@ export function getPropertySignatureFromProp(jsonschema, prop, camelize) {
190
174
  }
191
175
 
192
176
  try {
193
- getPropertyType(jsonschema, prop);
177
+ getPropertyType(context, jsonschema, prop);
194
178
  } catch (e) {
195
179
  console.log(e);
196
180
  console.log(jsonschema, prop);
@@ -199,23 +183,41 @@ export function getPropertySignatureFromProp(jsonschema, prop, camelize) {
199
183
  const {
200
184
  type,
201
185
  optional
202
- } = getPropertyType(jsonschema, prop);
186
+ } = getPropertyType(context, jsonschema, prop);
203
187
  return propertySignature(camelize ? camel(prop) : prop, t.tsTypeAnnotation(type), optional);
204
188
  }
205
- export const getParamsTypeAnnotation = (jsonschema, camelize = true) => {
189
+ export const getParamsTypeAnnotation = (context, jsonschema, camelize = true) => {
206
190
  const keys = Object.keys(jsonschema.properties ?? {});
191
+
192
+ if (!keys.length && jsonschema.$ref) {
193
+ return t.tsTypeAnnotation(getTypeFromRef(jsonschema.$ref));
194
+ }
195
+
207
196
  if (!keys.length) return undefined;
208
- const typedParams = keys.map(prop => getPropertySignatureFromProp(jsonschema, prop, camelize));
197
+ const typedParams = keys.map(prop => getPropertySignatureFromProp(context, jsonschema, prop, camelize));
209
198
  return t.tsTypeAnnotation(t.tsTypeLiteral([...typedParams]));
210
199
  };
211
- export const createTypedObjectParams = (jsonschema, camelize = true) => {
200
+ export const createTypedObjectParams = (context, jsonschema, camelize = true) => {
212
201
  const keys = Object.keys(jsonschema.properties ?? {});
213
- if (!keys.length) return; // const typedParams = keys.map(prop => getPropertySignatureFromProp(jsonschema, prop, camelize));
202
+
203
+ if (!keys.length) {
204
+ // is there a ref?
205
+ if (jsonschema.$ref) {
206
+ const obj = context.refLookup(jsonschema.$ref);
207
+
208
+ if (obj) {
209
+ return createTypedObjectParams(context, obj, camelize);
210
+ }
211
+ } // no results...
212
+
213
+
214
+ return;
215
+ }
214
216
 
215
217
  const params = keys.map(prop => {
216
218
  return t.objectProperty(camelize ? t.identifier(camel(prop)) : t.identifier(prop), camelize ? t.identifier(camel(prop)) : t.identifier(prop), false, true);
217
219
  });
218
220
  const obj = t.objectPattern([...params]);
219
- obj.typeAnnotation = getParamsTypeAnnotation(jsonschema, camelize);
221
+ obj.typeAnnotation = getParamsTypeAnnotation(context, jsonschema, camelize);
220
222
  return obj;
221
223
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wasm-ast-types",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "CosmWasm TypeScript AST generation",
5
5
  "author": "Dan Lynch <pyramation@gmail.com>",
6
6
  "homepage": "https://github.com/pyramation/cosmwasm-typescript-gen/tree/master/packages/wasm-ast-types#readme",
@@ -83,7 +83,8 @@
83
83
  "@babel/types": "7.18.10",
84
84
  "@jest/transform": "28.1.3",
85
85
  "ast-stringify": "0.1.0",
86
- "case": "1.6.3"
86
+ "case": "1.6.3",
87
+ "deepmerge": "4.2.2"
87
88
  },
88
- "gitHead": "213e10e01a8784d82d003821d6d9490b97b7b480"
89
+ "gitHead": "51e6e530adc95d8118606379848080dd9bc3c25a"
89
90
  }
@@ -0,0 +1,17 @@
1
+ import * as t from '@babel/types';
2
+ import { QueryMsg, ExecuteMsg } from '../types';
3
+ import { RenderContext } from '../context';
4
+ import { JSONSchema } from '../types';
5
+ export declare const CONSTANT_EXEC_PARAMS: (t.AssignmentPattern | t.Identifier)[];
6
+ export declare const FIXED_EXECUTE_PARAMS: t.Identifier[];
7
+ export declare const createWasmQueryMethod: (context: RenderContext, jsonschema: any) => t.ClassProperty;
8
+ export declare const createQueryClass: (context: RenderContext, className: string, implementsClassName: string, queryMsg: QueryMsg) => t.ExportNamedDeclaration;
9
+ export declare const getWasmMethodArgs: (context: RenderContext, jsonschema: JSONSchema) => t.ObjectProperty[];
10
+ export declare const createWasmExecMethod: (context: RenderContext, jsonschema: JSONSchema) => t.ClassProperty;
11
+ export declare const createExecuteClass: (context: RenderContext, className: string, implementsClassName: string, extendsClassName: string, execMsg: ExecuteMsg) => t.ExportNamedDeclaration;
12
+ export declare const createExecuteInterface: (context: RenderContext, className: string, extendsClassName: string | null, execMsg: ExecuteMsg) => t.ExportNamedDeclaration;
13
+ export declare const createPropertyFunctionWithObjectParams: (context: RenderContext, methodName: string, responseType: string, jsonschema: JSONSchema) => t.TSPropertySignature;
14
+ export declare const createPropertyFunctionWithObjectParamsForExec: (context: RenderContext, methodName: string, responseType: string, jsonschema: JSONSchema) => t.TSPropertySignature;
15
+ export declare const createQueryInterface: (context: RenderContext, className: string, queryMsg: QueryMsg) => t.ExportNamedDeclaration;
16
+ export declare const createTypeOrInterface: (context: RenderContext, Type: string, jsonschema: JSONSchema) => t.ExportNamedDeclaration;
17
+ export declare const createTypeInterface: (context: RenderContext, jsonschema: JSONSchema) => t.ExportNamedDeclaration;
@@ -0,0 +1 @@
1
+ export * from './client';
@@ -0,0 +1,20 @@
1
+ import { JSONSchema } from "../types";
2
+ export interface ReactQueryOptions {
3
+ optionalClient?: boolean;
4
+ v4?: boolean;
5
+ mutations?: boolean;
6
+ camelize?: boolean;
7
+ }
8
+ export interface RenderOptions {
9
+ reactQuery: ReactQueryOptions;
10
+ }
11
+ export interface RenderContext {
12
+ schema: JSONSchema;
13
+ options: RenderOptions;
14
+ }
15
+ export declare const defaultOptions: RenderOptions;
16
+ export declare class RenderContext implements RenderContext {
17
+ schema: JSONSchema;
18
+ constructor(schema: JSONSchema, options?: RenderOptions);
19
+ refLookup($ref: string): JSONSchema;
20
+ }
@@ -0,0 +1 @@
1
+ export * from './context';
@@ -0,0 +1,4 @@
1
+ import * as t from '@babel/types';
2
+ import { ExecuteMsg } from '../types';
3
+ export declare const createFromPartialClass: (context: RenderContext, className: string, implementsClassName: string, execMsg: ExecuteMsg) => t.ExportNamedDeclaration;
4
+ export declare const createFromPartialInterface: (context: RenderContext, className: string, execMsg: ExecuteMsg) => t.ExportNamedDeclaration;
@@ -0,0 +1 @@
1
+ export * from './from-partial';
@@ -0,0 +1,7 @@
1
+ export * from './utils';
2
+ export * from './client';
3
+ export * from './context';
4
+ export * from './recoil';
5
+ export * from './from-partial';
6
+ export * from './react-query';
7
+ export * from './types';
@@ -0,0 +1 @@
1
+ export * from './react-query';
@@ -0,0 +1,81 @@
1
+ import * as t from '@babel/types';
2
+ import { ExecuteMsg, QueryMsg } from '../types';
3
+ import { RenderContext } from '../context';
4
+ import { JSONSchema } from '../types';
5
+ interface ReactQueryHookQuery {
6
+ context: RenderContext;
7
+ hookName: string;
8
+ hookParamsTypeName: string;
9
+ hookKeyName: string;
10
+ responseType: string;
11
+ methodName: string;
12
+ jsonschema: any;
13
+ }
14
+ interface ReactQueryHooks {
15
+ context: RenderContext;
16
+ queryMsg: QueryMsg;
17
+ contractName: string;
18
+ QueryClient: string;
19
+ }
20
+ export declare const createReactQueryHooks: ({ context, queryMsg, contractName, QueryClient }: ReactQueryHooks) => any;
21
+ export declare const createReactQueryHook: ({ context, hookName, hookParamsTypeName, responseType, hookKeyName, methodName, jsonschema }: ReactQueryHookQuery) => t.ExportNamedDeclaration;
22
+ interface ReactQueryMutationHookInterface {
23
+ context: RenderContext;
24
+ ExecuteClient: string;
25
+ mutationHookParamsTypeName: string;
26
+ jsonschema: JSONSchema;
27
+ useMutationTypeParameter: t.TSTypeParameterInstantiation;
28
+ }
29
+ /**
30
+ * Example:
31
+ ```
32
+ export interface Cw4UpdateMembersMutation {
33
+ client: Cw4GroupClient
34
+ args: {
35
+ tokenId: string
36
+ remove: string[]
37
+ }
38
+ options?: Omit<
39
+ UseMutationOptions<ExecuteResult, Error, Pick<Cw4UpdateMembersMutation, 'args'>>,
40
+ 'mutationFn'
41
+ >
42
+ }
43
+ ```
44
+ */
45
+ export declare const createReactQueryMutationArgsInterface: ({ context, ExecuteClient, mutationHookParamsTypeName, useMutationTypeParameter, jsonschema, }: ReactQueryMutationHookInterface) => t.ExportNamedDeclaration;
46
+ interface ReactQueryMutationHooks {
47
+ context: RenderContext;
48
+ execMsg: ExecuteMsg;
49
+ contractName: string;
50
+ ExecuteClient: string;
51
+ }
52
+ export declare const createReactQueryMutationHooks: ({ context, execMsg, contractName, ExecuteClient }: ReactQueryMutationHooks) => any;
53
+ interface ReactQueryMutationHook {
54
+ context: RenderContext;
55
+ mutationHookName: string;
56
+ mutationHookParamsTypeName: string;
57
+ execMethodName: string;
58
+ useMutationTypeParameter: t.TSTypeParameterInstantiation;
59
+ hasMsg: boolean;
60
+ }
61
+ /**
62
+ *
63
+ * Example:
64
+ ```
65
+ export const useCw4UpdateMembersMutation = ({ client, options }: Omit<Cw4UpdateMembersMutation, 'args'>) =>
66
+ useMutation<ExecuteResult, Error, Pick<Cw4UpdateMembersMutation, 'args'>>(
67
+ ({ args }) => client.updateMembers(args),
68
+ options
69
+ )
70
+ ```
71
+ */
72
+ export declare const createReactQueryMutationHook: ({ context, mutationHookName, mutationHookParamsTypeName, execMethodName, useMutationTypeParameter, hasMsg, }: ReactQueryMutationHook) => t.ExportNamedDeclaration;
73
+ interface ReactQueryHookQueryInterface {
74
+ context: RenderContext;
75
+ QueryClient: string;
76
+ hookParamsTypeName: string;
77
+ responseType: string;
78
+ jsonschema: any;
79
+ }
80
+ export declare const createReactQueryHookInterface: ({ context, QueryClient, hookParamsTypeName, responseType, jsonschema }: ReactQueryHookQueryInterface) => t.ExportNamedDeclaration;
81
+ export {};
@@ -0,0 +1 @@
1
+ export * from './recoil';
@@ -1,8 +1,8 @@
1
1
  import * as t from '@babel/types';
2
- import { QueryMsg } from './types';
3
- export declare const createWasmRecoilMethod: (jsonschema: any) => void;
4
- export declare const createRecoilSelector: (keyPrefix: string, QueryClient: string, methodName: string) => t.ExportNamedDeclaration;
5
- export declare const createRecoilSelectors: (keyPrefix: string, QueryClient: string, queryMsg: QueryMsg) => any;
2
+ import { QueryMsg } from '../types';
3
+ import { RenderContext } from '../context';
4
+ export declare const createRecoilSelector: (context: RenderContext, keyPrefix: string, QueryClient: string, methodName: string) => t.ExportNamedDeclaration;
5
+ export declare const createRecoilSelectors: (context: RenderContext, keyPrefix: string, QueryClient: string, queryMsg: QueryMsg) => any;
6
6
  export declare const createRecoilQueryClientType: () => {
7
7
  type: string;
8
8
  id: {
@@ -27,4 +27,4 @@ export declare const createRecoilQueryClientType: () => {
27
27
  }[];
28
28
  };
29
29
  };
30
- export declare const createRecoilQueryClient: (keyPrefix: string, QueryClient: string) => t.ExportNamedDeclaration;
30
+ export declare const createRecoilQueryClient: (context: RenderContext, keyPrefix: string, QueryClient: string) => t.ExportNamedDeclaration;
@@ -22,3 +22,20 @@ export interface ExecuteMsg {
22
22
  allOf?: any;
23
23
  anyOf?: any;
24
24
  }
25
+ export interface JSONSchema {
26
+ $ref?: string;
27
+ $schema?: string;
28
+ additionalProperties?: boolean;
29
+ allOf?: JSONSchema[];
30
+ anyOf?: JSONSchema[];
31
+ definitions?: Record<string, JSONSchema>;
32
+ description?: string;
33
+ oneOf?: JSONSchema[];
34
+ properties?: Record<string, JSONSchema>;
35
+ patternProperties?: Record<string, JSONSchema>;
36
+ items?: JSONSchema[] | JSONSchema;
37
+ additionalItems?: JSONSchema;
38
+ required?: string[];
39
+ title?: string;
40
+ type?: string;
41
+ }
@@ -1,6 +1,14 @@
1
1
  import * as t from '@babel/types';
2
- import { Field, QueryMsg, ExecuteMsg } from './types';
2
+ import { Field, QueryMsg, ExecuteMsg } from '../types';
3
3
  import { TSTypeAnnotation, TSExpressionWithTypeArguments } from '@babel/types';
4
+ export declare const propertySignature: (name: string, typeAnnotation: t.TSTypeAnnotation, optional?: boolean) => {
5
+ type: string;
6
+ key: t.Identifier;
7
+ typeAnnotation: t.TSTypeAnnotation;
8
+ optional: boolean;
9
+ };
10
+ export declare const identifier: (name: string, typeAnnotation: t.TSTypeAnnotation, optional?: boolean) => t.Identifier;
11
+ export declare const tsTypeOperator: (typeAnnotation: t.TSType, operator: string) => t.TSTypeOperator;
4
12
  export declare const getMessageProperties: (msg: QueryMsg | ExecuteMsg) => any;
5
13
  export declare const tsPropertySignature: (key: t.Expression, typeAnnotation: t.TSTypeAnnotation, optional: boolean) => t.TSPropertySignature;
6
14
  export declare const tsObjectPattern: (properties: (t.RestElement | t.ObjectProperty)[], typeAnnotation: t.TSTypeAnnotation) => t.ObjectPattern;
@@ -31,3 +39,15 @@ export declare const getFieldDimensionality: (field: Field) => {
31
39
  };
32
40
  export declare const memberExpressionOrIdentifier: (names: any) => any;
33
41
  export declare const memberExpressionOrIdentifierSnake: (names: any) => any;
42
+ /**
43
+ * If optional, return a conditional, otherwise just the expression
44
+ */
45
+ export declare const optionalConditionalExpression: (test: t.Expression, expression: t.Expression, alternate: t.Expression, optional?: boolean) => t.Expression;
46
+ export declare const typeRefOrOptionalUnion: (identifier: t.Identifier, optional?: boolean) => t.TSType;
47
+ export declare const parameterizedTypeReference: (identifier: string, from: t.TSType, omit: string | Array<string>) => t.TSTypeReference;
48
+ /**
49
+ * omitTypeReference(t.tsTypeReference(t.identifier('Cw4UpdateMembersMutation'),),'args').....
50
+ * Omit<Cw4UpdateMembersMutation, 'args'>
51
+ */
52
+ export declare const omitTypeReference: (from: t.TSType, omit: string | Array<string>) => t.TSTypeReference;
53
+ export declare const pickTypeReference: (from: t.TSType, pick: string | Array<string>) => t.TSTypeReference;
@@ -0,0 +1,2 @@
1
+ export * from './babel';
2
+ export * from './types';
@@ -0,0 +1,18 @@
1
+ import * as t from '@babel/types';
2
+ import { TSTypeAnnotation } from '@babel/types';
3
+ import { RenderContext } from '../context';
4
+ import { JSONSchema } from '../types';
5
+ export declare const getTypeFromRef: ($ref: any) => t.TSTypeReference;
6
+ export declare const getType: (type: any) => t.TSBooleanKeyword | t.TSNumberKeyword | t.TSStringKeyword;
7
+ export declare const getPropertyType: (context: RenderContext, schema: JSONSchema, prop: string) => {
8
+ type: any;
9
+ optional: boolean;
10
+ };
11
+ export declare function getPropertySignatureFromProp(context: RenderContext, jsonschema: JSONSchema, prop: string, camelize: boolean): {
12
+ type: string;
13
+ key: t.Identifier;
14
+ typeAnnotation: t.TSTypeAnnotation;
15
+ optional: boolean;
16
+ };
17
+ export declare const getParamsTypeAnnotation: (context: RenderContext, jsonschema: any, camelize?: boolean) => t.TSTypeAnnotation;
18
+ export declare const createTypedObjectParams: (context: RenderContext, jsonschema: JSONSchema, camelize?: boolean) => t.ObjectPattern;
@@ -0,0 +1,2 @@
1
+ export declare const expectCode: (ast: any) => void;
2
+ export declare const printCode: (ast: any) => void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _execute_msg_for__empty = _interopRequireDefault(require("./../../../__fixtures__/basic/execute_msg_for__empty.json"));
8
-
9
- var _messages = require("./messages");
10
-
11
- var expectCode = function expectCode(ast) {
12
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
13
- };
14
-
15
- var printCode = function printCode(ast) {
16
- console.log((0, _generator["default"])(ast).code);
17
- };
18
-
19
- it('execute classes', function () {
20
- expectCode((0, _messages.createFromPartialClass)('SG721MessageComposer', 'SG721Message', _execute_msg_for__empty["default"]));
21
- });
22
- it('createFromPartialInterface', function () {
23
- expectCode((0, _messages.createFromPartialInterface)('SG721Message', _execute_msg_for__empty["default"]));
24
- });
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _arrays = _interopRequireDefault(require("./../../../__fixtures__/misc/schema/arrays.json"));
8
-
9
- var _wasm = require("./wasm");
10
-
11
- var expectCode = function expectCode(ast) {
12
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
13
- };
14
-
15
- var printCode = function printCode(ast) {
16
- console.log((0, _generator["default"])(ast).code);
17
- };
18
-
19
- it('execute_msg_for__empty', function () {
20
- expectCode((0, _wasm.createTypeInterface)(_arrays["default"]));
21
- });
22
- it('query classes', function () {
23
- expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _arrays["default"]));
24
- });
25
- it('execute classes array types', function () {
26
- expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _arrays["default"]));
27
- });
28
- it('execute interfaces no extends', function () {
29
- expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _arrays["default"]));
30
- });
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _execute_msg = _interopRequireDefault(require("./../../../__fixtures__/daodao/cw-named-groups/execute_msg.json"));
8
-
9
- var _wasm = require("./wasm");
10
-
11
- var expectCode = function expectCode(ast) {
12
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
13
- };
14
-
15
- var printCode = function printCode(ast) {
16
- console.log((0, _generator["default"])(ast).code);
17
- };
18
-
19
- it('execute_msg', function () {
20
- expectCode((0, _wasm.createTypeInterface)(_execute_msg["default"]));
21
- });
22
- it('query classes', function () {
23
- expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _execute_msg["default"]));
24
- });
25
- it('execute classes array types', function () {
26
- expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg["default"]));
27
- });
28
- it('execute interfaces no extends', function () {
29
- expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _execute_msg["default"]));
30
- });
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _execute_msg = _interopRequireDefault(require("./../../../__fixtures__/daodao/cw-proposal-single/execute_msg.json"));
8
-
9
- var _query_msg = _interopRequireDefault(require("./../../../__fixtures__/daodao/cw-proposal-single/query_msg.json"));
10
-
11
- var _wasm = require("./wasm");
12
-
13
- var expectCode = function expectCode(ast) {
14
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
15
- };
16
-
17
- var printCode = function printCode(ast) {
18
- console.log((0, _generator["default"])(ast).code);
19
- };
20
-
21
- it('execute_msg_for', function () {
22
- expectCode((0, _wasm.createTypeInterface)(_execute_msg["default"]));
23
- });
24
- it('query classes', function () {
25
- expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _query_msg["default"]));
26
- });
27
- it('execute classes array types', function () {
28
- expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg["default"]));
29
- });
30
- it('execute interfaces no extends', function () {
31
- expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _execute_msg["default"]));
32
- });
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _query_msg = _interopRequireDefault(require("./../../../__fixtures__/daodao/cw-admin-factory/query_msg.json"));
8
-
9
- var _wasm = require("./wasm");
10
-
11
- var expectCode = function expectCode(ast) {
12
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
13
- };
14
-
15
- var printCode = function printCode(ast) {
16
- console.log((0, _generator["default"])(ast).code);
17
- };
18
-
19
- it('query classes', function () {
20
- expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _query_msg["default"]));
21
- });
22
- it('query interface', function () {
23
- expectCode((0, _wasm.createQueryInterface)('ReadOnlyInstance', _query_msg["default"]));
24
- });
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _generator = _interopRequireDefault(require("@babel/generator"));
6
-
7
- var _execute_msg_for__empty = _interopRequireDefault(require("./../../../__fixtures__/sg721/execute_msg_for__empty.json"));
8
-
9
- var _wasm = require("./wasm");
10
-
11
- var expectCode = function expectCode(ast) {
12
- expect((0, _generator["default"])(ast).code).toMatchSnapshot();
13
- };
14
-
15
- var printCode = function printCode(ast) {
16
- console.log((0, _generator["default"])(ast).code);
17
- };
18
-
19
- it('execute_msg_for__empty', function () {
20
- expectCode((0, _wasm.createTypeInterface)(_execute_msg_for__empty["default"]));
21
- });
22
- it('query classes', function () {
23
- expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _execute_msg_for__empty["default"]));
24
- });
25
- it('execute classes array types', function () {
26
- expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg_for__empty["default"]));
27
- });
28
- it('execute interfaces no extends', function () {
29
- expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _execute_msg_for__empty["default"]));
30
- });