UNPKG

fixparser

Version:

FIX.Latest / 5.0 SP2 Parser / AI Agent Trading

44 lines (43 loc) 1.91 kB
import { type ISpecGroups } from '../spec/SpecGroups.ts'; /** * Class for managing FIX protocol groups. * Provides functionality to find and filter groups based on various criteria. * Uses caching to improve performance when looking up groups. */ export declare class Groups { /** Array of all available groups from the FIX specification */ groups: ISpecGroups[]; /** Cache map for looking up groups by their ID */ cacheMap: Map<number, ISpecGroups>; /** Cache map for looking up groups by their name */ cacheMapByName: Map<string, ISpecGroups>; /** * Creates a new Groups instance and initializes the cache maps. * Populates both the ID-based and name-based cache maps for efficient lookups. */ constructor(); /** * Finds a group by its component ID. * * @param {number} componentId - The ID of the group to find * @returns {ISpecGroups | undefined} The found group, or undefined if not found */ find(componentId: number): ISpecGroups | undefined; /** * Finds a group by its name. * * @param {string} name - The name of the group to find * @returns {ISpecGroups | undefined} The found group, or undefined if not found */ findByName(name: string): ISpecGroups | undefined; /** * Filters and finds a group based on the NoMDEntries tag and message type. * Handles special cases for MarketDataSnapshotFullRefresh and MarketDataIncrementalRefresh messages. * Falls back to searching by numInGroup ID if no special case matches. * * @param {number} tag - The tag number to filter by (typically NoMDEntries) * @param {string} messageType - The type of the message being processed * @returns {ISpecGroups | undefined} The found group, or undefined if not found */ filterMapByNumInGroupId(tag: number, messageType: string): ISpecGroups | undefined; }