jspurefix
Version:
pure node js fix engine
40 lines (34 loc) • 1.12 kB
text/typescript
import { ISaxNode } from '../../dict-primitive'
import { SimpleFieldDefinition } from '../../definition'
import { NodeParser } from './node-parser'
import { QuickFixXmlFileParser } from './quick-fix-xml-file-parser'
export class FieldDefinitionParser extends NodeParser {
private currentField: SimpleFieldDefinition
constructor (public readonly parser: QuickFixXmlFileParser) {
super(parser)
}
public open (line: number, node: ISaxNode): void {
switch (node.name) {
case 'field': {
this.currentField = new SimpleFieldDefinition(
node.attributes.number,
node.attributes.name,
node.attributes.name,
null,
null,
node.attributes.type,
null)
this.definitions.addSimpleFieldDef(this.currentField)
break
}
case 'value': {
this.currentField.addEnum(node.attributes.enum, node.attributes.description)
break
}
}
}
public close (line: number, name: string): void {
switch (name) {
}
}
}