(scopeName: string, subNode: StructDefinition)
| 59 | } |
| 60 | |
| 61 | export function parseStruct(scopeName: string, subNode: StructDefinition): StructType { |
| 62 | const {type, name, members, coderType} = subNode; |
| 63 | const namePath = `${scopeName}.${name}`; |
| 64 | const fields = members.map(member => parseMember(scopeName, member, coderType)); |
| 65 | const accessors = subNode.accessors && { |
| 66 | getterCoderType: subNode.accessors.getterCoderType, |
| 67 | setterCoderType: subNode.accessors.setterCoderType, |
| 68 | }; |
| 69 | const groups = (subNode.groups ?? []).map(parseGroup) |
| 70 | return { name, type, namePath, fields, coderType: coderType || 'checked', accessors, groups }; |
| 71 | } |
| 72 | |
| 73 | export function parseGroup(subnode: GroupDefinition): GroupType { |
| 74 | const { name, accessors, coderType } = subnode; |
nothing calls this directly
no test coverage detected