fixparser
Version:
FIX.Latest / 5.0 SP2 Parser / AI Agent Trading
4 lines • 13.9 MB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/FIXParserBrowser.ts", "../../../fixparser-common/src/MessageBuffer.ts", "../../../fixparser-common/src/uuidv4.ts", "../../src/spec/SpecEnums.ts", "../../src/enums/EnumType.ts", "../../src/enums/Enums.ts", "../../src/fields/Field.ts", "../../src/fieldtypes/Field.ts", "../../src/spec/MessageType.json", "../../src/messagetype/MessageType.ts", "../../src/spec/SpecFields.ts", "../../src/spec/SpecCategories.ts", "../../src/fields/categories/CategoryType.ts", "../../src/fields/categories/Categories.ts", "../../src/spec/SpecDatatypes.ts", "../../src/fields/datatypes/Datatypes.ts", "../../src/spec/SpecSections.ts", "../../src/fields/sections/SectionType.ts", "../../src/fields/sections/Sections.ts", "../../src/fields/Fields.ts", "../../../../node_modules/openpgp/dist/openpgp.mjs", "../../src/licensemanager/LicenseManagerUtils.ts", "../../src/licensemanager/LicenseManager.ts", "../../src/spec/SpecComponents.ts", "../../src/components/Components.ts", "../../src/fieldtypes/Message.ts", "../../src/spec/SpecGroups.ts", "../../src/groups/Groups.ts", "../../src/fieldtypes/AccountType.ts", "../../src/fieldtypes/AcctIDSource.ts", "../../src/fieldtypes/Adjustment.ts", "../../src/fieldtypes/AdjustmentType.ts", "../../src/fieldtypes/AdvSide.ts", "../../src/fieldtypes/AdvTransType.ts", "../../src/fieldtypes/AffirmStatus.ts", "../../src/fieldtypes/AggregatedBook.ts", "../../src/fieldtypes/AggressorIndicator.ts", "../../src/fieldtypes/AlgoCertificateReportStatus.ts", "../../src/fieldtypes/AlgoCertificateReportTransType.ts", "../../src/fieldtypes/AlgoCertificateReportType.ts", "../../src/fieldtypes/AlgoCertificateRequestStatus.ts", "../../src/fieldtypes/AlgoCertificateRequestTransType.ts", "../../src/fieldtypes/AlgoCertificateRequestType.ts", "../../src/fieldtypes/AlgoCertificateStatus.ts", "../../src/fieldtypes/AlgorithmicTradeIndicator.ts", "../../src/fieldtypes/AllocAccountType.ts", "../../src/fieldtypes/AllocationRollupInstruction.ts", "../../src/fieldtypes/AllocCancReplaceReason.ts", "../../src/fieldtypes/AllocGroupStatus.ts", "../../src/fieldtypes/AllocGroupSubQtyType.ts", "../../src/fieldtypes/AllocHandlInst.ts", "../../src/fieldtypes/AllocIntermedReqType.ts", "../../src/fieldtypes/AllocLinkType.ts", "../../src/fieldtypes/AllocMethod.ts", "../../src/fieldtypes/AllocNoOrdersType.ts", "../../src/fieldtypes/AllocPositionEffect.ts", "../../src/fieldtypes/AllocRejCode.ts", "../../src/fieldtypes/AllocReportType.ts", "../../src/fieldtypes/AllocRequestStatus.ts", "../../src/fieldtypes/AllocReversalStatus.ts", "../../src/fieldtypes/AllocSettlInstType.ts", "../../src/fieldtypes/AllocStatus.ts", "../../src/fieldtypes/AllocTransType.ts", "../../src/fieldtypes/AllocType.ts", "../../src/fieldtypes/ApplLevelRecoveryIndicator.ts", "../../src/fieldtypes/ApplQueueAction.ts", "../../src/fieldtypes/ApplQueueResolution.ts", "../../src/fieldtypes/ApplReportType.ts", "../../src/fieldtypes/ApplReqType.ts", "../../src/fieldtypes/ApplResponseError.ts", "../../src/fieldtypes/ApplResponseType.ts", "../../src/fieldtypes/ApplVerID.ts", "../../src/fieldtypes/AsOfIndicator.ts", "../../src/fieldtypes/AssetClass.ts", "../../src/fieldtypes/AssetGroup.ts", "../../src/fieldtypes/AssetSubClass.ts", "../../src/fieldtypes/AssetValuationModel.ts", "../../src/fieldtypes/AssignmentMethod.ts", "../../src/fieldtypes/AttachmentEncodingType.ts", "../../src/fieldtypes/AuctionInstruction.ts", "../../src/fieldtypes/AuctionType.ts", "../../src/fieldtypes/AveragePriceType.ts", "../../src/fieldtypes/AvgPxIndicator.ts", "../../src/fieldtypes/BasisPxType.ts", "../../src/fieldtypes/BatchProcessMode.ts", "../../src/fieldtypes/BeginString.ts", "../../src/fieldtypes/Benchmark.ts", "../../src/fieldtypes/BenchmarkCurveName.ts", "../../src/fieldtypes/BidDescriptorType.ts", "../../src/fieldtypes/BidRequestTransType.ts", "../../src/fieldtypes/BidTradeType.ts", "../../src/fieldtypes/BidType.ts", "../../src/fieldtypes/BlockTrdAllocIndicator.ts", "../../src/fieldtypes/BookingType.ts", "../../src/fieldtypes/BookingUnit.ts", "../../src/fieldtypes/BusinessDayConvention.ts", "../../src/fieldtypes/BusinessRejectReason.ts", "../../src/fieldtypes/CalculationMethod.ts", "../../src/fieldtypes/CancellationRights.ts", "../../src/fieldtypes/CashMargin.ts", "../../src/fieldtypes/CashSettlPriceDefault.ts", "../../src/fieldtypes/CashSettlQuoteMethod.ts", "../../src/fieldtypes/CashSettlValuationMethod.ts", "../../src/fieldtypes/ClearedIndicator.ts", "../../src/fieldtypes/ClearingAccountType.ts", "../../src/fieldtypes/ClearingFeeIndicator.ts", "../../src/fieldtypes/ClearingInstruction.ts", "../../src/fieldtypes/ClearingIntention.ts", "../../src/fieldtypes/ClearingRequirementException.ts", "../../src/fieldtypes/CollAction.ts", "../../src/fieldtypes/CollApplType.ts", "../../src/fieldtypes/CollAsgnReason.ts", "../../src/fieldtypes/CollAsgnRejectReason.ts", "../../src/fieldtypes/CollAsgnRespType.ts", "../../src/fieldtypes/CollAsgnTransType.ts", "../../src/fieldtypes/CollateralAmountType.ts", "../../src/fieldtypes/CollateralReinvestmentType.ts", "../../src/fieldtypes/CollInquiryQualifier.ts", "../../src/fieldtypes/CollInquiryResult.ts", "../../src/fieldtypes/CollInquiryStatus.ts", "../../src/fieldtypes/CollRptRejectReason.ts", "../../src/fieldtypes/CollRptStatus.ts", "../../src/fieldtypes/CollStatus.ts", "../../src/fieldtypes/CommissionAmountSubType.ts", "../../src/fieldtypes/CommissionAmountType.ts", "../../src/fieldtypes/CommodityFinalPriceType.ts", "../../src/fieldtypes/CommType.ts", "../../src/fieldtypes/ComplexEventCondition.ts", "../../src/fieldtypes/ComplexEventCreditEventNotifyingParty.ts", "../../src/fieldtypes/ComplexEventDateOffsetDayType.ts", "../../src/fieldtypes/ComplexEventPeriodType.ts", "../../src/fieldtypes/ComplexEventPriceBoundaryMethod.ts", "../../src/fieldtypes/ComplexEventPriceTimeType.ts", "../../src/fieldtypes/ComplexEventPVFinalPriceElectionFallback.ts", "../../src/fieldtypes/ComplexEventQuoteBasis.ts", "../../src/fieldtypes/ComplexEventType.ts", "../../src/fieldtypes/ComplexOptPayoutTime.ts", "../../src/fieldtypes/ConfirmationMethod.ts", "../../src/fieldtypes/ConfirmRejReason.ts", "../../src/fieldtypes/ConfirmStatus.ts", "../../src/fieldtypes/ConfirmTransType.ts", "../../src/fieldtypes/ConfirmType.ts", "../../src/fieldtypes/ContAmtType.ts", "../../src/fieldtypes/ContingencyType.ts", "../../src/fieldtypes/ContractMultiplierUnit.ts", "../../src/fieldtypes/ContractRefPosType.ts", "../../src/fieldtypes/CorporateAction.ts", "../../src/fieldtypes/CouponDayCount.ts", "../../src/fieldtypes/CouponFrequencyUnit.ts", "../../src/fieldtypes/CouponType.ts", "../../src/fieldtypes/CoveredOrUncovered.ts", "../../src/fieldtypes/CPProgram.ts", "../../src/fieldtypes/CrossedIndicator.ts", "../../src/fieldtypes/CrossPrioritization.ts", "../../src/fieldtypes/CrossType.ts", "../../src/fieldtypes/CurrencyCodeSource.ts", "../../src/fieldtypes/CustOrderCapacity.ts", "../../src/fieldtypes/CustOrderHandlingInst.ts", "../../src/fieldtypes/CustomerOrFirm.ts", "../../src/fieldtypes/CustomerPriority.ts", "../../src/fieldtypes/CxlRejReason.ts", "../../src/fieldtypes/CxlRejResponseTo.ts", "../../src/fieldtypes/DateRollConvention.ts", "../../src/fieldtypes/DayBookingInst.ts", "../../src/fieldtypes/DealingCapacity.ts", "../../src/fieldtypes/DeleteReason.ts", "../../src/fieldtypes/DeliveryForm.ts", "../../src/fieldtypes/DeliveryScheduleSettlDay.ts", "../../src/fieldtypes/DeliveryScheduleSettlFlowType.ts", "../../src/fieldtypes/DeliveryScheduleSettlHolidaysProcessingInstruction.ts", "../../src/fieldtypes/DeliveryScheduleSettlTimeType.ts", "../../src/fieldtypes/DeliveryScheduleToleranceType.ts", "../../src/fieldtypes/DeliveryScheduleType.ts", "../../src/fieldtypes/DeliveryStreamDeliveryPointSource.ts", "../../src/fieldtypes/DeliveryStreamDeliveryRestriction.ts", "../../src/fieldtypes/DeliveryStreamElectingPartySide.ts", "../../src/fieldtypes/DeliveryStreamTitleTransferCondition.ts", "../../src/fieldtypes/DeliveryStreamToleranceOptionSide.ts", "../../src/fieldtypes/DeliveryStreamType.ts", "../../src/fieldtypes/DeliveryType.ts", "../../src/fieldtypes/DeskType.ts", "../../src/fieldtypes/DeskTypeSource.ts", "../../src/fieldtypes/DisclosureInstruction.ts", "../../src/fieldtypes/DisclosureType.ts", "../../src/fieldtypes/DiscretionInst.ts", "../../src/fieldtypes/DiscretionLimitType.ts", "../../src/fieldtypes/DiscretionMoveType.ts", "../../src/fieldtypes/DiscretionOffsetType.ts", "../../src/fieldtypes/DiscretionRoundDirection.ts", "../../src/fieldtypes/DiscretionScope.ts", "../../src/fieldtypes/DisplayMethod.ts", "../../src/fieldtypes/DisplayWhen.ts", "../../src/fieldtypes/DistribPaymentMethod.ts", "../../src/fieldtypes/DividendAmountType.ts", "../../src/fieldtypes/DividendComposition.ts", "../../src/fieldtypes/DividendEntitlementEvent.ts", "../../src/fieldtypes/DKReason.ts", "../../src/fieldtypes/DlvyInstType.ts", "../../src/fieldtypes/DueToRelated.ts", "../../src/fieldtypes/DuplicateClOrdIDIndicator.ts", "../../src/fieldtypes/EmailType.ts", "../../src/fieldtypes/EncryptMethod.ts", "../../src/fieldtypes/EntitlementAttribDatatype.ts", "../../src/fieldtypes/EntitlementRequestResult.ts", "../../src/fieldtypes/EntitlementStatus.ts", "../../src/fieldtypes/EntitlementSubType.ts", "../../src/fieldtypes/EntitlementType.ts", "../../src/fieldtypes/EventInitiatorType.ts", "../../src/fieldtypes/EventTimeUnit.ts", "../../src/fieldtypes/EventType.ts", "../../src/fieldtypes/ExchangeForPhysical.ts", "../../src/fieldtypes/ExDestinationIDSource.ts", "../../src/fieldtypes/ExDestinationType.ts", "../../src/fieldtypes/ExecAckStatus.ts", "../../src/fieldtypes/ExecInst.ts", "../../src/fieldtypes/ExecMethod.ts", "../../src/fieldtypes/ExecPriceType.ts", "../../src/fieldtypes/ExecRestatementReason.ts", "../../src/fieldtypes/ExecTransType.ts", "../../src/fieldtypes/ExecType.ts", "../../src/fieldtypes/ExecTypeReason.ts", "../../src/fieldtypes/ExerciseConfirmationMethod.ts", "../../src/fieldtypes/ExerciseMethod.ts", "../../src/fieldtypes/ExerciseStyle.ts", "../../src/fieldtypes/ExpirationCycle.ts", "../../src/fieldtypes/ExpirationQtyType.ts", "../../src/fieldtypes/ExtraordinaryEventAdjustmentMethod.ts", "../../src/fieldtypes/FinancialStatus.ts", "../../src/fieldtypes/FlowScheduleType.ts", "../../src/fieldtypes/ForexReq.ts", "../../src/fieldtypes/FundingSource.ts", "../../src/fieldtypes/FundRenewWaiv.ts", "../../src/fieldtypes/FXBenchmark.ts", "../../src/fieldtypes/GapFillFlag.ts", "../../src/fieldtypes/GTBookingInst.ts", "../../src/fieldtypes/HaltReason.ts", "../../src/fieldtypes/HandlInst.ts", "../../src/fieldtypes/IDSource.ts", "../../src/fieldtypes/ImpliedMarketIndicator.ts", "../../src/fieldtypes/IncTaxInd.ts", "../../src/fieldtypes/IndividualAllocType.ts", "../../src/fieldtypes/InstrAttribType.ts", "../../src/fieldtypes/InstrmtAssignmentMethod.ts", "../../src/fieldtypes/InstrumentScopeOperator.ts", "../../src/fieldtypes/InTheMoneyCondition.ts", "../../src/fieldtypes/InViewOfCommon.ts", "../../src/fieldtypes/IOINaturalFlag.ts", "../../src/fieldtypes/IOIQltyInd.ts", "../../src/fieldtypes/IOIQty.ts", "../../src/fieldtypes/IOIQualifier.ts", "../../src/fieldtypes/IOIShares.ts", "../../src/fieldtypes/IOITransType.ts", "../../src/fieldtypes/IRSDirection.ts", "../../src/fieldtypes/LastCapacity.ts", "../../src/fieldtypes/LastFragment.ts", "../../src/fieldtypes/LastLiquidityInd.ts", "../../src/fieldtypes/LastRptRequested.ts", "../../src/fieldtypes/LegalConfirm.ts", "../../src/fieldtypes/LegSwapType.ts", "../../src/fieldtypes/LienSeniority.ts", "../../src/fieldtypes/LimitAmtType.ts", "../../src/fieldtypes/LiquidityIndType.ts", "../../src/fieldtypes/ListExecInstType.ts", "../../src/fieldtypes/ListMethod.ts", "../../src/fieldtypes/ListOrderStatus.ts", "../../src/fieldtypes/ListRejectReason.ts", "../../src/fieldtypes/ListStatusType.ts", "../../src/fieldtypes/ListUpdateAction.ts", "../../src/fieldtypes/LoanFacility.ts", "../../src/fieldtypes/LocateReqd.ts", "../../src/fieldtypes/LockType.ts", "../../src/fieldtypes/LotType.ts", "../../src/fieldtypes/MarginAmtType.ts", "../../src/fieldtypes/MarginDirection.ts", "../../src/fieldtypes/MarginReqmtInqQualifier.ts", "../../src/fieldtypes/MarginReqmtInqResult.ts", "../../src/fieldtypes/MarginReqmtRptType.ts", "../../src/fieldtypes/MarketCondition.ts", "../../src/fieldtypes/MarketDisruptionFallbackProvision.ts", "../../src/fieldtypes/MarketDisruptionFallbackUnderlierType.ts", "../../src/fieldtypes/MarketDisruptionProvision.ts", "../../src/fieldtypes/MarketMakerActivity.ts", "../../src/fieldtypes/MarketSegmentRelationship.ts", "../../src/fieldtypes/MarketSegmentStatus.ts", "../../src/fieldtypes/MarketSegmentSubType.ts", "../../src/fieldtypes/MarketSegmentType.ts", "../../src/fieldtypes/MassActionReason.ts", "../../src/fieldtypes/MassActionRejectReason.ts", "../../src/fieldtypes/MassActionResponse.ts", "../../src/fieldtypes/MassActionScope.ts", "../../src/fieldtypes/MassActionType.ts", "../../src/fieldtypes/MassCancelRejectReason.ts", "../../src/fieldtypes/MassCancelRequestType.ts", "../../src/fieldtypes/MassCancelResponse.ts", "../../src/fieldtypes/MassOrderRequestResult.ts", "../../src/fieldtypes/MassOrderRequestStatus.ts", "../../src/fieldtypes/MassStatusReqType.ts", "../../src/fieldtypes/MatchExceptionElementType.ts", "../../src/fieldtypes/MatchExceptionToleranceValueType.ts", "../../src/fieldtypes/MatchExceptionType.ts", "../../src/fieldtypes/MatchInst.ts", "../../src/fieldtypes/MatchingDataPointIndicator.ts", "../../src/fieldtypes/MatchStatus.ts", "../../src/fieldtypes/MatchType.ts", "../../src/fieldtypes/MaturityMonthYearFormat.ts", "../../src/fieldtypes/MaturityMonthYearIncrementUnits.ts", "../../src/fieldtypes/MDBookType.ts", "../../src/fieldtypes/MDEntryType.ts", "../../src/fieldtypes/MDImplicitDelete.ts", "../../src/fieldtypes/MDOriginType.ts", "../../src/fieldtypes/MDReportEvent.ts", "../../src/fieldtypes/MDReqRejReason.ts", "../../src/fieldtypes/MDSecSizeType.ts", "../../src/fieldtypes/MDStatisticIntervalType.ts", "../../src/fieldtypes/MDStatisticRatioType.ts", "../../src/fieldtypes/MDStatisticRequestResult.ts", "../../src/fieldtypes/MDStatisticScope.ts", "../../src/fieldtypes/MDStatisticScopeType.ts", "../../src/fieldtypes/MDStatisticStatus.ts", "../../src/fieldtypes/MDStatisticSubScope.ts", "../../src/fieldtypes/MDStatisticType.ts", "../../src/fieldtypes/MDStatisticValueType.ts", "../../src/fieldtypes/MDUpdateAction.ts", "../../src/fieldtypes/MDUpdateType.ts", "../../src/fieldtypes/MDValueTier.ts", "../../src/fieldtypes/MessageEncoding.ts", "../../src/fieldtypes/MetricsCalculationPriceSource.ts", "../../src/fieldtypes/MinQtyMethod.ts", "../../src/fieldtypes/MiscFeeBasis.ts", "../../src/fieldtypes/MiscFeeQualifier.ts", "../../src/fieldtypes/MiscFeeType.ts", "../../src/fieldtypes/ModelType.ts", "../../src/fieldtypes/MoneyLaunderingStatus.ts", "../../src/fieldtypes/MsgDirection.ts", "../../src/fieldtypes/MsgType.ts", "../../src/fieldtypes/MultiJurisdictionReportingIndicator.ts", "../../src/fieldtypes/MultiLegReportingType.ts", "../../src/fieldtypes/MultiLegRptTypeReq.ts", "../../src/fieldtypes/MultilegModel.ts", "../../src/fieldtypes/MultilegPriceMethod.ts", "../../src/fieldtypes/NBBOEntryType.ts", "../../src/fieldtypes/NBBOSource.ts", "../../src/fieldtypes/NegotiationMethod.ts", "../../src/fieldtypes/NetGrossInd.ts", "../../src/fieldtypes/NetworkRequestType.ts", "../../src/fieldtypes/NetworkStatusResponseType.ts", "../../src/fieldtypes/NewsCategory.ts", "../../src/fieldtypes/NewsRefType.ts", "../../src/fieldtypes/NonCashDividendTreatment.ts", "../../src/fieldtypes/NonDeliverableFixingDateType.ts", "../../src/fieldtypes/NoSides.ts", "../../src/fieldtypes/NotAffectedReason.ts", "../../src/fieldtypes/NotifyBrokerOfCredit.ts", "../../src/fieldtypes/ObligationType.ts", "../../src/fieldtypes/OddLot.ts", "../../src/fieldtypes/OffsetInstruction.ts", "../../src/fieldtypes/OffshoreIndicator.ts", "../../src/fieldtypes/OpenClose.ts", "../../src/fieldtypes/OpenCloseSettleFlag.ts", "../../src/fieldtypes/OpenCloseSettlFlag.ts", "../../src/fieldtypes/OptionExerciseDateType.ts", "../../src/fieldtypes/OptPayoutType.ts", "../../src/fieldtypes/OrderAttributeType.ts", "../../src/fieldtypes/OrderCapacity.ts", "../../src/fieldtypes/OrderCategory.ts", "../../src/fieldtypes/OrderDelayUnit.ts", "../../src/fieldtypes/OrderEntryAction.ts", "../../src/fieldtypes/OrderEventReason.ts", "../../src/fieldtypes/OrderEventType.ts", "../../src/fieldtypes/OrderHandlingInstSource.ts", "../../src/fieldtypes/OrderOrigination.ts", "../../src/fieldtypes/OrderOwnershipIndicator.ts", "../../src/fieldtypes/OrderRelationship.ts", "../../src/fieldtypes/OrderResponseLevel.ts", "../../src/fieldtypes/OrderRestrictions.ts", "../../src/fieldtypes/OrdRejReason.ts", "../../src/fieldtypes/OrdStatus.ts", "../../src/fieldtypes/OrdType.ts", "../../src/fieldtypes/OrigCustOrderCapacity.ts", "../../src/fieldtypes/OwnershipType.ts", "../../src/fieldtypes/OwnerType.ts", "../../src/fieldtypes/PartyActionRejectReason.ts", "../../src/fieldtypes/PartyActionResponse.ts", "../../src/fieldtypes/PartyActionType.ts", "../../src/fieldtypes/PartyDetailDefinitionStatus.ts", "../../src/fieldtypes/PartyDetailRequestResult.ts", "../../src/fieldtypes/PartyDetailRequestStatus.ts", "../../src/fieldtypes/PartyDetailRoleQualifier.ts", "../../src/fieldtypes/PartyDetailStatus.ts", "../../src/fieldtypes/PartyIDSource.ts", "../../src/fieldtypes/PartyRelationship.ts", "../../src/fieldtypes/PartyRiskLimitStatus.ts", "../../src/fieldtypes/PartyRole.ts", "../../src/fieldtypes/PartySubIDType.ts", "../../src/fieldtypes/PaymentDateOffsetDayType.ts", "../../src/fieldtypes/PaymentForwardStartType.ts", "../../src/fieldtypes/PaymentMethod.ts", "../../src/fieldtypes/PaymentPaySide.ts", "../../src/fieldtypes/PaymentScheduleStepRelativeTo.ts", "../../src/fieldtypes/PaymentScheduleType.ts", "../../src/fieldtypes/PaymentSettlStyle.ts", "../../src/fieldtypes/PaymentStreamAveragingMethod.ts", "../../src/fieldtypes/PaymentStreamCapRateBuySide.ts", "../../src/fieldtypes/PaymentStreamCompoundingMethod.ts", "../../src/fieldtypes/PaymentStreamDiscountType.ts", "../../src/fieldtypes/PaymentStreamFloorRateBuySide.ts", "../../src/fieldtypes/PaymentStreamFRADiscounting.ts", "../../src/fieldtypes/PaymentStreamInflationInterpolationMethod.ts", "../../src/fieldtypes/PaymentStreamInflationLagDayType.ts", "../../src/fieldtypes/PaymentStreamInflationLagUnit.ts", "../../src/fieldtypes/PaymentStreamInterpolationPeriod.ts", "../../src/fieldtypes/PaymentStreamLinkStrikePriceType.ts", "../../src/fieldtypes/PaymentStreamNegativeRateTreatment.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetDayType.ts", "../../src/fieldtypes/PaymentStreamPaymentDateOffsetUnit.ts", "../../src/fieldtypes/PaymentStreamPaymentFrequencyUnit.ts", "../../src/fieldtypes/PaymentStreamPricingDayDistribution.ts", "../../src/fieldtypes/PaymentStreamPricingDayOfWeek.ts", "../../src/fieldtypes/PaymentStreamRateIndexCurveUnit.ts", "../../src/fieldtypes/PaymentStreamRateIndexSource.ts", "../../src/fieldtypes/PaymentStreamRateSpreadPositionType.ts", "../../src/fieldtypes/PaymentStreamRateSpreadType.ts", "../../src/fieldtypes/PaymentStreamRateTreatment.ts", "../../src/fieldtypes/PaymentStreamRealizedVarianceMethod.ts", "../../src/fieldtypes/PaymentStreamResetWeeklyRollConvention.ts", "../../src/fieldtypes/PaymentStreamSettlLevel.ts", "../../src/fieldtypes/PaymentStreamType.ts", "../../src/fieldtypes/PaymentStubLength.ts", "../../src/fieldtypes/PaymentStubType.ts", "../../src/fieldtypes/PaymentSubType.ts", "../../src/fieldtypes/PaymentType.ts", "../../src/fieldtypes/PayReportStatus.ts", "../../src/fieldtypes/PayReportTransType.ts", "../../src/fieldtypes/PayRequestStatus.ts", "../../src/fieldtypes/PayRequestTransType.ts", "../../src/fieldtypes/PegLimitType.ts", "../../src/fieldtypes/PegMoveType.ts", "../../src/fieldtypes/PegOffsetType.ts", "../../src/fieldtypes/PegPriceType.ts", "../../src/fieldtypes/PegRoundDirection.ts", "../../src/fieldtypes/PegScope.ts", "../../src/fieldtypes/PosAmtReason.ts", "../../src/fieldtypes/PosAmtType.ts", "../../src/fieldtypes/PositionCapacity.ts", "../../src/fieldtypes/PositionEffect.ts", "../../src/fieldtypes/PosMaintAction.ts", "../../src/fieldtypes/PosMaintResult.ts", "../../src/fieldtypes/PosMaintStatus.ts", "../../src/fieldtypes/PosQtyStatus.ts", "../../src/fieldtypes/PosReqResult.ts", "../../src/fieldtypes/PosReqStatus.ts", "../../src/fieldtypes/PosReqType.ts", "../../src/fieldtypes/PossDupFlag.ts", "../../src/fieldtypes/PossResend.ts", "../../src/fieldtypes/PosTransType.ts", "../../src/fieldtypes/PosType.ts", "../../src/fieldtypes/PostTradePaymentDebitOrCredit.ts", "../../src/fieldtypes/PostTradePaymentStatus.ts", "../../src/fieldtypes/PreallocMethod.ts", "../../src/fieldtypes/PreviouslyReported.ts", "../../src/fieldtypes/PriceLimitType.ts", "../../src/fieldtypes/PriceMovementType.ts", "../../src/fieldtypes/PriceProtectionScope.ts", "../../src/fieldtypes/PriceQualifier.ts", "../../src/fieldtypes/PriceQuoteMethod.ts", "../../src/fieldtypes/PriceType.ts", "../../src/fieldtypes/PriorityIndicator.ts", "../../src/fieldtypes/PrivateQuote.ts", "../../src/fieldtypes/ProcessCode.ts", "../../src/fieldtypes/Product.ts", "../../src/fieldtypes/ProgRptReqs.ts", "../../src/fieldtypes/ProtectionTermEventDayType.ts", "../../src/fieldtypes/ProtectionTermEventQualifier.ts", "../../src/fieldtypes/ProtectionTermEventUnit.ts", "../../src/fieldtypes/ProvisionBreakFeeElection.ts", "../../src/fieldtypes/ProvisionCalculationAgent.ts", "../../src/fieldtypes/ProvisionCashSettlMethod.ts", "../../src/fieldtypes/ProvisionCashSettlPaymentDateType.ts", "../../src/fieldtypes/ProvisionCashSettlQuoteType.ts", "../../src/fieldtypes/ProvisionDateTenorUnit.ts", "../../src/fieldtypes/ProvisionOptionExerciseEarliestDateOffsetUnit.ts", "../../src/fieldtypes/ProvisionOptionExerciseFixedDateType.ts", "../../src/fieldtypes/ProvisionOptionSinglePartyBuyerSide.ts", "../../src/fieldtypes/ProvisionType.ts", "../../src/fieldtypes/PublishTrdIndicator.ts", "../../src/fieldtypes/PutOrCall.ts", "../../src/fieldtypes/QtyType.ts", "../../src/fieldtypes/QuoteAckStatus.ts", "../../src/fieldtypes/QuoteAttributeType.ts", "../../src/fieldtypes/QuoteCancelType.ts", "../../src/fieldtypes/QuoteCondition.ts", "../../src/fieldtypes/QuoteEntryRejectReason.ts", "../../src/fieldtypes/QuoteEntryStatus.ts", "../../src/fieldtypes/QuoteModelType.ts", "../../src/fieldtypes/QuotePriceType.ts", "../../src/fieldtypes/QuoteRejectReason.ts", "../../src/fieldtypes/QuoteRequestRejectReason.ts", "../../src/fieldtypes/QuoteRequestType.ts", "../../src/fieldtypes/QuoteResponseLevel.ts", "../../src/fieldtypes/QuoteRespType.ts", "../../src/fieldtypes/QuoteSideIndicator.ts", "../../src/fieldtypes/QuoteStatus.ts", "../../src/fieldtypes/QuoteType.ts", "../../src/fieldtypes/RateSource.ts", "../../src/fieldtypes/RateSourceType.ts", "../../src/fieldtypes/ReferenceDataDateType.ts", "../../src/fieldtypes/ReferenceEntityType.ts", "../../src/fieldtypes/RefOrderIDSource.ts", "../../src/fieldtypes/RefOrdIDReason.ts", "../../src/fieldtypes/RefRiskLimitCheckIDType.ts", "../../src/fieldtypes/RegistRejReasonCode.ts", "../../src/fieldtypes/RegistStatus.ts", "../../src/fieldtypes/RegistTransType.ts", "../../src/fieldtypes/RegulatoryReportType.ts", "../../src/fieldtypes/RegulatoryTradeIDEvent.ts", "../../src/fieldtypes/RegulatoryTradeIDScope.ts", "../../src/fieldtypes/RegulatoryTradeIDSource.ts", "../../src/fieldtypes/RegulatoryTradeIDType.ts", "../../src/fieldtypes/RegulatoryTransactionType.ts", "../../src/fieldtypes/RelatedInstrumentType.ts", "../../src/fieldtypes/RelatedOrderIDSource.ts", "../../src/fieldtypes/RelatedPositionIDSource.ts", "../../src/fieldtypes/RelatedPriceSource.ts", "../../src/fieldtypes/RelatedTradeIDSource.ts", "../../src/fieldtypes/RelativeValueSide.ts", "../../src/fieldtypes/RelativeValueType.ts", "../../src/fieldtypes/ReleaseInstruction.ts", "../../src/fieldtypes/RemunerationIndicator.ts", "../../src/fieldtypes/ReportToExch.ts", "../../src/fieldtypes/RequestResult.ts", "../../src/fieldtypes/ResetSeqNumFlag.ts", "../../src/fieldtypes/RespondentType.ts", "../../src/fieldtypes/ResponseTransportType.ts", "../../src/fieldtypes/RestructuringType.ts", "../../src/fieldtypes/ReturnRateDateMode.ts", "../../src/fieldtypes/ReturnRatePriceBasis.ts", "../../src/fieldtypes/ReturnRatePriceSequence.ts", "../../src/fieldtypes/ReturnRatePriceType.ts", "../../src/fieldtypes/ReturnRateQuoteTimeType.ts", "../../src/fieldtypes/ReturnRateValuationPriceOption.ts", "../../src/fieldtypes/ReturnTrigger.ts", "../../src/fieldtypes/RiskLimitAction.ts", "../../src/fieldtypes/RiskLimitCheckModelType.ts", "../../src/fieldtypes/RiskLimitCheckRequestResult.ts", "../../src/fieldtypes/RiskLimitCheckRequestStatus.ts", "../../src/fieldtypes/RiskLimitCheckRequestType.ts", "../../src/fieldtypes/RiskLimitCheckStatus.ts", "../../src/fieldtypes/RiskLimitCheckTransType.ts", "../../src/fieldtypes/RiskLimitCheckType.ts", "../../src/fieldtypes/RiskLimitReportRejectReason.ts", "../../src/fieldtypes/RiskLimitReportStatus.ts", "../../src/fieldtypes/RiskLimitRequestResult.ts", "../../src/fieldtypes/RiskLimitRequestType.ts", "../../src/fieldtypes/RiskLimitType.ts", "../../src/fieldtypes/RoundingDirection.ts", "../../src/fieldtypes/RoutingArrangementIndicator.ts", "../../src/fieldtypes/RoutingType.ts", "../../src/fieldtypes/Rule80A.ts", "../../src/fieldtypes/Scope.ts", "../../src/fieldtypes/SecurityClassificationReason.ts", "../../src/fieldtypes/SecurityIDSource.ts", "../../src/fieldtypes/SecurityListRequestType.ts", "../../src/fieldtypes/SecurityListType.ts", "../../src/fieldtypes/SecurityListTypeSource.ts", "../../src/fieldtypes/SecurityRejectReason.ts", "../../src/fieldtypes/SecurityRequestResult.ts", "../../src/fieldtypes/SecurityRequestType.ts", "../../src/fieldtypes/SecurityResponseType.ts", "../../src/fieldtypes/SecurityStatus.ts", "../../src/fieldtypes/SecurityTradingEvent.ts", "../../src/fieldtypes/SecurityTradingStatus.ts", "../../src/fieldtypes/SecurityType.ts", "../../src/fieldtypes/SecurityUpdateAction.ts", "../../src/fieldtypes/SelfMatchPreventionInstruction.ts", "../../src/fieldtypes/Seniority.ts", "../../src/fieldtypes/SessionRejectReason.ts", "../../src/fieldtypes/SessionStatus.ts", "../../src/fieldtypes/SettlCurrFxRateCalc.ts", "../../src/fieldtypes/SettlDeliveryType.ts", "../../src/fieldtypes/SettlDisruptionProvision.ts", "../../src/fieldtypes/SettlInstMode.ts", "../../src/fieldtypes/SettlInstReqRejCode.ts", "../../src/fieldtypes/SettlInstSource.ts", "../../src/fieldtypes/SettlInstTransType.ts", "../../src/fieldtypes/SettlLocation.ts", "../../src/fieldtypes/SettlMethod.ts", "../../src/fieldtypes/SettlmntTyp.ts", "../../src/fieldtypes/SettlObligMode.ts", "../../src/fieldtypes/SettlObligSource.ts", "../../src/fieldtypes/SettlObligTransType.ts", "../../src/fieldtypes/SettlPriceDeterminationMethod.ts", "../../src/fieldtypes/SettlPriceType.ts", "../../src/fieldtypes/SettlSessID.ts", "../../src/fieldtypes/SettlStatusReportStatus.ts", "../../src/fieldtypes/SettlStatusRequestStatus.ts", "../../src/fieldtypes/SettlSubMethod.ts", "../../src/fieldtypes/SettlType.ts", "../../src/fieldtypes/ShortSaleExemptionReason.ts", "../../src/fieldtypes/ShortSaleReason.ts", "../../src/fieldtypes/ShortSaleRestriction.ts", "../../src/fieldtypes/Side.ts", "../../src/fieldtypes/SideClearingTradePriceType.ts", "../../src/fieldtypes/SideMultiLegReportingType.ts", "../../src/fieldtypes/SideValueInd.ts", "../../src/fieldtypes/SingleQuoteIndicator.ts", "../../src/fieldtypes/SolicitedFlag.ts", "../../src/fieldtypes/StandInstDbType.ts", "../../src/fieldtypes/StatsType.ts", "../../src/fieldtypes/StatusValue.ts", "../../src/fieldtypes/StipulationType.ts", "../../src/fieldtypes/StrategyParameterType.ts", "../../src/fieldtypes/StrategyType.ts", "../../src/fieldtypes/StreamAsgnAckType.ts", "../../src/fieldtypes/StreamAsgnRejReason.ts", "../../src/fieldtypes/StreamAsgnReqType.ts", "../../src/fieldtypes/StreamAsgnType.ts", "../../src/fieldtypes/StreamCommodityDataSourceIDType.ts", "../../src/fieldtypes/StreamCommodityNearbySettlDayUnit.ts", "../../src/fieldtypes/StreamCommoditySettlDateRollUnit.ts", "../../src/fieldtypes/StreamNotionalAdjustments.ts", "../../src/fieldtypes/StreamNotionalCommodityFrequency.ts", "../../src/fieldtypes/StreamType.ts", "../../src/fieldtypes/StrikeIndexQuote.ts", "../../src/fieldtypes/StrikePriceBoundaryMethod.ts", "../../src/fieldtypes/StrikePriceDeterminationMethod.ts", "../../src/fieldtypes/SubscriptionRequestType.ts", "../../src/fieldtypes/SwapClass.ts", "../../src/fieldtypes/SwapSubClass.ts", "../../src/fieldtypes/SymbolSfx.ts", "../../src/fieldtypes/TargetStrategy.ts", "../../src/fieldtypes/TaxAdvantageType.ts", "../../src/fieldtypes/TaxonomyType.ts", "../../src/fieldtypes/TerminationType.ts", "../../src/fieldtypes/TestActionRequestStatus.ts", "../../src/fieldtypes/TestActionType.ts", "../../src/fieldtypes/TestGatewayDetailType.ts", "../../src/fieldtypes/TestMessageIndicator.ts", "../../src/fieldtypes/TestSuiteActivityState.ts", "../../src/fieldtypes/TestSuiteRequestStatus.ts", "../../src/fieldtypes/TestSuiteRequestTransType.ts", "../../src/fieldtypes/TestSuiteStatus.ts", "../../src/fieldtypes/TestThresholdType.ts", "../../src/fieldtypes/ThrottleAction.ts", "../../src/fieldtypes/ThrottleCountIndicator.ts", "../../src/fieldtypes/ThrottleInst.ts", "../../src/fieldtypes/ThrottleStatus.ts", "../../src/fieldtypes/ThrottleType.ts", "../../src/fieldtypes/TickDirection.ts", "../../src/fieldtypes/TickRuleType.ts", "../../src/fieldtypes/TimeInForce.ts", "../../src/fieldtypes/TimeUnit.ts", "../../src/fieldtypes/TradeAggregationRejectReason.ts", "../../src/fieldtypes/TradeAggregationRequestStatus.ts", "../../src/fieldtypes/TradeAggregationTransType.ts", "../../src/fieldtypes/TradeAllocGroupInstruction.ts", "../../src/fieldtypes/TradeAllocIndicator.ts", "../../src/fieldtypes/TradeAllocStatus.ts", "../../src/fieldtypes/TradeCollateralization.ts", "../../src/fieldtypes/TradeCondition.ts", "../../src/fieldtypes/TradeContingency.ts", "../../src/fieldtypes/TradeContinuation.ts", "../../src/fieldtypes/TradedFlatSwitch.ts", "../../src/fieldtypes/TradeHandlingInstr.ts", "../../src/fieldtypes/TradeMatchAckStatus.ts", "../../src/fieldtypes/TradeMatchRejectReason.ts", "../../src/fieldtypes/TradePriceCondition.ts", "../../src/fieldtypes/TradePriceNegotiationMethod.ts", "../../src/fieldtypes/TradePublishIndicator.ts", "../../src/fieldtypes/TradeQtyType.ts", "../../src/fieldtypes/TradeReportingIndicator.ts", "../../src/fieldtypes/TradeReportRejectReason.ts", "../../src/fieldtypes/TradeReportTransType.ts", "../../src/fieldtypes/TradeReportType.ts", "../../src/fieldtypes/TradeRequestResult.ts", "../../src/fieldtypes/TradeRequestStatus.ts", "../../src/fieldtypes/TradeRequestType.ts", "../../src/fieldtypes/TradeType.ts", "../../src/fieldtypes/TradeVolType.ts", "../../src/fieldtypes/TradingCapacity.ts", "../../src/fieldtypes/TradingSessionID.ts", "../../src/fieldtypes/TradingSessionSubID.ts", "../../src/fieldtypes/TradSesControl.ts", "../../src/fieldtypes/TradSesEvent.ts", "../../src/fieldtypes/TradSesMethod.ts", "../../src/fieldtypes/TradSesMode.ts", "../../src/fieldtypes/TradSesStatus.ts", "../../src/fieldtypes/TradSesStatusRejReason.ts", "../../src/fieldtypes/TransactionAttributeType.ts", "../../src/fieldtypes/TransferRejectReason.ts", "../../src/fieldtypes/TransferReportType.ts", "../../src/fieldtypes/TransferScope.ts", "../../src/fieldtypes/TransferStatus.ts", "../../src/fieldtypes/TransferTransType.ts", "../../src/fieldtypes/TransferType.ts", "../../src/fieldtypes/TrdAckStatus.ts", "../../src/fieldtypes/TrdRegPublicationReason.ts", "../../src/fieldtypes/TrdRegPublicationType.ts", "../../src/fieldtypes/TrdRegTimestampManualIndicator.ts", "../../src/fieldtypes/TrdRegTimestampType.ts", "../../src/fieldtypes/TrdRptStatus.ts", "../../src/fieldtypes/TrdSubType.ts", "../../src/fieldtypes/TrdType.ts", "../../src/fieldtypes/TriggerAction.ts", "../../src/fieldtypes/Triggered.ts", "../../src/fieldtypes/TriggerOrderType.ts", "../../src/fieldtypes/TriggerPriceDirection.ts", "../../src/fieldtypes/TriggerPriceType.ts", "../../src/fieldtypes/TriggerPriceTypeScope.ts", "../../src/fieldtypes/TriggerScope.ts", "../../src/fieldtypes/TriggerType.ts", "../../src/fieldtypes/UnderlyingCashType.ts", "../../src/fieldtypes/UnderlyingFXRateCalc.ts", "../../src/fieldtypes/UnderlyingNotionalAdjustments.ts", "../../src/fieldtypes/UnderlyingObligationType.ts", "../../src/fieldtypes/UnderlyingPriceDeterminationMethod.ts", "../../src/fieldtypes/UnderlyingSettlementType.ts", "../../src/fieldtypes/UnitOfMeasure.ts", "../../src/fieldtypes/UnsolicitedIndicator.ts", "../../src/fieldtypes/UpfrontPriceType.ts", "../../src/fieldtypes/Urgency.ts", "../../src/fieldtypes/UserRequestType.ts", "../../src/fieldtypes/UserStatus.ts", "../../src/fieldtypes/ValuationMethod.ts", "../../src/fieldtypes/ValueCheckAction.ts", "../../src/fieldtypes/ValueCheckType.ts", "../../src/fieldtypes/VenueType.ts", "../../src/fieldtypes/VerificationMethod.ts", "../../src/fieldtypes/WorkingIndicator.ts", "../../src/fieldtypes/YieldType.ts", "../../src/util/timestamp.ts", "../../src/util/util.ts", "../../src/message/Message.ts", "../../src/FIXParserBase.ts", "../../../fixparser-plugin-log-console/src/ConsoleLogTransport.ts", "../../src/logger/Logger.ts", "../../src/messagetemplates/MessageTemplates.ts", "../../src/session/SessionLogon.ts", "../../src/session/SessionLogout.ts", "../../src/session/SessionResendRequest.ts", "../../src/session/SessionSequence.ts", "../../src/session/SessionSequenceReset.ts", "../../src/session/SessionTestRequest.ts", "../../src/session/ClientMessageProcessor.ts"],
"sourcesContent": ["import { type IMessageStore, type IPlugin, MessageBuffer } from 'fixparser-common';\nimport type { ProxyAgent } from 'proxy-agent';\nimport {\n type BaseOptions,\n type ConnectionType,\n FIXParserBase,\n type Options as FIXParserOptions,\n type Protocol,\n} from './FIXParserBase.ts';\nimport { Field } from './fields/Field.ts';\nimport type { IFIXParser } from './IFIXParser.ts';\nimport { LicenseManager } from './licensemanager/LicenseManager.ts';\nimport { Logger, type LogOptions } from './logger/Logger.ts';\nimport { Message } from './message/Message.ts';\nimport { heartBeat } from './messagetemplates/MessageTemplates.ts';\nimport { clientProcessMessage } from './session/ClientMessageProcessor.ts';\nimport {\n DEFAULT_FIX_VERSION,\n DEFAULT_HEARTBEAT_SECONDS,\n type Parser,\n type PickWithOptionality,\n parseFixVersion,\n READY_MS,\n timestamp,\n type Version,\n version,\n} from './util/util.ts';\n\n/**\n * Browser-specific FIXParser options that extend the base options.\n * @public\n */\nexport type Options = PickWithOptionality<\n FIXParserOptions,\n | 'host'\n | 'port'\n | 'sender'\n | 'target'\n | 'heartbeatIntervalSeconds'\n | 'fixVersion'\n | 'messageStoreIn'\n | 'messageStoreOut'\n | 'onMessage'\n | 'onOpen'\n | 'onError'\n | 'onClose'\n | 'onReady'\n>;\n\n/**\n * Browser-specific implementation of the FIXParser interface.\n * This class provides WebSocket-based FIX communication capabilities for browser environments.\n */\nclass FIXParserBrowser implements IFIXParser {\n /* FIXParser Version */\n public static readonly version: Version = version;\n /* Name of current parser name */\n public readonly parserName: Parser = 'FIXParserBrowser';\n /* Instance of FIXParser base class */\n public readonly fixParserBase: FIXParserBase = new FIXParserBase();\n /* Heartbeat interval ID */\n public heartBeatIntervalId: ReturnType<typeof setInterval> | undefined = undefined;\n /* Websocket connection */\n public socket: WebSocket | undefined = undefined;\n /* Current connection status */\n public connected = false;\n /* Target hostname or IP address */\n public host: string | undefined = undefined;\n /* Target port */\n public port: number | undefined = undefined;\n /* Type of protocol (always 'websocket' for browser implementation) */\n public protocol: Protocol | undefined = 'websocket';\n /* Assigned value used to identify firm sending message, SenderCompID tag 49 */\n public sender: string | undefined = undefined;\n /* Assigned value used to identify receiving firm, TargetCompID tag 56 */\n public target: string | undefined = undefined;\n /* Heartbeat interval in seconds */\n public heartBeatInterval: number = DEFAULT_HEARTBEAT_SECONDS;\n /* Protocol version, used by BeginString tag 8 */\n public fixVersion: string = DEFAULT_FIX_VERSION;\n /* Message buffer of 2500 incoming messages */\n public messageStoreIn: IMessageStore<Message> = new MessageBuffer();\n /* Message buffer of 2500 outgoing messages */\n public messageStoreOut: IMessageStore<Message> = new MessageBuffer();\n /* Indicates whether this instance is acceptor or initiator */\n public connectionType: ConnectionType = 'initiator';\n /* Logger instance */\n public logger: Logger = new Logger();\n /* Whether logging is enabled */\n public logging = true;\n /* Log options */\n public logOptions: LogOptions | undefined;\n /* Proxy configuration */\n public proxy?: ProxyAgent;\n\n private onMessageCallbacks: Options['onMessage'][] = [];\n private onOpenCallbacks: Options['onOpen'][] = [];\n private onErrorCallbacks: Options['onError'][] = [];\n private onCloseCallbacks: Options['onClose'][] = [];\n private onReadyCallbacks: Options['onReady'][] = [];\n\n /**\n * Constructor for initializing the FIXParserBrowser instance with the provided options.\n *\n * @param {BaseOptions} [options={ logging: true, logOptions: undefined, fixVersion: DEFAULT_FIX_VERSION, skipValidation: false }] - The options to configure the instance.\n * @param {boolean} [options.logging=true] - Whether logging is enabled (defaults to `true`).\n * @param {LogOptions} [options.logOptions=undefined] - Options to customize logging behavior.\n * @param {string} [options.fixVersion=DEFAULT_FIX_VERSION] - The FIX protocol version to use (defaults to `DEFAULT_FIX_VERSION`).\n * @param {boolean} [options.skipValidation=false] - Whether to skip validation of FIX messages (defaults to `false`).\n */\n constructor(\n options: BaseOptions & {\n plugins?: Array<IPlugin<FIXParserBrowser>>;\n } = { logging: true, logOptions: undefined, fixVersion: DEFAULT_FIX_VERSION, skipValidation: false },\n ) {\n this.logging = options.logging ?? true;\n this.logOptions = options.logOptions;\n this.fixParserBase.fixVersion = parseFixVersion(options.fixVersion);\n this.fixVersion = this.fixParserBase.fixVersion;\n this.fixParserBase.skipValidation = options.skipValidation;\n\n if (options.plugins) {\n for (const plugin of options.plugins) {\n void plugin.register(this);\n }\n }\n }\n\n /**\n * Registers a callback function to be invoked when a FIX message is received.\n * Multiple callbacks can be registered, and all will be triggered in the order they were added.\n *\n * @param {Options['onMessage']} callback - The callback function to handle incoming FIX messages.\n */\n public addOnMessageCallback(callback: Options['onMessage']) {\n this.onMessageCallbacks.push(callback);\n }\n\n /**\n * Registers a callback function to be invoked when the FIX connection is successfully established.\n * Multiple callbacks can be registered, and all will be triggered in the order they were added.\n *\n * @param {Options['onOpen']} callback - The callback function to handle connection opening.\n */\n public addOnOpenCallback(callback: Options['onOpen']) {\n this.onOpenCallbacks.push(callback);\n }\n\n /**\n * Registers a callback function to be invoked when a FIX connection error occurs.\n * Multiple callbacks can be registered, and all will be triggered in the order they were added.\n *\n * @param {Options['onError']} callback - The callback function to handle connection errors.\n */\n public addOnErrorCallback(callback: Options['onError']) {\n this.onErrorCallbacks.push(callback);\n }\n\n /**\n * Registers a callback function to be invoked when the FIX connection is closed.\n * Multiple callbacks can be registered, and all will be triggered in the order they were added.\n *\n * @param {Options['onClose']} callback - The callback function to handle connection closure.\n */\n public addOnCloseCallback(callback: Options['onClose']) {\n this.onCloseCallbacks.push(callback);\n }\n\n /**\n * Registers a callback function to be invoked when the FIX connection is ready for use.\n * Multiple callbacks can be registered, and all will be triggered in the order they were added.\n *\n * @param {Options['onReady']} callback - The callback function to handle connection readiness.\n */\n public addOnReadyCallback(callback: Options['onReady']) {\n this.onReadyCallbacks.push(callback);\n }\n\n private triggerOnMessage(message: Message) {\n for (const cb of this.onMessageCallbacks) {\n cb?.(message);\n }\n }\n\n private triggerOnOpen() {\n for (const cb of this.onOpenCallbacks) {\n cb?.();\n }\n }\n\n private triggerOnError(error: Error) {\n for (const cb of this.onErrorCallbacks) {\n cb?.(error);\n }\n }\n\n private triggerOnClose() {\n for (const cb of this.onCloseCallbacks) {\n cb?.();\n }\n }\n\n private triggerOnReady() {\n for (const cb of this.onReadyCallbacks) {\n cb?.();\n }\n }\n\n /**\n * Callback function that is invoked when a FIX message is received.\n *\n * @param {Message} message - The received FIX message.\n */\n public onMessageCallback: Options['onMessage'] = () => {};\n\n /**\n * Callback function that is invoked when the FIX connection is established.\n */\n public onOpenCallback: Options['onOpen'] = () => {};\n\n /**\n * Callback function that is invoked when a FIX connection error occurs.\n *\n * @param {Error} error - The error that occurred.\n */\n public onErrorCallback: Options['onError'] = () => {};\n\n /**\n * Callback function that is invoked when the FIX connection is closed.\n */\n public onCloseCallback: Options['onClose'] = () => {};\n\n /**\n * Callback function that is invoked when the FIX connection is ready for use.\n */\n public onReadyCallback: Options['onReady'] = () => {};\n\n /**\n * Establishes a connection to a FIX server using the specified options. The connection\n * is made via the WebSocket protocol, and various callbacks can be provided to handle\n * events like message reception, connection opening, errors, and closure.\n *\n * - Sets up logging with optional configurations.\n * - Validates the license before proceeding with the connection.\n * - Initializes connection parameters including sender, target, and heartbeat interval.\n * - Establishes the connection over WebSocket by calling `connectWebsocket()`.\n *\n * @param {Options} [options={}] - The configuration options for the connection.\n * @param {string} [options.host='localhost'] - The host address of the FIX server.\n * @param {number} [options.port=9878] - The port number for the FIX server.\n * @param {string} [options.sender='SENDER'] - The sender identifier for the connection.\n * @param {string} [options.target='TARGET'] - The target identifier for the connection.\n * @param {number} [options.heartbeatIntervalSeconds=DEFAULT_HEARTBEAT_SECONDS] - The heartbeat interval in seconds.\n * @param {string} [options.messageStoreIn=new MessageBuffer()] - Optional custom message buffer for incoming messages.\n * @param {string} [options.messageStoreOut=new MessageBuffer()] - Optional custom message buffer for outgoing messages.\n * @param {function} [options.onMessage=this.onMessageCallback] - Callback for handling incoming messages.\n * @param {function} [options.onOpen=this.onOpenCallback] - Callback for handling connection open event.\n * @param {function} [options.onError=this.onErrorCallback] - Callback for handling errors.\n * @param {function} [options.onClose=this.onCloseCallback] - Callback for handling connection close event.\n * @param {function} [options.onReady=this.onReadyCallback] - Callback for handling ready event.\n *\n * @returns {void}\n */\n public connect(options: Options = {}): void {\n const {\n host = 'localhost',\n port = 9878,\n sender = 'SENDER',\n target = 'TARGET',\n heartbeatIntervalSeconds = DEFAULT_HEARTBEAT_SECONDS,\n fixVersion = this.fixVersion,\n messageStoreIn = new MessageBuffer(),\n messageStoreOut = new MessageBuffer(),\n onMessage = this.onMessageCallback,\n onOpen = this.onOpenCallback,\n onError = this.onErrorCallback,\n onClose = this.onCloseCallback,\n onReady = this.onReadyCallback,\n } = options;\n this.logger = new Logger(\n this.logOptions\n ? {\n name: this.logOptions.name ?? 'fixparser-browser',\n ...this.logOptions,\n }\n : {\n name: 'fixparser-browser',\n format: 'json',\n },\n );\n if (!this.logging) {\n this.logger.silent = true;\n }\n if (!LicenseManager.validateLicense()) {\n throw new Error(LicenseManager.ERROR_MESSAGE_NO_LICENSE);\n }\n this.connectionType = 'initiator';\n this.fixVersion = parseFixVersion(fixVersion);\n this.fixParserBase.fixVersion = parseFixVersion(fixVersion);\n this.messageStoreIn = messageStoreIn;\n this.messageStoreOut = messageStoreOut;\n this.sender = sender;\n this.target = target;\n this.port = port;\n this.host = host;\n this.protocol = 'websocket';\n this.heartBeatInterval = heartbeatIntervalSeconds;\n\n this.onMessageCallback = onMessage;\n this.onOpenCallback = onOpen;\n this.onErrorCallback = onError;\n this.onCloseCallback = onClose;\n this.onReadyCallback = onReady;\n\n this.connectWebsocket();\n }\n\n /**\n * Establishes a WebSocket connection to the FIX server. This method configures event listeners\n * for WebSocket events such as connection opening, closing, message reception, and logging the events.\n *\n * - Builds the WebSocket URL based on the provided host and port.\n * - Sets up event listeners for `open`, `close`, and `message` events.\n * - Logs connection status and relevant details such as `readyState` during connection and closure.\n * - On receiving a message, it is parsed using `fixParserBase.parse()`, and each parsed message is processed and passed to the callback functions.\n * - The `onOpenCallback`, `onCloseCallback`, `onMessageCallback` methods are invoked when corresponding events occur.\n * - The heartbeat mechanism is stopped when the connection closes.\n *\n * @returns {void}\n */\n private connectWebsocket() {\n this.socket = new WebSocket(\n String(this.host).indexOf('ws://') === -1 && String(this.host).indexOf('wss://') === -1\n ? `ws://${this.host}:${this.port}`\n : `${this.host}:${this.port}`,\n );\n this.socket.addEventListener('open', (event) => {\n this.connected = true;\n this.logger.log({\n level: 'info',\n message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connected: ${event.target}, readyState: ${\n this.socket?.readyState\n }`,\n });\n this.onOpenCallback?.();\n this.triggerOnOpen();\n setTimeout(() => this.triggerOnReady(), READY_MS);\n });\n this.socket.addEventListener('close', (event) => {\n this.connected = false;\n this.logger.log({\n level: 'info',\n message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connection closed: ${event.target}, readyState: ${\n this.socket?.readyState\n }`,\n });\n this.onCloseCallback?.();\n this.triggerOnClose();\n this.stopHeartbeat();\n });\n this.socket.addEventListener('error', (event) => {\n this.logger.log({\n level: 'error',\n message: `FIXParser (${this.protocol?.toUpperCase()}): -- Connection error: ${event.target}, readyState: ${\n this.socket?.readyState\n }`,\n });\n this.onErrorCallback?.(new Error('Connection error'));\n this.triggerOnError(new Error('Connection error'));\n });\n this.socket.addEventListener('message', (event) => {\n const messages: Message[] = this.fixParserBase.parse(event.data as string);\n let i = 0;\n for (i; i < messages.length; i++) {\n clientProcessMessage(this, messages[i]);\n this.messageStoreIn.add(messages[i]);\n this.onMessageCallback?.(messages[i]);\n this.triggerOnMessage(messages[i]);\n }\n });\n }\n\n /**\n * Ge