wasm-ast-types 0.2.4 → 0.3.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.
- package/main/messages.js +10 -184
- package/main/messages.spec.js +1 -1
- package/main/react-query.js +5 -3
- package/main/react-query.spec.js +2 -2
- package/main/recoil.spec.js +1 -1
- package/main/{utils.js → utils/babel.js} +31 -1
- package/main/{utils.spec.js → utils/babel.spec.js} +20 -20
- package/main/utils/index.js +18 -0
- package/main/utils/types.js +232 -0
- package/main/wasm.js +22 -196
- package/main/wasm.sg721.spec.js +30 -0
- package/main/wasm.spec.js +18 -13
- package/main/wasm.vectis.spec.js +38 -0
- package/module/messages.js +4 -167
- package/module/messages.spec.js +1 -1
- package/module/react-query.js +2 -1
- package/module/react-query.spec.js +2 -2
- package/module/recoil.spec.js +1 -1
- package/module/{utils.js → utils/babel.js} +19 -0
- package/module/{utils.spec.js → utils/babel.spec.js} +2 -2
- package/module/utils/index.js +1 -0
- package/module/utils/types.js +187 -0
- package/module/wasm.js +6 -160
- package/module/wasm.sg721.spec.js +24 -0
- package/module/wasm.spec.js +17 -13
- package/module/wasm.vectis.spec.js +31 -0
- package/package.json +2 -2
@@ -0,0 +1,232 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
6
|
+
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
8
|
+
value: true
|
9
|
+
});
|
10
|
+
exports.getType = exports.getPropertyType = exports.forEmptyNameFix = exports.createTypedObjectParams = void 0;
|
11
|
+
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
|
+
|
14
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
15
|
+
|
16
|
+
var t = _interopRequireWildcard(require("@babel/types"));
|
17
|
+
|
18
|
+
var _case = require("case");
|
19
|
+
|
20
|
+
var _babel = require("./babel");
|
21
|
+
|
22
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
23
|
+
|
24
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
25
|
+
|
26
|
+
var forEmptyNameFix = function forEmptyNameFix(name) {
|
27
|
+
if (name.endsWith('For_Empty')) {
|
28
|
+
return name.replace(/For_Empty$/, '_for_Empty');
|
29
|
+
}
|
30
|
+
|
31
|
+
return name;
|
32
|
+
};
|
33
|
+
|
34
|
+
exports.forEmptyNameFix = forEmptyNameFix;
|
35
|
+
|
36
|
+
var getTypeFromRef = function getTypeFromRef($ref) {
|
37
|
+
switch ($ref) {
|
38
|
+
case '#/definitions/Binary':
|
39
|
+
return t.tsTypeReference(t.identifier('Binary'));
|
40
|
+
|
41
|
+
default:
|
42
|
+
if ($ref !== null && $ref !== void 0 && $ref.startsWith('#/definitions/')) {
|
43
|
+
return t.tsTypeReference(t.identifier($ref.replace('#/definitions/', '')));
|
44
|
+
}
|
45
|
+
|
46
|
+
throw new Error('what is $ref: ' + $ref);
|
47
|
+
}
|
48
|
+
};
|
49
|
+
|
50
|
+
var getArrayTypeFromRef = function getArrayTypeFromRef($ref) {
|
51
|
+
return t.tsArrayType(getTypeFromRef($ref));
|
52
|
+
};
|
53
|
+
|
54
|
+
var getArrayTypeFromType = function getArrayTypeFromType(type) {
|
55
|
+
return t.tsArrayType(getType(type));
|
56
|
+
};
|
57
|
+
|
58
|
+
var getType = function getType(type) {
|
59
|
+
switch (type) {
|
60
|
+
case 'string':
|
61
|
+
return t.tsStringKeyword();
|
62
|
+
|
63
|
+
case 'boolean':
|
64
|
+
return t.tSBooleanKeyword();
|
65
|
+
|
66
|
+
case 'integer':
|
67
|
+
return t.tsNumberKeyword();
|
68
|
+
// case 'object':
|
69
|
+
// return t.tsObjectKeyword();
|
70
|
+
|
71
|
+
default:
|
72
|
+
throw new Error('contact maintainers [unknown type]: ' + type);
|
73
|
+
}
|
74
|
+
};
|
75
|
+
|
76
|
+
exports.getType = getType;
|
77
|
+
|
78
|
+
var getPropertyType = function getPropertyType(schema, prop) {
|
79
|
+
var _schema$properties, _schema$required, _schema$required2;
|
80
|
+
|
81
|
+
var props = (_schema$properties = schema.properties) !== null && _schema$properties !== void 0 ? _schema$properties : {};
|
82
|
+
var info = props[prop];
|
83
|
+
var type = null;
|
84
|
+
var optional = !((_schema$required = schema.required) !== null && _schema$required !== void 0 && _schema$required.includes(prop));
|
85
|
+
|
86
|
+
if (info.allOf && info.allOf.length === 1) {
|
87
|
+
info = info.allOf[0];
|
88
|
+
}
|
89
|
+
|
90
|
+
if (typeof info.$ref === 'string') {
|
91
|
+
type = getTypeFromRef(info.$ref);
|
92
|
+
}
|
93
|
+
|
94
|
+
if (Array.isArray(info.anyOf)) {
|
95
|
+
// assuming 2nd is null, but let's check to ensure
|
96
|
+
if (info.anyOf.length !== 2) {
|
97
|
+
throw new Error('case not handled by transpiler. contact maintainers.');
|
98
|
+
}
|
99
|
+
|
100
|
+
var _info$anyOf = (0, _slicedToArray2["default"])(info.anyOf, 2),
|
101
|
+
nullableType = _info$anyOf[0],
|
102
|
+
nullType = _info$anyOf[1];
|
103
|
+
|
104
|
+
if ((nullType === null || nullType === void 0 ? void 0 : nullType.type) !== 'null') {
|
105
|
+
throw new Error('[nullableType.type]: case not handled by transpiler. contact maintainers.');
|
106
|
+
}
|
107
|
+
|
108
|
+
if (!(nullableType !== null && nullableType !== void 0 && nullableType.$ref)) {
|
109
|
+
if (nullableType.title) {
|
110
|
+
type = t.tsTypeReference(t.identifier(nullableType.title));
|
111
|
+
} else {
|
112
|
+
throw new Error('[nullableType.title] case not handled by transpiler. contact maintainers.');
|
113
|
+
}
|
114
|
+
} else {
|
115
|
+
type = getTypeFromRef(nullableType === null || nullableType === void 0 ? void 0 : nullableType.$ref);
|
116
|
+
}
|
117
|
+
|
118
|
+
optional = true;
|
119
|
+
}
|
120
|
+
|
121
|
+
if (typeof info.type === 'string') {
|
122
|
+
if (info.type === 'array') {
|
123
|
+
if (info.items.$ref) {
|
124
|
+
type = getArrayTypeFromRef(info.items.$ref);
|
125
|
+
} else if (info.items.title) {
|
126
|
+
type = t.tsArrayType(t.tsTypeReference(t.identifier(info.items.title)));
|
127
|
+
} else if (info.items.type) {
|
128
|
+
type = getArrayTypeFromType(info.items.type);
|
129
|
+
} else {
|
130
|
+
throw new Error('[info.items] case not handled by transpiler. contact maintainers.');
|
131
|
+
}
|
132
|
+
} else {
|
133
|
+
type = getType(info.type);
|
134
|
+
}
|
135
|
+
}
|
136
|
+
|
137
|
+
if (Array.isArray(info.type)) {
|
138
|
+
// assuming 2nd is null, but let's check to ensure
|
139
|
+
if (info.type.length !== 2) {
|
140
|
+
throw new Error('please report this to maintainers (field type): ' + JSON.stringify(info, null, 2));
|
141
|
+
}
|
142
|
+
|
143
|
+
var _info$type = (0, _slicedToArray2["default"])(info.type, 2),
|
144
|
+
_nullableType = _info$type[0],
|
145
|
+
_nullType = _info$type[1];
|
146
|
+
|
147
|
+
if (_nullType !== 'null') {
|
148
|
+
throw new Error('please report this to maintainers (field type): ' + JSON.stringify(info, null, 2));
|
149
|
+
}
|
150
|
+
|
151
|
+
if (_nullableType === 'array') {
|
152
|
+
type = t.tsArrayType(getType(info.items.type));
|
153
|
+
} else {
|
154
|
+
type = getType(_nullableType);
|
155
|
+
}
|
156
|
+
|
157
|
+
optional = true;
|
158
|
+
}
|
159
|
+
|
160
|
+
if (!type) {
|
161
|
+
throw new Error('cannot find type for ' + JSON.stringify(info));
|
162
|
+
}
|
163
|
+
|
164
|
+
if ((_schema$required2 = schema.required) !== null && _schema$required2 !== void 0 && _schema$required2.includes(prop)) {
|
165
|
+
optional = false;
|
166
|
+
}
|
167
|
+
|
168
|
+
return {
|
169
|
+
type: type,
|
170
|
+
optional: optional
|
171
|
+
};
|
172
|
+
};
|
173
|
+
|
174
|
+
exports.getPropertyType = getPropertyType;
|
175
|
+
|
176
|
+
var createTypedObjectParams = function createTypedObjectParams(jsonschema) {
|
177
|
+
var _jsonschema$propertie;
|
178
|
+
|
179
|
+
var camelize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
180
|
+
var keys = Object.keys((_jsonschema$propertie = jsonschema.properties) !== null && _jsonschema$propertie !== void 0 ? _jsonschema$propertie : {});
|
181
|
+
if (!keys.length) return;
|
182
|
+
var typedParams = keys.map(function (prop) {
|
183
|
+
if (jsonschema.properties[prop].type === 'object') {
|
184
|
+
if (jsonschema.properties[prop].title) {
|
185
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(forEmptyNameFix(jsonschema.properties[prop].title)))));
|
186
|
+
} else {
|
187
|
+
throw new Error('createTypedObjectParams() contact maintainer');
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
if (Array.isArray(jsonschema.properties[prop].allOf)) {
|
192
|
+
var _jsonschema$required;
|
193
|
+
|
194
|
+
var allOf = JSON.stringify(jsonschema.properties[prop].allOf, null, 2);
|
195
|
+
var isOptional = !((_jsonschema$required = jsonschema.required) !== null && _jsonschema$required !== void 0 && _jsonschema$required.includes(prop));
|
196
|
+
var unionTypes = jsonschema.properties[prop].allOf.map(function (el) {
|
197
|
+
if (el.title) return el.title;
|
198
|
+
return el.type;
|
199
|
+
});
|
200
|
+
var uniqUnionTypes = (0, _toConsumableArray2["default"])(new Set(unionTypes));
|
201
|
+
|
202
|
+
if (uniqUnionTypes.length === 1) {
|
203
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsTypeReference(t.identifier(forEmptyNameFix(uniqUnionTypes[0])))), isOptional);
|
204
|
+
} else {
|
205
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(t.tsUnionType(uniqUnionTypes.map(function (typ) {
|
206
|
+
return t.tsTypeReference(t.identifier(forEmptyNameFix(typ)));
|
207
|
+
}))), isOptional);
|
208
|
+
}
|
209
|
+
}
|
210
|
+
|
211
|
+
try {
|
212
|
+
getPropertyType(jsonschema, prop);
|
213
|
+
} catch (e) {
|
214
|
+
console.log(e);
|
215
|
+
console.log(jsonschema, prop);
|
216
|
+
}
|
217
|
+
|
218
|
+
var _getPropertyType = getPropertyType(jsonschema, prop),
|
219
|
+
type = _getPropertyType.type,
|
220
|
+
optional = _getPropertyType.optional;
|
221
|
+
|
222
|
+
return (0, _babel.propertySignature)(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(type), optional);
|
223
|
+
});
|
224
|
+
var params = keys.map(function (prop) {
|
225
|
+
return t.objectProperty(camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), false, true);
|
226
|
+
});
|
227
|
+
var obj = t.objectPattern((0, _toConsumableArray2["default"])(params));
|
228
|
+
obj.typeAnnotation = t.tsTypeAnnotation(t.tsTypeLiteral((0, _toConsumableArray2["default"])(typedParams)));
|
229
|
+
return obj;
|
230
|
+
};
|
231
|
+
|
232
|
+
exports.createTypedObjectParams = createTypedObjectParams;
|
package/main/wasm.js
CHANGED
@@ -7,152 +7,23 @@ var _typeof = require("@babel/runtime/helpers/typeof");
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
8
8
|
value: true
|
9
9
|
});
|
10
|
-
exports.
|
10
|
+
exports.createWasmQueryMethod = exports.createWasmExecMethod = exports.createTypeOrInterface = exports.createTypeInterface = exports.createQueryInterface = exports.createQueryClass = exports.createPropertyFunctionWithObjectParamsForExec = exports.createPropertyFunctionWithObjectParams = exports.createExecuteInterface = exports.createExecuteClass = void 0;
|
11
11
|
|
12
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
13
13
|
|
14
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
15
|
-
|
16
14
|
var t = _interopRequireWildcard(require("@babel/types"));
|
17
15
|
|
18
16
|
var _case = require("case");
|
19
17
|
|
20
18
|
var _utils = require("./utils");
|
21
19
|
|
22
|
-
|
23
|
-
|
24
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
25
|
-
|
26
|
-
var getTypeFromRef = function getTypeFromRef($ref) {
|
27
|
-
switch ($ref) {
|
28
|
-
case '#/definitions/Binary':
|
29
|
-
return t.tsTypeReference(t.identifier('Binary'));
|
30
|
-
|
31
|
-
case '#/definitions/Expiration':
|
32
|
-
return t.tsTypeReference(t.identifier('Expiration'));
|
33
|
-
|
34
|
-
default:
|
35
|
-
if ($ref.startsWith('#/definitions/')) {
|
36
|
-
return t.tsTypeReference(t.identifier($ref.replace('#/definitions/', '')));
|
37
|
-
}
|
38
|
-
|
39
|
-
throw new Error('what is $ref: ' + $ref);
|
40
|
-
}
|
41
|
-
};
|
42
|
-
|
43
|
-
var getArrayTypeFromRef = function getArrayTypeFromRef($ref) {
|
44
|
-
return t.tsArrayType(getTypeFromRef($ref));
|
45
|
-
};
|
46
|
-
|
47
|
-
var getArrayTypeFromType = function getArrayTypeFromType(type) {
|
48
|
-
return t.tsArrayType(getType(type));
|
49
|
-
};
|
50
|
-
|
51
|
-
var identifier = function identifier(name, typeAnnotation) {
|
52
|
-
var optional = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
53
|
-
var type = t.identifier(name);
|
54
|
-
type.typeAnnotation = typeAnnotation;
|
55
|
-
type.optional = optional;
|
56
|
-
return type;
|
57
|
-
};
|
58
|
-
|
59
|
-
exports.identifier = identifier;
|
60
|
-
|
61
|
-
var getType = function getType(type) {
|
62
|
-
switch (type) {
|
63
|
-
case 'string':
|
64
|
-
return t.tsStringKeyword();
|
65
|
-
|
66
|
-
case 'boolean':
|
67
|
-
return t.tSBooleanKeyword();
|
68
|
-
|
69
|
-
case 'integer':
|
70
|
-
return t.tsNumberKeyword();
|
71
|
-
|
72
|
-
default:
|
73
|
-
throw new Error('what is type: ' + type);
|
74
|
-
}
|
75
|
-
};
|
76
|
-
|
77
|
-
var getPropertyType = function getPropertyType(schema, prop) {
|
78
|
-
var _schema$properties, _schema$required, _schema$required2;
|
79
|
-
|
80
|
-
var props = (_schema$properties = schema.properties) !== null && _schema$properties !== void 0 ? _schema$properties : {};
|
81
|
-
var info = props[prop];
|
82
|
-
var type = null;
|
83
|
-
var optional = (_schema$required = schema.required) === null || _schema$required === void 0 ? void 0 : _schema$required.includes(prop);
|
84
|
-
|
85
|
-
if (info.allOf && info.allOf.length === 1) {
|
86
|
-
info = info.allOf[0];
|
87
|
-
}
|
88
|
-
|
89
|
-
if (typeof info.$ref === 'string') {
|
90
|
-
type = getTypeFromRef(info.$ref);
|
91
|
-
}
|
92
|
-
|
93
|
-
if (Array.isArray(info.anyOf)) {
|
94
|
-
// assuming 2nd is null, but let's check to ensure
|
95
|
-
if (info.anyOf.length !== 2) {
|
96
|
-
throw new Error('case not handled by transpiler. contact maintainers.');
|
97
|
-
}
|
98
|
-
|
99
|
-
var _info$anyOf = (0, _slicedToArray2["default"])(info.anyOf, 2),
|
100
|
-
nullableType = _info$anyOf[0],
|
101
|
-
nullType = _info$anyOf[1];
|
102
|
-
|
103
|
-
if ((nullType === null || nullType === void 0 ? void 0 : nullType.type) !== 'null') {
|
104
|
-
throw new Error('case not handled by transpiler. contact maintainers.');
|
105
|
-
}
|
106
|
-
|
107
|
-
type = getTypeFromRef(nullableType === null || nullableType === void 0 ? void 0 : nullableType.$ref);
|
108
|
-
optional = true;
|
109
|
-
}
|
110
|
-
|
111
|
-
if (typeof info.type === 'string') {
|
112
|
-
if (info.type === 'array') {
|
113
|
-
if (info.items.$ref) {
|
114
|
-
type = getArrayTypeFromRef(info.items.$ref);
|
115
|
-
} else {
|
116
|
-
type = getArrayTypeFromType(info.items.type);
|
117
|
-
}
|
118
|
-
} else {
|
119
|
-
type = getType(info.type);
|
120
|
-
}
|
121
|
-
}
|
122
|
-
|
123
|
-
if (Array.isArray(info.type)) {
|
124
|
-
// assuming 2nd is null, but let's check to ensure
|
125
|
-
if (info.type.length !== 2) {
|
126
|
-
throw new Error('case not handled by transpiler. contact maintainers.');
|
127
|
-
}
|
128
|
-
|
129
|
-
var _info$type = (0, _slicedToArray2["default"])(info.type, 2),
|
130
|
-
_nullableType = _info$type[0],
|
131
|
-
_nullType = _info$type[1];
|
20
|
+
var _types2 = require("./utils/types");
|
132
21
|
|
133
|
-
|
134
|
-
throw new Error('case not handled by transpiler. contact maintainers.');
|
135
|
-
}
|
136
|
-
|
137
|
-
type = getType(_nullableType);
|
138
|
-
optional = true;
|
139
|
-
}
|
140
|
-
|
141
|
-
if (!type) {
|
142
|
-
throw new Error('cannot find type for ' + JSON.stringify(info));
|
143
|
-
}
|
22
|
+
var _babel = require("./utils/babel");
|
144
23
|
|
145
|
-
|
146
|
-
optional = false;
|
147
|
-
}
|
148
|
-
|
149
|
-
return {
|
150
|
-
type: type,
|
151
|
-
optional: optional
|
152
|
-
};
|
153
|
-
};
|
24
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
154
25
|
|
155
|
-
|
26
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
156
27
|
|
157
28
|
var createWasmQueryMethod = function createWasmQueryMethod(jsonschema) {
|
158
29
|
var _jsonschema$propertie;
|
@@ -161,7 +32,7 @@ var createWasmQueryMethod = function createWasmQueryMethod(jsonschema) {
|
|
161
32
|
var methodName = (0, _case.camel)(underscoreName);
|
162
33
|
var responseType = (0, _case.pascal)("".concat(methodName, "Response"));
|
163
34
|
var properties = (_jsonschema$propertie = jsonschema.properties[underscoreName].properties) !== null && _jsonschema$propertie !== void 0 ? _jsonschema$propertie : {};
|
164
|
-
var obj = createTypedObjectParams(jsonschema.properties[underscoreName]);
|
35
|
+
var obj = (0, _types2.createTypedObjectParams)(jsonschema.properties[underscoreName]);
|
165
36
|
var args = Object.keys(properties).map(function (prop) {
|
166
37
|
return t.objectProperty(t.identifier(prop), t.identifier((0, _case.camel)(prop)), false, true);
|
167
38
|
});
|
@@ -190,23 +61,17 @@ var createQueryClass = function createQueryClass(className, implementsClassName,
|
|
190
61
|
|
191
62
|
exports.createQueryClass = createQueryClass;
|
192
63
|
|
193
|
-
var tsTypeOperator = function tsTypeOperator(typeAnnotation, operator) {
|
194
|
-
var obj = t.tsTypeOperator(typeAnnotation);
|
195
|
-
obj.operator = operator;
|
196
|
-
return obj;
|
197
|
-
};
|
198
|
-
|
199
64
|
var createWasmExecMethod = function createWasmExecMethod(jsonschema) {
|
200
65
|
var _jsonschema$propertie2;
|
201
66
|
|
202
67
|
var underscoreName = Object.keys(jsonschema.properties)[0];
|
203
68
|
var methodName = (0, _case.camel)(underscoreName);
|
204
69
|
var properties = (_jsonschema$propertie2 = jsonschema.properties[underscoreName].properties) !== null && _jsonschema$propertie2 !== void 0 ? _jsonschema$propertie2 : {};
|
205
|
-
var obj = createTypedObjectParams(jsonschema.properties[underscoreName]);
|
70
|
+
var obj = (0, _types2.createTypedObjectParams)(jsonschema.properties[underscoreName]);
|
206
71
|
var args = Object.keys(properties).map(function (prop) {
|
207
72
|
return t.objectProperty(t.identifier(prop), t.identifier((0, _case.camel)(prop)), false, prop === (0, _case.camel)(prop));
|
208
73
|
});
|
209
|
-
var constantParams = [t.assignmentPattern(identifier('fee', t.tsTypeAnnotation(t.tsUnionType([t.tSNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), false), t.stringLiteral('auto')), identifier('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), identifier('funds', t.tsTypeAnnotation(tsTypeOperator(t.tsArrayType(t.tsTypeReference(t.identifier('Coin'))), 'readonly')), true)];
|
74
|
+
var constantParams = [t.assignmentPattern((0, _babel.identifier)('fee', t.tsTypeAnnotation(t.tsUnionType([t.tSNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), false), t.stringLiteral('auto')), (0, _babel.identifier)('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.identifier)('funds', t.tsTypeAnnotation((0, _babel.tsTypeOperator)(t.tsArrayType(t.tsTypeReference(t.identifier('Coin'))), 'readonly')), true)];
|
210
75
|
return t.classProperty(t.identifier(methodName), (0, _utils.arrowFunctionExpression)(obj ? [// props
|
211
76
|
obj].concat(constantParams) : constantParams, t.blockStatement([t.returnStatement(t.awaitExpression(t.callExpression(t.memberExpression(t.memberExpression(t.thisExpression(), t.identifier('client')), t.identifier('execute')), [t.memberExpression(t.thisExpression(), t.identifier('sender')), t.memberExpression(t.thisExpression(), t.identifier('contractAddress')), t.objectExpression([t.objectProperty(t.identifier(underscoreName), t.objectExpression((0, _toConsumableArray2["default"])(args)))]), t.identifier('fee'), t.identifier('memo'), t.identifier('funds')])))]), // return type
|
212
77
|
t.tsTypeAnnotation(t.tsTypeReference(t.identifier('Promise'), t.tsTypeParameterInstantiation([t.tSTypeReference(t.identifier('ExecuteResult'))]))), true));
|
@@ -256,51 +121,8 @@ var createExecuteInterface = function createExecuteInterface(className, extendsC
|
|
256
121
|
|
257
122
|
exports.createExecuteInterface = createExecuteInterface;
|
258
123
|
|
259
|
-
var propertySignature = function propertySignature(name, typeAnnotation) {
|
260
|
-
var optional = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
261
|
-
// prop.leadingComments = [{
|
262
|
-
// type: 'Comment',
|
263
|
-
// value: ' Data on the token itself'
|
264
|
-
// }];
|
265
|
-
// prop.leadingComments = [{
|
266
|
-
// type: 'CommentBlock',
|
267
|
-
// value: '* Data on the token itself'
|
268
|
-
// }];
|
269
|
-
return {
|
270
|
-
type: 'TSPropertySignature',
|
271
|
-
key: t.identifier(name),
|
272
|
-
typeAnnotation: typeAnnotation,
|
273
|
-
optional: optional
|
274
|
-
};
|
275
|
-
};
|
276
|
-
|
277
|
-
exports.propertySignature = propertySignature;
|
278
|
-
|
279
|
-
var createTypedObjectParams = function createTypedObjectParams(jsonschema) {
|
280
|
-
var _jsonschema$propertie3;
|
281
|
-
|
282
|
-
var camelize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
283
|
-
var keys = Object.keys((_jsonschema$propertie3 = jsonschema.properties) !== null && _jsonschema$propertie3 !== void 0 ? _jsonschema$propertie3 : {});
|
284
|
-
if (!keys.length) return;
|
285
|
-
var typedParams = keys.map(function (prop) {
|
286
|
-
var _getPropertyType = getPropertyType(jsonschema, prop),
|
287
|
-
type = _getPropertyType.type,
|
288
|
-
optional = _getPropertyType.optional;
|
289
|
-
|
290
|
-
return propertySignature(camelize ? (0, _case.camel)(prop) : prop, t.tsTypeAnnotation(type), optional);
|
291
|
-
});
|
292
|
-
var params = keys.map(function (prop) {
|
293
|
-
return t.objectProperty(camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), camelize ? t.identifier((0, _case.camel)(prop)) : t.identifier(prop), false, true);
|
294
|
-
});
|
295
|
-
var obj = t.objectPattern((0, _toConsumableArray2["default"])(params));
|
296
|
-
obj.typeAnnotation = t.tsTypeAnnotation(t.tsTypeLiteral((0, _toConsumableArray2["default"])(typedParams)));
|
297
|
-
return obj;
|
298
|
-
};
|
299
|
-
|
300
|
-
exports.createTypedObjectParams = createTypedObjectParams;
|
301
|
-
|
302
124
|
var createPropertyFunctionWithObjectParams = function createPropertyFunctionWithObjectParams(methodName, responseType, jsonschema) {
|
303
|
-
var obj = createTypedObjectParams(jsonschema);
|
125
|
+
var obj = (0, _types2.createTypedObjectParams)(jsonschema);
|
304
126
|
var func = {
|
305
127
|
type: 'TSFunctionType',
|
306
128
|
typeAnnotation: (0, _utils.promiseTypeAnnotation)(responseType),
|
@@ -312,8 +134,8 @@ var createPropertyFunctionWithObjectParams = function createPropertyFunctionWith
|
|
312
134
|
exports.createPropertyFunctionWithObjectParams = createPropertyFunctionWithObjectParams;
|
313
135
|
|
314
136
|
var createPropertyFunctionWithObjectParamsForExec = function createPropertyFunctionWithObjectParamsForExec(methodName, responseType, jsonschema) {
|
315
|
-
var obj = createTypedObjectParams(jsonschema);
|
316
|
-
var fixedParams = [identifier('fee', t.tsTypeAnnotation(t.tsUnionType([t.tsNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), true), identifier('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), identifier('funds', t.tsTypeAnnotation(tsTypeOperator(t.tsArrayType(t.tsTypeReference(t.identifier('Coin'))), 'readonly')), true)];
|
137
|
+
var obj = (0, _types2.createTypedObjectParams)(jsonschema);
|
138
|
+
var fixedParams = [(0, _babel.identifier)('fee', t.tsTypeAnnotation(t.tsUnionType([t.tsNumberKeyword(), t.tsTypeReference(t.identifier('StdFee')), t.tsLiteralType(t.stringLiteral('auto'))])), true), (0, _babel.identifier)('memo', t.tsTypeAnnotation(t.tsStringKeyword()), true), (0, _babel.identifier)('funds', t.tsTypeAnnotation((0, _babel.tsTypeOperator)(t.tsArrayType(t.tsTypeReference(t.identifier('Coin'))), 'readonly')), true)];
|
317
139
|
var func = {
|
318
140
|
type: 'TSFunctionType',
|
319
141
|
typeAnnotation: (0, _utils.promiseTypeAnnotation)(responseType),
|
@@ -337,18 +159,22 @@ var createQueryInterface = function createQueryInterface(className, queryMsg) {
|
|
337
159
|
exports.createQueryInterface = createQueryInterface;
|
338
160
|
|
339
161
|
var createTypeOrInterface = function createTypeOrInterface(Type, jsonschema) {
|
340
|
-
var _jsonschema$
|
162
|
+
var _jsonschema$propertie3;
|
341
163
|
|
342
164
|
if (jsonschema.type !== 'object') {
|
343
|
-
|
165
|
+
if (!jsonschema.type) {
|
166
|
+
return t.exportNamedDeclaration(t.tsTypeAliasDeclaration(t.identifier(Type), null, t.tsTypeReference(t.identifier((0, _types2.forEmptyNameFix)(jsonschema.title)))));
|
167
|
+
}
|
168
|
+
|
169
|
+
return t.exportNamedDeclaration(t.tsTypeAliasDeclaration(t.identifier(Type), null, (0, _types2.getType)(jsonschema.type)));
|
344
170
|
}
|
345
171
|
|
346
|
-
var props = Object.keys((_jsonschema$
|
347
|
-
var
|
348
|
-
type =
|
349
|
-
optional =
|
172
|
+
var props = Object.keys((_jsonschema$propertie3 = jsonschema.properties) !== null && _jsonschema$propertie3 !== void 0 ? _jsonschema$propertie3 : {}).map(function (prop) {
|
173
|
+
var _getPropertyType = (0, _types2.getPropertyType)(jsonschema, prop),
|
174
|
+
type = _getPropertyType.type,
|
175
|
+
optional = _getPropertyType.optional;
|
350
176
|
|
351
|
-
return propertySignature((0, _case.camel)(prop), t.tsTypeAnnotation(type), optional);
|
177
|
+
return (0, _babel.propertySignature)((0, _case.camel)(prop), t.tsTypeAnnotation(type), optional);
|
352
178
|
});
|
353
179
|
return t.exportNamedDeclaration(t.tsInterfaceDeclaration(t.identifier(Type), null, [], t.tsInterfaceBody((0, _toConsumableArray2["default"])(props))));
|
354
180
|
};
|
@@ -0,0 +1,30 @@
|
|
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
|
+
});
|
package/main/wasm.spec.js
CHANGED
@@ -4,31 +4,33 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
4
4
|
|
5
5
|
var _generator = _interopRequireDefault(require("@babel/generator"));
|
6
6
|
|
7
|
-
var
|
7
|
+
var _execute_msg = _interopRequireDefault(require("./../../../__fixtures__/cw-named-groups/execute_msg.json"));
|
8
8
|
|
9
|
-
var
|
9
|
+
var _query_msg = _interopRequireDefault(require("./../../../__fixtures__/basic/query_msg.json"));
|
10
10
|
|
11
|
-
var
|
11
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("./../../../__fixtures__/basic/execute_msg_for__empty.json"));
|
12
12
|
|
13
|
-
var
|
13
|
+
var _approval_response = _interopRequireDefault(require("./../../../__fixtures__/basic/approval_response.json"));
|
14
14
|
|
15
|
-
var
|
15
|
+
var _all_nft_info_response = _interopRequireDefault(require("./../../../__fixtures__/basic/all_nft_info_response.json"));
|
16
16
|
|
17
|
-
var
|
17
|
+
var _approvals_response = _interopRequireDefault(require("./../../../__fixtures__/basic/approvals_response.json"));
|
18
18
|
|
19
|
-
var
|
19
|
+
var _collection_info_response = _interopRequireDefault(require("./../../../__fixtures__/basic/collection_info_response.json"));
|
20
20
|
|
21
|
-
var
|
21
|
+
var _contract_info_response = _interopRequireDefault(require("./../../../__fixtures__/basic/contract_info_response.json"));
|
22
22
|
|
23
|
-
var
|
23
|
+
var _instantiate_msg = _interopRequireDefault(require("./../../../__fixtures__/basic/instantiate_msg.json"));
|
24
24
|
|
25
|
-
var
|
25
|
+
var _nft_info_response = _interopRequireDefault(require("./../../../__fixtures__/basic/nft_info_response.json"));
|
26
26
|
|
27
|
-
var
|
27
|
+
var _num_tokens_response = _interopRequireDefault(require("./../../../__fixtures__/basic/num_tokens_response.json"));
|
28
28
|
|
29
|
-
var
|
29
|
+
var _operators_response = _interopRequireDefault(require("./../../../__fixtures__/basic/operators_response.json"));
|
30
30
|
|
31
|
-
var
|
31
|
+
var _owner_of_response = _interopRequireDefault(require("./../../../__fixtures__/basic/owner_of_response.json"));
|
32
|
+
|
33
|
+
var _tokens_response = _interopRequireDefault(require("./../../../__fixtures__/basic/tokens_response.json"));
|
32
34
|
|
33
35
|
var _wasm = require("./wasm");
|
34
36
|
|
@@ -82,6 +84,9 @@ it('execute classes', function () {
|
|
82
84
|
it('execute classes no extends', function () {
|
83
85
|
expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
84
86
|
});
|
87
|
+
it('execute classes array types', function () {
|
88
|
+
expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg["default"]));
|
89
|
+
});
|
85
90
|
it('execute interfaces no extends', function () {
|
86
91
|
expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _execute_msg_for__empty["default"]));
|
87
92
|
});
|
@@ -0,0 +1,38 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
var _generator = _interopRequireDefault(require("@babel/generator"));
|
6
|
+
|
7
|
+
var _cosmos_msg_for__empty = _interopRequireDefault(require("./../../../__fixtures__/vectis/cosmos_msg_for__empty.json"));
|
8
|
+
|
9
|
+
var _execute_msg_for__empty = _interopRequireDefault(require("./../../../__fixtures__/vectis/execute_msg_for__empty.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('cosmos_msg_for__empty', function () {
|
22
|
+
expectCode((0, _wasm.createTypeInterface)(_cosmos_msg_for__empty["default"]));
|
23
|
+
});
|
24
|
+
it('execute_msg_for__empty', function () {
|
25
|
+
expectCode((0, _wasm.createTypeInterface)(_execute_msg_for__empty["default"]));
|
26
|
+
});
|
27
|
+
it('query classes', function () {
|
28
|
+
expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _cosmos_msg_for__empty["default"]));
|
29
|
+
});
|
30
|
+
it('query classes', function () {
|
31
|
+
expectCode((0, _wasm.createQueryClass)('SG721QueryClient', 'SG721ReadOnlyInstance', _execute_msg_for__empty["default"]));
|
32
|
+
});
|
33
|
+
it('execute classes array types', function () {
|
34
|
+
expectCode((0, _wasm.createExecuteClass)('SG721Client', 'SG721Instance', null, _execute_msg_for__empty["default"]));
|
35
|
+
});
|
36
|
+
it('execute interfaces no extends', function () {
|
37
|
+
expectCode((0, _wasm.createExecuteInterface)('SG721Instance', null, _execute_msg_for__empty["default"]));
|
38
|
+
});
|