fixparser-no-logging
Version:
FIX 5.0SP2 Parser
39 lines (35 loc) • 1.18 kB
text/typescript
/*
* 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,
);
}
}
}