jspurefix 1.4.1 → 2.0.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/appveyor.yml +3 -0
- package/data/session/certs/ca/ca.crt +33 -0
- package/data/session/certs/ca/ca.key +54 -0
- package/data/session/certs/client/client.crt +31 -0
- package/data/session/certs/client/client.key +51 -0
- package/data/session/certs/server/server.crt +31 -0
- package/data/session/certs/server/server.key +51 -0
- package/dist/a-session-msg-factory.d.ts +0 -0
- package/dist/a-session-msg-factory.js +1 -0
- package/dist/a-session-msg-factory.js.map +1 -0
- package/dist/ascii-encoder.test.d.ts +0 -0
- package/dist/ascii-encoder.test.js +1 -0
- package/dist/ascii-encoder.test.js.map +1 -0
- package/dist/ascii-parser.test.d.ts +0 -0
- package/dist/ascii-parser.test.js +1 -0
- package/dist/ascii-parser.test.js.map +1 -0
- package/dist/ascii-segment.test.d.ts +0 -0
- package/dist/ascii-segment.test.js +1 -0
- package/dist/ascii-segment.test.js.map +1 -0
- package/dist/ascii-store-replay.test.d.ts +0 -0
- package/dist/ascii-store-replay.test.js +1 -0
- package/dist/ascii-store-replay.test.js.map +1 -0
- package/dist/ascii-tag-pos.test.d.ts +0 -0
- package/dist/ascii-tag-pos.test.js +1 -0
- package/dist/ascii-tag-pos.test.js.map +1 -0
- package/dist/buffer/{ascii-chars.d.ts → ascii/ascii-chars.d.ts} +0 -0
- package/dist/buffer/{ascii-chars.js → ascii/ascii-chars.js} +0 -0
- package/dist/buffer/ascii/ascii-chars.js.map +1 -0
- package/dist/buffer/ascii/ascii-encoder.d.ts +4 -2
- package/dist/buffer/ascii/ascii-encoder.js +54 -32
- package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser-state.d.ts +3 -10
- package/dist/buffer/ascii/ascii-parser-state.js +37 -25
- package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
- package/dist/buffer/ascii/ascii-parser.d.ts +7 -7
- package/dist/buffer/ascii/ascii-parser.js +50 -24
- package/dist/buffer/ascii/ascii-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-segment-parser.d.ts +2 -2
- package/dist/buffer/ascii/ascii-segment-parser.js +34 -13
- package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
- package/dist/buffer/ascii/ascii-view.d.ts +2 -4
- package/dist/buffer/ascii/ascii-view.js +11 -15
- package/dist/buffer/ascii/ascii-view.js.map +1 -1
- package/dist/buffer/ascii/index.d.ts +1 -0
- package/dist/buffer/ascii/index.js +1 -0
- package/dist/buffer/ascii/index.js.map +1 -1
- package/dist/buffer/ascii/parse-state.d.ts +8 -0
- package/dist/buffer/ascii/parse-state.js +13 -0
- package/dist/buffer/ascii/parse-state.js.map +1 -0
- package/dist/buffer/ascii/time-formatter.js +1 -1
- package/dist/buffer/ascii/time-formatter.js.map +1 -1
- package/dist/buffer/elastic-buffer.js +29 -8
- package/dist/buffer/elastic-buffer.js.map +1 -1
- package/dist/buffer/encode-proxy.d.ts +1 -1
- package/dist/buffer/encode-proxy.js +16 -17
- package/dist/buffer/encode-proxy.js.map +1 -1
- package/dist/buffer/fixml/fixml-encoder.d.ts +2 -1
- package/dist/buffer/fixml/fixml-encoder.js +43 -20
- package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
- package/dist/buffer/fixml/fixml-parser.js +47 -24
- package/dist/buffer/fixml/fixml-parser.js.map +1 -1
- package/dist/buffer/fixml/fixml-view.d.ts +2 -4
- package/dist/buffer/fixml/fixml-view.js +13 -16
- package/dist/buffer/fixml/fixml-view.js.map +1 -1
- package/dist/buffer/fixml/populated-attributes.d.ts +5 -0
- package/dist/buffer/fixml/populated-attributes.js +3 -0
- package/dist/buffer/fixml/populated-attributes.js.map +1 -0
- package/dist/buffer/index.d.ts +4 -8
- package/dist/buffer/index.js +4 -8
- package/dist/buffer/index.js.map +1 -1
- package/dist/buffer/msg-encoder.d.ts +2 -1
- package/dist/buffer/msg-encoder.js.map +1 -1
- package/dist/buffer/msg-view.d.ts +3 -5
- package/dist/buffer/msg-view.js +8 -5
- package/dist/buffer/msg-view.js.map +1 -1
- package/dist/buffer/segment/segment-description.d.ts +26 -0
- package/dist/buffer/segment/segment-description.js +72 -0
- package/dist/buffer/segment/segment-description.js.map +1 -0
- package/dist/buffer/segment/segment-summary.d.ts +13 -0
- package/dist/buffer/segment/segment-summary.js +20 -0
- package/dist/buffer/segment/segment-summary.js.map +1 -0
- package/dist/buffer/segment/segment-type.d.ts +8 -0
- package/dist/buffer/segment/segment-type.js +13 -0
- package/dist/buffer/segment/segment-type.js.map +1 -0
- package/dist/buffer/segment-description.d.ts +2 -9
- package/dist/buffer/segment-description.js +5 -13
- package/dist/buffer/segment-description.js.map +1 -1
- package/dist/buffer/segment-type.d.ts +8 -0
- package/dist/buffer/segment-type.js +13 -0
- package/dist/buffer/segment-type.js.map +1 -0
- package/dist/buffer/structure.d.ts +3 -3
- package/dist/buffer/structure.js +1 -1
- package/dist/buffer/structure.js.map +1 -1
- package/dist/buffer/tag/tag-pos.d.ts +12 -0
- package/dist/buffer/tag/tag-pos.js +55 -0
- package/dist/buffer/tag/tag-pos.js.map +1 -0
- package/dist/buffer/tag/tag-type.d.ts +13 -0
- package/dist/buffer/tag/tag-type.js +18 -0
- package/dist/buffer/tag/tag-type.js.map +1 -0
- package/dist/buffer/tag/tags.d.ts +21 -0
- package/dist/buffer/tag/tags.js +122 -0
- package/dist/buffer/tag/tags.js.map +1 -0
- package/dist/buffer/tag-type.d.ts +13 -0
- package/dist/buffer/tag-type.js +18 -0
- package/dist/buffer/tag-type.js.map +1 -0
- package/dist/buffer/tags.d.ts +3 -14
- package/dist/buffer/tags.js +23 -36
- package/dist/buffer/tags.js.map +1 -1
- package/dist/config/get-js-fx-logger.d.ts +4 -0
- package/dist/{transport/make-fixl-session.js → config/get-js-fx-logger.js} +1 -1
- package/dist/config/get-js-fx-logger.js.map +1 -0
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -0
- package/dist/config/index.js.map +1 -1
- package/dist/config/js-fix-config.d.ts +4 -1
- package/dist/config/js-fix-config.js +3 -3
- package/dist/config/js-fix-config.js.map +1 -1
- package/dist/config/js-fix-logger.d.ts +0 -3
- package/dist/config/js-fix-logger.js.map +1 -1
- package/dist/dict-parser.js +28 -23
- package/dist/dict-parser.js.map +1 -1
- package/dist/dictionary/compiler/compiler-type.js +7 -7
- package/dist/dictionary/compiler/compiler-type.js.map +1 -1
- package/dist/dictionary/compiler/enum-compiler.d.ts +1 -0
- package/dist/dictionary/compiler/enum-compiler.js +11 -1
- package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
- package/dist/dictionary/compiler/msg-compiler.js +8 -6
- package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
- package/dist/dictionary/contained/contained-component-field.js +2 -1
- package/dist/dictionary/contained/contained-component-field.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatch.d.ts +1 -14
- package/dist/dictionary/contained/contained-field-dispatch.js +4 -4
- package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
- package/dist/dictionary/contained/contained-field-dispatcher.d.ts +14 -0
- package/dist/dictionary/contained/contained-field-dispatcher.js +3 -0
- package/dist/dictionary/contained/contained-field-dispatcher.js.map +1 -0
- package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
- package/dist/dictionary/contained/contained-field-set.js +12 -11
- package/dist/dictionary/contained/contained-field-set.js.map +1 -1
- package/dist/dictionary/contained/contained-field-type.d.ts +5 -0
- package/dist/dictionary/contained/contained-field-type.js +10 -0
- package/dist/dictionary/contained/contained-field-type.js.map +1 -0
- package/dist/dictionary/contained/contained-field.d.ts +1 -5
- package/dist/dictionary/contained/contained-field.js +1 -7
- package/dist/dictionary/contained/contained-field.js.map +1 -1
- package/dist/dictionary/contained/contained-group-field.js +2 -1
- package/dist/dictionary/contained/contained-group-field.js.map +1 -1
- package/dist/dictionary/contained/contained-simple-field.js +2 -1
- package/dist/dictionary/contained/contained-simple-field.js.map +1 -1
- package/dist/dictionary/{fields-dispatch.d.ts → contained/field-dispatcher.d.ts} +3 -2
- package/dist/dictionary/contained/field-dispatcher.js +3 -0
- package/dist/dictionary/contained/field-dispatcher.js.map +1 -0
- package/dist/dictionary/contained/fields-dispatch.d.ts +6 -0
- package/dist/dictionary/contained/fields-dispatch.js +42 -0
- package/dist/dictionary/contained/fields-dispatch.js.map +1 -0
- package/dist/dictionary/contained/index.d.ts +2 -0
- package/dist/dictionary/contained/index.js +2 -0
- package/dist/dictionary/contained/index.js.map +1 -1
- package/dist/dictionary/contained-set-type.d.ts +5 -0
- package/dist/dictionary/contained-set-type.js +10 -0
- package/dist/dictionary/contained-set-type.js.map +1 -0
- package/dist/dictionary/definition/component-field-definition.js +2 -2
- package/dist/dictionary/definition/component-field-definition.js.map +1 -1
- package/dist/dictionary/definition/fix-definitions.d.ts +2 -1
- package/dist/dictionary/definition/fix-definitions.js.map +1 -1
- package/dist/dictionary/definition/group-field-definition.js +2 -2
- package/dist/dictionary/definition/group-field-definition.js.map +1 -1
- package/dist/dictionary/definition/index.d.ts +0 -1
- package/dist/dictionary/definition/index.js +0 -1
- package/dist/dictionary/definition/index.js.map +1 -1
- package/dist/dictionary/definition/message-definition.js +2 -2
- package/dist/dictionary/definition/message-definition.js.map +1 -1
- package/dist/dictionary/definition/simple-field-definition.d.ts +1 -1
- package/dist/dictionary/definition/simple-field-definition.js +5 -4
- package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
- package/dist/dictionary/dict-primitive.d.ts +0 -11
- package/dist/dictionary/dict-primitive.js +0 -7
- package/dist/dictionary/dict-primitive.js.map +1 -1
- package/dist/dictionary/fix-definition-source.d.ts +6 -0
- package/dist/dictionary/fix-definition-source.js +11 -0
- package/dist/dictionary/fix-definition-source.js.map +1 -0
- package/dist/dictionary/fix-versions.d.ts +0 -9
- package/dist/dictionary/fix-versions.js +1 -39
- package/dist/dictionary/fix-versions.js.map +1 -1
- package/dist/dictionary/index.d.ts +1 -5
- package/dist/dictionary/index.js +1 -5
- package/dist/dictionary/index.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/abbreviations-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/base-parser.d.ts +2 -4
- package/dist/dictionary/parser/fix-repository/base-parser.js +1 -2
- package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/components-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/components-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/data-types-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/data-types-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/data-types-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/enums-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/enums-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/enums-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/fields-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/fields-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/messages-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/messages-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/messages-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.d.ts +1 -3
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.js +2 -3
- package/dist/dictionary/parser/fix-repository/msg-contents-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.d.ts +5 -0
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-abbreviation.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-component.d.ts +10 -0
- package/dist/dictionary/parser/fix-repository/repository-component.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-component.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.d.ts +6 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-data-type.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.d.ts +7 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-enum.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-field.d.ts +11 -0
- package/dist/dictionary/parser/fix-repository/repository-field.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-field.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-message.d.ts +11 -0
- package/dist/dictionary/parser/fix-repository/repository-message.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-message.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.d.ts +9 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.js +3 -0
- package/dist/dictionary/parser/fix-repository/repository-msg-content.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js +1 -0
- package/dist/dictionary/parser/fix-repository/repository-msg.js.map +1 -0
- package/dist/dictionary/parser/fix-repository/repository-type.d.ts +0 -53
- package/dist/dictionary/parser/fix-repository/repository-type.js +0 -2
- package/dist/dictionary/parser/fix-repository/repository-type.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js +10 -10
- package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
- package/dist/dictionary/parser/fix-repository/repository.d.ts +12 -1
- package/dist/dictionary/parser/fix-repository/repository.js +50 -28
- package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
- package/dist/dictionary/parser/fixml/components-parser.d.ts +1 -1
- package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.d.ts +1 -1
- package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
- package/dist/dictionary/parser/fixml/fix-xsd-parser.js +3 -2
- 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.d.ts +1 -1
- package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-definition-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/field-definition-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/field-set-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/field-set-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/message-parser.d.ts +4 -4
- package/dist/dictionary/parser/quickfix/message-parser.js +3 -3
- package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/node-parser.d.ts +4 -5
- package/dist/dictionary/parser/quickfix/node-parser.js +4 -4
- package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
- package/dist/dictionary/parser/quickfix/parse-state.d.ts +8 -0
- package/dist/dictionary/parser/quickfix/parse-state.js +13 -0
- package/dist/dictionary/parser/quickfix/parse-state.js.map +1 -0
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +1 -9
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +28 -35
- package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
- package/dist/dictionary/sax-node.d.ts +6 -0
- package/dist/{types/FIX4.4/quickfix/set/header.js → dictionary/sax-node.js} +1 -1
- package/dist/dictionary/sax-node.js.map +1 -0
- package/dist/dictionary/set-reduce.d.ts +5 -12
- package/dist/dictionary/set-reduce.js +28 -26
- package/dist/dictionary/set-reduce.js.map +1 -1
- package/dist/dictionary/type-dispatcher.d.ts +12 -0
- package/dist/dictionary/type-dispatcher.js +3 -0
- package/dist/dictionary/type-dispatcher.js.map +1 -0
- package/dist/dictionary/version-util.d.ts +4 -0
- package/dist/dictionary/version-util.js +36 -0
- package/dist/dictionary/version-util.js.map +1 -0
- package/dist/execution-report.test.d.ts +0 -0
- package/dist/execution-report.test.js +1 -0
- package/dist/execution-report.test.js.map +1 -0
- package/dist/experiment.d.ts +0 -0
- package/dist/experiment.js +1 -0
- package/dist/experiment.js.map +1 -0
- package/dist/fix-repo-dict.test.d.ts +0 -0
- package/dist/fix-repo-dict.test.js +1 -0
- package/dist/fix-repo-dict.test.js.map +1 -0
- package/dist/fix-session-state-args.d.ts +0 -0
- package/dist/fix-session-state-args.js +1 -0
- package/dist/fix-session-state-args.js.map +1 -0
- package/dist/fix-session-state.d.ts +0 -0
- package/dist/fix-session-state.js +1 -0
- package/dist/fix-session-state.js.map +1 -0
- package/dist/fix-session.d.ts +0 -0
- package/dist/fix-session.js +1 -0
- package/dist/fix-session.js.map +1 -0
- package/dist/fix.txt +1 -0
- package/dist/fixml-alloc-parse.test.d.ts +0 -0
- package/dist/fixml-alloc-parse.test.js +1 -0
- package/dist/fixml-alloc-parse.test.js.map +1 -0
- package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-fut-parse.test.js +1 -0
- package/dist/fixml-mkt-data-fut-parse.test.js.map +1 -0
- package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
- package/dist/fixml-mkt-data-settle-parse.test.js +1 -0
- package/dist/fixml-mkt-data-settle-parse.test.js.map +1 -0
- package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js +1 -0
- package/dist/fixml-tc-bi-lateral-parse.test.js.map +1 -0
- package/dist/includes.test.d.ts +0 -0
- package/dist/includes.test.js +1 -0
- package/dist/includes.test.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/jsfix-cmd.d.ts +5 -0
- package/dist/jsfix-cmd.js +28 -21
- package/dist/jsfix-cmd.js.map +1 -1
- package/dist/launcher.d.ts +0 -0
- package/dist/launcher.js +1 -0
- package/dist/launcher.js.map +1 -0
- package/dist/logon.test.d.ts +0 -0
- package/dist/logon.test.js +1 -0
- package/dist/logon.test.js.map +1 -0
- package/dist/make-fix-session.d.ts +0 -0
- package/dist/make-fix-session.js +1 -0
- package/dist/make-fix-session.js.map +1 -0
- package/dist/memory-store.test.d.ts +0 -0
- package/dist/memory-store.test.js +1 -0
- package/dist/memory-store.test.js.map +1 -0
- package/dist/object.json +691 -0
- package/dist/qf-full-msg.test.d.ts +0 -0
- package/dist/qf-full-msg.test.js +1 -0
- package/dist/qf-full-msg.test.js.map +1 -0
- package/dist/repo-full-ascii-msg.test.d.ts +0 -0
- package/dist/repo-full-ascii-msg.test.js +1 -0
- package/dist/repo-full-ascii-msg.test.js.map +1 -0
- package/dist/runtime/DITokens.d.ts +20 -0
- package/dist/runtime/DITokens.js +25 -0
- package/dist/runtime/DITokens.js.map +1 -0
- package/dist/runtime/app-launcher.d.ts +27 -0
- package/dist/runtime/app-launcher.js +131 -0
- package/dist/runtime/app-launcher.js.map +1 -0
- package/dist/runtime/di-tokens.d.ts +28 -0
- package/dist/runtime/di-tokens.js +33 -0
- package/dist/runtime/di-tokens.js.map +1 -0
- package/dist/runtime/engine-factory.d.ts +4 -0
- package/dist/runtime/engine-factory.js +3 -0
- package/dist/runtime/engine-factory.js.map +1 -0
- package/dist/runtime/index.d.ts +5 -0
- package/dist/runtime/index.js +18 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/launcher.d.ts +29 -0
- package/dist/runtime/launcher.js +131 -0
- package/dist/runtime/launcher.js.map +1 -0
- package/dist/runtime/make-config.d.ts +11 -0
- package/dist/runtime/make-config.js +57 -0
- package/dist/runtime/make-config.js.map +1 -0
- package/dist/runtime/session-container.d.ts +16 -0
- package/dist/runtime/session-container.js +168 -0
- package/dist/runtime/session-container.js.map +1 -0
- package/dist/runtime/session-launcher.d.ts +26 -0
- package/dist/runtime/session-launcher.js +131 -0
- package/dist/runtime/session-launcher.js.map +1 -0
- package/dist/sample/http/oms/app.d.ts +1 -1
- package/dist/sample/http/oms/app.js +16 -14
- package/dist/sample/http/oms/app.js.map +1 -1
- package/dist/sample/http/oms/http-client.js +22 -2
- package/dist/sample/http/oms/http-client.js.map +1 -1
- package/dist/sample/http/oms/http-server.js +21 -2
- package/dist/sample/http/oms/http-server.js.map +1 -1
- package/dist/sample/launcher.d.ts +21 -4
- package/dist/sample/launcher.js +87 -19
- package/dist/sample/launcher.js.map +1 -1
- package/dist/sample/tcp/qf-md/app.d.ts +1 -1
- package/dist/sample/tcp/qf-md/app.js +11 -11
- package/dist/sample/tcp/qf-md/app.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-client.js +21 -2
- package/dist/sample/tcp/qf-md/md-client.js.map +1 -1
- package/dist/sample/tcp/qf-md/md-server.js +20 -2
- package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.d.ts +1 -1
- package/dist/sample/tcp/recovering-skeleton/app.js +36 -16
- package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.d.ts +3 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js +30 -8
- package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.d.ts +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js +22 -3
- package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js +21 -2
- package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
- package/dist/sample/tcp/skeleton/app.d.ts +1 -1
- package/dist/sample/tcp/skeleton/app.js +8 -13
- package/dist/sample/tcp/skeleton/app.js.map +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.d.ts +1 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js +26 -4
- package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
- package/dist/sample/tcp/tls-trade-capture/app.d.ts +1 -1
- package/dist/sample/tcp/tls-trade-capture/app.js +4 -24
- package/dist/sample/tcp/tls-trade-capture/app.js.map +1 -1
- package/dist/sample/tcp/trade-capture/app-launcher.d.ts +6 -0
- package/dist/sample/tcp/trade-capture/app-launcher.js +21 -0
- package/dist/sample/tcp/trade-capture/app-launcher.js.map +1 -0
- package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
- package/dist/sample/tcp/trade-capture/app-launher.js +1 -0
- package/dist/sample/tcp/trade-capture/app-launher.js.map +1 -0
- package/dist/sample/tcp/trade-capture/app.d.ts +1 -1
- package/dist/sample/tcp/trade-capture/app.js +4 -21
- package/dist/sample/tcp/trade-capture/app.js.map +1 -1
- package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +11 -0
- package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +10 -0
- 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 +7 -1
- package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
- package/dist/segment-description.d.ts +0 -0
- package/dist/segment-description.js +1 -0
- package/dist/segment-description.js.map +1 -0
- package/dist/segment-summary.d.ts +0 -0
- package/dist/segment-summary.js +1 -0
- package/dist/segment-summary.js.map +1 -0
- package/dist/segment-type.d.ts +0 -0
- package/dist/segment-type.js +1 -0
- package/dist/segment-type.js.map +1 -0
- package/dist/session-description.d.ts +0 -0
- package/dist/session-description.js +1 -0
- package/dist/session-description.js.map +1 -0
- package/dist/session-msg-factory.d.ts +0 -0
- package/dist/session-msg-factory.js +1 -0
- package/dist/session-msg-factory.js.map +1 -0
- package/dist/session-state.d.ts +0 -0
- package/dist/session-state.js +1 -0
- package/dist/session-state.js.map +1 -0
- package/dist/session-state.test.d.ts +0 -0
- package/dist/session-state.test.js +1 -0
- package/dist/session-state.test.js.map +1 -0
- package/dist/session.test.d.ts +0 -0
- package/dist/session.test.js +1 -0
- package/dist/session.test.js.map +1 -0
- package/dist/setup.d.ts +0 -0
- package/dist/setup.js +1 -0
- package/dist/setup.js.map +1 -0
- package/dist/skeleton-runner.d.ts +0 -0
- package/dist/skeleton-runner.js +1 -0
- package/dist/skeleton-runner.js.map +1 -0
- package/dist/store/fix-msg-ascii-store-resend.d.ts +1 -1
- package/dist/store/fix-msg-ascii-store-resend.js +2 -1
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-msg-memory-store.d.ts +1 -1
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/store/fix-msg-store-record.d.ts +2 -0
- package/dist/store/fix-msg-store-record.js +4 -0
- package/dist/store/fix-msg-store-record.js.map +1 -1
- package/dist/store/fix-msg-store-state.d.ts +6 -0
- package/dist/store/fix-msg-store-state.js +3 -0
- package/dist/store/fix-msg-store-state.js.map +1 -0
- package/dist/store/fix-msg-store.d.ts +1 -6
- package/dist/store/fix-msg-store.js.map +1 -1
- package/dist/structure.json +631 -0
- package/dist/tag-pos.d.ts +0 -0
- package/dist/tag-pos.js +1 -0
- package/dist/tag-pos.js.map +1 -0
- package/dist/tag-type.d.ts +0 -0
- package/dist/tag-type.js +1 -0
- package/dist/tag-type.js.map +1 -0
- package/dist/tags.d.ts +0 -0
- package/dist/tags.js +1 -0
- package/dist/tags.js.map +1 -0
- package/dist/test/ascii/ascii-encoder.test.d.ts +1 -0
- package/dist/test/{ascii-encode.test.js → ascii/ascii-encoder.test.js} +140 -49
- package/dist/test/ascii/ascii-encoder.test.js.map +1 -0
- package/dist/test/ascii/ascii-parser.test.d.ts +1 -0
- package/dist/test/ascii/ascii-parser.test.js +123 -0
- package/dist/test/ascii/ascii-parser.test.js.map +1 -0
- package/dist/test/ascii/ascii-segment.test.d.ts +1 -0
- package/dist/test/ascii/ascii-segment.test.js +86 -0
- package/dist/test/ascii/ascii-segment.test.js.map +1 -0
- package/dist/test/ascii/ascii-store-replay.test.d.ts +1 -0
- package/dist/test/ascii/ascii-store-replay.test.js +92 -0
- package/dist/test/ascii/ascii-store-replay.test.js.map +1 -0
- package/dist/test/ascii/ascii-tag-pos.test.d.ts +1 -0
- package/dist/test/ascii/ascii-tag-pos.test.js +105 -0
- package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -0
- package/dist/test/ascii/execution-report.test.d.ts +1 -0
- package/dist/test/ascii/execution-report.test.js +489 -0
- package/dist/test/ascii/execution-report.test.js.map +1 -0
- package/dist/test/ascii/fix-log-replay.test.d.ts +1 -0
- package/dist/test/ascii/fix-log-replay.test.js +47 -0
- package/dist/test/ascii/fix-log-replay.test.js.map +1 -0
- package/dist/test/ascii/fix-repo-dict.test.d.ts +1 -0
- package/dist/test/ascii/fix-repo-dict.test.js +128 -0
- package/dist/test/ascii/fix-repo-dict.test.js.map +1 -0
- package/dist/test/ascii/includes.test.d.ts +1 -0
- package/dist/test/ascii/includes.test.js +43 -0
- package/dist/test/ascii/includes.test.js.map +1 -0
- package/dist/test/ascii/logon.test.d.ts +1 -0
- package/dist/test/ascii/logon.test.js +91 -0
- package/dist/test/ascii/logon.test.js.map +1 -0
- package/dist/test/ascii/memory-store.test.d.ts +1 -0
- package/dist/test/ascii/memory-store.test.js +75 -0
- package/dist/test/ascii/memory-store.test.js.map +1 -0
- package/dist/test/ascii/qf-full-msg.test.d.ts +1 -0
- package/dist/test/ascii/qf-full-msg.test.js +81 -0
- package/dist/test/ascii/qf-full-msg.test.js.map +1 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.d.ts +1 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.js +87 -0
- package/dist/test/ascii/repo-full-ascii-msg.test.js.map +1 -0
- package/dist/test/ascii/session-state.test.d.ts +1 -0
- package/dist/test/ascii/session-state.test.js +73 -0
- package/dist/test/ascii/session-state.test.js.map +1 -0
- package/dist/test/ascii/session.test.d.ts +1 -0
- package/dist/test/ascii/session.test.js +280 -0
- package/dist/test/ascii/session.test.js.map +1 -0
- package/dist/test/ascii/time-formatter.test.d.ts +1 -0
- package/dist/test/ascii/time-formatter.test.js +80 -0
- package/dist/test/ascii/time-formatter.test.js.map +1 -0
- package/dist/test/ascii/view-decode.test.d.ts +1 -0
- package/dist/test/ascii/view-decode.test.js +183 -0
- package/dist/test/ascii/view-decode.test.js.map +1 -0
- package/dist/test/ascii-encoder.test.d.ts +1 -1
- package/dist/test/ascii-encoder.test.js +51 -48
- package/dist/test/ascii-encoder.test.js.map +1 -1
- package/dist/test/ascii-parser.test.d.ts +1 -1
- package/dist/test/ascii-parser.test.js +26 -45
- package/dist/test/ascii-parser.test.js.map +1 -1
- package/dist/test/ascii-segment.test.d.ts +1 -1
- package/dist/test/ascii-segment.test.js +13 -34
- package/dist/test/ascii-segment.test.js.map +1 -1
- package/dist/test/ascii-store-replay.test.d.ts +1 -1
- package/dist/test/ascii-store-replay.test.js +12 -41
- package/dist/test/ascii-store-replay.test.js.map +1 -1
- package/dist/test/ascii-tag-pos.test.d.ts +1 -1
- package/dist/test/ascii-tag-pos.test.js +8 -8
- package/dist/test/ascii-tag-pos.test.js.map +1 -1
- package/dist/test/elastic-buffer.test.d.ts +1 -1
- package/dist/test/elastic-buffer.test.js +3 -1
- package/dist/test/elastic-buffer.test.js.map +1 -1
- package/dist/test/encode-proxy.test.d.ts +1 -1
- package/dist/test/encode-proxy.test.js +9 -9
- package/dist/test/encode-proxy.test.js.map +1 -1
- package/dist/test/env/experiment.d.ts +23 -0
- package/dist/test/env/experiment.js +33 -0
- package/dist/test/env/experiment.js.map +1 -0
- package/dist/test/env/parsing-result.d.ts +10 -0
- package/dist/test/env/parsing-result.js +14 -0
- package/dist/test/env/parsing-result.js.map +1 -0
- package/dist/test/env/setup.d.ts +39 -0
- package/dist/test/env/setup.js +98 -0
- package/dist/test/env/setup.js.map +1 -0
- package/dist/test/env/skeleton-runner.d.ts +15 -0
- package/dist/test/env/skeleton-runner.js +108 -0
- package/dist/test/env/skeleton-runner.js.map +1 -0
- package/dist/test/env/test-recovery.d.ts +13 -0
- package/dist/test/env/test-recovery.js +41 -0
- package/dist/test/env/test-recovery.js.map +1 -0
- package/dist/test/env/to-views.d.ts +11 -0
- package/dist/test/env/to-views.js +56 -0
- package/dist/test/env/to-views.js.map +1 -0
- package/dist/test/execution-report.test.d.ts +1 -1
- package/dist/test/execution-report.test.js +53 -49
- package/dist/test/execution-report.test.js.map +1 -1
- package/dist/test/experiment.d.ts +23 -0
- package/dist/test/experiment.js +33 -0
- package/dist/test/experiment.js.map +1 -0
- package/dist/test/expieriment.d.ts +23 -0
- package/dist/test/expieriment.js +33 -0
- package/dist/test/expieriment.js.map +1 -0
- package/dist/test/fix-log-replay.test.d.ts +1 -1
- package/dist/test/fix-log-replay.test.js +7 -5
- package/dist/test/fix-log-replay.test.js.map +1 -1
- package/dist/test/fix-repo-dict.test.d.ts +1 -1
- package/dist/test/fix-repo-dict.test.js +6 -5
- package/dist/test/fix-repo-dict.test.js.map +1 -1
- package/dist/test/fixml/fixml-alloc-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-alloc-parse.test.js +161 -0
- package/dist/test/fixml/fixml-alloc-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.js +61 -0
- package/dist/test/fixml/fixml-mkt-data-fut-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.js +34 -0
- package/dist/test/fixml/fixml-mkt-data-settle-parse.test.js.map +1 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.d.ts +1 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.js +97 -0
- package/dist/test/fixml/fixml-tc-bi-lateral-parse.test.js.map +1 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.d.ts +1 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js +143 -0
- package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -0
- package/dist/test/fixml-alloc-parse.test.d.ts +1 -1
- package/dist/test/fixml-alloc-parse.test.js +2 -1
- package/dist/test/fixml-alloc-parse.test.js.map +1 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +1 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js +2 -1
- package/dist/test/fixml-mkt-data-fut-parse.test.js.map +1 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +1 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js +2 -1
- package/dist/test/fixml-mkt-data-settle-parse.test.js.map +1 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +1 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js +2 -1
- package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +1 -1
- package/dist/test/includes.test.d.ts +1 -1
- package/dist/test/includes.test.js +1 -0
- package/dist/test/includes.test.js.map +1 -1
- package/dist/test/logon.test.d.ts +1 -1
- package/dist/test/logon.test.js +11 -11
- package/dist/test/logon.test.js.map +1 -1
- package/dist/test/memory-store.test.d.ts +1 -1
- package/dist/test/memory-store.test.js +11 -8
- package/dist/test/memory-store.test.js.map +1 -1
- package/dist/test/qf-full-msg.test.d.ts +1 -1
- package/dist/test/qf-full-msg.test.js +13 -9
- package/dist/test/qf-full-msg.test.js.map +1 -1
- package/dist/test/repo-full-ascii-msg.test.d.ts +1 -1
- package/dist/test/repo-full-ascii-msg.test.js +14 -10
- package/dist/test/repo-full-ascii-msg.test.js.map +1 -1
- package/dist/test/repo-full-fixml-msg.test.d.ts +1 -1
- package/dist/test/repo-full-fixml-msg.test.js +7 -4
- package/dist/test/repo-full-fixml-msg.test.js.map +1 -1
- package/dist/test/session-state.test.d.ts +1 -1
- package/dist/test/session-state.test.js +1 -0
- package/dist/test/session-state.test.js.map +1 -1
- package/dist/test/session.test.d.ts +1 -1
- package/dist/test/session.test.js +13 -144
- package/dist/test/session.test.js.map +1 -1
- package/dist/test/setup.d.ts +45 -0
- package/dist/test/setup.js +102 -0
- package/dist/test/setup.js.map +1 -0
- package/dist/test/skeleton-runner.d.ts +15 -0
- package/dist/test/skeleton-runner.js +108 -0
- package/dist/test/skeleton-runner.js.map +1 -0
- package/dist/test/time-formatter.test.d.ts +1 -1
- package/dist/test/time-formatter.test.js +3 -1
- package/dist/test/time-formatter.test.js.map +1 -1
- package/dist/test/to-views.d.ts +1 -1
- package/dist/test/to-views.js +5 -4
- package/dist/test/to-views.js.map +1 -1
- package/dist/test/view-decode.test.d.ts +1 -1
- package/dist/test/view-decode.test.js +9 -34
- package/dist/test/view-decode.test.js.map +1 -1
- package/dist/time-formatter.test.d.ts +0 -0
- package/dist/time-formatter.test.js +1 -0
- package/dist/time-formatter.test.js.map +1 -0
- package/dist/to-views.d.ts +0 -0
- package/dist/to-views.js +1 -0
- package/dist/to-views.js.map +1 -0
- package/dist/token.txt +248 -0
- package/dist/transport/FixEntity.d.ts +8 -0
- package/dist/transport/FixEntity.js +12 -0
- package/dist/transport/FixEntity.js.map +1 -0
- package/dist/transport/a-session-msg-factory.d.ts +2 -2
- package/dist/transport/a-session-msg-factory.js.map +1 -1
- package/dist/transport/ascii/ascii-msg-transmitter.js +25 -6
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session-msg-factory.d.ts +2 -2
- package/dist/transport/ascii/ascii-session-msg-factory.js +1 -1
- package/dist/transport/ascii/ascii-session-msg-factory.js.map +1 -1
- package/dist/transport/ascii/ascii-session.d.ts +1 -1
- package/dist/transport/ascii/ascii-session.js +26 -23
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/ascii/index.d.ts +0 -1
- package/dist/transport/ascii/index.js +0 -1
- package/dist/transport/ascii/index.js.map +1 -1
- package/dist/transport/duplex/http-duplex.d.ts +1 -1
- package/dist/transport/duplex/http-duplex.js.map +1 -1
- package/dist/transport/duplex/tcp-duplex.js +22 -2
- package/dist/transport/duplex/tcp-duplex.js.map +1 -1
- package/dist/transport/factory/index.d.ts +1 -0
- package/dist/transport/factory/index.js +14 -0
- package/dist/transport/factory/index.js.map +1 -0
- package/dist/transport/{msg-transport.d.ts → factory/msg-transport.d.ts} +4 -4
- package/dist/transport/factory/msg-transport.js +61 -0
- package/dist/transport/factory/msg-transport.js.map +1 -0
- package/dist/transport/fix-acceptor.d.ts +2 -2
- package/dist/transport/fix-acceptor.js.map +1 -1
- package/dist/transport/fix-entity.d.ts +8 -0
- package/dist/transport/fix-entity.js +12 -0
- package/dist/transport/fix-entity.js.map +1 -0
- package/dist/transport/fix-initiator.d.ts +2 -2
- package/dist/transport/fix-initiator.js.map +1 -1
- package/dist/transport/fix-msg-factory.d.ts +1 -1
- package/dist/transport/fix-msg-factory.js.map +1 -1
- package/dist/transport/fix-session-state-args.d.ts +8 -0
- package/dist/transport/fix-session-state-args.js +3 -0
- package/dist/transport/fix-session-state-args.js.map +1 -0
- package/dist/transport/fix-session-state.d.ts +3 -41
- package/dist/transport/fix-session-state.js +21 -54
- package/dist/transport/fix-session-state.js.map +1 -1
- package/dist/transport/fix-session.d.ts +3 -2
- package/dist/transport/fix-session.js +44 -42
- package/dist/transport/fix-session.js.map +1 -1
- package/dist/transport/fixml/fixml-msg-transmitter.js +23 -5
- package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.d.ts +2 -2
- package/dist/transport/fixml/fixml-session-msg-factory.js +1 -1
- package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
- package/dist/transport/fixml/fixml-session.d.ts +1 -1
- package/dist/transport/fixml/fixml-session.js +3 -3
- package/dist/transport/fixml/fixml-session.js.map +1 -1
- package/dist/transport/fixml/index.d.ts +0 -2
- package/dist/transport/fixml/index.js +0 -2
- package/dist/transport/fixml/index.js.map +1 -1
- package/dist/transport/http/html-options.d.ts +8 -0
- package/dist/{store/replay-record.js → transport/http/html-options.js} +1 -1
- package/dist/transport/http/html-options.js.map +1 -0
- package/dist/transport/http/html-route.d.ts +5 -0
- package/dist/{types/FIX4.4/quickfix/set/trailer.js → transport/http/html-route.js} +1 -1
- package/dist/transport/http/html-route.js.map +1 -0
- package/dist/transport/http/http-acceptor-listener.d.ts +7 -0
- package/dist/transport/http/http-acceptor-listener.js +68 -0
- package/dist/transport/http/http-acceptor-listener.js.map +1 -0
- package/dist/transport/http/http-acceptor.js +24 -5
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-adapter.d.ts +7 -0
- package/dist/transport/http/http-adapter.js +3 -0
- package/dist/transport/http/http-adapter.js.map +1 -0
- package/dist/transport/http/http-initiator.d.ts +9 -3
- package/dist/transport/http/http-initiator.js +57 -26
- package/dist/transport/http/http-initiator.js.map +1 -1
- package/dist/transport/http/http-json-sample-adapter.d.ts +2 -1
- package/dist/transport/http/http-json-sample-adapter.js +21 -2
- package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
- package/dist/transport/http/http-transaction.d.ts +1 -1
- package/dist/transport/http/http-transaction.js.map +1 -1
- package/dist/transport/http/http-transport-description.d.ts +8 -0
- package/dist/transport/http/http-transport-description.js +3 -0
- package/dist/transport/http/http-transport-description.js.map +1 -0
- package/dist/transport/http/index.d.ts +1 -0
- package/dist/transport/http/index.js +1 -0
- package/dist/transport/http/index.js.map +1 -1
- package/dist/transport/index.d.ts +11 -10
- package/dist/transport/index.js +11 -10
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/{make-fixl-session.d.ts → make-fix-session.d.ts} +0 -0
- package/dist/transport/make-fix-session.js +3 -0
- package/dist/transport/make-fix-session.js.map +1 -0
- package/dist/transport/msg-application.d.ts +12 -0
- package/dist/transport/msg-application.js +3 -0
- package/dist/transport/msg-application.js.map +1 -0
- package/dist/transport/msg-transmitter.d.ts +5 -5
- package/dist/transport/msg-transmitter.js +2 -3
- package/dist/transport/msg-transmitter.js.map +1 -1
- package/dist/transport/session/a-session-msg-factory.d.ts +23 -0
- package/dist/transport/session/a-session-msg-factory.js +58 -0
- package/dist/transport/session/a-session-msg-factory.js.map +1 -0
- package/dist/transport/session/fix-session-state-args.d.ts +8 -0
- package/dist/transport/session/fix-session-state-args.js +3 -0
- package/dist/transport/session/fix-session-state-args.js.map +1 -0
- package/dist/transport/session/fix-session-state.d.ts +32 -0
- package/dist/transport/session/fix-session-state.js +133 -0
- package/dist/transport/session/fix-session-state.js.map +1 -0
- package/dist/transport/session/fix-session.d.ts +50 -0
- package/dist/transport/session/fix-session.js +291 -0
- package/dist/transport/session/fix-session.js.map +1 -0
- package/dist/transport/session/make-fix-session.d.ts +5 -0
- package/dist/transport/session/make-fix-session.js +3 -0
- package/dist/transport/session/make-fix-session.js.map +1 -0
- package/dist/transport/session/session-description.d.ts +17 -0
- package/dist/transport/session/session-description.js +3 -0
- package/dist/transport/session/session-description.js.map +1 -0
- package/dist/transport/session/session-msg-factory.d.ts +15 -0
- package/dist/transport/session/session-msg-factory.js +3 -0
- package/dist/transport/session/session-msg-factory.js.map +1 -0
- package/dist/transport/session/session-state.d.ts +25 -0
- package/dist/transport/session/session-state.js +30 -0
- package/dist/transport/session/session-state.js.map +1 -0
- package/dist/transport/session-description.d.ts +1 -48
- package/dist/transport/session-description.js.map +1 -1
- package/dist/transport/session-msg-factory.d.ts +7 -20
- package/dist/transport/session-msg-factory.js +0 -150
- package/dist/transport/session-msg-factory.js.map +1 -1
- package/dist/transport/session-state.d.ts +25 -0
- package/dist/transport/session-state.js +30 -0
- package/dist/transport/session-state.js.map +1 -0
- package/dist/transport/tcp/index.d.ts +3 -2
- package/dist/transport/tcp/index.js +3 -2
- package/dist/transport/tcp/index.js.map +1 -1
- package/dist/transport/tcp/recovering-tcp-initiator.d.ts +7 -9
- package/dist/transport/tcp/recovering-tcp-initiator.js +41 -16
- package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-acceptor-listener.d.ts +7 -0
- package/dist/transport/tcp/tcp-acceptor-listener.js +70 -0
- package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -0
- package/dist/transport/tcp/tcp-acceptor.js +29 -12
- package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
- package/dist/transport/tcp/tcp-initiator-connector.d.ts +10 -0
- package/dist/transport/tcp/tcp-initiator-connector.js +97 -0
- package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -0
- package/dist/transport/tcp/tcp-initiator.d.ts +2 -2
- package/dist/transport/tcp/tcp-initiator.js +28 -9
- package/dist/transport/tcp/tcp-initiator.js.map +1 -1
- package/dist/transport/tcp/tcp-transport-description.d.ts +6 -0
- package/dist/transport/tcp/tcp-transport-description.js +3 -0
- package/dist/transport/tcp/tcp-transport-description.js.map +1 -0
- package/dist/transport/tcp/tls-options-factory.d.ts +9 -0
- package/dist/transport/tcp/tls-options-factory.js +53 -0
- package/dist/transport/tcp/tls-options-factory.js.map +1 -0
- package/dist/transport/tcp/tls-options.d.ts +10 -5
- package/dist/transport/tcp/tls-options.js +0 -49
- package/dist/transport/tcp/tls-options.js.map +1 -1
- package/dist/transport/tick-action.d.ts +8 -0
- package/dist/transport/tick-action.js +13 -0
- package/dist/transport/tick-action.js.map +1 -0
- package/dist/util/buffer-helper.js +1 -1
- package/dist/util/buffer-helper.js.map +1 -1
- package/dist/util/definition-factory.d.ts +10 -0
- package/dist/util/definition-factory.js +56 -0
- package/dist/util/definition-factory.js.map +1 -0
- package/dist/util/dictionary-path.d.ts +4 -0
- package/dist/util/dictionary-path.js +3 -0
- package/dist/util/dictionary-path.js.map +1 -0
- package/dist/util/index.d.ts +1 -1
- package/dist/util/index.js +1 -1
- package/dist/util/index.js.map +1 -1
- package/dist/util/json-helper.d.ts +3 -1
- package/dist/util/json-helper.js +13 -12
- package/dist/util/json-helper.js.map +1 -1
- package/dist/util/message-generator.d.ts +1 -1
- package/dist/util/message-generator.js +16 -15
- package/dist/util/message-generator.js.map +1 -1
- package/dist/util/replay.d.ts +6 -3
- package/dist/util/replay.js +24 -26
- package/dist/util/replay.js.map +1 -1
- package/package.json +15 -10
- package/script/build.cmd +1 -0
- package/script/build.sh +1 -0
- package/script/test.cmd +3 -0
- package/src/buffer/{ascii-chars.ts → ascii/ascii-chars.ts} +0 -0
- package/src/buffer/ascii/ascii-encoder.ts +9 -6
- package/src/buffer/ascii/ascii-parser-state.ts +7 -12
- package/src/buffer/ascii/ascii-parser.ts +23 -16
- package/src/buffer/ascii/ascii-segment-parser.ts +14 -8
- package/src/buffer/ascii/ascii-view.ts +4 -9
- package/src/buffer/ascii/index.ts +1 -0
- package/src/buffer/ascii/parse-state.ts +8 -0
- package/src/buffer/ascii/time-formatter.ts +1 -1
- package/src/buffer/elastic-buffer.ts +7 -2
- package/src/buffer/encode-proxy.ts +9 -4
- package/src/buffer/fixml/fixml-encoder.ts +15 -11
- package/src/buffer/fixml/fixml-parser.ts +16 -6
- package/src/buffer/fixml/fixml-view.ts +4 -9
- package/src/buffer/fixml/populated-attributes.ts +6 -0
- package/src/buffer/index.ts +4 -8
- package/src/buffer/msg-encoder.ts +2 -1
- package/src/buffer/msg-view.ts +13 -9
- package/src/buffer/{segment-description.ts → segment/segment-description.ts} +4 -11
- package/src/buffer/{segment-summary.ts → segment/segment-summary.ts} +0 -0
- package/src/buffer/segment/segment-type.ts +8 -0
- package/src/buffer/structure.ts +3 -3
- package/src/buffer/{tag-pos.ts → tag/tag-pos.ts} +0 -0
- package/src/buffer/tag/tag-type.ts +13 -0
- package/src/buffer/{tags.ts → tag/tags.ts} +4 -16
- package/src/config/get-js-fx-logger.ts +4 -0
- package/src/config/index.ts +1 -0
- package/src/config/js-fix-config.ts +5 -2
- package/src/config/js-fix-logger.ts +0 -3
- package/src/dictionary/compiler/compiler-type.ts +3 -3
- package/src/dictionary/compiler/enum-compiler.ts +12 -1
- package/src/dictionary/compiler/msg-compiler.ts +8 -7
- package/src/dictionary/contained/contained-component-field.ts +2 -1
- package/src/dictionary/contained/contained-field-dispatch.ts +3 -7
- package/src/dictionary/contained/contained-field-dispatcher.ts +9 -0
- package/src/dictionary/contained/contained-field-set.ts +5 -3
- package/src/dictionary/contained/contained-field-type.ts +5 -0
- package/src/dictionary/contained/contained-field.ts +1 -6
- package/src/dictionary/contained/contained-group-field.ts +2 -1
- package/src/dictionary/contained/contained-simple-field.ts +2 -1
- package/src/dictionary/contained/field-dispatcher.ts +9 -0
- package/src/dictionary/contained/fields-dispatch.ts +46 -0
- package/src/dictionary/contained/index.ts +2 -0
- package/src/dictionary/contained-set-type.ts +5 -0
- package/src/dictionary/definition/component-field-definition.ts +1 -1
- package/src/dictionary/definition/fix-definitions.ts +2 -1
- package/src/dictionary/definition/group-field-definition.ts +1 -1
- package/src/dictionary/definition/index.ts +0 -1
- package/src/dictionary/definition/message-definition.ts +1 -1
- package/src/dictionary/definition/simple-field-definition.ts +3 -1
- package/src/dictionary/dict-primitive.ts +0 -13
- package/src/dictionary/fix-definition-source.ts +6 -0
- package/src/dictionary/fix-versions.ts +0 -32
- package/src/dictionary/index.ts +1 -5
- package/src/dictionary/parser/fix-repository/abbreviations-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/base-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/components-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/data-types-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/enums-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/fields-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/messages-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/msg-contents-parser.ts +2 -3
- package/src/dictionary/parser/fix-repository/repository-abbreviation.ts +6 -0
- package/src/dictionary/parser/fix-repository/repository-component.ts +11 -0
- package/src/dictionary/parser/fix-repository/repository-data-type.ts +7 -0
- package/src/dictionary/parser/fix-repository/repository-enum.ts +8 -0
- package/src/dictionary/parser/fix-repository/repository-field.ts +12 -0
- package/src/dictionary/parser/fix-repository/repository-message.ts +12 -0
- package/src/dictionary/parser/fix-repository/repository-msg-content.ts +10 -0
- package/src/dictionary/parser/fix-repository/repository-type.ts +0 -59
- package/src/dictionary/parser/fix-repository/repository-xml-parser.ts +10 -9
- package/src/dictionary/parser/fix-repository/repository.ts +69 -38
- package/src/dictionary/parser/fixml/components-parser.ts +6 -3
- package/src/dictionary/parser/fixml/fields-parser.ts +1 -1
- package/src/dictionary/parser/fixml/fix-xsd-parser.ts +2 -1
- package/src/dictionary/parser/fixml/include-graph.ts +2 -1
- package/src/dictionary/parser/fixml/xsd-parser.ts +2 -1
- package/src/dictionary/parser/quickfix/field-definition-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/field-set-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/message-parser.ts +4 -5
- package/src/dictionary/parser/quickfix/node-parser.ts +3 -6
- package/src/dictionary/parser/quickfix/parse-state.ts +8 -0
- package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +9 -15
- package/src/dictionary/sax-node.ts +7 -0
- package/src/dictionary/set-reduce.ts +30 -31
- package/src/dictionary/type-dispatcher.ts +7 -0
- package/src/dictionary/version-util.ts +25 -0
- package/src/index.ts +1 -0
- package/src/jsfix-cmd.ts +31 -16
- package/src/runtime/di-tokens.ts +48 -0
- package/src/runtime/engine-factory.ts +5 -0
- package/src/runtime/index.ts +5 -0
- package/src/runtime/make-config.ts +35 -0
- package/src/runtime/session-container.ts +180 -0
- package/src/runtime/session-launcher.ts +127 -0
- package/src/sample/http/oms/app.ts +20 -14
- package/src/sample/http/oms/http-client.ts +5 -2
- package/src/sample/http/oms/http-server.ts +5 -1
- package/src/sample/tcp/qf-md/app.ts +12 -12
- package/src/sample/tcp/qf-md/md-client.ts +4 -1
- package/src/sample/tcp/qf-md/md-server.ts +3 -1
- package/src/sample/tcp/recovering-skeleton/app.ts +37 -15
- package/src/sample/tcp/recovering-skeleton/respawn-acceptor.ts +16 -9
- package/src/sample/tcp/recovering-skeleton/skeleton-client.ts +4 -2
- package/src/sample/tcp/recovering-skeleton/skeleton-server.ts +4 -2
- package/src/sample/tcp/skeleton/app.ts +10 -15
- package/src/sample/tcp/skeleton/skeleton-session.ts +8 -4
- package/src/sample/tcp/tls-trade-capture/app.ts +8 -31
- package/src/sample/tcp/trade-capture/app-launcher.ts +22 -0
- package/src/sample/tcp/trade-capture/app.ts +3 -26
- package/src/sample/tcp/trade-capture/trade-capture-client.ts +2 -1
- package/src/sample/tcp/trade-capture/trade-capture-server.ts +2 -1
- package/src/sample/tcp/trade-capture/trade-factory.ts +7 -1
- package/src/store/fix-msg-ascii-store-resend.ts +3 -2
- package/src/store/fix-msg-memory-store.ts +1 -1
- package/src/store/fix-msg-store-record.ts +6 -0
- package/src/store/fix-msg-store-state.ts +6 -0
- package/src/store/fix-msg-store.ts +1 -7
- package/src/transport/ascii/ascii-msg-transmitter.ts +9 -5
- package/src/transport/ascii/ascii-session-msg-factory.ts +2 -2
- package/src/transport/ascii/ascii-session.ts +9 -6
- package/src/transport/ascii/index.ts +0 -1
- package/src/transport/duplex/http-duplex.ts +1 -1
- package/src/transport/duplex/tcp-duplex.ts +4 -1
- package/src/transport/factory/index.ts +1 -0
- package/src/transport/factory/msg-transport.ts +55 -0
- package/src/transport/fix-acceptor.ts +2 -2
- package/src/transport/fix-entity.ts +9 -0
- package/src/transport/fix-initiator.ts +2 -2
- package/src/transport/fixml/fixml-msg-transmitter.ts +8 -4
- package/src/transport/fixml/fixml-session-msg-factory.ts +2 -2
- package/src/transport/fixml/fixml-session.ts +2 -2
- package/src/transport/fixml/index.ts +0 -2
- package/src/transport/http/html-options.ts +8 -0
- package/src/transport/http/html-route.ts +6 -0
- package/src/transport/http/http-acceptor-listener.ts +42 -0
- package/src/transport/http/http-acceptor.ts +5 -2
- package/src/transport/http/http-adapter.ts +7 -0
- package/src/transport/http/http-initiator.ts +40 -25
- package/src/transport/http/http-json-sample-adapter.ts +7 -2
- package/src/transport/http/http-transaction.ts +1 -1
- package/src/transport/http/http-transport-description.ts +9 -0
- package/src/transport/http/index.ts +1 -0
- package/src/transport/index.ts +11 -10
- package/src/transport/msg-application.ts +13 -0
- package/src/transport/msg-transmitter.ts +5 -5
- package/src/transport/{a-session-msg-factory.ts → session/a-session-msg-factory.ts} +4 -4
- package/src/transport/session/fix-session-state-args.ts +9 -0
- package/src/transport/{fix-session-state.ts → session/fix-session-state.ts} +4 -44
- package/src/transport/{fix-session.ts → session/fix-session.ts} +10 -7
- package/src/transport/{make-fixl-session.ts → session/make-fix-session.ts} +1 -1
- package/src/transport/session/session-description.ts +18 -0
- package/src/transport/{fix-msg-factory.ts → session/session-msg-factory.ts} +2 -2
- package/src/transport/session/session-state.ts +25 -0
- package/src/transport/tcp/index.ts +3 -2
- package/src/transport/tcp/recovering-tcp-initiator.ts +24 -13
- package/src/transport/tcp/tcp-acceptor-listener.ts +45 -0
- package/src/transport/tcp/tcp-acceptor.ts +11 -10
- package/src/transport/tcp/tcp-initiator-connector.ts +71 -0
- package/src/transport/tcp/tcp-initiator.ts +10 -6
- package/src/transport/tcp/tcp-transport-description.ts +7 -0
- package/src/transport/tcp/tls-options-factory.ts +55 -0
- package/src/transport/tcp/tls-options.ts +9 -51
- package/src/transport/tick-action.ts +8 -0
- package/src/util/definition-factory.ts +47 -0
- package/src/util/dictionary-path.ts +4 -0
- package/src/util/index.ts +1 -1
- package/src/util/json-helper.ts +14 -4
- package/src/util/message-generator.ts +6 -3
- package/src/util/replay.ts +26 -21
- package/tsconfig.json +2 -0
- package/dist/buffer/ascii-chars.js.map +0 -1
- package/dist/dictionary/fields-dispatch.js +0 -40
- package/dist/dictionary/fields-dispatch.js.map +0 -1
- package/dist/sample/tcp/recovering-skeleton/respawn-2.d.ts +0 -2
- package/dist/sample/tcp/recovering-skeleton/respawn-2.js +0 -3
- package/dist/sample/tcp/recovering-skeleton/respawn-2.js.map +0 -1
- package/dist/store/fix-msg-ascii-store-recovery.d.ts +0 -12
- package/dist/store/fix-msg-ascii-store-recovery.js +0 -60
- package/dist/store/fix-msg-ascii-store-recovery.js.map +0 -1
- package/dist/store/fix-msg-ascii-store-replay.d.ts +0 -13
- package/dist/store/fix-msg-ascii-store-replay.js +0 -60
- package/dist/store/fix-msg-ascii-store-replay.js.map +0 -1
- package/dist/store/fix-replay-record.d.ts +0 -12
- package/dist/store/fix-replay-record.js +0 -12
- package/dist/store/fix-replay-record.js.map +0 -1
- package/dist/store/fix-resend-record.d.ts +0 -12
- package/dist/store/fix-resend-record.js +0 -12
- package/dist/store/fix-resend-record.js.map +0 -1
- package/dist/store/replay-record.d.ts +0 -6
- package/dist/store/replay-record.js.map +0 -1
- package/dist/store/store-replay-record.d.ts +0 -12
- package/dist/store/store-replay-record.js +0 -12
- package/dist/store/store-replay-record.js.map +0 -1
- package/dist/tcp/tls-options.d.ts +0 -5
- package/dist/tcp/tls-options.js +0 -45
- package/dist/tcp/tls-options.js.map +0 -1
- package/dist/test/ascii-encode.test.d.ts +0 -1
- package/dist/test/ascii-encode.test.js.map +0 -1
- package/dist/test/ascii-store-recovery.test.d.ts +0 -1
- package/dist/test/ascii-store-recovery.test.js +0 -50
- package/dist/test/ascii-store-recovery.test.js.map +0 -1
- package/dist/transport/ascii-session-msg-factory.d.ts +0 -16
- package/dist/transport/ascii-session-msg-factory.js +0 -47
- package/dist/transport/ascii-session-msg-factory.js.map +0 -1
- package/dist/transport/fixml/acceptor.d.ts +0 -3
- package/dist/transport/fixml/acceptor.js +0 -38
- package/dist/transport/fixml/acceptor.js.map +0 -1
- package/dist/transport/fixml-session-msg-factory.d.ts +0 -13
- package/dist/transport/fixml-session-msg-factory.js +0 -68
- package/dist/transport/fixml-session-msg-factory.js.map +0 -1
- package/dist/transport/make-config.d.ts +0 -4
- package/dist/transport/make-config.js +0 -31
- package/dist/transport/make-config.js.map +0 -1
- package/dist/transport/make-fixl-session.js.map +0 -1
- package/dist/transport/msg-transport.js +0 -57
- package/dist/transport/msg-transport.js.map +0 -1
- package/dist/transport/tcp/acceptor.d.ts +0 -3
- package/dist/transport/tcp/acceptor.js +0 -40
- package/dist/transport/tcp/acceptor.js.map +0 -1
- package/dist/transport/tcp/initiator.d.ts +0 -3
- package/dist/transport/tcp/initiator.js +0 -67
- package/dist/transport/tcp/initiator.js.map +0 -1
- package/dist/transport/tcp/recovering-initiator.d.ts +0 -17
- package/dist/transport/tcp/recovering-initiator.js +0 -30
- package/dist/transport/tcp/recovering-initiator.js.map +0 -1
- package/dist/transport/tcp/recovering_initiator.d.ts +0 -12
- package/dist/transport/tcp/recovering_initiator.js +0 -25
- package/dist/transport/tcp/recovering_initiator.js.map +0 -1
- package/dist/transport/tcp/resilient-initiator.d.ts +0 -12
- package/dist/transport/tcp/resilient-initiator.js +0 -41
- package/dist/transport/tcp/resilient-initiator.js.map +0 -1
- package/dist/types/FIX4.4/quickfix/set/header.d.ts +0 -31
- package/dist/types/FIX4.4/quickfix/set/header.js.map +0 -1
- package/dist/types/FIX4.4/quickfix/set/trailer.d.ts +0 -6
- package/dist/types/FIX4.4/quickfix/set/trailer.js.map +0 -1
- package/dist/util/dictionary-definitions.d.ts +0 -8
- package/dist/util/dictionary-definitions.js +0 -51
- package/dist/util/dictionary-definitions.js.map +0 -1
- package/src/dictionary/fields-dispatch.ts +0 -45
- package/src/sample/launcher.ts +0 -56
- package/src/transport/fixml/acceptor.ts +0 -29
- package/src/transport/make-config.ts +0 -19
- package/src/transport/msg-transport.ts +0 -67
- package/src/transport/session-description.ts +0 -70
- package/src/transport/tcp/acceptor.ts +0 -31
- package/src/transport/tcp/initiator.ts +0 -59
- package/src/util/dictionary-definitions.ts +0 -41
package/src/jsfix-cmd.ts
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
|
|
3
|
+
import { ElasticBuffer, MsgView, MsgParser } from './buffer'
|
|
4
|
+
import { AsciiParser, AsciiView, AsciiChars } from './buffer/ascii'
|
|
2
5
|
import { ILooseObject } from './collections/collection'
|
|
3
|
-
import { SimpleFieldDefinition, FixDefinitions
|
|
4
|
-
import { MessageGenerator, JsonHelper,
|
|
5
|
-
import {
|
|
6
|
+
import { SimpleFieldDefinition, FixDefinitions } from './dictionary/definition'
|
|
7
|
+
import { MessageGenerator, JsonHelper, getWords, DefinitionFactory } from './util'
|
|
8
|
+
import { ISessionDescription, FileDuplex, StringDuplex } from './transport'
|
|
6
9
|
|
|
7
10
|
import { MsgTag } from './types'
|
|
8
|
-
import {
|
|
11
|
+
import { IJsFixConfig } from './config'
|
|
9
12
|
|
|
10
13
|
import * as util from 'util'
|
|
11
14
|
const fs = require('node-fs-extra')
|
|
12
15
|
import * as minimist from 'minimist'
|
|
13
16
|
import * as path from 'path'
|
|
17
|
+
import { MsgTransport } from './transport/factory'
|
|
18
|
+
import { EnumCompiler, ICompilerSettings, MsgCompiler } from './dictionary/compiler'
|
|
19
|
+
import { AsciiMsgTransmitter } from './transport/ascii/ascii-msg-transmitter'
|
|
20
|
+
import { SessionContainer } from './runtime'
|
|
21
|
+
import { DITokens } from './runtime/di-tokens'
|
|
14
22
|
|
|
15
23
|
const argv: any = minimist(process.argv.slice(2))
|
|
16
24
|
|
|
@@ -294,7 +302,7 @@ export class JsfixCmd {
|
|
|
294
302
|
|
|
295
303
|
private async compile () {
|
|
296
304
|
let output = argv.output
|
|
297
|
-
const dp = getDictPath(argv.dict)
|
|
305
|
+
const dp = new DefinitionFactory().getDictPath(argv.dict)
|
|
298
306
|
if (dp) {
|
|
299
307
|
output = dp.output
|
|
300
308
|
}
|
|
@@ -302,26 +310,33 @@ export class JsfixCmd {
|
|
|
302
310
|
await this.compileDefinitions(output)
|
|
303
311
|
}
|
|
304
312
|
|
|
313
|
+
sys: SessionContainer
|
|
314
|
+
config: IJsFixConfig
|
|
315
|
+
|
|
305
316
|
private async init (): Promise<any> {
|
|
306
317
|
let session: string = argv.session || 'data/session/test-initiator.json'
|
|
318
|
+
this.sys = new SessionContainer()
|
|
319
|
+
this.sys.registerGlobal('error')
|
|
307
320
|
session = this.norm(session)
|
|
308
321
|
this.sessionDescription = require(session)
|
|
322
|
+
const container = await this.sys.makeSystem(this.sessionDescription)
|
|
323
|
+
this.config = container.resolve<IJsFixConfig>(DITokens.IJsFixConfig)
|
|
324
|
+
this.definitions = this.config.definitions
|
|
309
325
|
let dict: string
|
|
310
326
|
if (argv.dict) {
|
|
311
327
|
dict = argv.dict
|
|
312
|
-
|
|
313
|
-
|
|
328
|
+
const df = await new DefinitionFactory().getDefinitions(dict)
|
|
329
|
+
this.config.definitions = df
|
|
330
|
+
this.definitions = df
|
|
314
331
|
}
|
|
315
|
-
this.definitions = await getDefinitions(dict)
|
|
316
332
|
const definitions = this.definitions
|
|
317
333
|
if (argv.delimiter) {
|
|
318
334
|
this.delimiter = AsciiChars.firstChar(argv.delimiter)
|
|
335
|
+
this.config.delimiter = this.delimiter
|
|
319
336
|
}
|
|
320
337
|
this.jsonHelper = new JsonHelper(definitions)
|
|
321
338
|
if (argv.session) {
|
|
322
|
-
|
|
323
|
-
const config = new JsFixConfig(new SessionMsgFactory(description), definitions, description, this.delimiter)
|
|
324
|
-
this.session = new AsciiMsgTransmitter(config)
|
|
339
|
+
this.session = container.resolve<AsciiMsgTransmitter>(DITokens.MsgTransmitter)
|
|
325
340
|
}
|
|
326
341
|
}
|
|
327
342
|
|
|
@@ -428,7 +443,7 @@ export class JsfixCmd {
|
|
|
428
443
|
return
|
|
429
444
|
}
|
|
430
445
|
const fix: string = this.norm(argv.fix)
|
|
431
|
-
const config =
|
|
446
|
+
const config = this.config
|
|
432
447
|
const ft: MsgTransport = new MsgTransport(1, config, new FileDuplex(fix))
|
|
433
448
|
await this.dispatch(ft)
|
|
434
449
|
}
|
|
@@ -441,8 +456,6 @@ export class JsfixCmd {
|
|
|
441
456
|
return new Promise<any>((accept, reject) => {
|
|
442
457
|
const fix: string = this.norm(argv.fix)
|
|
443
458
|
const fs = require('fs')
|
|
444
|
-
const definitions = this.definitions
|
|
445
|
-
const delimiter = this.delimiter
|
|
446
459
|
fs.readFile(fix, 'utf8', async (err: Error, contents: string) => {
|
|
447
460
|
if (err) {
|
|
448
461
|
reject(err)
|
|
@@ -450,7 +463,9 @@ export class JsfixCmd {
|
|
|
450
463
|
const toParse = new StringDuplex(contents.repeat(repeats), false)
|
|
451
464
|
const startsAt: Date = new Date()
|
|
452
465
|
let i = 0
|
|
453
|
-
const
|
|
466
|
+
const config = this.config
|
|
467
|
+
const buffer = config.sessionContainer.resolve<ElasticBuffer>(DITokens.ParseBuffer)
|
|
468
|
+
const asciiParser: MsgParser = new AsciiParser(config, toParse.readable, buffer)
|
|
454
469
|
asciiParser.on('msg', (msgType: string, v: MsgView) => {
|
|
455
470
|
++i
|
|
456
471
|
if (i === repeats) {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
|
|
2
|
+
export enum DITokens {
|
|
3
|
+
// the JSON representation defining header
|
|
4
|
+
ISessionDescription = 'ISessionDescription',
|
|
5
|
+
// the main config interface created from application JSON config
|
|
6
|
+
IJsFixConfig = 'IJsFixConfig',
|
|
7
|
+
// the data dictionary holding all field definitions - represented in quickfix or repo
|
|
8
|
+
Definitions = 'Definitions',
|
|
9
|
+
// the main application session object type
|
|
10
|
+
FixSession = 'FixSession',
|
|
11
|
+
// used to construct loggers e.g. in Winston
|
|
12
|
+
JsFixLoggerFactory = 'JsFixLoggerFactory',
|
|
13
|
+
// used to construct session protocol messages - logon / heartbeat / reset
|
|
14
|
+
ISessionMsgFactory = 'ISessionMsgFactory',
|
|
15
|
+
// a tcp socket or string / file for unit testing - abstraction of physical transport
|
|
16
|
+
FixDuplex = 'FixDuplex',
|
|
17
|
+
// ASCII: format messages from objects and send to socket
|
|
18
|
+
MsgTransmitter = 'MsgTransmitter',
|
|
19
|
+
// ASCII: write object attributes in txt to transmit buffer
|
|
20
|
+
MsgEncoder = 'MsgEncoder',
|
|
21
|
+
// ASCII: receive bytes from socket and parse to tags
|
|
22
|
+
MsgParser = 'MsgParser',
|
|
23
|
+
// FIXML: user defined adapter used in HTTP to manage a transaction
|
|
24
|
+
IHttpAdapter = 'IHttpAdapter',
|
|
25
|
+
// the listener or connector depending on entity type.
|
|
26
|
+
FixEntity = 'FixEntity',
|
|
27
|
+
// the transport listener to construct sessions on connection
|
|
28
|
+
Listener = 'Listener',
|
|
29
|
+
// used to initiate a connection to listener in order to establish a transport
|
|
30
|
+
Connector = 'Connector',
|
|
31
|
+
// a self adjusting buffer to allow messages to be formatted
|
|
32
|
+
ElasticBuffer = 'ElasticBuffer',
|
|
33
|
+
// parse into this buffer
|
|
34
|
+
ParseBuffer = 'ReceiveBuffer',
|
|
35
|
+
// format into and clone from this buffer to transmit stream
|
|
36
|
+
TransmitBuffer = 'SendBuffer',
|
|
37
|
+
|
|
38
|
+
elasticBufferSize = 'elasticBufferSize',
|
|
39
|
+
elasticBufferReturnSize = 'elasticBufferReturnSize',
|
|
40
|
+
|
|
41
|
+
logDelimiter = 'logDelimiter',
|
|
42
|
+
delimiter = 'delimiter',
|
|
43
|
+
sessionId = 'sessionId',
|
|
44
|
+
maxMessageLen = 'maxMessageLen',
|
|
45
|
+
readStream = 'readStream',
|
|
46
|
+
duplexParam = 'duplexParam',
|
|
47
|
+
maxMessageLocations = 'maxMessageLocations'
|
|
48
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { AsciiChars } from '../buffer/ascii'
|
|
2
|
+
import { ISessionDescription, ISessionMsgFactory } from '../transport/'
|
|
3
|
+
import { IJsFixConfig, JsFixConfig, JsFixLoggerFactory } from '../config'
|
|
4
|
+
import { FixDefinitions } from '../dictionary/definition'
|
|
5
|
+
import { DefinitionFactory } from '../util/'
|
|
6
|
+
import { injectable, inject } from 'tsyringe'
|
|
7
|
+
import { DITokens } from './di-tokens'
|
|
8
|
+
|
|
9
|
+
@injectable()
|
|
10
|
+
export class RuntimeFactory {
|
|
11
|
+
constructor (
|
|
12
|
+
@inject(DefinitionFactory) public readonly definitionFactory: DefinitionFactory,
|
|
13
|
+
@inject(DITokens.JsFixLoggerFactory) public readonly logFactory: JsFixLoggerFactory,
|
|
14
|
+
@inject(DITokens.ISessionMsgFactory) public readonly msgFactory: ISessionMsgFactory,
|
|
15
|
+
@inject(DITokens.ISessionDescription) public readonly description: ISessionDescription) {}
|
|
16
|
+
|
|
17
|
+
makeConfig (): Promise<IJsFixConfig> {
|
|
18
|
+
const description = this.description
|
|
19
|
+
return new Promise<IJsFixConfig>((accept, reject) => {
|
|
20
|
+
try {
|
|
21
|
+
this.definitionFactory.getDefinitions(description.application.dictionary,
|
|
22
|
+
(t: string) => {
|
|
23
|
+
return this.logFactory.logger(`${description.application.type}.${t}`)
|
|
24
|
+
}).then((definitions: FixDefinitions) => {
|
|
25
|
+
const config = new JsFixConfig(this.msgFactory, definitions, description, AsciiChars.Soh, this.logFactory)
|
|
26
|
+
accept(config)
|
|
27
|
+
}).catch(e => {
|
|
28
|
+
reject(e)
|
|
29
|
+
})
|
|
30
|
+
} catch (e) {
|
|
31
|
+
reject(e)
|
|
32
|
+
}
|
|
33
|
+
})
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { container, DependencyContainer } from 'tsyringe'
|
|
2
|
+
import { DefinitionFactory } from '../util'
|
|
3
|
+
import { IJsFixConfig, JsFixWinstonLogFactory, WinstonLogger } from '../config'
|
|
4
|
+
import { DITokens } from './di-tokens'
|
|
5
|
+
import { RuntimeFactory } from './make-config'
|
|
6
|
+
|
|
7
|
+
import { TcpAcceptorListener, RecoveringTcpInitiator,
|
|
8
|
+
TcpInitiatorConnector, TcpInitiator } from '../transport/tcp'
|
|
9
|
+
import { HttpInitiator, HttpAcceptorListener, HttpJsonSampleAdapter } from '../transport/http'
|
|
10
|
+
import { ISessionMsgFactory, MsgTransmitter, ISessionDescription } from '../transport'
|
|
11
|
+
import { AsciiMsgTransmitter } from '../transport/ascii/ascii-msg-transmitter'
|
|
12
|
+
import { FixmlMsgTransmitter } from '../transport/fixml/fixml-msg-transmitter'
|
|
13
|
+
import { FixmlSessionMsgFactory } from '../transport/fixml'
|
|
14
|
+
import { AsciiSessionMsgFactory } from '../transport/ascii'
|
|
15
|
+
import { ElasticBuffer, MsgEncoder, MsgParser } from '../buffer'
|
|
16
|
+
import { AsciiParser, AsciiParserState, AsciiSegmentParser } from '../buffer/ascii'
|
|
17
|
+
import { FixmlEncoder, FiXmlParser } from '../buffer/fixml'
|
|
18
|
+
import { FixEntity } from '../transport/fix-entity'
|
|
19
|
+
import { IHttpAdapter } from '../transport/http/http-adapter'
|
|
20
|
+
|
|
21
|
+
export class SessionContainer {
|
|
22
|
+
|
|
23
|
+
public reset (): void {
|
|
24
|
+
container.reset()
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
public registerGlobal (level: string = 'info'): void {
|
|
28
|
+
container.registerInstance(DefinitionFactory, new DefinitionFactory())
|
|
29
|
+
const lf = new JsFixWinstonLogFactory(WinstonLogger.consoleOptions(level))
|
|
30
|
+
container.registerInstance(DITokens.JsFixLoggerFactory, lf)
|
|
31
|
+
container.register<RuntimeFactory>(RuntimeFactory, {
|
|
32
|
+
useClass: RuntimeFactory
|
|
33
|
+
})
|
|
34
|
+
container.register<ElasticBuffer>(DITokens.ElasticBuffer, {
|
|
35
|
+
useClass: ElasticBuffer
|
|
36
|
+
})
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
protected makeSessionFactory (description: ISessionDescription): ISessionMsgFactory {
|
|
40
|
+
const fixml = !this.isAscii(description)
|
|
41
|
+
return fixml ?
|
|
42
|
+
new FixmlSessionMsgFactory(description) :
|
|
43
|
+
new AsciiSessionMsgFactory(description)
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public newChild (description: ISessionDescription): DependencyContainer {
|
|
47
|
+
const sessionContainer = container.createChildContainer()
|
|
48
|
+
const sf = this.makeSessionFactory(description)
|
|
49
|
+
sessionContainer.registerInstance(DITokens.ISessionDescription, description)
|
|
50
|
+
sessionContainer.registerInstance(DITokens.ISessionMsgFactory, sf)
|
|
51
|
+
return sessionContainer
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public makeSystem (description: ISessionDescription): Promise<DependencyContainer> {
|
|
55
|
+
return new Promise<DependencyContainer>((resolve, reject) => {
|
|
56
|
+
const sessionContainer = this.newChild(description)
|
|
57
|
+
const factory = sessionContainer.resolve<RuntimeFactory>(RuntimeFactory)
|
|
58
|
+
factory.makeConfig().then((c: IJsFixConfig) => {
|
|
59
|
+
this.registerSession(c, sessionContainer)
|
|
60
|
+
resolve(sessionContainer)
|
|
61
|
+
}).catch(e => {
|
|
62
|
+
reject(e)
|
|
63
|
+
})
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public isAscii (description: ISessionDescription): boolean {
|
|
68
|
+
return description.application.protocol === 'ascii'
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
public isInitiator (description: ISessionDescription): boolean {
|
|
72
|
+
return description.application.type === 'initiator'
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
public asAscii (description: ISessionDescription, sessionContainer: DependencyContainer) {
|
|
76
|
+
sessionContainer.register<MsgTransmitter>(DITokens.MsgTransmitter, {
|
|
77
|
+
useClass: AsciiMsgTransmitter
|
|
78
|
+
})
|
|
79
|
+
sessionContainer.register<MsgParser>(DITokens.MsgParser, {
|
|
80
|
+
useClass: AsciiParser
|
|
81
|
+
})
|
|
82
|
+
const parseSize = 160 * 1024
|
|
83
|
+
const sendSize = 10 * 1024
|
|
84
|
+
|
|
85
|
+
sessionContainer.register(DITokens.maxMessageLen, {
|
|
86
|
+
useValue: parseSize
|
|
87
|
+
})
|
|
88
|
+
sessionContainer.register<AsciiSegmentParser>(AsciiSegmentParser, {
|
|
89
|
+
useClass: AsciiSegmentParser
|
|
90
|
+
})
|
|
91
|
+
sessionContainer.register<AsciiParserState>(AsciiParserState, {
|
|
92
|
+
useClass: AsciiParserState
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
sessionContainer.registerInstance<ElasticBuffer>(DITokens.TransmitBuffer, new ElasticBuffer(sendSize))
|
|
96
|
+
sessionContainer.registerInstance<ElasticBuffer>(DITokens.ParseBuffer, new ElasticBuffer(parseSize))
|
|
97
|
+
|
|
98
|
+
if (this.isInitiator(description)) {
|
|
99
|
+
sessionContainer.register<TcpInitiator>(TcpInitiator, {
|
|
100
|
+
useClass: TcpInitiator
|
|
101
|
+
})
|
|
102
|
+
sessionContainer.register<RecoveringTcpInitiator>(RecoveringTcpInitiator, {
|
|
103
|
+
useClass: RecoveringTcpInitiator
|
|
104
|
+
})
|
|
105
|
+
sessionContainer.register<TcpInitiatorConnector>(TcpInitiatorConnector, {
|
|
106
|
+
useClass: TcpInitiatorConnector
|
|
107
|
+
})
|
|
108
|
+
if (description.application.resilient) {
|
|
109
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
110
|
+
useClass: RecoveringTcpInitiator
|
|
111
|
+
})
|
|
112
|
+
} else {
|
|
113
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
114
|
+
useClass: TcpInitiatorConnector
|
|
115
|
+
})
|
|
116
|
+
}
|
|
117
|
+
} else {
|
|
118
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
119
|
+
useClass: TcpAcceptorListener
|
|
120
|
+
})
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
public asFixml (description: ISessionDescription, sessionContainer: DependencyContainer) {
|
|
125
|
+
sessionContainer.register<MsgTransmitter>(DITokens.MsgTransmitter, {
|
|
126
|
+
useClass: FixmlMsgTransmitter
|
|
127
|
+
})
|
|
128
|
+
const sendSize = 10 * 1024
|
|
129
|
+
|
|
130
|
+
sessionContainer.register<MsgParser>(DITokens.MsgParser, {
|
|
131
|
+
useClass: FiXmlParser
|
|
132
|
+
})
|
|
133
|
+
sessionContainer.register(DITokens.maxMessageLocations, {
|
|
134
|
+
useValue: sendSize
|
|
135
|
+
})
|
|
136
|
+
sessionContainer.register<MsgEncoder>(DITokens.MsgEncoder, {
|
|
137
|
+
useClass: FixmlEncoder
|
|
138
|
+
})
|
|
139
|
+
sessionContainer.registerInstance<ElasticBuffer>(DITokens.TransmitBuffer, new ElasticBuffer(sendSize))
|
|
140
|
+
sessionContainer.register<HttpAcceptorListener>(HttpAcceptorListener, {
|
|
141
|
+
useClass: HttpAcceptorListener
|
|
142
|
+
})
|
|
143
|
+
sessionContainer.register<HttpInitiator>(HttpInitiator, {
|
|
144
|
+
useClass: HttpInitiator
|
|
145
|
+
})
|
|
146
|
+
if (this.isInitiator(description)) {
|
|
147
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
148
|
+
useClass: HttpInitiator
|
|
149
|
+
})
|
|
150
|
+
sessionContainer.register<IHttpAdapter>(DITokens.IHttpAdapter, {
|
|
151
|
+
useClass: HttpJsonSampleAdapter
|
|
152
|
+
})
|
|
153
|
+
} else {
|
|
154
|
+
sessionContainer.register<FixEntity>(DITokens.FixEntity, {
|
|
155
|
+
useClass: HttpAcceptorListener
|
|
156
|
+
})
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
protected asciiConstants (c: IJsFixConfig, sessionContainer: DependencyContainer) {
|
|
161
|
+
sessionContainer.register(DITokens.delimiter, {
|
|
162
|
+
useValue: c.delimiter
|
|
163
|
+
})
|
|
164
|
+
sessionContainer.register(DITokens.logDelimiter, {
|
|
165
|
+
useValue: c.logDelimiter
|
|
166
|
+
})
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
public registerSession (c: IJsFixConfig, sessionContainer: DependencyContainer) {
|
|
170
|
+
if (this.isAscii(c.description)) {
|
|
171
|
+
this.asAscii(c.description, sessionContainer)
|
|
172
|
+
this.asciiConstants(c, sessionContainer)
|
|
173
|
+
} else {
|
|
174
|
+
this.asFixml(c.description, sessionContainer)
|
|
175
|
+
}
|
|
176
|
+
c.sessionContainer = sessionContainer
|
|
177
|
+
sessionContainer.registerInstance(DITokens.IJsFixConfig, c)
|
|
178
|
+
sessionContainer.registerInstance(DITokens.Definitions, c.definitions)
|
|
179
|
+
}
|
|
180
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import * as path from 'path'
|
|
2
|
+
import { IJsFixConfig, IJsFixLogger, JsFixWinstonLogFactory, WinstonLogger } from '../config'
|
|
3
|
+
import { ISessionDescription, FixEntity, FixSession } from '../transport'
|
|
4
|
+
import { DependencyContainer } from 'tsyringe'
|
|
5
|
+
import { EngineFactory } from './engine-factory'
|
|
6
|
+
import { SessionContainer } from './session-container'
|
|
7
|
+
import { DITokens } from './di-tokens'
|
|
8
|
+
|
|
9
|
+
const root = '../../'
|
|
10
|
+
const logFactory = new JsFixWinstonLogFactory(WinstonLogger.consoleOptions('info'))
|
|
11
|
+
|
|
12
|
+
export abstract class SessionLauncher {
|
|
13
|
+
protected readonly logger: IJsFixLogger
|
|
14
|
+
protected constructor (public readonly initiatorConfig: string,
|
|
15
|
+
public readonly acceptorConfig: string = null) {
|
|
16
|
+
this.logger = logFactory.logger('launcher')
|
|
17
|
+
}
|
|
18
|
+
protected sessionContainer: SessionContainer = new SessionContainer()
|
|
19
|
+
|
|
20
|
+
private empty (): Promise<any> {
|
|
21
|
+
return new Promise((resolve, _) => {
|
|
22
|
+
setImmediate(() => {
|
|
23
|
+
this.logger.info('resolving an empty promise')
|
|
24
|
+
resolve(null)
|
|
25
|
+
})
|
|
26
|
+
})
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
protected getAcceptor (sessionContainer: DependencyContainer): Promise<any> {
|
|
30
|
+
if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {
|
|
31
|
+
const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)
|
|
32
|
+
return entity.start()
|
|
33
|
+
} else {
|
|
34
|
+
return this.empty()
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
protected getInitiator (sessionContainer: DependencyContainer): Promise<any> {
|
|
39
|
+
if (sessionContainer.isRegistered<FixEntity>(DITokens.FixEntity)) {
|
|
40
|
+
const entity = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)
|
|
41
|
+
return entity.start()
|
|
42
|
+
} else {
|
|
43
|
+
return this.empty()
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
protected makeFactory (config: IJsFixConfig): EngineFactory {
|
|
48
|
+
return null
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
public run () {
|
|
52
|
+
return new Promise<any>((accept, reject) => {
|
|
53
|
+
const logger = this.logger
|
|
54
|
+
logger.info('launching ..')
|
|
55
|
+
this.setup().then(() => {
|
|
56
|
+
logger.info('.. done')
|
|
57
|
+
accept(true)
|
|
58
|
+
}).catch((e: Error) => {
|
|
59
|
+
logger.error(e)
|
|
60
|
+
reject(e)
|
|
61
|
+
})
|
|
62
|
+
})
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
public exec () {
|
|
66
|
+
this.run().then(() => {
|
|
67
|
+
console.log('finished.')
|
|
68
|
+
}).catch(e => {
|
|
69
|
+
console.error(e)
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
public isAscii (description: ISessionDescription): boolean {
|
|
74
|
+
return this.sessionContainer.isAscii(description)
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public isInitiator (description: ISessionDescription): boolean {
|
|
78
|
+
return this.sessionContainer.isInitiator(description)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
protected registerApplication (sessionContainer: DependencyContainer): void {
|
|
82
|
+
this.logger.info('bypass register via DI')
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
private makeSystem (description: ISessionDescription): Promise<DependencyContainer> {
|
|
86
|
+
this.logger.info(`creating app ${description.application.name} [protocol ${description.application.protocol}]`)
|
|
87
|
+
return this.sessionContainer.makeSystem(description)
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private register (container: DependencyContainer): void {
|
|
91
|
+
const config = container.resolve<IJsFixConfig>(DITokens.IJsFixConfig)
|
|
92
|
+
const factory = this.makeFactory(config)
|
|
93
|
+
if (!factory) {
|
|
94
|
+
this.registerApplication(container)
|
|
95
|
+
} else {
|
|
96
|
+
if (factory.makeSession) {
|
|
97
|
+
container.register<FixSession>(DITokens.FixSession, {
|
|
98
|
+
useFactory: () => factory.makeSession(config)
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
private async makeClient (): Promise<any> {
|
|
105
|
+
const description: ISessionDescription = require(path.join(root, this.initiatorConfig))
|
|
106
|
+
const sessionContainer = await this.makeSystem(description)
|
|
107
|
+
this.register(sessionContainer)
|
|
108
|
+
this.logger.info('create initiator')
|
|
109
|
+
return this.getInitiator(sessionContainer)
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
private async makeServer (): Promise<any> {
|
|
113
|
+
const description: ISessionDescription = require(path.join(root, this.acceptorConfig))
|
|
114
|
+
const sessionContainer = await this.makeSystem(description)
|
|
115
|
+
this.register(sessionContainer)
|
|
116
|
+
this.logger.info('create acceptor')
|
|
117
|
+
return this.getAcceptor(sessionContainer)
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
private async setup () {
|
|
121
|
+
this.sessionContainer.registerGlobal()
|
|
122
|
+
const server = this.initiatorConfig ? this.makeServer() : this.empty()
|
|
123
|
+
const client = this.acceptorConfig ? this.makeClient() : this.empty()
|
|
124
|
+
this.logger.info('launching ....')
|
|
125
|
+
return Promise.all([server, client])
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -1,30 +1,36 @@
|
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
|
|
1
3
|
import { HttpServer } from './http-server'
|
|
2
4
|
import { HttpClient } from './http-client'
|
|
3
5
|
import { IJsFixConfig } from '../../../config'
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
6
|
+
import { DITokens, EngineFactory, SessionLauncher } from '../../../runtime'
|
|
7
|
+
import { DependencyContainer } from 'tsyringe'
|
|
8
|
+
import { FixEntity } from '../../../transport'
|
|
9
|
+
import { IHttpAdapter } from '../../../transport/http/http-adapter'
|
|
7
10
|
|
|
8
|
-
class AppLauncher extends
|
|
11
|
+
class AppLauncher extends SessionLauncher {
|
|
9
12
|
public constructor () {
|
|
10
13
|
super(
|
|
11
14
|
'data/session/test-http-initiator.json',
|
|
12
15
|
'data/session/test-http-acceptor.json')
|
|
13
16
|
}
|
|
14
17
|
|
|
15
|
-
protected
|
|
16
|
-
|
|
18
|
+
protected override makeFactory (config: IJsFixConfig): EngineFactory {
|
|
19
|
+
const isInitiator = this.isInitiator(config.description)
|
|
20
|
+
return {
|
|
21
|
+
makeSession: () => isInitiator ?
|
|
22
|
+
new HttpClient(config) :
|
|
23
|
+
new HttpServer(config)
|
|
24
|
+
} as EngineFactory
|
|
17
25
|
}
|
|
18
26
|
|
|
19
|
-
protected getInitiator (
|
|
20
|
-
config
|
|
21
|
-
|
|
27
|
+
protected override getInitiator (sessionContainer: DependencyContainer): Promise<any> {
|
|
28
|
+
const config: IJsFixConfig = sessionContainer.resolve<IJsFixConfig>(DITokens.IJsFixConfig)
|
|
29
|
+
config.description.application.http.adapter = sessionContainer.resolve<IHttpAdapter>(DITokens.IHttpAdapter)
|
|
30
|
+
const initiator = sessionContainer.resolve<FixEntity>(DITokens.FixEntity)
|
|
31
|
+
return initiator.start()
|
|
22
32
|
}
|
|
23
33
|
}
|
|
24
34
|
|
|
25
35
|
const l = new AppLauncher()
|
|
26
|
-
l.
|
|
27
|
-
console.log('finished.')
|
|
28
|
-
}).catch(e => {
|
|
29
|
-
console.log(e)
|
|
30
|
-
})
|
|
36
|
+
l.exec()
|
|
@@ -3,13 +3,16 @@ import { MsgView } from '../../../buffer'
|
|
|
3
3
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
4
4
|
import { OmsFactory } from './oms-factory'
|
|
5
5
|
import { IExecutionReport, Side } from '../../../types/FIXML50SP2'
|
|
6
|
+
import { inject, injectable } from 'tsyringe'
|
|
7
|
+
import { DITokens } from '../../../runtime'
|
|
6
8
|
|
|
9
|
+
@injectable()
|
|
7
10
|
export class HttpClient extends FixmlSession {
|
|
8
11
|
private readonly logger: IJsFixLogger
|
|
9
12
|
private readonly fixLog: IJsFixLogger
|
|
10
13
|
private readonly factory: OmsFactory = new OmsFactory('TradersRUs')
|
|
11
|
-
constructor (public readonly config: IJsFixConfig,
|
|
12
|
-
public readonly logoutSeconds: number = 45) {
|
|
14
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,
|
|
15
|
+
@inject('logoutSeconds') public readonly logoutSeconds: number = 45) {
|
|
13
16
|
super(config)
|
|
14
17
|
this.logReceivedMsgs = true
|
|
15
18
|
this.fixLog = config.logFactory.plain(`jsfix.${config.description.application.name}.txt`)
|
|
@@ -3,12 +3,16 @@ import { FixmlSession } from '../../../transport/fixml'
|
|
|
3
3
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
4
4
|
import { INewOrderSingle, IExecutionReport } from '../../../types/FIXML50SP2'
|
|
5
5
|
import { OmsFactory } from './oms-factory'
|
|
6
|
+
import { inject, injectable } from 'tsyringe'
|
|
7
|
+
import { DITokens } from '../../../runtime'
|
|
6
8
|
|
|
9
|
+
@injectable()
|
|
7
10
|
export class HttpServer extends FixmlSession {
|
|
8
11
|
private readonly logger: IJsFixLogger
|
|
9
12
|
private readonly fixLog: IJsFixLogger
|
|
10
13
|
private readonly factory: OmsFactory = new OmsFactory('server')
|
|
11
|
-
|
|
14
|
+
|
|
15
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
|
|
12
16
|
super(config)
|
|
13
17
|
this.logReceivedMsgs = true
|
|
14
18
|
this.fixLog = config.logFactory.plain(`jsfix.${config.description.application.name}.txt`)
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
+
import 'reflect-metadata'
|
|
2
|
+
|
|
1
3
|
import { MDClient } from './md-client'
|
|
2
4
|
import { MDServer } from './md-server'
|
|
3
5
|
import { IJsFixConfig } from '../../../config'
|
|
4
|
-
import {
|
|
5
|
-
import { Launcher } from '../../launcher'
|
|
6
|
+
import { EngineFactory, SessionLauncher } from '../../../runtime'
|
|
6
7
|
|
|
7
|
-
class AppLauncher extends
|
|
8
|
+
class AppLauncher extends SessionLauncher {
|
|
8
9
|
public constructor () {
|
|
9
10
|
super(
|
|
10
11
|
'data/session/test-qf44-initiator.json',
|
|
11
12
|
'data/session/test-qf44-acceptor.json')
|
|
12
13
|
}
|
|
13
14
|
|
|
14
|
-
protected
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
15
|
+
protected override makeFactory (config: IJsFixConfig): EngineFactory {
|
|
16
|
+
const isInitiator = this.isInitiator(config.description)
|
|
17
|
+
return {
|
|
18
|
+
makeSession: () => isInitiator ?
|
|
19
|
+
new MDClient(config) :
|
|
20
|
+
new MDServer(config)
|
|
21
|
+
} as EngineFactory
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
const l = new AppLauncher()
|
|
24
|
-
l.
|
|
25
|
-
console.log('finished.')
|
|
26
|
-
})
|
|
26
|
+
l.exec()
|
|
@@ -4,12 +4,15 @@ import { MsgType } from '../../../types'
|
|
|
4
4
|
import { IJsFixLogger, IJsFixConfig } from '../../../config'
|
|
5
5
|
|
|
6
6
|
import { MDFactory } from './md-factory'
|
|
7
|
+
import { inject, injectable } from 'tsyringe'
|
|
8
|
+
import { DITokens } from '../../../runtime'
|
|
7
9
|
|
|
10
|
+
@injectable()
|
|
8
11
|
export class MDClient extends AsciiSession {
|
|
9
12
|
private readonly logger: IJsFixLogger
|
|
10
13
|
private readonly fixLog: IJsFixLogger
|
|
11
14
|
|
|
12
|
-
constructor (public readonly config: IJsFixConfig) {
|
|
15
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig) {
|
|
13
16
|
super(config)
|
|
14
17
|
this.logReceivedMsgs = true
|
|
15
18
|
this.fixLog = config.logFactory.plain(`jsfix.${config!.description!.application!.name}.txt`)
|