jspurefix 3.2.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/examples/FIX.4.4/fix.txt +50 -50
- package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser.js +14 -4
- package/dist/buffer/ascii/ascii-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-segment-parser-error.d.ts +5 -0
- package/dist/buffer/ascii/ascii-segment-parser-error.js +11 -0
- package/dist/buffer/ascii/ascii-segment-parser-error.js.map +1 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.d.ts +12 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.js +3 -0
- package/dist/buffer/ascii/ascii-segment-parser-summary.js.map +1 -0
- package/dist/buffer/ascii/ascii-segment-parser.js +27 -8
- package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-view.d.ts +1 -0
- package/dist/buffer/ascii/ascii-view.js +3 -0
- package/dist/buffer/ascii/ascii-view.js.map +1 -1
- package/dist/buffer/ascii/time-formatter.js.map +1 -1
- package/dist/buffer/elastic-buffer.js.map +1 -1
- package/dist/buffer/encode-proxy.js.map +1 -1
- package/dist/buffer/encoder-state.js.map +1 -1
- package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
- package/dist/buffer/fixml/fixml-parser.js.map +1 -1
- package/dist/buffer/fixml/fixml-view.js.map +1 -1
- package/dist/buffer/msg-encoder.js.map +1 -1
- package/dist/buffer/msg-view.d.ts +2 -2
- package/dist/buffer/msg-view.js +47 -47
- package/dist/buffer/msg-view.js.map +1 -1
- package/dist/buffer/segment/segment-description.d.ts +1 -0
- package/dist/buffer/segment/segment-description.js +18 -0
- package/dist/buffer/segment/segment-description.js.map +1 -1
- package/dist/buffer/structure.js.map +1 -1
- package/dist/buffer/tag/tag-pos.d.ts +1 -1
- package/dist/buffer/tag/tag-pos.js +12 -12
- package/dist/buffer/tag/tag-pos.js.map +1 -1
- package/dist/buffer/tag/tags.js.map +1 -1
- package/dist/collections/dictionary.js.map +1 -1
- package/dist/dict-parser.js.map +1 -1
- package/dist/dictionary/compiler/compiler-type.js.map +1 -1
- package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
- package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
- package/dist/dictionary/compiler/standard-snippet.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
- package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
- package/dist/dictionary/contained/contained-field-set.js.map +1 -1
- package/dist/dictionary/contained/contained-group-field.js.map +1 -1
- package/dist/dictionary/contained/fields-dispatch.js.map +1 -1
- package/dist/dictionary/definition/fix-definitions.d.ts +3 -0
- package/dist/dictionary/definition/fix-definitions.js +10 -0
- package/dist/dictionary/definition/fix-definitions.js.map +1 -1
- package/dist/dictionary/definition/fix-version-parser.d.ts +6 -0
- package/dist/dictionary/definition/fix-version-parser.js +54 -0
- package/dist/dictionary/definition/fix-version-parser.js.map +1 -0
- package/dist/dictionary/definition/group-field-definition.js.map +1 -1
- package/dist/dictionary/definition/simple-field-definition.js +2 -0
- package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository.js +1 -1
- package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
- package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
- package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-context.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-progress.js.map +1 -1
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.d.ts +22 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js +142 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js.map +1 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +3 -2
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +8 -6
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.d.ts +20 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js +56 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js.map +1 -0
- package/dist/dictionary/set-reduce.js.map +1 -1
- package/dist/dictionary/version-util.js +19 -29
- package/dist/dictionary/version-util.js.map +1 -1
- package/dist/jsfix-cmd.d.ts +3 -1
- package/dist/jsfix-cmd.js +157 -24
- package/dist/jsfix-cmd.js.map +1 -1
- package/dist/runtime/make-config.js.map +1 -1
- package/dist/runtime/session-container.js.map +1 -1
- package/dist/runtime/session-launcher.d.ts +2 -2
- package/dist/runtime/session-launcher.js +4 -2
- package/dist/runtime/session-launcher.js.map +1 -1
- package/dist/sample/http/oms/app.js.map +1 -1
- package/dist/sample/http/oms/http-client.js.map +1 -1
- package/dist/sample/http/oms/http-server.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
- package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/test/ascii/ascii-encoder.test.js.map +1 -1
- package/dist/test/ascii/ascii-parser.test.js +0 -1
- package/dist/test/ascii/ascii-parser.test.js.map +1 -1
- package/dist/test/ascii/ascii-store-replay.test.js.map +1 -1
- package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -1
- package/dist/test/ascii/execution-report.test.js.map +1 -1
- package/dist/test/ascii/fix-log-replay.test.js.map +1 -1
- package/dist/test/ascii/fix-repo-dict.test.js +40 -1
- package/dist/test/ascii/fix-repo-dict.test.js.map +1 -1
- package/dist/test/ascii/logon.test.js.map +1 -1
- package/dist/test/ascii/memory-store.test.js +14 -27
- package/dist/test/ascii/memory-store.test.js.map +1 -1
- package/dist/test/ascii/qf-43-full-msg.test.js +6 -0
- package/dist/test/ascii/qf-43-full-msg.test.js.map +1 -1
- package/dist/test/ascii/qf-44-ascii-parser.test.d.ts +1 -0
- package/dist/test/ascii/qf-44-ascii-parser.test.js +54 -0
- package/dist/test/ascii/qf-44-ascii-parser.test.js.map +1 -0
- package/dist/test/ascii/qf-50sp0-dict.test.d.ts +1 -0
- package/dist/test/ascii/qf-50sp0-dict.test.js +145 -0
- package/dist/test/ascii/qf-50sp0-dict.test.js.map +1 -0
- package/dist/test/ascii/qf-50sp2-dict.test.js +324 -116
- package/dist/test/ascii/qf-50sp2-dict.test.js.map +1 -1
- package/dist/test/ascii/session.test.js.map +1 -1
- package/dist/test/ascii/view-decode.test.js.map +1 -1
- package/dist/test/env/LogReplayer.d.ts +16 -0
- package/dist/test/env/LogReplayer.js +51 -0
- package/dist/test/env/LogReplayer.js.map +1 -0
- package/dist/test/env/encoder-test.js.map +1 -1
- package/dist/test/env/experiment.js +1 -1
- package/dist/test/env/experiment.js.map +1 -1
- package/dist/test/env/set-constraint-helper.js +0 -1
- package/dist/test/env/set-constraint-helper.js.map +1 -1
- package/dist/test/env/setup.js +2 -1
- package/dist/test/env/setup.js.map +1 -1
- package/dist/test/env/skeleton-runner.js.map +1 -1
- package/dist/test/env/test-recovery.js.map +1 -1
- package/dist/test/fixml/repo-full-fixml-msg.test.js +7 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/duplex/fix-duplex.d.ts +1 -0
- package/dist/transport/duplex/fix-duplex.js.map +1 -1
- package/dist/transport/duplex/http-duplex.js.map +1 -1
- package/dist/transport/duplex/string-duplex.d.ts +12 -4
- package/dist/transport/duplex/string-duplex.js +70 -41
- package/dist/transport/duplex/string-duplex.js.map +1 -1
- package/dist/transport/factory/msg-transport.js.map +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
- package/dist/transport/fixml/fixml-session.js.map +1 -1
- package/dist/transport/http/http-acceptor-listener.js.map +1 -1
- package/dist/transport/http/http-acceptor.js +1 -1
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-initiator.js.map +1 -1
- package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
- package/dist/transport/index.d.ts +1 -7
- package/dist/transport/index.js +1 -7
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/msg-transmitter.js.map +1 -1
- package/dist/transport/session/fix-session-state.js.map +1 -1
- package/dist/transport/session/fix-session.js +2 -4
- package/dist/transport/session/fix-session.js.map +1 -1
- package/dist/transport/session/index.d.ts +8 -0
- package/dist/transport/session/index.js +25 -0
- package/dist/transport/session/index.js.map +1 -0
- package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tls-options-factory.js.map +1 -1
- package/dist/types/FIX.5.MOD/quickfix/account_list.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/account_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/advertisement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.d.ts +93 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.d.ts +93 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.d.ts +98 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.d.ts +41 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/assignment_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.d.ts +38 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/bid_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.d.ts +66 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.d.ts +63 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.d.ts +47 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.d.ts +67 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.d.ts +61 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.d.ts +63 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/collateral_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.d.ts +88 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.d.ts +77 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/email.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/email.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/email.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.d.ts +3452 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js +3809 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.d.ts +2 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.js +19 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/index.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.d.ts +1645 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js +1650 -0
- package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.d.ts +186 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/execution_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/heartbeat.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/index.d.ts +358 -0
- package/dist/types/FIX.5.MOD/quickfix/index.js +375 -0
- package/dist/types/FIX.5.MOD/quickfix/index.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.d.ts +46 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/ioi.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_execute.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/logon.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/logout.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.d.ts +24 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.d.ts +103 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.d.ts +74 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.d.ts +102 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.d.ts +116 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/new_order_single.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/news.d.ts +26 -0
- package/dist/types/FIX.5.MOD/quickfix/news.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/news.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.d.ts +112 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.d.ts +33 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/order_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.d.ts +45 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.d.ts +47 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/position_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.d.ts +81 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.d.ts +80 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.d.ts +81 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.d.ts +24 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/reject.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.d.ts +35 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.d.ts +37 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/resend_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/rfq_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.d.ts +25 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.d.ts +27 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.d.ts +37 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_type_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/security_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.d.ts +73 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.d.ts +48 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.d.ts +21 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.d.ts +103 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.d.ts +58 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.d.ts +67 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.d.ts +31 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.d.ts +46 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.d.ts +45 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.d.ts +16 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.d.ts +11 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.d.ts +29 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.d.ts +26 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.d.ts +19 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.d.ts +42 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.d.ts +33 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.d.ts +12 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.d.ts +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.d.ts +74 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.d.ts +80 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.d.ts +22 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.d.ts +20 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.d.ts +17 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.d.ts +5 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.d.ts +6 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.d.ts +64 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.d.ts +4 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.d.ts +8 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.d.ts +23 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.d.ts +18 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.d.ts +7 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/test_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.d.ts +102 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.d.ts +92 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.d.ts +56 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.d.ts +30 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.d.ts +9 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.d.ts +13 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.d.ts +28 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.d.ts +15 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.d.ts +14 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/user_request.js.map +1 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.d.ts +10 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.js +3 -0
- package/dist/types/FIX.5.MOD/quickfix/user_response.js.map +1 -0
- package/dist/util/definition-factory.js +2 -1
- package/dist/util/definition-factory.js.map +1 -1
- package/dist/util/json-helper.js.map +1 -1
- package/dist/util/message-generator.js.map +1 -1
- package/dist/util/replay.js +2 -2
- package/dist/util/replay.js.map +1 -1
- package/package.json +22 -20
- package/src/buffer/ascii/ascii-parser.ts +18 -9
- package/src/buffer/ascii/ascii-segment-parser-error.ts +7 -0
- package/src/buffer/ascii/ascii-segment-parser-summary.ts +13 -0
- package/src/buffer/ascii/ascii-segment-parser.ts +28 -8
- package/src/buffer/ascii/ascii-view.ts +4 -0
- package/src/buffer/msg-view.ts +2 -2
- package/src/buffer/segment/segment-description.ts +18 -0
- package/src/buffer/tag/tag-pos.ts +1 -1
- package/src/dictionary/contained/contained-field-set.ts +1 -1
- package/src/dictionary/definition/fix-definitions.ts +13 -0
- package/src/dictionary/definition/fix-version-parser.ts +57 -0
- package/src/dictionary/definition/simple-field-definition.ts +1 -0
- package/src/dictionary/parser/fix-repository/repository.ts +1 -1
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-builder.ts +179 -0
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +8 -4
- package/src/dictionary/parser/quickfix/quick-fix-xml-formatter.ts +67 -0
- package/src/dictionary/version-util.ts +10 -21
- package/src/jsfix-cmd.ts +194 -23
- package/src/runtime/session-launcher.ts +8 -4
- package/src/transport/duplex/fix-duplex.ts +2 -0
- package/src/transport/duplex/http-duplex.ts +1 -1
- package/src/transport/duplex/string-duplex.ts +72 -41
- package/src/transport/http/http-acceptor.ts +3 -3
- package/src/transport/http/http-json-sample-adapter.ts +1 -1
- package/src/transport/index.ts +1 -7
- package/src/transport/session/fix-session.ts +2 -2
- package/src/transport/session/index.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/account_list.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/account_list_incremental.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/account_list_request.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/adjusted_position_report.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/advertisement.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction.ts +93 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction_ack.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_instruction_alert.ts +93 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_report.ts +98 -0
- package/src/types/FIX.5.MOD/quickfix/allocation_report_ack.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/assignment_report.ts +41 -0
- package/src/types/FIX.5.MOD/quickfix/bid_request.ts +38 -0
- package/src/types/FIX.5.MOD/quickfix/bid_response.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/business_message_reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_assignment.ts +66 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_inquiry.ts +63 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_report.ts +67 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_request.ts +61 -0
- package/src/types/FIX.5.MOD/quickfix/collateral_response.ts +63 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation.ts +88 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation_ack.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/confirmation_request.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/contrary_intention_report.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.ts +78 -0
- package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_request.ts +24 -0
- package/src/types/FIX.5.MOD/quickfix/derivative_security_list.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/derivative_security_list_request.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/dont_know_trade_dk.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/email.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/enum/all-enum.ts +3799 -0
- package/src/types/FIX.5.MOD/quickfix/enum/index.ts +2 -0
- package/src/types/FIX.5.MOD/quickfix/enum/msg_tag.ts +1645 -0
- package/src/types/FIX.5.MOD/quickfix/execution_acknowledgement.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/execution_report.ts +186 -0
- package/src/types/FIX.5.MOD/quickfix/heartbeat.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/index.ts +358 -0
- package/src/types/FIX.5.MOD/quickfix/ioi.ts +46 -0
- package/src/types/FIX.5.MOD/quickfix/list_cancel_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/list_execute.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/list_status.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/list_status_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/list_strike_price.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/logon.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/logout.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_request_reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/mass_quote.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_cross.ts +75 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_list.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_multileg.ts +102 -0
- package/src/types/FIX.5.MOD/quickfix/new_order_single.ts +116 -0
- package/src/types/FIX.5.MOD/quickfix/news.ts +26 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_reject.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_replace_request.ts +112 -0
- package/src/types/FIX.5.MOD/quickfix/order_cancel_request.ts +33 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_report.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_request.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/order_mass_status_request.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/order_status_request.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/position_maintenance_report.ts +45 -0
- package/src/types/FIX.5.MOD/quickfix/position_maintenance_request.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/position_report.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/quote.ts +81 -0
- package/src/types/FIX.5.MOD/quickfix/quote_cancel.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/quote_request.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/quote_request_reject.ts +15 -0
- package/src/types/FIX.5.MOD/quickfix/quote_response.ts +80 -0
- package/src/types/FIX.5.MOD/quickfix/quote_status_report.ts +81 -0
- package/src/types/FIX.5.MOD/quickfix/quote_status_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/registration_instructions.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/registration_instructions_response.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/reject.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/request_for_positions.ts +35 -0
- package/src/types/FIX.5.MOD/quickfix/request_for_positions_ack.ts +37 -0
- package/src/types/FIX.5.MOD/quickfix/resend_request.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/rfq_request.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition_request.ts +25 -0
- package/src/types/FIX.5.MOD/quickfix/security_definition_update_report.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/security_list.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/security_list_request.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/security_list_update_report.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/security_status.ts +37 -0
- package/src/types/FIX.5.MOD/quickfix/security_status_request.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/security_type_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/security_types.ts +20 -0
- package/src/types/FIX.5.MOD/quickfix/sequence_reset.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/affected_ord_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/set/attrb_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/base_trading_rules.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/commission_data.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/contra_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/discretion_instructions.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/display_instruction.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/evnt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/expiration_qty.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/financing_details.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/hop_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument.ts +73 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_extension.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_leg.ts +48 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.ts +21 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.ts +22 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_alias.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/match_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/maturity_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_full_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.ts +58 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.ts +67 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/order_qty_data.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/peg_instructions.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_amount_data.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_qty.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/price_limits.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.ts +32 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.ts +31 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.ts +47 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.ts +46 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/set/related_account.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.ts +12 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/routing_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.ts +29 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.ts +11 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/security_trading_rules.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.ts +27 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_instructions_data.ts +9 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.ts +42 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/standard_header.ts +33 -0
- package/src/types/FIX.5.MOD/quickfix/set/standard_trailer.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strike_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/set/tick_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules.ts +13 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.ts +7 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.ts +3 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.ts +75 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.ts +80 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.ts +23 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.ts +19 -0
- package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/triggering_instruction.ts +17 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_amount.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.ts +6 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_instrument.ts +64 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.ts +5 -0
- package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.ts +4 -0
- package/src/types/FIX.5.MOD/quickfix/set/yield_data.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/settlement_instruction_request.ts +24 -0
- package/src/types/FIX.5.MOD/quickfix/settlement_instructions.ts +18 -0
- package/src/types/FIX.5.MOD/quickfix/test_request.ts +8 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report.ts +103 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_ack.ts +92 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request.ts +56 -0
- package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.ts +30 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_list.ts +10 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_list_request.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_status.ts +28 -0
- package/src/types/FIX.5.MOD/quickfix/trading_session_status_request.ts +16 -0
- package/src/types/FIX.5.MOD/quickfix/user_request.ts +14 -0
- package/src/types/FIX.5.MOD/quickfix/user_response.ts +11 -0
- package/src/util/definition-factory.ts +2 -1
- package/src/util/replay.ts +2 -2
- package/data/fix5-mod.xml +0 -9720
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-encoder.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-encoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILooseObject } from '../../collections/collection'\r\nimport {\r\n ContainedGroupField, ContainedSimpleField,\r\n ContainedFieldSet, ContainedField,\r\n ContainedComponentField, FieldsDispatch\r\n} from '../../dictionary/contained'\r\nimport { SimpleFieldDefinition, FixDefinitions } from '../../dictionary/definition'\r\nimport { MsgEncoder } from '../msg-encoder'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { AsciiChars } from './ascii-chars'\r\nimport { Tags } from '../tag/tags'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiEncoder extends MsgEncoder {\r\n public bodyLengthPos: number\r\n public msgTypePos: number\r\n public tags: Tags\r\n public checkGroups: boolean = true\r\n readonly dispatcher: FieldsDispatch = new FieldsDispatch()\r\n\r\n constructor (public readonly buffer: ElasticBuffer,\r\n public readonly definitions: FixDefinitions,\r\n public readonly timeFormatter: ITimeFormatter = new TimeFormatter(buffer),\r\n public readonly delimiter: number = AsciiChars.Soh,\r\n public readonly logDelimiter: number = AsciiChars.Pipe) {\r\n super(definitions)\r\n this.tags = new Tags(definitions)\r\n }\r\n\r\n public trim (): Buffer {\r\n const b = this.buffer.copy()\r\n const delimiter = this.delimiter\r\n const logDelimiter = this.logDelimiter\r\n const tags = this.tags\r\n if (delimiter !== logDelimiter) {\r\n for (let p = 0; p < tags.nextTagPos; ++p) {\r\n const tagPos = tags.tagPos[p]\r\n b.writeUInt8(delimiter, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n return b\r\n }\r\n\r\n // only reset tags after entire message is encoded - <hdr>body<trl>\r\n\r\n public reset (): void {\r\n this.buffer.reset()\r\n this.tags.reset()\r\n }\r\n\r\n public encodeSet (objectToEncode: ILooseObject, set: ContainedFieldSet): void {\r\n const summary: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()\r\n this.encodeObject(objectToEncode, set, summary)\r\n }\r\n\r\n private encodeObject (objectToEncode: ILooseObject, set: ContainedFieldSet, state: AsciiEncodeSetSummary): void {\r\n const fields: ContainedField[] = this.getFields(set, objectToEncode)\r\n this.dispatcher.dispatchFields(fields, {\r\n simple: (sf: ContainedSimpleField) => {\r\n const val: any = objectToEncode[sf.name]\r\n // Empty strings are omitted as they result in empty values for tags, which are considered malformed.\r\n if (val != null && val !== '') {\r\n if (state.count === 0) {\r\n state.firstSimple = sf\r\n }\r\n state.lastSimple = sf\r\n state.count++\r\n this.encodeSimple(objectToEncode, set, sf, val)\r\n }\r\n },\r\n component: (cf: ContainedComponentField) => {\r\n const instance: ILooseObject = objectToEncode[cf.definition.name]\r\n if (instance) {\r\n this.encodeObject(instance, cf.definition, state)\r\n }\r\n },\r\n group: (gf: ContainedGroupField) => {\r\n this.encodeInstances(objectToEncode, gf)\r\n }\r\n })\r\n }\r\n\r\n private getFields (set: ContainedFieldSet, o: ILooseObject): ContainedField[] {\r\n const keys: string[] = Object.keys(o)\r\n let j: number = 0\r\n const fields: ContainedField[] = keys.reduce((a: ContainedField[], current: string) => {\r\n const field: ContainedField | null = set.localNameToField.get(current)\r\n if (field) {\r\n a[j++] = field\r\n }\r\n return a\r\n }, new Array(keys.length))\r\n fields.sort((a: ContainedField, b: ContainedField) => a.position - b.position)\r\n return fields\r\n }\r\n\r\n private encodeInstances (o: ILooseObject, gf: ContainedGroupField): void {\r\n const noOfField: SimpleFieldDefinition | null = gf.definition.noOfField\r\n if (!noOfField) return\r\n const instances: ILooseObject[] = o[gf.name] || o[noOfField.name]\r\n\r\n const buffer = this.buffer\r\n if (!Array.isArray(instances)) {\r\n throw new Error(`expected array instance for group ${noOfField.name}`)\r\n }\r\n if (instances) {\r\n const validator = new GroupValidator(gf)\r\n const test: AsciiEncodeSetSummary = validator.test\r\n\r\n // a repeated group has number of instances at the start of group\r\n this.WriteTagEquals(noOfField.tag)\r\n const posValBegin = buffer.getPos()\r\n buffer.writeWholeNumber(instances.length)\r\n this.writeDelimiter(posValBegin, noOfField.tag)\r\n for (let field = 0; field < instances.length; ++field) {\r\n const instance: ILooseObject = instances[field]\r\n test.reset()\r\n const summary = validator.getSummary(field)\r\n this.encodeObject(instance, gf.definition, summary)\r\n if (this.checkGroups) {\r\n validator.assertInstanceValid(field)\r\n }\r\n }\r\n }\r\n }\r\n\r\n private WriteTagEquals (tag: number): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(tag)\r\n buffer.writeChar(AsciiChars.Equal)\r\n }\r\n\r\n private writeDelimiter (posValBegin: number, tag: number): void {\r\n const delimiter = this.logDelimiter\r\n const buffer = this.buffer\r\n this.tags.store(posValBegin, buffer.getPos() - posValBegin, tag)\r\n buffer.writeChar(delimiter)\r\n }\r\n\r\n private encodeSimple (o: ILooseObject, set: ContainedFieldSet, sf: ContainedSimpleField, val: any): void {\r\n const definition = sf.definition\r\n const tag: number = definition.tag\r\n const buffer = this.buffer\r\n const delimiter = this.logDelimiter\r\n const tf = this.timeFormatter\r\n const pos = buffer.getPos()\r\n let posValBegin = 0\r\n\r\n let tagType: TagType\r\n if (typeof val === 'string') {\r\n switch (definition.tagType) {\r\n case TagType.Boolean: {\r\n tagType = definition.tagType\r\n const vs: string = val\r\n const first: string = vs.length > 0 ? vs.charAt(0) : 'N'\r\n val = first === 'Y' || first === 'T'\r\n break\r\n }\r\n default: {\r\n tagType = TagType.String\r\n }\r\n }\r\n } else {\r\n tagType = definition.tagType\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.RawData: {\r\n // may need to first write raw message length (see below)\r\n break\r\n }\r\n\r\n default: {\r\n this.WriteTagEquals(tag)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.String: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n\r\n case TagType.Float: {\r\n buffer.writeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n buffer.writeWholeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Boolean: {\r\n buffer.writeBoolean(val as boolean)\r\n break\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n tf.writeUtcTimestamp(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n tf.writeUtcTime(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n tf.writeUtcDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.LocalDate: {\r\n tf.writeLocalDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.RawData: {\r\n const b = val as Buffer\r\n const lenField: ContainedSimpleField = set.fields[sf.position - 1] as ContainedSimpleField\r\n if (o[lenField.name] == null) {\r\n this.WriteTagEquals(lenField.definition.tag)\r\n buffer.writeWholeNumber(b.length)\r\n buffer.writeChar(delimiter)\r\n }\r\n this.WriteTagEquals(tag)\r\n buffer.writeBuffer(b)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n\r\n default: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n }\r\n\r\n this.writeDelimiter(posValBegin, tag)\r\n\r\n switch (tag) {\r\n case Tags.BodyLengthTag:\r\n this.bodyLengthPos = pos + 2\r\n break\r\n\r\n case Tags.MsgTag:\r\n this.msgTypePos = pos\r\n break\r\n }\r\n }\r\n}\r\n\r\nclass GroupValidator {\r\n constructor (public readonly gf: ContainedGroupField,\r\n public readonly first: AsciiEncodeSetSummary = new AsciiEncodeSetSummary(),\r\n public readonly test: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()) {\r\n }\r\n\r\n getSummary (field: number): AsciiEncodeSetSummary {\r\n return field === 0 ? this.first : this.test\r\n }\r\n\r\n assertInstanceValid (field: number): void {\r\n const first = this.first\r\n const test = this.test\r\n if (field === 0 && first.empty()) {\r\n throw new Error(`first group instance has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0 && test.empty()) {\r\n throw new Error(`group instance [${field}] has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0) {\r\n const firstTag = first.firstSimple?.definition.tag\r\n const tag = test.firstSimple?.definition.tag\r\n if (firstTag !== tag) {\r\n const msg = `group instance [${field}] inconsistent delimiter ${tag} expected tag ${firstTag}`\r\n throw new Error(msg)\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass AsciiEncodeSetSummary {\r\n constructor (public firstSimple: ContainedSimpleField | null = null,\r\n public lastSimple: ContainedSimpleField | null = null,\r\n public count: number = 0) {\r\n }\r\n\r\n public reset (): void {\r\n this.firstSimple = null\r\n this.lastSimple = null\r\n this.count = 0\r\n }\r\n\r\n public empty (): boolean {\r\n return this.firstSimple === null || this.count === 0\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ascii-encoder.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-encoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILooseObject } from '../../collections/collection'\r\nimport {\r\n ContainedGroupField, ContainedSimpleField,\r\n ContainedFieldSet, ContainedField,\r\n ContainedComponentField, FieldsDispatch\r\n} from '../../dictionary/contained'\r\nimport { SimpleFieldDefinition, FixDefinitions } from '../../dictionary/definition'\r\nimport { MsgEncoder } from '../msg-encoder'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { AsciiChars } from './ascii-chars'\r\nimport { Tags } from '../tag/tags'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiEncoder extends MsgEncoder {\r\n public bodyLengthPos: number\r\n public msgTypePos: number\r\n public tags: Tags\r\n public checkGroups: boolean = true\r\n readonly dispatcher: FieldsDispatch = new FieldsDispatch()\r\n\r\n constructor (public readonly buffer: ElasticBuffer,\r\n public readonly definitions: FixDefinitions,\r\n public readonly timeFormatter: ITimeFormatter = new TimeFormatter(buffer),\r\n public readonly delimiter: number = AsciiChars.Soh,\r\n public readonly logDelimiter: number = AsciiChars.Pipe) {\r\n super(definitions)\r\n this.tags = new Tags(definitions)\r\n }\r\n\r\n public trim (): Buffer {\r\n const b = this.buffer.copy()\r\n const delimiter = this.delimiter\r\n const logDelimiter = this.logDelimiter\r\n const tags = this.tags\r\n if (delimiter !== logDelimiter) {\r\n for (let p = 0; p < tags.nextTagPos; ++p) {\r\n const tagPos = tags.tagPos[p]\r\n b.writeUInt8(delimiter, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n return b\r\n }\r\n\r\n // only reset tags after entire message is encoded - <hdr>body<trl>\r\n\r\n public reset (): void {\r\n this.buffer.reset()\r\n this.tags.reset()\r\n }\r\n\r\n public encodeSet (objectToEncode: ILooseObject, set: ContainedFieldSet): void {\r\n const summary: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()\r\n this.encodeObject(objectToEncode, set, summary)\r\n }\r\n\r\n private encodeObject (objectToEncode: ILooseObject, set: ContainedFieldSet, state: AsciiEncodeSetSummary): void {\r\n const fields: ContainedField[] = this.getFields(set, objectToEncode)\r\n this.dispatcher.dispatchFields(fields, {\r\n simple: (sf: ContainedSimpleField) => {\r\n const val: any = objectToEncode[sf.name]\r\n // Empty strings are omitted as they result in empty values for tags, which are considered malformed.\r\n if (val != null && val !== '') {\r\n if (state.count === 0) {\r\n state.firstSimple = sf\r\n }\r\n state.lastSimple = sf\r\n state.count++\r\n this.encodeSimple(objectToEncode, set, sf, val)\r\n }\r\n },\r\n component: (cf: ContainedComponentField) => {\r\n const instance: ILooseObject = objectToEncode[cf.definition.name]\r\n if (instance) {\r\n this.encodeObject(instance, cf.definition, state)\r\n }\r\n },\r\n group: (gf: ContainedGroupField) => {\r\n this.encodeInstances(objectToEncode, gf)\r\n }\r\n })\r\n }\r\n\r\n private getFields (set: ContainedFieldSet, o: ILooseObject): ContainedField[] {\r\n const keys: string[] = Object.keys(o)\r\n let j: number = 0\r\n const fields: ContainedField[] = keys.reduce((a: ContainedField[], current: string) => {\r\n const field: ContainedField | null = set.localNameToField.get(current)\r\n if (field) {\r\n a[j++] = field\r\n }\r\n return a\r\n }, new Array(keys.length))\r\n fields.sort((a: ContainedField, b: ContainedField) => a.position - b.position)\r\n return fields\r\n }\r\n\r\n private encodeInstances (o: ILooseObject, gf: ContainedGroupField): void {\r\n const noOfField: SimpleFieldDefinition | null = gf.definition.noOfField\r\n if (!noOfField) return\r\n const instances: ILooseObject[] = o[gf.name] || o[noOfField.name]\r\n\r\n const buffer = this.buffer\r\n if (!Array.isArray(instances)) {\r\n throw new Error(`expected array instance for group ${noOfField.name}`)\r\n }\r\n if (instances) {\r\n const validator = new GroupValidator(gf)\r\n const test: AsciiEncodeSetSummary = validator.test\r\n\r\n // a repeated group has number of instances at the start of group\r\n this.WriteTagEquals(noOfField.tag)\r\n const posValBegin = buffer.getPos()\r\n buffer.writeWholeNumber(instances.length)\r\n this.writeDelimiter(posValBegin, noOfField.tag)\r\n for (let field = 0; field < instances.length; ++field) {\r\n const instance: ILooseObject = instances[field]\r\n test.reset()\r\n const summary = validator.getSummary(field)\r\n this.encodeObject(instance, gf.definition, summary)\r\n if (this.checkGroups) {\r\n validator.assertInstanceValid(field)\r\n }\r\n }\r\n }\r\n }\r\n\r\n private WriteTagEquals (tag: number): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(tag)\r\n buffer.writeChar(AsciiChars.Equal)\r\n }\r\n\r\n private writeDelimiter (posValBegin: number, tag: number): void {\r\n const delimiter = this.logDelimiter\r\n const buffer = this.buffer\r\n this.tags.store(posValBegin, buffer.getPos() - posValBegin, tag)\r\n buffer.writeChar(delimiter)\r\n }\r\n\r\n private encodeSimple (o: ILooseObject, set: ContainedFieldSet, sf: ContainedSimpleField, val: any): void {\r\n const definition = sf.definition\r\n const tag: number = definition.tag\r\n const buffer = this.buffer\r\n const delimiter = this.logDelimiter\r\n const tf = this.timeFormatter\r\n const pos = buffer.getPos()\r\n let posValBegin = 0\r\n\r\n let tagType: TagType\r\n if (typeof val === 'string') {\r\n switch (definition.tagType) {\r\n case TagType.Boolean: {\r\n tagType = definition.tagType\r\n const vs: string = val\r\n const first: string = vs.length > 0 ? vs.charAt(0) : 'N'\r\n val = first === 'Y' || first === 'T'\r\n break\r\n }\r\n default: {\r\n tagType = TagType.String\r\n }\r\n }\r\n } else {\r\n tagType = definition.tagType\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.RawData: {\r\n // may need to first write raw message length (see below)\r\n break\r\n }\r\n\r\n default: {\r\n this.WriteTagEquals(tag)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.String: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n\r\n case TagType.Float: {\r\n buffer.writeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n buffer.writeWholeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Boolean: {\r\n buffer.writeBoolean(val as boolean)\r\n break\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n tf.writeUtcTimestamp(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n tf.writeUtcTime(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n tf.writeUtcDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.LocalDate: {\r\n tf.writeLocalDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.RawData: {\r\n const b = val as Buffer\r\n const lenField: ContainedSimpleField = set.fields[sf.position - 1] as ContainedSimpleField\r\n if (o[lenField.name] == null) {\r\n this.WriteTagEquals(lenField.definition.tag)\r\n buffer.writeWholeNumber(b.length)\r\n buffer.writeChar(delimiter)\r\n }\r\n this.WriteTagEquals(tag)\r\n buffer.writeBuffer(b)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n\r\n default: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n }\r\n\r\n this.writeDelimiter(posValBegin, tag)\r\n\r\n switch (tag) {\r\n case Tags.BodyLengthTag:\r\n this.bodyLengthPos = pos + 2\r\n break\r\n\r\n case Tags.MsgTag:\r\n this.msgTypePos = pos\r\n break\r\n }\r\n }\r\n}\r\n\r\nclass GroupValidator {\r\n constructor (public readonly gf: ContainedGroupField,\r\n public readonly first: AsciiEncodeSetSummary = new AsciiEncodeSetSummary(),\r\n public readonly test: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()) {\r\n }\r\n\r\n getSummary (field: number): AsciiEncodeSetSummary {\r\n return field === 0 ? this.first : this.test\r\n }\r\n\r\n assertInstanceValid (field: number): void {\r\n const first = this.first\r\n const test = this.test\r\n if (field === 0 && first.empty()) {\r\n throw new Error(`first group instance has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0 && test.empty()) {\r\n throw new Error(`group instance [${field}] has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0) {\r\n const firstTag = first.firstSimple?.definition.tag\r\n const tag = test.firstSimple?.definition.tag\r\n if (firstTag !== tag) {\r\n const msg = `group instance [${field}] inconsistent delimiter ${tag} expected tag ${firstTag}`\r\n throw new Error(msg)\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass AsciiEncodeSetSummary {\r\n constructor (public firstSimple: ContainedSimpleField | null = null,\r\n public lastSimple: ContainedSimpleField | null = null,\r\n public count: number = 0) {\r\n }\r\n\r\n public reset (): void {\r\n this.firstSimple = null\r\n this.lastSimple = null\r\n this.count = 0\r\n }\r\n\r\n public empty (): boolean {\r\n return this.firstSimple === null || this.count === 0\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-parser-state.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tags } from '../tag/tags'\r\nimport { MessageDefinition } from '../../dictionary/definition'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ParseState } from './parse-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class AsciiParserState {\r\n public message: MessageDefinition | null\r\n public locations: Tags\r\n public parseState: ParseState\r\n public bodyLen: number\r\n public checksumExpectedPos: number\r\n public tagStartPos: number\r\n public equalPos: number\r\n public valueEndPos: number\r\n public count: number\r\n public currentTag: number\r\n public rawDataLen: number\r\n public rawDataRead: number\r\n public msgType: string | null\r\n\r\n constructor (@inject(DITokens.ParseBuffer) public readonly elasticBuffer: ElasticBuffer) {\r\n }\r\n\r\n public beginTag (pos: number): void {\r\n this.parseState = ParseState.ParsingTag\r\n this.tagStartPos = pos\r\n this.equalPos = this.valueEndPos = -1\r\n this.currentTag = 0\r\n }\r\n\r\n public endTag (pos: number): void {\r\n this.equalPos = pos\r\n const state = this.parseState\r\n switch (state) {\r\n case ParseState.ParsingTag: {\r\n this.currentTag = this.elasticBuffer.getWholeNumber(this.tagStartPos, pos - 1)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`EndTag: unexpected state ${state}`)\r\n }\r\n // if a raw tag, then need length to skip that many bytes\r\n this.checkRawTag()\r\n }\r\n\r\n public incRaw (): boolean {\r\n ++this.rawDataRead\r\n return this.rawDataRead === this.rawDataLen + 1\r\n }\r\n\r\n public checkRawTag (): void {\r\n const msg = this.message\r\n if (!msg?.containsRaw) {\r\n // optimisation as will never hit raw data\r\n this.parseState = ParseState.ParsingValue\r\n return\r\n }\r\n // if this is a raw data tag then need to keep track of the length\r\n // on this field to skip that many bytes.\r\n const isDataLength: boolean = msg.containedLength[this.currentTag]\r\n if (isDataLength) {\r\n this.parseState = ParseState.ParsingRawDataLength\r\n } else {\r\n this.rawDataRead = 0\r\n const isData: boolean = this.rawDataLen > 0\r\n if (isData) {\r\n this.parseState = ParseState.ParsingRawData\r\n } else {\r\n this.parseState = ParseState.ParsingValue\r\n }\r\n }\r\n }\r\n\r\n public store (): void {\r\n const valueEndPos: number = this.elasticBuffer.getPos() - 1\r\n this.valueEndPos = valueEndPos\r\n const equalPos: number = this.equalPos\r\n const tag: number = this.currentTag\r\n const locations: Tags = this.locations\r\n const buffer = this.elasticBuffer\r\n const terminates = this.checksumExpectedPos\r\n\r\n switch (this.parseState) {\r\n case ParseState.ParsingValue:\r\n case ParseState.ParsingRawData: {\r\n this.rawDataLen = 0\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength: {\r\n this.rawDataLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n }\r\n\r\n this.parseState = ParseState.BeginField\r\n this.count++\r\n const nextTagPos = locations.nextTagPos\r\n\r\n switch (tag) {\r\n case Tags.BeginString: {\r\n if (nextTagPos !== 1) {\r\n throw new Error(`BeginString: not expected at position [${nextTagPos}]`)\r\n }\r\n break\r\n }\r\n\r\n case Tags.BodyLengthTag: {\r\n if (nextTagPos !== 2) {\r\n throw new Error(`BodyLengthTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.bodyLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n this.checksumExpectedPos = this.bodyLen + valueEndPos\r\n this.elasticBuffer.checkGrowBuffer(this.bodyLen)\r\n break\r\n }\r\n\r\n case Tags.MsgTag: {\r\n if (nextTagPos !== 3) {\r\n throw new Error(`MsgTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.msgType = buffer.getString(equalPos + 1, valueEndPos)\r\n this.message = locations.definitions.message.get(this.msgType)\r\n break\r\n }\r\n\r\n case Tags.CheckSumTag: {\r\n if (valueEndPos < this.bodyLen) {\r\n throw new Error(`CheckSumTag: [${valueEndPos}] expected after ${this.bodyLen}`)\r\n }\r\n this.parseState = ParseState.MsgComplete\r\n break\r\n }\r\n\r\n default: {\r\n if (terminates && valueEndPos > terminates) {\r\n throw new Error(`Tag: [${tag}] cant be after ${terminates}`)\r\n }\r\n break\r\n }\r\n }\r\n\r\n switch (nextTagPos) {\r\n case 1: {\r\n if (tag !== Tags.BeginString) {\r\n throw new Error(`position 1 [${tag}] must be BeginString: 8=`)\r\n }\r\n break\r\n }\r\n case 2: {\r\n if (tag !== Tags.BodyLengthTag) {\r\n throw new Error(`position 2 [${tag}] must be BodyLengthTag: 9=`)\r\n }\r\n break\r\n }\r\n case 3: {\r\n if (tag !== Tags.MsgTag) {\r\n throw new Error(`position 3 [${tag}] must be MsgTag: 35=`)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n\r\n public beginMessage (): void {\r\n this.elasticBuffer.reset()\r\n this.locations.reset()\r\n this.checksumExpectedPos = 0\r\n this.parseState = ParseState.BeginField\r\n this.count = 0\r\n this.currentTag = 0\r\n this.tagStartPos = 0\r\n this.valueEndPos = 0\r\n this.equalPos = 0\r\n this.rawDataRead = 0\r\n this.rawDataLen = 0\r\n this.bodyLen = 0\r\n this.message = null\r\n this.msgType = null\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ascii-parser-state.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tags } from '../tag/tags'\r\nimport { MessageDefinition } from '../../dictionary/definition'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ParseState } from './parse-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class AsciiParserState {\r\n public message: MessageDefinition | null\r\n public locations: Tags\r\n public parseState: ParseState\r\n public bodyLen: number\r\n public checksumExpectedPos: number\r\n public tagStartPos: number\r\n public equalPos: number\r\n public valueEndPos: number\r\n public count: number\r\n public currentTag: number\r\n public rawDataLen: number\r\n public rawDataRead: number\r\n public msgType: string | null\r\n\r\n constructor (@inject(DITokens.ParseBuffer) public readonly elasticBuffer: ElasticBuffer) {\r\n }\r\n\r\n public beginTag (pos: number): void {\r\n this.parseState = ParseState.ParsingTag\r\n this.tagStartPos = pos\r\n this.equalPos = this.valueEndPos = -1\r\n this.currentTag = 0\r\n }\r\n\r\n public endTag (pos: number): void {\r\n this.equalPos = pos\r\n const state = this.parseState\r\n switch (state) {\r\n case ParseState.ParsingTag: {\r\n this.currentTag = this.elasticBuffer.getWholeNumber(this.tagStartPos, pos - 1)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`EndTag: unexpected state ${state}`)\r\n }\r\n // if a raw tag, then need length to skip that many bytes\r\n this.checkRawTag()\r\n }\r\n\r\n public incRaw (): boolean {\r\n ++this.rawDataRead\r\n return this.rawDataRead === this.rawDataLen + 1\r\n }\r\n\r\n public checkRawTag (): void {\r\n const msg = this.message\r\n if (!msg?.containsRaw) {\r\n // optimisation as will never hit raw data\r\n this.parseState = ParseState.ParsingValue\r\n return\r\n }\r\n // if this is a raw data tag then need to keep track of the length\r\n // on this field to skip that many bytes.\r\n const isDataLength: boolean = msg.containedLength[this.currentTag]\r\n if (isDataLength) {\r\n this.parseState = ParseState.ParsingRawDataLength\r\n } else {\r\n this.rawDataRead = 0\r\n const isData: boolean = this.rawDataLen > 0\r\n if (isData) {\r\n this.parseState = ParseState.ParsingRawData\r\n } else {\r\n this.parseState = ParseState.ParsingValue\r\n }\r\n }\r\n }\r\n\r\n public store (): void {\r\n const valueEndPos: number = this.elasticBuffer.getPos() - 1\r\n this.valueEndPos = valueEndPos\r\n const equalPos: number = this.equalPos\r\n const tag: number = this.currentTag\r\n const locations: Tags = this.locations\r\n const buffer = this.elasticBuffer\r\n const terminates = this.checksumExpectedPos\r\n\r\n switch (this.parseState) {\r\n case ParseState.ParsingValue:\r\n case ParseState.ParsingRawData: {\r\n this.rawDataLen = 0\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength: {\r\n this.rawDataLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n }\r\n\r\n this.parseState = ParseState.BeginField\r\n this.count++\r\n const nextTagPos = locations.nextTagPos\r\n\r\n switch (tag) {\r\n case Tags.BeginString: {\r\n if (nextTagPos !== 1) {\r\n throw new Error(`BeginString: not expected at position [${nextTagPos}]`)\r\n }\r\n break\r\n }\r\n\r\n case Tags.BodyLengthTag: {\r\n if (nextTagPos !== 2) {\r\n throw new Error(`BodyLengthTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.bodyLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n this.checksumExpectedPos = this.bodyLen + valueEndPos\r\n this.elasticBuffer.checkGrowBuffer(this.bodyLen)\r\n break\r\n }\r\n\r\n case Tags.MsgTag: {\r\n if (nextTagPos !== 3) {\r\n throw new Error(`MsgTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.msgType = buffer.getString(equalPos + 1, valueEndPos)\r\n this.message = locations.definitions.message.get(this.msgType)\r\n break\r\n }\r\n\r\n case Tags.CheckSumTag: {\r\n if (valueEndPos < this.bodyLen) {\r\n throw new Error(`CheckSumTag: [${valueEndPos}] expected after ${this.bodyLen}`)\r\n }\r\n this.parseState = ParseState.MsgComplete\r\n break\r\n }\r\n\r\n default: {\r\n if (terminates && valueEndPos > terminates) {\r\n throw new Error(`Tag: [${tag}] cant be after ${terminates}`)\r\n }\r\n break\r\n }\r\n }\r\n\r\n switch (nextTagPos) {\r\n case 1: {\r\n if (tag !== Tags.BeginString) {\r\n throw new Error(`position 1 [${tag}] must be BeginString: 8=`)\r\n }\r\n break\r\n }\r\n case 2: {\r\n if (tag !== Tags.BodyLengthTag) {\r\n throw new Error(`position 2 [${tag}] must be BodyLengthTag: 9=`)\r\n }\r\n break\r\n }\r\n case 3: {\r\n if (tag !== Tags.MsgTag) {\r\n throw new Error(`position 3 [${tag}] must be MsgTag: 35=`)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n\r\n public beginMessage (): void {\r\n this.elasticBuffer.reset()\r\n this.locations.reset()\r\n this.checksumExpectedPos = 0\r\n this.parseState = ParseState.BeginField\r\n this.count = 0\r\n this.currentTag = 0\r\n this.tagStartPos = 0\r\n this.valueEndPos = 0\r\n this.equalPos = 0\r\n this.rawDataRead = 0\r\n this.rawDataLen = 0\r\n this.bodyLen = 0\r\n this.message = null\r\n this.msgType = null\r\n }\r\n}\r\n"]}
|
|
@@ -27,6 +27,7 @@ const parse_state_1 = require("./parse-state");
|
|
|
27
27
|
const tsyringe_1 = require("tsyringe");
|
|
28
28
|
const di_tokens_1 = require("../../runtime/di-tokens");
|
|
29
29
|
const segment_type_1 = require("../segment/segment-type");
|
|
30
|
+
const ascii_segment_parser_error_1 = require("./ascii-segment-parser-error");
|
|
30
31
|
let AsciiParser = AsciiParser_1 = class AsciiParser extends msg_parser_1.MsgParser {
|
|
31
32
|
constructor(config, readStream, receivingBuffer) {
|
|
32
33
|
var _a, _b;
|
|
@@ -168,10 +169,19 @@ let AsciiParser = AsciiParser_1 = class AsciiParser extends msg_parser_1.MsgPars
|
|
|
168
169
|
if (!msgType)
|
|
169
170
|
return null;
|
|
170
171
|
if (state.message) {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
try {
|
|
173
|
+
const structure = this.segmentParser.parse(msgType, locations, locations.nextTagPos - 1);
|
|
174
|
+
if (!structure)
|
|
175
|
+
return null;
|
|
176
|
+
return new ascii_view_1.AsciiView(structure.msg(), source, structure, ptr, delimiter, replace);
|
|
177
|
+
}
|
|
178
|
+
catch (error) {
|
|
179
|
+
if (error instanceof ascii_segment_parser_error_1.AsciiParserError) {
|
|
180
|
+
error.summary.buffer = source.toString();
|
|
181
|
+
this.emit('error', error);
|
|
182
|
+
}
|
|
183
|
+
throw error;
|
|
184
|
+
}
|
|
175
185
|
}
|
|
176
186
|
const structure = new structure_1.Structure(locations, []);
|
|
177
187
|
const segment = new segment_description_1.SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, segment_type_1.SegmentType.Unknown);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { AsciiView } from './ascii-view'\r\nimport { AsciiSegmentParser } from './ascii-segment-parser'\r\nimport { AsciiParserState } from './ascii-parser-state'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport { MsgParser } from '../msg-parser'\r\nimport { MsgView } from '../msg-view'\r\nimport { Readable } from 'stream'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { ParseState } from './parse-state'\r\nimport { IJsFixConfig } from '../../config'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\n\r\n@injectable()\r\nexport class AsciiParser extends MsgParser {\r\n private static nextId: number = 0\r\n public readonly id: number\r\n public readonly state: AsciiParserState\r\n private readonly segmentParser: AsciiSegmentParser\r\n public readonly delimiter: number\r\n public readonly writeDelimiter: number\r\n\r\n // allocate enough in receive buffer so buffer does not constant resize back after large messages\r\n // want to keep one slice of memory and constantly reuse it\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,\r\n @inject(DITokens.readStream) public readonly readStream: Readable | null,\r\n @inject(DITokens.ParseBuffer) protected readonly receivingBuffer: ElasticBuffer) {\r\n super()\r\n\r\n this.delimiter = config.delimiter ?? AsciiChars.Soh\r\n this.writeDelimiter = config.logDelimiter ?? AsciiChars.Pipe\r\n const definitions = config.definitions\r\n this.id = AsciiParser.nextId++\r\n this.segmentParser = config.sessionContainer.resolve<AsciiSegmentParser>(AsciiSegmentParser)\r\n this.state = config.sessionContainer.resolve<AsciiParserState>(AsciiParserState)\r\n this.state.locations = new Tags(definitions, this.receivingBuffer.size / 10)\r\n this.state.beginMessage()\r\n if (readStream !== null) {\r\n this.subscribe()\r\n }\r\n }\r\n\r\n private subscribe (): void {\r\n const inst: AsciiParser = this\r\n const Writable = require('stream').Writable\r\n const stream = this.readStream\r\n\r\n const receiver = new Writable({\r\n write: (data: Buffer, _: any, done: Function) => {\r\n try {\r\n inst.parse(data, data.length)\r\n done()\r\n } catch (e) {\r\n done(e)\r\n }\r\n }\r\n })\r\n receiver.on('error', (e: Error) => {\r\n this.emit('error', e)\r\n })\r\n\r\n // receive from say a socket or file and pipe to parser which discovers messages\r\n stream?.pipe(receiver).on('finish', () => {\r\n this.emit('done')\r\n })\r\n stream?.on('error', (e) => {\r\n this.emit('error', e)\r\n })\r\n stream?.on('end', () => {\r\n this.emit('end')\r\n })\r\n }\r\n\r\n private msg (ptr: number): void {\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const state = this.state\r\n if (this.listeners('decoded')) {\r\n this.emit('decoded', state.msgType, receivingBuffer, ptr)\r\n }\r\n this.emit('msg', state.msgType, this.getView(ptr))\r\n state.beginMessage()\r\n }\r\n\r\n /**\r\n * useful helper for testing where characters are parsed as if from the transport\r\n * @param text to be parsed\r\n */\r\n public parseText (text: string): void {\r\n const buff = Buffer.from(text)\r\n this.parse(buff, buff.length)\r\n }\r\n\r\n private parse (readBuffer: Buffer, end: number): void {\r\n const state = this.state\r\n const eq: number = AsciiChars.Eq\r\n const zero: number = AsciiChars.Zero\r\n const nine: number = AsciiChars.Nine\r\n const delimiter: number = this.delimiter\r\n const writeDelimiter: number = this.writeDelimiter\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const switchDelimiter = writeDelimiter !== delimiter\r\n let readPtr: number = 0\r\n\r\n while (readPtr < end) {\r\n const charAtPos: number = readBuffer[readPtr]\r\n\r\n const writePtr = receivingBuffer.saveChar(charAtPos) - 1\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(writePtr)\r\n continue\r\n }\r\n\r\n case ParseState.BeginField: {\r\n const atDigit: boolean = charAtPos >= zero && charAtPos <= nine\r\n if (atDigit) {\r\n state.beginTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingTag: {\r\n const isEquals: boolean = charAtPos === eq\r\n if (isEquals) {\r\n state.endTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawData: {\r\n // keep skipping until length read, regardless of delimiter or not\r\n if (state.incRaw()) {\r\n // having consumed the raw field expecting delimiter\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n } else {\r\n throw new Error(`delimiter (${delimiter}) expected at position ${readPtr} when value is ${charAtPos}`)\r\n }\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength:\r\n case ParseState.ParsingValue: {\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n }\r\n break\r\n }\r\n\r\n default: {\r\n const st = state.parseState\r\n throw new Error(`fix parser in unknown state ${st}`)\r\n }\r\n }\r\n readPtr++\r\n }\r\n\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(receivingBuffer.getPos())\r\n break\r\n }\r\n }\r\n }\r\n\r\n private getView (ptr: number): MsgView | null {\r\n const state = this.state\r\n const locations = state.locations\r\n const source = this.receivingBuffer\r\n const delimiter = this.delimiter\r\n const replace = this.writeDelimiter\r\n const msgType = state.msgType ?? null\r\n if (!msgType) return null\r\n if (state.message) {\r\n const structure: Structure | null = this.segmentParser.parse(msgType, locations,\r\n locations.nextTagPos - 1)\r\n if (!structure) return null\r\n return new AsciiView(structure.msg(),\r\n source,\r\n structure,\r\n ptr,\r\n delimiter,\r\n replace)\r\n }\r\n\r\n const structure = new Structure(locations, [])\r\n const segment = new SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, SegmentType.Unknown)\r\n segment.endPosition = locations.nextTagPos - 1\r\n return new AsciiView(segment, source, structure, ptr, delimiter, replace)\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ascii-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { AsciiView } from './ascii-view'\r\nimport { AsciiSegmentParser } from './ascii-segment-parser'\r\nimport { AsciiParserState } from './ascii-parser-state'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport { MsgParser } from '../msg-parser'\r\nimport { MsgView } from '../msg-view'\r\nimport { Readable } from 'stream'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { ParseState } from './parse-state'\r\nimport { IJsFixConfig } from '../../config'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\nimport { AsciiParserError } from './ascii-segment-parser-error'\r\n\r\n@injectable()\r\nexport class AsciiParser extends MsgParser {\r\n private static nextId: number = 0\r\n public readonly id: number\r\n public readonly state: AsciiParserState\r\n private readonly segmentParser: AsciiSegmentParser\r\n public readonly delimiter: number\r\n public readonly writeDelimiter: number\r\n\r\n // allocate enough in receive buffer so buffer does not constant resize back after large messages\r\n // want to keep one slice of memory and constantly reuse it\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,\r\n @inject(DITokens.readStream) public readonly readStream: Readable | null,\r\n @inject(DITokens.ParseBuffer) protected readonly receivingBuffer: ElasticBuffer) {\r\n super()\r\n\r\n this.delimiter = config.delimiter ?? AsciiChars.Soh\r\n this.writeDelimiter = config.logDelimiter ?? AsciiChars.Pipe\r\n const definitions = config.definitions\r\n this.id = AsciiParser.nextId++\r\n this.segmentParser = config.sessionContainer.resolve<AsciiSegmentParser>(AsciiSegmentParser)\r\n this.state = config.sessionContainer.resolve<AsciiParserState>(AsciiParserState)\r\n this.state.locations = new Tags(definitions, this.receivingBuffer.size / 10)\r\n this.state.beginMessage()\r\n if (readStream !== null) {\r\n this.subscribe()\r\n }\r\n }\r\n\r\n private subscribe (): void {\r\n const inst: AsciiParser = this\r\n const Writable = require('stream').Writable\r\n const stream = this.readStream\r\n\r\n const receiver = new Writable({\r\n write: (data: Buffer, _: any, done: Function) => {\r\n try {\r\n inst.parse(data, data.length)\r\n done()\r\n } catch (e) {\r\n done(e)\r\n }\r\n }\r\n })\r\n receiver.on('error', (e: Error) => {\r\n this.emit('error', e)\r\n })\r\n\r\n // receive from say a socket or file and pipe to parser which discovers messages\r\n stream?.pipe(receiver).on('finish', () => {\r\n this.emit('done')\r\n })\r\n stream?.on('error', (e) => {\r\n this.emit('error', e)\r\n })\r\n stream?.on('end', () => {\r\n this.emit('end')\r\n })\r\n }\r\n\r\n private msg (ptr: number): void {\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const state = this.state\r\n if (this.listeners('decoded')) {\r\n this.emit('decoded', state.msgType, receivingBuffer, ptr)\r\n }\r\n this.emit('msg', state.msgType, this.getView(ptr))\r\n state.beginMessage()\r\n }\r\n\r\n /**\r\n * useful helper for testing where characters are parsed as if from the transport\r\n * @param text to be parsed\r\n */\r\n public parseText (text: string): void {\r\n const buff = Buffer.from(text)\r\n this.parse(buff, buff.length)\r\n }\r\n\r\n private parse (readBuffer: Buffer, end: number): void {\r\n const state = this.state\r\n const eq: number = AsciiChars.Eq\r\n const zero: number = AsciiChars.Zero\r\n const nine: number = AsciiChars.Nine\r\n const delimiter: number = this.delimiter\r\n const writeDelimiter: number = this.writeDelimiter\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const switchDelimiter = writeDelimiter !== delimiter\r\n let readPtr: number = 0\r\n\r\n while (readPtr < end) {\r\n const charAtPos: number = readBuffer[readPtr]\r\n\r\n const writePtr = receivingBuffer.saveChar(charAtPos) - 1\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(writePtr)\r\n continue\r\n }\r\n\r\n case ParseState.BeginField: {\r\n const atDigit: boolean = charAtPos >= zero && charAtPos <= nine\r\n if (atDigit) {\r\n state.beginTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingTag: {\r\n const isEquals: boolean = charAtPos === eq\r\n if (isEquals) {\r\n state.endTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawData: {\r\n // keep skipping until length read, regardless of delimiter or not\r\n if (state.incRaw()) {\r\n // having consumed the raw field expecting delimiter\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n } else {\r\n throw new Error(`delimiter (${delimiter}) expected at position ${readPtr} when value is ${charAtPos}`)\r\n }\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength:\r\n case ParseState.ParsingValue: {\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n }\r\n break\r\n }\r\n\r\n default: {\r\n const st = state.parseState\r\n throw new Error(`fix parser in unknown state ${st}`)\r\n }\r\n }\r\n readPtr++\r\n }\r\n\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(receivingBuffer.getPos())\r\n break\r\n }\r\n }\r\n }\r\n\r\n private getView (ptr: number): MsgView | null {\r\n const state = this.state\r\n const locations = state.locations\r\n const source = this.receivingBuffer\r\n const delimiter = this.delimiter\r\n const replace = this.writeDelimiter\r\n const msgType = state.msgType ?? null\r\n if (!msgType) return null\r\n if (state.message) {\r\n try {\r\n const structure: Structure | null = this.segmentParser.parse(msgType, locations,\r\n locations.nextTagPos - 1)\r\n if (!structure) return null\r\n return new AsciiView(structure.msg(),\r\n source,\r\n structure,\r\n ptr,\r\n delimiter,\r\n replace)\r\n } catch (error) {\r\n if (error instanceof AsciiParserError) {\r\n error.summary.buffer = source.toString()\r\n this.emit('error', error)\r\n }\r\n throw error\r\n }\r\n }\r\n\r\n const structure = new Structure(locations, [])\r\n const segment = new SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, SegmentType.Unknown)\r\n segment.endPosition = locations.nextTagPos - 1\r\n return new AsciiView(segment, source, structure, ptr, delimiter, replace)\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AsciiParserError = void 0;
|
|
4
|
+
class AsciiParserError extends Error {
|
|
5
|
+
constructor(message, summary) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.summary = summary;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.AsciiParserError = AsciiParserError;
|
|
11
|
+
//# sourceMappingURL=ascii-segment-parser-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-segment-parser-error.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser-error.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAa,OAAe,EAAkB,OAAkC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAA;QAD8B,YAAO,GAAP,OAAO,CAA2B;IAEhF,CAAC;CACF;AAJD,4CAIC","sourcesContent":["import { AsciiSegmentParserSummary } from './ascii-segment-parser-summary'\r\n\r\nexport class AsciiParserError extends Error {\r\n constructor (message: string, public readonly summary: AsciiSegmentParserSummary) {\r\n super(message)\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { TagPos } from '../tag/tag-pos';
|
|
2
|
+
export interface AsciiSegmentParserSummary {
|
|
3
|
+
readonly msgType: string;
|
|
4
|
+
readonly tags: TagPos[];
|
|
5
|
+
readonly last: number;
|
|
6
|
+
readonly msgDefinition: string | undefined;
|
|
7
|
+
readonly currentTagPosition: number;
|
|
8
|
+
readonly peek: String;
|
|
9
|
+
readonly segments: String[];
|
|
10
|
+
readonly structureStack: String[];
|
|
11
|
+
buffer: string;
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ascii-segment-parser-summary.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser-summary.ts"],"names":[],"mappings":"","sourcesContent":["import { TagPos } from '../tag/tag-pos'\r\n\r\nexport interface AsciiSegmentParserSummary {\r\n readonly msgType: string\r\n readonly tags: TagPos[]\r\n readonly last: number\r\n readonly msgDefinition: string | undefined\r\n readonly currentTagPosition: number\r\n readonly peek: String\r\n readonly segments: String[]\r\n readonly structureStack: String[]\r\n buffer: string\r\n}\r\n"]}
|
|
@@ -20,6 +20,7 @@ const contained_1 = require("../../dictionary/contained");
|
|
|
20
20
|
const tsyringe_1 = require("tsyringe");
|
|
21
21
|
const di_tokens_1 = require("../../runtime/di-tokens");
|
|
22
22
|
const segment_type_1 = require("../segment/segment-type");
|
|
23
|
+
const ascii_segment_parser_error_1 = require("./ascii-segment-parser-error");
|
|
23
24
|
let AsciiSegmentParser = class AsciiSegmentParser {
|
|
24
25
|
constructor(definitions) {
|
|
25
26
|
this.definitions = definitions;
|
|
@@ -50,32 +51,47 @@ let AsciiSegmentParser = class AsciiSegmentParser {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
}
|
|
54
|
+
function summarise() {
|
|
55
|
+
return {
|
|
56
|
+
msgType,
|
|
57
|
+
tags: tags.clone().tagPos,
|
|
58
|
+
last,
|
|
59
|
+
msgDefinition: msgDefinition === null || msgDefinition === void 0 ? void 0 : msgDefinition.toString(),
|
|
60
|
+
currentTagPosition,
|
|
61
|
+
peek: peek.toString(),
|
|
62
|
+
segments: segments.map(s => s.toString()),
|
|
63
|
+
structureStack: structureStack.map(s => s.toString())
|
|
64
|
+
};
|
|
65
|
+
}
|
|
53
66
|
function examine(tag) {
|
|
54
|
-
var _a;
|
|
55
67
|
let structure = null;
|
|
56
|
-
const
|
|
57
|
-
|
|
68
|
+
const currentField = peek.currentField;
|
|
69
|
+
if (!currentField)
|
|
70
|
+
return null;
|
|
71
|
+
switch (currentField.type) {
|
|
58
72
|
case contained_1.ContainedFieldType.Simple: {
|
|
59
|
-
const sf =
|
|
73
|
+
const sf = currentField;
|
|
60
74
|
if (sf.definition.tag === tag) {
|
|
61
75
|
currentTagPosition = currentTagPosition + 1;
|
|
62
76
|
}
|
|
63
77
|
break;
|
|
64
78
|
}
|
|
65
79
|
case contained_1.ContainedFieldType.Component: {
|
|
66
|
-
const cf =
|
|
80
|
+
const cf = currentField;
|
|
67
81
|
structure = new segment_description_1.SegmentDescription(cf.name, tag, cf.definition, currentTagPosition, structureStack.length, segment_type_1.SegmentType.Component);
|
|
68
82
|
break;
|
|
69
83
|
}
|
|
70
84
|
case contained_1.ContainedFieldType.Group: {
|
|
71
|
-
const gf =
|
|
85
|
+
const gf = currentField;
|
|
72
86
|
structure = new segment_description_1.SegmentDescription(gf.name, tag, gf.definition, currentTagPosition, structureStack.length, segment_type_1.SegmentType.Group);
|
|
73
87
|
currentTagPosition = currentTagPosition + 1;
|
|
74
88
|
structure.startGroup(tags.tagPos[currentTagPosition].tag);
|
|
75
89
|
break;
|
|
76
90
|
}
|
|
77
|
-
default:
|
|
78
|
-
|
|
91
|
+
default: {
|
|
92
|
+
const c = summarise();
|
|
93
|
+
throw new ascii_segment_parser_error_1.AsciiParserError(`examine unknown type for tag = ${tag}`, c);
|
|
94
|
+
}
|
|
79
95
|
}
|
|
80
96
|
return structure;
|
|
81
97
|
}
|
|
@@ -111,6 +127,9 @@ let AsciiSegmentParser = class AsciiSegmentParser {
|
|
|
111
127
|
}
|
|
112
128
|
continue;
|
|
113
129
|
}
|
|
130
|
+
if (!peek.currentField || !peek.set) {
|
|
131
|
+
throw new ascii_segment_parser_error_1.AsciiParserError(`discover no currentField or set for tag = ${tag}`, summarise());
|
|
132
|
+
}
|
|
114
133
|
const structure = examine(tag);
|
|
115
134
|
if (structure) {
|
|
116
135
|
structureStack.push(structure);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-segment-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport {\r\n FixDefinitions,\r\n MessageDefinition\r\n} from '../../dictionary/definition'\r\nimport {\r\n ContainedComponentField,\r\n ContainedGroupField,\r\n ContainedSimpleField,\r\n ContainedFieldType\r\n} from '../../dictionary/contained'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\n\r\n// this takes linear time i.e. it constantly makes forward progress\r\n// one tag at a time\r\n\r\n@injectable()\r\nexport class AsciiSegmentParser {\r\n constructor (@inject(DITokens.Definitions) public readonly definitions: FixDefinitions) {\r\n }\r\n\r\n public parse (msgType: string, tags: Tags, last: number): Structure | null {\r\n // completed segments in that they are fully parsed\r\n const segments: SegmentDescription[] = []\r\n const msgDefinition: MessageDefinition | null = this.definitions.message.get(msgType)\r\n if (!msgDefinition) {\r\n return null\r\n }\r\n // in process of being discovered and may have any amount of depth\r\n // i.e. a component containing a repeated group of components\r\n // with sub-groups of components\r\n const structureStack: SegmentDescription[] = []\r\n let currentTagPosition: number = 0\r\n let peek: SegmentDescription\r\n\r\n // having finished one segments keep unwinding until tag matches further up stack\r\n function unwind (tag: number): void {\r\n while (structureStack.length > 1) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments.push(done)\r\n peek = structureStack[structureStack.length - 1]\r\n if (peek.set?.containedTag[tag]) {\r\n // unwound to point this tag lives in this set.\r\n break\r\n }\r\n if (peek.type === SegmentType.Msg) {\r\n // this is unknown tag and it is not part of trailer so raise unknown\r\n break\r\n }\r\n }\r\n }\r\n\r\n function examine (tag: number): SegmentDescription | null {\r\n let structure: SegmentDescription | null = null\r\n const type = peek.currentField?.type\r\n switch (type) {\r\n case ContainedFieldType.Simple: {\r\n const sf: ContainedSimpleField = peek.currentField as ContainedSimpleField\r\n if (sf.definition.tag === tag) {\r\n currentTagPosition = currentTagPosition + 1\r\n }\r\n break\r\n }\r\n // moving deeper into structure, start a new context\r\n case ContainedFieldType.Component: {\r\n const cf: ContainedComponentField = peek.currentField as ContainedComponentField\r\n structure = new SegmentDescription(cf.name, tag, cf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Component)\r\n break\r\n }\r\n // for a group also need to know where all delimiters are positioned\r\n case ContainedFieldType.Group: {\r\n const gf: ContainedComponentField = peek.currentField as ContainedGroupField\r\n structure = new SegmentDescription(gf.name, tag, gf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Group)\r\n currentTagPosition = currentTagPosition + 1\r\n structure.startGroup(tags.tagPos[currentTagPosition].tag)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`unknown tag type ${tag}`)\r\n }\r\n\r\n return structure\r\n }\r\n\r\n function groupDelimiter (tag: number): boolean {\r\n let delimiter: boolean = false\r\n if (tag === peek.delimiterTag) {\r\n peek.addDelimiterPosition(currentTagPosition)\r\n } else if (structureStack.length > 1) {\r\n // if a group is represented by a repeated component, then the tag representing delimiter\r\n // needs to be added further up stack to group itself.\r\n delimiter = structureStack[structureStack.length - 2].groupAddDelimiter(tag, currentTagPosition)\r\n }\r\n return delimiter\r\n }\r\n\r\n function gap (tag: number): void {\r\n const gap = new SegmentDescription('.undefined', tag, peek.set,\r\n currentTagPosition, structureStack.length, SegmentType.Gap)\r\n gap.end(segments.length, currentTagPosition, tag)\r\n segments.push(gap)\r\n currentTagPosition++\r\n }\r\n\r\n function discover (): void {\r\n while (currentTagPosition <= last) {\r\n const tag: number = tags.tagPos[currentTagPosition].tag\r\n peek = structureStack[structureStack.length - 1]\r\n peek.setCurrentField(tag)\r\n if (!peek.set?.containedTag[tag] || groupDelimiter(tag)) {\r\n // unravelled all way back to root hence this is not recognised\r\n const unknown = peek.type === SegmentType.Msg\r\n if (unknown) {\r\n gap(tag)\r\n } else if (structureStack.length > 1) {\r\n // move back up the segments and save the finished group / component\r\n unwind(tag)\r\n }\r\n continue\r\n }\r\n const structure = examine(tag)\r\n if (structure) {\r\n structureStack.push(structure)\r\n }\r\n }\r\n }\r\n\r\n function clean (): void {\r\n // any remainder components can be closed.\r\n while (structureStack.length > 0) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments[segments.length] = done\r\n }\r\n // logically reverse the trailer and message so trailer is last in list.\r\n const m1 = segments.length - 1\r\n const m2 = segments.length - 2\r\n const tmp = segments[m1]\r\n segments[m1] = segments[m2]\r\n segments[m2] = tmp\r\n }\r\n\r\n const msgStructure = new SegmentDescription(msgDefinition.name, tags.tagPos[0].tag, msgDefinition,\r\n currentTagPosition, structureStack.length, SegmentType.Msg)\r\n structureStack.push(msgStructure)\r\n discover()\r\n clean()\r\n\r\n // now know where all components and groups are positioned within message\r\n return new Structure(tags, segments)\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ascii-segment-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport {\r\n FixDefinitions,\r\n MessageDefinition\r\n} from '../../dictionary/definition'\r\nimport {\r\n ContainedComponentField,\r\n ContainedGroupField,\r\n ContainedSimpleField,\r\n ContainedFieldType\r\n} from '../../dictionary/contained'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\nimport { AsciiParserError } from './ascii-segment-parser-error'\r\nimport { AsciiSegmentParserSummary } from './ascii-segment-parser-summary'\r\n\r\n// this takes linear time i.e. it constantly makes forward progress\r\n// one tag at a time\r\n\r\n@injectable()\r\nexport class AsciiSegmentParser {\r\n constructor (@inject(DITokens.Definitions) public readonly definitions: FixDefinitions) {\r\n }\r\n\r\n public parse (msgType: string, tags: Tags, last: number): Structure | null {\r\n // completed segments in that they are fully parsed\r\n const segments: SegmentDescription[] = []\r\n const msgDefinition: MessageDefinition | null = this.definitions.message.get(msgType)\r\n if (!msgDefinition) {\r\n return null\r\n }\r\n // in process of being discovered and may have any amount of depth\r\n // i.e. a component containing a repeated group of components\r\n // with sub-groups of components\r\n const structureStack: SegmentDescription[] = []\r\n let currentTagPosition: number = 0\r\n let peek: SegmentDescription\r\n\r\n // having finished one segments keep unwinding until tag matches further up stack\r\n function unwind (tag: number): void {\r\n while (structureStack.length > 1) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments.push(done)\r\n peek = structureStack[structureStack.length - 1]\r\n if (peek.set?.containedTag[tag]) {\r\n // unwound to point this tag lives in this set.\r\n break\r\n }\r\n if (peek.type === SegmentType.Msg) {\r\n // this is unknown tag and it is not part of trailer so raise unknown\r\n break\r\n }\r\n }\r\n }\r\n\r\n function summarise (): any {\r\n return <AsciiSegmentParserSummary>{\r\n msgType,\r\n tags: tags.clone().tagPos,\r\n last,\r\n msgDefinition: msgDefinition?.toString(),\r\n currentTagPosition,\r\n peek: peek.toString(),\r\n segments: segments.map(s => s.toString()),\r\n structureStack: structureStack.map(s => s.toString())\r\n }\r\n }\r\n\r\n function examine (tag: number): SegmentDescription | null {\r\n let structure: SegmentDescription | null = null\r\n const currentField = peek.currentField\r\n if (!currentField) return null\r\n switch (currentField.type) {\r\n case ContainedFieldType.Simple: {\r\n const sf: ContainedSimpleField = currentField as ContainedSimpleField\r\n if (sf.definition.tag === tag) {\r\n currentTagPosition = currentTagPosition + 1\r\n }\r\n break\r\n }\r\n // moving deeper into structure, start a new context\r\n case ContainedFieldType.Component: {\r\n const cf: ContainedComponentField = currentField as ContainedComponentField\r\n structure = new SegmentDescription(cf.name, tag, cf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Component)\r\n break\r\n }\r\n // for a group also need to know where all delimiters are positioned\r\n case ContainedFieldType.Group: {\r\n const gf: ContainedComponentField = currentField as ContainedGroupField\r\n structure = new SegmentDescription(gf.name, tag, gf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Group)\r\n currentTagPosition = currentTagPosition + 1\r\n structure.startGroup(tags.tagPos[currentTagPosition].tag)\r\n break\r\n }\r\n\r\n default: {\r\n const c = summarise()\r\n throw new AsciiParserError(`examine unknown type for tag = ${tag}`, c)\r\n }\r\n }\r\n return structure\r\n }\r\n\r\n function groupDelimiter (tag: number): boolean {\r\n let delimiter: boolean = false\r\n if (tag === peek.delimiterTag) {\r\n peek.addDelimiterPosition(currentTagPosition)\r\n } else if (structureStack.length > 1) {\r\n // if a group is represented by a repeated component, then the tag representing delimiter\r\n // needs to be added further up stack to group itself.\r\n delimiter = structureStack[structureStack.length - 2].groupAddDelimiter(tag, currentTagPosition)\r\n }\r\n return delimiter\r\n }\r\n\r\n function gap (tag: number): void {\r\n const gap = new SegmentDescription('.undefined', tag, peek.set,\r\n currentTagPosition, structureStack.length, SegmentType.Gap)\r\n gap.end(segments.length, currentTagPosition, tag)\r\n segments.push(gap)\r\n currentTagPosition++\r\n }\r\n\r\n function discover (): void {\r\n while (currentTagPosition <= last) {\r\n const tag: number = tags.tagPos[currentTagPosition].tag\r\n peek = structureStack[structureStack.length - 1]\r\n peek.setCurrentField(tag)\r\n if (!peek.set?.containedTag[tag] || groupDelimiter(tag)) {\r\n // unravelled all way back to root hence this is not recognised\r\n const unknown = peek.type === SegmentType.Msg\r\n if (unknown) {\r\n gap(tag)\r\n } else if (structureStack.length > 1) {\r\n // move back up the segments and save the finished group / component\r\n unwind(tag)\r\n }\r\n continue\r\n }\r\n if (!peek.currentField || !peek.set) {\r\n throw new AsciiParserError(`discover no currentField or set for tag = ${tag}`, summarise())\r\n }\r\n const structure = examine(tag)\r\n if (structure) {\r\n structureStack.push(structure)\r\n }\r\n }\r\n }\r\n\r\n function clean (): void {\r\n // any remainder components can be closed.\r\n while (structureStack.length > 0) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments[segments.length] = done\r\n }\r\n // logically reverse the trailer and message so trailer is last in list.\r\n const m1 = segments.length - 1\r\n const m2 = segments.length - 2\r\n const tmp = segments[m1]\r\n segments[m1] = segments[m2]\r\n segments[m2] = tmp\r\n }\r\n\r\n const msgStructure = new SegmentDescription(msgDefinition.name, tags.tagPos[0].tag, msgDefinition,\r\n currentTagPosition, structureStack.length, SegmentType.Msg)\r\n structureStack.push(msgStructure)\r\n discover()\r\n clean()\r\n\r\n // now know where all components and groups are positioned within message\r\n return new Structure(tags, segments)\r\n }\r\n}\r\n"]}
|
|
@@ -197,6 +197,9 @@ class AsciiView extends msg_view_1.MsgView {
|
|
|
197
197
|
const tagPos = this.structure.tags.tagPos[position];
|
|
198
198
|
return this.buffer.getBoolean(tagPos.start);
|
|
199
199
|
}
|
|
200
|
+
toString() {
|
|
201
|
+
return super.toString();
|
|
202
|
+
}
|
|
200
203
|
}
|
|
201
204
|
exports.AsciiView = AsciiView;
|
|
202
205
|
//# sourceMappingURL=ascii-view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-view.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleFieldDefinition } from '../../dictionary/definition'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { MsgView } from '../msg-view'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { TagPos } from '../tag/tag-pos'\r\nimport { MsgTag } from '../../types'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiView extends MsgView {\r\n private readonly timeFormatter: ITimeFormatter = new TimeFormatter(this.buffer)\r\n constructor (public readonly segment: SegmentDescription,\r\n public readonly buffer: ElasticBuffer,\r\n public readonly structure: Structure | null,\r\n public readonly ptr: number,\r\n public readonly delimiter: number,\r\n public readonly writeDelimiter: number) {\r\n super(segment, structure)\r\n }\r\n\r\n // if the view is to be kept beyond the event on which it arrives, must be cloned\r\n public clone (): MsgView {\r\n const structure = this.structure\r\n const buffer = this.buffer.clone()\r\n const segment = this.segment\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (structure) {\r\n return new AsciiView(segment, buffer, new Structure(structure.tags.clone(), structure.segments), this.ptr, delimiter, writeDelimiter)\r\n }\r\n return new AsciiView(segment, buffer, null, this.ptr, delimiter, writeDelimiter)\r\n }\r\n\r\n private replaceDelimiter (viewBuffer: Buffer, replaceDelimiter?: number): void {\r\n if (this.structure == null) return\r\n const delimiter = replaceDelimiter ?? this.delimiter\r\n if (delimiter !== this.writeDelimiter) {\r\n const structure = this.structure\r\n const tags = structure.tags.tagPos\r\n for (let i = 0; i < structure.tags.nextTagPos; ++i) {\r\n const tag: TagPos = tags[i]\r\n const p: number = tag.start + tag.len\r\n viewBuffer.writeUInt8(delimiter, p)\r\n }\r\n }\r\n }\r\n\r\n // turn our view back to a raw msg\r\n public toBuffer (replaceDelimiter?: number): Buffer {\r\n const viewBuffer = this.buffer.slice()\r\n this.replaceDelimiter(viewBuffer, replaceDelimiter)\r\n return viewBuffer\r\n }\r\n\r\n public checksum (): number {\r\n if (this.structure == null) return -1\r\n const t = this.getPosition(MsgTag.CheckSum)\r\n const structure = this.structure\r\n const prev = structure.tags.tagPos[t - 1]\r\n const tp = prev.start + prev.len + 1\r\n let cs = this.buffer.sum(tp)\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (writeDelimiter !== delimiter) {\r\n const changes = structure.tags.nextTagPos - 1\r\n cs -= changes * writeDelimiter\r\n cs += changes * delimiter\r\n }\r\n return cs % 256\r\n }\r\n\r\n protected toTyped (field: SimpleFieldDefinition): any {\r\n const position: number = this.getPosition(field.tag)\r\n if (position >= 0) {\r\n switch (field.tagType) {\r\n case TagType.String : {\r\n return this.stringAtPosition(position)\r\n }\r\n\r\n case TagType.Float: {\r\n return this.getNumber(position, true)\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n return this.getNumber(position)\r\n }\r\n\r\n case TagType.Boolean: {\r\n return this.getBoolean(field.tag)\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n return this.getDateTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n return this.getTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.LocalDate: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.RawData: {\r\n return this.getBuffer(position)\r\n }\r\n\r\n default: {\r\n return this.stringAtPosition(position)\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected create (singleton: SegmentDescription): MsgView {\r\n return new AsciiView(singleton,\r\n this.buffer,\r\n this.structure,\r\n this.ptr,\r\n this.delimiter,\r\n this.writeDelimiter)\r\n }\r\n\r\n protected stringAtPosition (position: number): string | null {\r\n if (this.structure == null) return null\r\n const tags = this.structure.tags\r\n if (position < 0 || position >= tags.nextTagPos) {\r\n return null\r\n }\r\n const tag: TagPos = tags.tagPos[position]\r\n return this.buffer.getString(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getBuffer (position: number): Buffer | null {\r\n if (this.structure == null) return null\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBuffer(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getNumber (position: number, isFloat: boolean = false): number | null {\r\n if (this.structure == null) return null\r\n const buffer = this.buffer\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n if (isFloat) {\r\n return buffer.getFloat(tag.start, tag.start + tag.len - 1)\r\n } else {\r\n return buffer.getWholeNumber(tag.start, tag.start + tag.len - 1)\r\n }\r\n }\r\n\r\n private getTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n if (position < 0) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcTime(tagPos.start)\r\n } else {\r\n return formatter.getLocalTime(tagPos.start)\r\n }\r\n }\r\n\r\n private getDate (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcDate(tagPos.start)\r\n } else {\r\n return formatter.getLocalDate(tagPos.start)\r\n }\r\n }\r\n\r\n private getDateTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n const formatter = this.timeFormatter\r\n if (position < 0) {\r\n return null\r\n }\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n\r\n if (useUtc) {\r\n return formatter.getUtcTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n } else {\r\n return formatter.getLocalTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n private getBoolean (tag: number): boolean | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBoolean(tagPos.start)\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"ascii-view.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-view.ts"],"names":[],"mappings":";;;AAEA,4CAAwC;AACxC,0CAAqC;AAGrC,qDAAgD;AAEhD,uCAAoC;AACpC,8CAAyC;AAEzC,MAAa,SAAU,SAAQ,kBAAO;IAEpC,YAA6B,OAA2B,EACtC,MAAqB,EACrB,SAA2B,EAC3B,GAAW,EACX,SAAiB,EACjB,cAAsB;QACtC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QANE,YAAO,GAAP,OAAO,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAe;QACrB,cAAS,GAAT,SAAS,CAAkB;QAC3B,QAAG,GAAH,GAAG,CAAQ;QACX,cAAS,GAAT,SAAS,CAAQ;QACjB,mBAAc,GAAd,cAAc,CAAQ;QANvB,kBAAa,GAAmB,IAAI,8BAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAQ/E,CAAC;IAGM,KAAK;QACV,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,qBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;QACvI,CAAC;QACD,OAAO,IAAI,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,cAAc,CAAC,CAAA;IAClF,CAAC;IAEO,gBAAgB,CAAE,UAAkB,EAAE,gBAAyB;QACrE,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAM;QAClC,MAAM,SAAS,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,IAAI,CAAC,SAAS,CAAA;QACpD,IAAI,SAAS,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;YAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAA;YAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAW,IAAI,CAAC,CAAC,CAAC,CAAA;gBAC3B,MAAM,CAAC,GAAW,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAA;gBACrC,UAAU,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAGM,QAAQ,CAAE,gBAAyB;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACtC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;QACnD,OAAO,UAAU,CAAA;IACnB,CAAC;IAEM,QAAQ;QACb,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,CAAC,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,cAAM,CAAC,QAAQ,CAAC,CAAA;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACpC,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,CAAA;QAC1C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA;YAC7C,EAAE,IAAI,OAAO,GAAG,cAAc,CAAA;YAC9B,EAAE,IAAI,OAAO,GAAG,SAAS,CAAA;QAC3B,CAAC;QACD,OAAO,EAAE,GAAG,GAAG,CAAA;IACjB,CAAC;IAES,OAAO,CAAE,KAA4B;QAC7C,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACpD,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YAClB,QAAQ,KAAK,CAAC,OAAO,EAAE,CAAC;gBACtB,KAAK,kBAAO,CAAC,MAAO,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;gBACxC,CAAC;gBAED,KAAK,kBAAO,CAAC,KAAK,CAAC,CAAC,CAAC;oBACnB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;gBACvC,CAAC;gBAED,KAAK,kBAAO,CAAC,GAAG,CAAC;gBACjB,KAAK,kBAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oBACpB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACjC,CAAC;gBAED,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;gBACnC,CAAC;gBAED,KAAK,kBAAO,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC1B,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBAC1C,CAAC;gBAED,KAAK,kBAAO,CAAC,WAAW,CAAC,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACtC,CAAC;gBAED,KAAK,kBAAO,CAAC,WAAW,CAAC,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACtC,CAAC;gBAED,KAAK,kBAAO,CAAC,SAAS,CAAC,CAAC,CAAC;oBACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACtC,CAAC;gBAED,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrB,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;gBACjC,CAAC;gBAED,OAAO,CAAC,CAAC,CAAC;oBACR,OAAO,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAES,MAAM,CAAE,SAA6B;QAC7C,OAAO,IAAI,SAAS,CAAC,SAAS,EAC5B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,cAAc,CAAC,CAAA;IACxB,CAAC;IAES,gBAAgB,CAAE,QAAgB;QAC1C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAA;QAChC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChD,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,GAAG,GAAW,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACzC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAE,QAAgB;QACjC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,GAAG,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;IAC9D,CAAC;IAEO,SAAS,CAAE,QAAgB,EAAE,UAAmB,KAAK;QAC3D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,GAAG,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAC5D,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC;IAEO,OAAO,CAAE,GAAW,EAAE,MAAe;QAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;QACpC,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,OAAO,CAAE,GAAW,EAAE,MAAe;QAC3C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;QACpC,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAE3D,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC3C,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAEO,WAAW,CAAE,GAAW,EAAE,MAAe;QAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;QACpC,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,MAAM,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;YACnB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC3E,CAAC;aAAM,CAAC;YACN,OAAO,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;QAC7E,CAAC;IACH,CAAC;IAEO,UAAU,CAAE,GAAW;QAC7B,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI;YAAE,OAAO,IAAI,CAAA;QACvC,MAAM,QAAQ,GAAW,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7C,CAAC;IAEM,QAAQ;QACb,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAA;IACzB,CAAC;CACF;AArND,8BAqNC","sourcesContent":["import { SimpleFieldDefinition } from '../../dictionary/definition'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { MsgView } from '../msg-view'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { TagPos } from '../tag/tag-pos'\r\nimport { MsgTag } from '../../types'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiView extends MsgView {\r\n private readonly timeFormatter: ITimeFormatter = new TimeFormatter(this.buffer)\r\n constructor (public readonly segment: SegmentDescription,\r\n public readonly buffer: ElasticBuffer,\r\n public readonly structure: Structure | null,\r\n public readonly ptr: number,\r\n public readonly delimiter: number,\r\n public readonly writeDelimiter: number) {\r\n super(segment, structure)\r\n }\r\n\r\n // if the view is to be kept beyond the event on which it arrives, must be cloned\r\n public clone (): MsgView {\r\n const structure = this.structure\r\n const buffer = this.buffer.clone()\r\n const segment = this.segment\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (structure) {\r\n return new AsciiView(segment, buffer, new Structure(structure.tags.clone(), structure.segments), this.ptr, delimiter, writeDelimiter)\r\n }\r\n return new AsciiView(segment, buffer, null, this.ptr, delimiter, writeDelimiter)\r\n }\r\n\r\n private replaceDelimiter (viewBuffer: Buffer, replaceDelimiter?: number): void {\r\n if (this.structure == null) return\r\n const delimiter = replaceDelimiter ?? this.delimiter\r\n if (delimiter !== this.writeDelimiter) {\r\n const structure = this.structure\r\n const tags = structure.tags.tagPos\r\n for (let i = 0; i < structure.tags.nextTagPos; ++i) {\r\n const tag: TagPos = tags[i]\r\n const p: number = tag.start + tag.len\r\n viewBuffer.writeUInt8(delimiter, p)\r\n }\r\n }\r\n }\r\n\r\n // turn our view back to a raw msg\r\n public toBuffer (replaceDelimiter?: number): Buffer {\r\n const viewBuffer = this.buffer.slice()\r\n this.replaceDelimiter(viewBuffer, replaceDelimiter)\r\n return viewBuffer\r\n }\r\n\r\n public checksum (): number {\r\n if (this.structure == null) return -1\r\n const t = this.getPosition(MsgTag.CheckSum)\r\n const structure = this.structure\r\n const prev = structure.tags.tagPos[t - 1]\r\n const tp = prev.start + prev.len + 1\r\n let cs = this.buffer.sum(tp)\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (writeDelimiter !== delimiter) {\r\n const changes = structure.tags.nextTagPos - 1\r\n cs -= changes * writeDelimiter\r\n cs += changes * delimiter\r\n }\r\n return cs % 256\r\n }\r\n\r\n protected toTyped (field: SimpleFieldDefinition): any {\r\n const position: number = this.getPosition(field.tag)\r\n if (position >= 0) {\r\n switch (field.tagType) {\r\n case TagType.String : {\r\n return this.stringAtPosition(position)\r\n }\r\n\r\n case TagType.Float: {\r\n return this.getNumber(position, true)\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n return this.getNumber(position)\r\n }\r\n\r\n case TagType.Boolean: {\r\n return this.getBoolean(field.tag)\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n return this.getDateTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n return this.getTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.LocalDate: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.RawData: {\r\n return this.getBuffer(position)\r\n }\r\n\r\n default: {\r\n return this.stringAtPosition(position)\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected create (singleton: SegmentDescription): MsgView {\r\n return new AsciiView(singleton,\r\n this.buffer,\r\n this.structure,\r\n this.ptr,\r\n this.delimiter,\r\n this.writeDelimiter)\r\n }\r\n\r\n protected stringAtPosition (position: number): string | null {\r\n if (this.structure == null) return null\r\n const tags = this.structure.tags\r\n if (position < 0 || position >= tags.nextTagPos) {\r\n return null\r\n }\r\n const tag: TagPos = tags.tagPos[position]\r\n return this.buffer.getString(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getBuffer (position: number): Buffer | null {\r\n if (this.structure == null) return null\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBuffer(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getNumber (position: number, isFloat: boolean = false): number | null {\r\n if (this.structure == null) return null\r\n const buffer = this.buffer\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n if (isFloat) {\r\n return buffer.getFloat(tag.start, tag.start + tag.len - 1)\r\n } else {\r\n return buffer.getWholeNumber(tag.start, tag.start + tag.len - 1)\r\n }\r\n }\r\n\r\n private getTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n if (position < 0) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcTime(tagPos.start)\r\n } else {\r\n return formatter.getLocalTime(tagPos.start)\r\n }\r\n }\r\n\r\n private getDate (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcDate(tagPos.start)\r\n } else {\r\n return formatter.getLocalDate(tagPos.start)\r\n }\r\n }\r\n\r\n private getDateTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n const formatter = this.timeFormatter\r\n if (position < 0) {\r\n return null\r\n }\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n\r\n if (useUtc) {\r\n return formatter.getUtcTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n } else {\r\n return formatter.getLocalTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n private getBoolean (tag: number): boolean | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBoolean(tagPos.start)\r\n }\r\n\r\n public toString (): string {\r\n return super.toString()\r\n }\r\n}\r\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-formatter.js","sourceRoot":"","sources":["../../../src/buffer/ascii/time-formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\n\r\nexport class TimeFormatter implements ITimeFormatter {\r\n constructor (public readonly buffer: ElasticBuffer, public readonly adjustLocal: boolean = false) {\r\n }\r\n\r\n public writeLocalDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getFullYear())\r\n buffer.writePaddedTensUnits(v.getMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getDate())\r\n }\r\n\r\n public writeUtcDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getUTCFullYear())\r\n buffer.writePaddedTensUnits(v.getUTCMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getUTCDate())\r\n }\r\n\r\n public writeUtcTimestamp (v: Date): void {\r\n this.writeUtcDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeUtcTime(v)\r\n }\r\n\r\n public writeLocalTimestamp (v: Date): void {\r\n this.writeLocalDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeLocalTime(v)\r\n }\r\n\r\n public writeUtcTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getUTCHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCSeconds())\r\n const ms: number = v.getUTCMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public writeLocalTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getSeconds())\r\n const ms: number = v.getMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public getLocalTime (start: number): Date | null {\r\n return this.getTime(start, false)\r\n }\r\n\r\n public getUtcTime (start: number): Date | null {\r\n return this.getTime(start, true)\r\n }\r\n\r\n public getUtcDate (start: number): Date | null {\r\n return this.getDate(start, true)\r\n }\r\n\r\n public getLocalDate (start: number): Date | null {\r\n return this.getDate(start, false)\r\n }\r\n\r\n public getUtcTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, true)\r\n }\r\n\r\n public getLocalTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, false)\r\n }\r\n\r\n private getTimestamp (start: number, end: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n const n: number = buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n const len = end - start\r\n if (len === 8) {\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n }\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n return t\r\n }\r\n\r\n let offset: number = 8\r\n if (buffer.get(start + offset) !== AsciiChars.Hyphen) {\r\n return null\r\n }\r\n\r\n if (len < 17) {\r\n return null\r\n }\r\n\r\n offset += 1\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(year, month - 1, day, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getTime (start: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n let offset = 0\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(0, 0, 0, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(0, 0, 0, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getDate (start: number, useUtc: boolean): Date | null {\r\n // = 20150417\r\n\r\n const n: number = this.buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"time-formatter.js","sourceRoot":"","sources":["../../../src/buffer/ascii/time-formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\n\r\nexport class TimeFormatter implements ITimeFormatter {\r\n constructor (public readonly buffer: ElasticBuffer, public readonly adjustLocal: boolean = false) {\r\n }\r\n\r\n public writeLocalDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getFullYear())\r\n buffer.writePaddedTensUnits(v.getMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getDate())\r\n }\r\n\r\n public writeUtcDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getUTCFullYear())\r\n buffer.writePaddedTensUnits(v.getUTCMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getUTCDate())\r\n }\r\n\r\n public writeUtcTimestamp (v: Date): void {\r\n this.writeUtcDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeUtcTime(v)\r\n }\r\n\r\n public writeLocalTimestamp (v: Date): void {\r\n this.writeLocalDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeLocalTime(v)\r\n }\r\n\r\n public writeUtcTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getUTCHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCSeconds())\r\n const ms: number = v.getUTCMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public writeLocalTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getSeconds())\r\n const ms: number = v.getMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public getLocalTime (start: number): Date | null {\r\n return this.getTime(start, false)\r\n }\r\n\r\n public getUtcTime (start: number): Date | null {\r\n return this.getTime(start, true)\r\n }\r\n\r\n public getUtcDate (start: number): Date | null {\r\n return this.getDate(start, true)\r\n }\r\n\r\n public getLocalDate (start: number): Date | null {\r\n return this.getDate(start, false)\r\n }\r\n\r\n public getUtcTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, true)\r\n }\r\n\r\n public getLocalTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, false)\r\n }\r\n\r\n private getTimestamp (start: number, end: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n const n: number = buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n const len = end - start\r\n if (len === 8) {\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n }\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n return t\r\n }\r\n\r\n let offset: number = 8\r\n if (buffer.get(start + offset) !== AsciiChars.Hyphen) {\r\n return null\r\n }\r\n\r\n if (len < 17) {\r\n return null\r\n }\r\n\r\n offset += 1\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(year, month - 1, day, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getTime (start: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n let offset = 0\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(0, 0, 0, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(0, 0, 0, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getDate (start: number, useUtc: boolean): Date | null {\r\n // = 20150417\r\n\r\n const n: number = this.buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n}\r\n"]}
|