UNPKG

fixparser-no-logging

Version:
39 lines (35 loc) 1.18 kB
/* * fixparser * https://gitlab.com/logotype/fixparser.git * * Copyright 2021 Victor Norgren * Released under the MIT license */ import { ISpecMessages, MESSAGES } from '../../spec/SpecMessages'; import Field from '../fields/Field'; import Message from '../message/Message'; import { MessageContents } from '../messagecontents/MessageContents'; export class Messages { public messages: ISpecMessages[] = MESSAGES; public messageContents: MessageContents = new MessageContents(); public cacheMap: Map<string, ISpecMessages> = new Map< string, ISpecMessages >(); constructor() { this.messages.forEach((message: ISpecMessages) => { this.cacheMap.set(message.MsgType, message); }); } public processMessage(message: Message, field: Field): void { const messageType = this.cacheMap.get(field.value); if (messageType) { message.setDescription(messageType.Name); message.setMessageType(messageType.MsgType); this.messageContents.processMessageContents( message, messageType.ComponentID, ); } } }