wasm-ast-types
Advanced tools
Comparing version 0.4.2 to 0.4.3
@@ -58,4 +58,12 @@ "use strict"; | ||
var getArrayTypeFromType = function getArrayTypeFromType(type) { | ||
return t.tsArrayType(getType(type)); | ||
var getArrayTypeFromItems = function getArrayTypeFromItems(items) { | ||
if (items.type === 'array') { | ||
if (Array.isArray(items.items)) { | ||
return t.tsArrayType(t.tsArrayType(getType(items.items[0].type))); | ||
} else { | ||
return t.tsArrayType(getArrayTypeFromItems(items.items)); | ||
} | ||
} | ||
return t.tsArrayType(getType(items.type)); | ||
}; | ||
@@ -73,4 +81,2 @@ | ||
return t.tsNumberKeyword(); | ||
// case 'object': | ||
// return t.tsObjectKeyword(); | ||
@@ -134,3 +140,3 @@ default: | ||
} else if (info.items.type) { | ||
type = getArrayTypeFromType(info.items.type); | ||
type = getArrayTypeFromItems(info.items); | ||
} else { | ||
@@ -137,0 +143,0 @@ throw new Error('[info.items] case not handled by transpiler. contact maintainers.'); |
@@ -37,4 +37,12 @@ import * as t from '@babel/types'; | ||
const getArrayTypeFromType = type => { | ||
return t.tsArrayType(getType(type)); | ||
const getArrayTypeFromItems = items => { | ||
if (items.type === 'array') { | ||
if (Array.isArray(items.items)) { | ||
return t.tsArrayType(t.tsArrayType(getType(items.items[0].type))); | ||
} else { | ||
return t.tsArrayType(getArrayTypeFromItems(items.items)); | ||
} | ||
} | ||
return t.tsArrayType(getType(items.type)); | ||
}; | ||
@@ -52,4 +60,2 @@ | ||
return t.tsNumberKeyword(); | ||
// case 'object': | ||
// return t.tsObjectKeyword(); | ||
@@ -106,3 +112,3 @@ default: | ||
} else if (info.items.type) { | ||
type = getArrayTypeFromType(info.items.type); | ||
type = getArrayTypeFromItems(info.items); | ||
} else { | ||
@@ -109,0 +115,0 @@ throw new Error('[info.items] case not handled by transpiler. contact maintainers.'); |
{ | ||
"name": "wasm-ast-types", | ||
"version": "0.4.2", | ||
"version": "0.4.3", | ||
"description": "CosmWasm TypeScript AST generation", | ||
@@ -87,3 +87,3 @@ "author": "Dan Lynch <pyramation@gmail.com>", | ||
}, | ||
"gitHead": "aafba6dadee2e5a14b304f0dd53858e8b509046d" | ||
"gitHead": "c5fc4992d9da5f1c9da1f2c34469994dee7801df" | ||
} |
164355
53
2705