MCPcopy Create free account
hub / github.com/d1ll0n/stack-packer / convertFieldType

Function convertFieldType

src/parser/index.ts:7–23  ·  view source on GitHub ↗
(typeName: TypeName, structs: Record<string, AbiStruct>, enums: Record<string, AbiEnum>)

Source from the content-addressed store, hash-verified

5// import { bitsRequired, elementaryToTypeDef } from '../lib/helpers';
6
7export function convertFieldType(typeName: TypeName, structs: Record<string, AbiStruct>, enums: Record<string, AbiEnum>): AbiType {
8 const { type, baseTypeName, name, namePath, length } = typeName;
9 switch(type) {
10 case 'ArrayTypeName':
11 const baseType = this.convertFieldType(baseTypeName);
12 const size = (baseType.size && length) ? length.number * baseType.size : null
13 return {
14 meta: 'array',
15 baseType,
16 length: length && length.number,
17 dynamic: size == null,
18 size
19 } as AbiArray
20 case 'ElementaryTypeName': return elementaryToTypeDef(name) as AbiElementaryType;
21 case 'UserDefinedTypeName': return structs[namePath] || enums[namePath] || null;
22 }
23}
24
25export class ParserWrapper {
26 enums: Record<string, AbiEnum> = {}

Callers 1

convertFieldTypeMethod · 0.85

Calls 2

elementaryToTypeDefFunction · 0.85
convertFieldTypeMethod · 0.80

Tested by

no test coverage detected