jspurefix 1.2.0 → 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/.travis.yml +1 -1
- package/README.md +48 -2
- package/appveyor.yml +46 -11
- 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/data/session/genkey.ps1 +179 -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 +5 -3
- package/dist/buffer/ascii/ascii-encoder.js +82 -48
- 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 -2
- package/dist/buffer/fixml/fixml-view.js +13 -13
- 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 -3
- 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/config/get-js-fx-logger.js +3 -0
- 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 +30 -25
- 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/{standard_header.js → dictionary/parser/fix-repository/repository-enum.js} +1 -1
- 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/{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 -1
- 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 +473 -698
- 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 -12
- 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 -3
- package/dist/sample/launcher.js +88 -11
- 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 +5 -1
- package/dist/sample/tcp/skeleton/skeleton-session.js +45 -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 -14
- package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +10 -14
- package/dist/sample/tcp/trade-capture/trade-capture-client.d.ts +1 -0
- package/dist/sample/tcp/trade-capture/trade-capture-client.js +7 -3
- 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 +3 -2
- package/dist/store/fix-msg-ascii-store-resend.js +30 -21
- package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
- package/dist/store/fix-msg-memory-store.d.ts +11 -8
- package/dist/store/fix-msg-memory-store.js +108 -42
- package/dist/store/fix-msg-memory-store.js.map +1 -1
- package/dist/store/fix-msg-store-record.d.ts +4 -0
- package/dist/store/fix-msg-store-record.js +7 -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 +8 -9
- package/dist/store/fix-msg-store.js.map +1 -1
- package/dist/structure.json +225 -485
- 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/ascii-encoder.test.js +507 -0
- 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/{memory-store-test.js → ascii/fix-log-replay.test.js} +11 -23
- 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 -0
- package/dist/test/{ascii-encode.test.js → ascii-encoder.test.js} +140 -48
- package/dist/test/ascii-encoder.test.js.map +1 -0
- package/dist/test/ascii-parser.test.d.ts +1 -1
- package/dist/test/ascii-parser.test.js +31 -48
- 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 +19 -39
- 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 +32 -44
- 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 +35 -27
- 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 +25 -19
- 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 +28 -22
- 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 +21 -18
- 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 +2 -1
- 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 +152 -163
- 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 -33
- 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 +246 -308
- 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 +23 -0
- package/dist/transport/a-session-msg-factory.js +58 -0
- package/dist/transport/a-session-msg-factory.js.map +1 -0
- package/dist/transport/ascii/ascii-msg-transmitter.js +50 -12
- package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
- package/dist/transport/ascii/ascii-session-msg-factory.d.ts +16 -0
- package/dist/transport/ascii/ascii-session-msg-factory.js +47 -0
- package/dist/transport/ascii/ascii-session-msg-factory.js.map +1 -0
- package/dist/transport/ascii/ascii-session.d.ts +10 -1
- package/dist/transport/ascii/ascii-session.js +98 -41
- package/dist/transport/ascii/ascii-session.js.map +1 -1
- package/dist/transport/ascii/index.d.ts +1 -1
- package/dist/transport/ascii/index.js +1 -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 +2 -2
- 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/{sample/tcp/trade_capture → transport/factory}/index.js +1 -2
- 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 +8 -38
- package/dist/transport/fix-session-state.js +26 -56
- package/dist/transport/fix-session-state.js.map +1 -1
- package/dist/transport/fix-session.d.ts +9 -2
- package/dist/transport/fix-session.js +115 -59
- 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 +13 -0
- package/dist/transport/fixml/fixml-session-msg-factory.js +68 -0
- package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -0
- 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 +1 -2
- package/dist/transport/fixml/index.js +1 -2
- package/dist/transport/fixml/index.js.map +1 -1
- package/dist/transport/http/html-options.d.ts +8 -0
- package/dist/{hop_no_hops.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/{hop.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 +31 -11
- package/dist/transport/http/http-acceptor.js.map +1 -1
- package/dist/transport/http/http-adapter.d.ts +7 -0
- package/dist/{trailer.js → transport/http/http-adapter.js} +1 -1
- 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.d.ts +7 -0
- package/dist/transport/tcp/tcp-acceptor.js +79 -43
- 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 +4 -2
- package/dist/transport/tcp/tcp-initiator.js +82 -36
- 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/types/FIX4.4/repo/enum/all-enum.js.map +1 -1
- 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 +27 -20
- package/script/build.cmd +1 -0
- package/script/build.sh +2 -0
- package/script/genkey.ps1 +179 -179
- 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 +80 -38
- 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 +3 -3
- package/src/buffer/elastic-buffer.ts +7 -2
- package/src/buffer/encode-proxy.ts +10 -5
- 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 -4
- 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 -6
- 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 -12
- 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 +29 -3
- 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 +10 -4
- 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 +38 -26
- package/src/store/fix-msg-memory-store.ts +105 -42
- package/src/store/fix-msg-store-record.ts +11 -0
- package/src/store/fix-msg-store-state.ts +6 -0
- package/src/store/fix-msg-store.ts +8 -13
- package/src/transport/ascii/ascii-msg-transmitter.ts +23 -13
- package/src/transport/ascii/ascii-session-msg-factory.ts +62 -0
- package/src/transport/ascii/ascii-session.ts +102 -34
- package/src/transport/ascii/index.ts +1 -1
- package/src/transport/duplex/http-duplex.ts +3 -3
- 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 +76 -0
- package/src/transport/fixml/fixml-session.ts +2 -2
- package/src/transport/fixml/index.ts +1 -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 +12 -8
- 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/session/a-session-msg-factory.ts +81 -0
- package/src/transport/session/fix-session-state-args.ts +9 -0
- package/src/transport/{fix-session-state.ts → session/fix-session-state.ts} +23 -43
- package/src/transport/{fix-session.ts → session/fix-session.ts} +111 -46
- 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 +65 -40
- package/src/transport/tcp/tcp-initiator-connector.ts +71 -0
- package/src/transport/tcp/tcp-initiator.ts +71 -42
- 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/types/FIX4.4/repo/enum/all-enum.ts +0 -1
- 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/header.d.ts +0 -31
- package/dist/header.js.map +0 -1
- package/dist/hop.d.ts +0 -4
- package/dist/hop.js.map +0 -1
- package/dist/hop_no_hops.d.ts +0 -5
- package/dist/hop_no_hops.js.map +0 -1
- package/dist/sample/http/oms/jsfix.test_http-client.txt +0 -170
- package/dist/sample/http/oms/jsfix.test_http-server.txt +0 -170
- package/dist/sample/tcp/qf-md/jsfix.test_client.txt +0 -18
- package/dist/sample/tcp/qf-md/jsfix.test_server.txt +0 -17
- package/dist/sample/tcp/recovering-skeleton/jsfix.test_client.txt +0 -96
- package/dist/sample/tcp/recovering-skeleton/jsfix.test_server.txt +0 -93
- package/dist/sample/tcp/recovering-skeleton/skeleton-session.d.ts +0 -17
- package/dist/sample/tcp/recovering-skeleton/skeleton-session.js +0 -70
- package/dist/sample/tcp/recovering-skeleton/skeleton-session.js.map +0 -1
- package/dist/sample/tcp/skeleton/jsfix.test_client.txt +0 -6
- package/dist/sample/tcp/skeleton/jsfix.test_server.txt +0 -6
- package/dist/sample/tcp/tls-trade-capture/jsfix.test_client.txt +0 -1871
- package/dist/sample/tcp/tls-trade-capture/jsfix.test_server.txt +0 -3059
- package/dist/sample/tcp/trade_capture/app.d.ts +0 -1
- package/dist/sample/tcp/trade_capture/app.js +0 -24
- package/dist/sample/tcp/trade_capture/app.js.map +0 -1
- package/dist/sample/tcp/trade_capture/index.d.ts +0 -2
- package/dist/sample/tcp/trade_capture/index.js.map +0 -1
- package/dist/sample/tcp/trade_capture/jsfix.test_client.txt +0 -193
- package/dist/sample/tcp/trade_capture/jsfix.test_server.txt +0 -193
- package/dist/sample/tcp/trade_capture/trade-capture-client.d.ts +0 -16
- package/dist/sample/tcp/trade_capture/trade-capture-client.js +0 -57
- package/dist/sample/tcp/trade_capture/trade-capture-client.js.map +0 -1
- package/dist/sample/tcp/trade_capture/trade-capture-server.d.ts +0 -18
- package/dist/sample/tcp/trade_capture/trade-capture-server.js +0 -72
- package/dist/sample/tcp/trade_capture/trade-capture-server.js.map +0 -1
- package/dist/sample/tcp/trade_capture/trade-factory.d.ts +0 -11
- package/dist/sample/tcp/trade_capture/trade-factory.js +0 -81
- package/dist/sample/tcp/trade_capture/trade-factory.js.map +0 -1
- package/dist/standard_header.d.ts +0 -31
- package/dist/standard_header.js.map +0 -1
- package/dist/standard_trailer.d.ts +0 -6
- package/dist/standard_trailer.js +0 -3
- package/dist/standard_trailer.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-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/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/test/memory-store-test.d.ts +0 -1
- package/dist/test/memory-store-test.js.map +0 -1
- package/dist/trailer.d.ts +0 -6
- package/dist/trailer.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/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 +0 -3
- package/dist/transport/make-fixl-session.js.map +0 -1
- package/dist/transport/msg-store.d.ts +0 -2
- package/dist/transport/msg-store.js +0 -3
- package/dist/transport/msg-store.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/types/FIX4.4/quickfix/set/header.d.ts +0 -31
- package/dist/types/FIX4.4/quickfix/set/header.js +0 -3
- 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 +0 -3
- 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 -46
- 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/session-msg-factory.ts +0 -195
- 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/script/genkey.ps1
CHANGED
|
@@ -1,179 +1,179 @@
|
|
|
1
|
-
|
|
2
|
-
function read-or-default {
|
|
3
|
-
Param
|
|
4
|
-
(
|
|
5
|
-
[Parameter(Mandatory=$true, Position=0)]
|
|
6
|
-
[string] $text,
|
|
7
|
-
[Parameter(Mandatory=$true, Position=1)]
|
|
8
|
-
[string] $default
|
|
9
|
-
)
|
|
10
|
-
$a = Read-Host "$text [$default]"
|
|
11
|
-
if ($a.Length -eq 0) {
|
|
12
|
-
$a = $default
|
|
13
|
-
}
|
|
14
|
-
$a
|
|
15
|
-
}
|
|
16
|
-
Function Test-CommandExists {
|
|
17
|
-
Param ($command)
|
|
18
|
-
$oldPreference = $ErrorActionPreference
|
|
19
|
-
$ErrorActionPreference = ‘stop’
|
|
20
|
-
try {
|
|
21
|
-
if (Get-Command $command) {
|
|
22
|
-
1
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
Catch {
|
|
26
|
-
0
|
|
27
|
-
}
|
|
28
|
-
Finally {
|
|
29
|
-
$ErrorActionPreference = $oldPreference
|
|
30
|
-
}
|
|
31
|
-
} #end function test-CommandExists
|
|
32
|
-
|
|
33
|
-
if (-Not (Test-CommandExists "openssl")) {
|
|
34
|
-
Write-Output "openssl does not appear to be in path."
|
|
35
|
-
exit -1
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function New-Folder {
|
|
39
|
-
param (
|
|
40
|
-
[Parameter(Mandatory=$true, Position=0)]
|
|
41
|
-
[string] $name
|
|
42
|
-
)
|
|
43
|
-
if (-Not (Test-Path -PathType Container $Name)) {
|
|
44
|
-
New-Item -Type Directory -p $Name
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
$ROOTPATH = read-or-default "rootpath" "."
|
|
49
|
-
|
|
50
|
-
$PATH_CA = "$ROOTPATH/certs/ca"
|
|
51
|
-
$PATH_SERVER = "$ROOTPATH/certs/server"
|
|
52
|
-
$PATH_CLIENT = "$ROOTPATH/certs/client"
|
|
53
|
-
$PATH_TMP = "$ROOTPATH/certs/tmp"
|
|
54
|
-
|
|
55
|
-
New-Folder($PATH_CA)
|
|
56
|
-
New-Folder($PATH_SERVER)
|
|
57
|
-
New-Folder($PATH_CLIENT)
|
|
58
|
-
New-Folder($PATH_TMP)
|
|
59
|
-
|
|
60
|
-
Write-Output ""
|
|
61
|
-
Write-Output " _____ _ __ _____ _ _ "
|
|
62
|
-
Write-Output " / ___| | |/ _| / ___(_) | | "
|
|
63
|
-
Write-Output " \ \`--. ___| | |_ ______\ \`--. _ __ _ _ __ ___ __| | "
|
|
64
|
-
Write-Output " \`--. \/ _ \ | _|______|\`--. \ |/ _\` | '_ \ / _ \/ _\` | "
|
|
65
|
-
Write-Output " /\__/ / __/ | | /\__/ / | (_| | | | | __/ (_| | "
|
|
66
|
-
Write-Output " \____/ \___|_|_| \____/|_|\__, |_| |_|\___|\__,_| "
|
|
67
|
-
Write-Output " __/ | "
|
|
68
|
-
Write-Output " |___/ "
|
|
69
|
-
Write-Output " _____ _ _____ _ "
|
|
70
|
-
Write-Output " / __ \ | | | __ \ | | "
|
|
71
|
-
Write-Output " | / \/ ___ _ __| |_ ___ | | \/ ___ _ __ ___ _ __ __ _| |_ ___ _ __ "
|
|
72
|
-
Write-Output " | | / _ \ '__| __/ __| | | __ / _ \ '_ \ / _ \ '__/ _\` | __/ _ \| '__| "
|
|
73
|
-
Write-Output " | \__/\ __/ | | |_\__ \ | |_\ \ __/ | | | __/ | | (_| | || (_) | | "
|
|
74
|
-
Write-Output " \____/\___|_| \__|___/ \____/\___|_| |_|\___|_| \__,_|\__\___/|_| "
|
|
75
|
-
Write-Output " "
|
|
76
|
-
Write-Output ""
|
|
77
|
-
|
|
78
|
-
Write-Output ""
|
|
79
|
-
Write-Output " Global conf "
|
|
80
|
-
Write-Output ""
|
|
81
|
-
|
|
82
|
-
$RSABITS = read-or-default "RSA bit length" "4096"
|
|
83
|
-
$EXPIREDAYS = read-or-default "Expire days" "365"
|
|
84
|
-
|
|
85
|
-
$PASSWORD = "."
|
|
86
|
-
while ($PASSWORD.Length -lt 4) {
|
|
87
|
-
$PASSWORD = read-or-default "Password for certs" "jspurefix"
|
|
88
|
-
if ($PASSWORD.Length -lt 4) {
|
|
89
|
-
Write-Output "Password length cannot be lower than 4 chars"
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
Write-Output ""
|
|
94
|
-
Write-Output " OpenSSL conf "
|
|
95
|
-
Write-Output ""
|
|
96
|
-
|
|
97
|
-
# Classic openssl prompt
|
|
98
|
-
|
|
99
|
-
$GK_C = read-or-default "(C) Country Name (2 letter code)" "US"
|
|
100
|
-
$GK_ST = read-or-default "(ST) State or Province Name (full name)" "."
|
|
101
|
-
$GK_L = read-or-default "(L) Locality Name (eg, city)" "city"
|
|
102
|
-
$GK_O = read-or-default "(O) Organization Name (eg, company)" "ACME Signing Authority Inc"
|
|
103
|
-
$GK_OU = read-or-default "(OU) Organizational Unit Name (eg, section) " "."
|
|
104
|
-
$GK_CN = read-or-default "(CN) Common Name (eg, your name or your server's hostname) " "localhost"
|
|
105
|
-
|
|
106
|
-
$GK_emailAddress = Read-Host "(emailAddress) Email Address []:"
|
|
107
|
-
if ($GK_emailAddress.Length -gt 0) {
|
|
108
|
-
$GK_emailAddress = "/emailAddress=$GK_emailAddress"
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
Write-Output "Please enter the following 'extra' attributes"
|
|
112
|
-
Write-Output "to be sent with your certificate request"
|
|
113
|
-
$GK_unstructuredName = Read-Host "(unstructuredName) An optional company name []:"
|
|
114
|
-
if ($GK_unstructuredName.Length -gt 0) {
|
|
115
|
-
$GK_unstructuredName = "/unstructuredName=$GK_unstructuredName"
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
$OTHER_FIELDS = ""
|
|
119
|
-
$ADD_OTHER_FIELD = "Y"
|
|
120
|
-
while ($ADD_OTHER_FIELD -eq "y" || $ADD_OTHER_FIELD -eq "Y") {
|
|
121
|
-
$ADD_OTHER_FIELD = read-or-default "Add other field [y/N]" "N"
|
|
122
|
-
if ($ADD_OTHER_FIELD -eq "y" || $ADD_OTHER_FIELD -eq "Y") {
|
|
123
|
-
$OTHER_FIELD_NAME = Read-Host "Field name: "
|
|
124
|
-
$OTHER_FIELD_VALUE = Read-Host "Field value: "
|
|
125
|
-
if ($OTHER_FIELD_VALUE.Length -eq 0) {
|
|
126
|
-
OTHER_FIELD_VALUE="."
|
|
127
|
-
}
|
|
128
|
-
$OTHER_FIELDS = "$OTHER_FIELDS/$OTHER_FIELD_NAME=$OTHER_FIELD_VALUE"
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
Write-Output ""
|
|
133
|
-
Write-Output "Generate certs "
|
|
134
|
-
Write-Output ""
|
|
135
|
-
|
|
136
|
-
# CA
|
|
137
|
-
Write-Output ""
|
|
138
|
-
Write-Output "CA"
|
|
139
|
-
Write-Output ""
|
|
140
|
-
|
|
141
|
-
openssl genrsa -des3 -passout "pass:$PASSWORD" -out "$PATH_CA/ca.key" $RSABITS
|
|
142
|
-
|
|
143
|
-
# Create Authority Certificate
|
|
144
|
-
openssl req -new -x509 -days "$EXPIREDAYS" -key "$PATH_CA/ca.key" -out "$PATH_CA/ca.crt" -passin "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=.$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
145
|
-
|
|
146
|
-
# SERVER
|
|
147
|
-
Write-Output ""
|
|
148
|
-
Write-Output "Server"
|
|
149
|
-
Write-Output ""
|
|
150
|
-
|
|
151
|
-
# Generate server key
|
|
152
|
-
openssl genrsa -out "$PATH_SERVER/server.key" $RSABITS
|
|
153
|
-
|
|
154
|
-
# Generate server cert
|
|
155
|
-
openssl req -new -key "$PATH_SERVER/server.key" -out "$PATH_TMP/server.csr" -passout "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=$GK_CN$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
156
|
-
|
|
157
|
-
# Sign server cert with self-signed cert
|
|
158
|
-
openssl x509 -req -days "$EXPIREDAYS" -passin "pass:$PASSWORD" -in "$PATH_TMP/server.csr" -CA "$PATH_CA/ca.crt" -CAkey "$PATH_CA/ca.key" -set_serial 01 -out "$PATH_SERVER/server.crt"
|
|
159
|
-
|
|
160
|
-
# CLIENT
|
|
161
|
-
|
|
162
|
-
Write-Output ""
|
|
163
|
-
Write-Output "Client"
|
|
164
|
-
Write-Output ""
|
|
165
|
-
|
|
166
|
-
openssl genrsa -out "$PATH_CLIENT/client.key" $RSABITS
|
|
167
|
-
|
|
168
|
-
openssl req -new -key "$PATH_CLIENT/client.key" -out "$PATH_TMP/client.csr" -passout "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=CLIENT$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
169
|
-
|
|
170
|
-
openssl x509 -req -days 365 -passin "pass:$PASSWORD" -in "$PATH_TMP/client.csr" -CA "$PATH_CA/ca.crt" -CAkey "$PATH_CA/ca.key" -set_serial 01 -out "$PATH_CLIENT/client.crt"
|
|
171
|
-
|
|
172
|
-
# Clean tmp dir
|
|
173
|
-
|
|
174
|
-
Remove-Item -Recurse $PATH_TMP
|
|
175
|
-
|
|
176
|
-
Write-Output ""
|
|
177
|
-
Write-Output "Done !"
|
|
178
|
-
|
|
179
|
-
exit 0
|
|
1
|
+
|
|
2
|
+
function read-or-default {
|
|
3
|
+
Param
|
|
4
|
+
(
|
|
5
|
+
[Parameter(Mandatory=$true, Position=0)]
|
|
6
|
+
[string] $text,
|
|
7
|
+
[Parameter(Mandatory=$true, Position=1)]
|
|
8
|
+
[string] $default
|
|
9
|
+
)
|
|
10
|
+
$a = Read-Host "$text [$default]"
|
|
11
|
+
if ($a.Length -eq 0) {
|
|
12
|
+
$a = $default
|
|
13
|
+
}
|
|
14
|
+
$a
|
|
15
|
+
}
|
|
16
|
+
Function Test-CommandExists {
|
|
17
|
+
Param ($command)
|
|
18
|
+
$oldPreference = $ErrorActionPreference
|
|
19
|
+
$ErrorActionPreference = ‘stop’
|
|
20
|
+
try {
|
|
21
|
+
if (Get-Command $command) {
|
|
22
|
+
1
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
Catch {
|
|
26
|
+
0
|
|
27
|
+
}
|
|
28
|
+
Finally {
|
|
29
|
+
$ErrorActionPreference = $oldPreference
|
|
30
|
+
}
|
|
31
|
+
} #end function test-CommandExists
|
|
32
|
+
|
|
33
|
+
if (-Not (Test-CommandExists "openssl")) {
|
|
34
|
+
Write-Output "openssl does not appear to be in path."
|
|
35
|
+
exit -1
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
function New-Folder {
|
|
39
|
+
param (
|
|
40
|
+
[Parameter(Mandatory=$true, Position=0)]
|
|
41
|
+
[string] $name
|
|
42
|
+
)
|
|
43
|
+
if (-Not (Test-Path -PathType Container $Name)) {
|
|
44
|
+
New-Item -Type Directory -p $Name
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
$ROOTPATH = read-or-default "rootpath" "."
|
|
49
|
+
|
|
50
|
+
$PATH_CA = "$ROOTPATH/certs/ca"
|
|
51
|
+
$PATH_SERVER = "$ROOTPATH/certs/server"
|
|
52
|
+
$PATH_CLIENT = "$ROOTPATH/certs/client"
|
|
53
|
+
$PATH_TMP = "$ROOTPATH/certs/tmp"
|
|
54
|
+
|
|
55
|
+
New-Folder($PATH_CA)
|
|
56
|
+
New-Folder($PATH_SERVER)
|
|
57
|
+
New-Folder($PATH_CLIENT)
|
|
58
|
+
New-Folder($PATH_TMP)
|
|
59
|
+
|
|
60
|
+
Write-Output ""
|
|
61
|
+
Write-Output " _____ _ __ _____ _ _ "
|
|
62
|
+
Write-Output " / ___| | |/ _| / ___(_) | | "
|
|
63
|
+
Write-Output " \ \`--. ___| | |_ ______\ \`--. _ __ _ _ __ ___ __| | "
|
|
64
|
+
Write-Output " \`--. \/ _ \ | _|______|\`--. \ |/ _\` | '_ \ / _ \/ _\` | "
|
|
65
|
+
Write-Output " /\__/ / __/ | | /\__/ / | (_| | | | | __/ (_| | "
|
|
66
|
+
Write-Output " \____/ \___|_|_| \____/|_|\__, |_| |_|\___|\__,_| "
|
|
67
|
+
Write-Output " __/ | "
|
|
68
|
+
Write-Output " |___/ "
|
|
69
|
+
Write-Output " _____ _ _____ _ "
|
|
70
|
+
Write-Output " / __ \ | | | __ \ | | "
|
|
71
|
+
Write-Output " | / \/ ___ _ __| |_ ___ | | \/ ___ _ __ ___ _ __ __ _| |_ ___ _ __ "
|
|
72
|
+
Write-Output " | | / _ \ '__| __/ __| | | __ / _ \ '_ \ / _ \ '__/ _\` | __/ _ \| '__| "
|
|
73
|
+
Write-Output " | \__/\ __/ | | |_\__ \ | |_\ \ __/ | | | __/ | | (_| | || (_) | | "
|
|
74
|
+
Write-Output " \____/\___|_| \__|___/ \____/\___|_| |_|\___|_| \__,_|\__\___/|_| "
|
|
75
|
+
Write-Output " "
|
|
76
|
+
Write-Output ""
|
|
77
|
+
|
|
78
|
+
Write-Output ""
|
|
79
|
+
Write-Output " Global conf "
|
|
80
|
+
Write-Output ""
|
|
81
|
+
|
|
82
|
+
$RSABITS = read-or-default "RSA bit length" "4096"
|
|
83
|
+
$EXPIREDAYS = read-or-default "Expire days" "365"
|
|
84
|
+
|
|
85
|
+
$PASSWORD = "."
|
|
86
|
+
while ($PASSWORD.Length -lt 4) {
|
|
87
|
+
$PASSWORD = read-or-default "Password for certs" "jspurefix"
|
|
88
|
+
if ($PASSWORD.Length -lt 4) {
|
|
89
|
+
Write-Output "Password length cannot be lower than 4 chars"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
Write-Output ""
|
|
94
|
+
Write-Output " OpenSSL conf "
|
|
95
|
+
Write-Output ""
|
|
96
|
+
|
|
97
|
+
# Classic openssl prompt
|
|
98
|
+
|
|
99
|
+
$GK_C = read-or-default "(C) Country Name (2 letter code)" "US"
|
|
100
|
+
$GK_ST = read-or-default "(ST) State or Province Name (full name)" "."
|
|
101
|
+
$GK_L = read-or-default "(L) Locality Name (eg, city)" "city"
|
|
102
|
+
$GK_O = read-or-default "(O) Organization Name (eg, company)" "ACME Signing Authority Inc"
|
|
103
|
+
$GK_OU = read-or-default "(OU) Organizational Unit Name (eg, section) " "."
|
|
104
|
+
$GK_CN = read-or-default "(CN) Common Name (eg, your name or your server's hostname) " "localhost"
|
|
105
|
+
|
|
106
|
+
$GK_emailAddress = Read-Host "(emailAddress) Email Address []:"
|
|
107
|
+
if ($GK_emailAddress.Length -gt 0) {
|
|
108
|
+
$GK_emailAddress = "/emailAddress=$GK_emailAddress"
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
Write-Output "Please enter the following 'extra' attributes"
|
|
112
|
+
Write-Output "to be sent with your certificate request"
|
|
113
|
+
$GK_unstructuredName = Read-Host "(unstructuredName) An optional company name []:"
|
|
114
|
+
if ($GK_unstructuredName.Length -gt 0) {
|
|
115
|
+
$GK_unstructuredName = "/unstructuredName=$GK_unstructuredName"
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
$OTHER_FIELDS = ""
|
|
119
|
+
$ADD_OTHER_FIELD = "Y"
|
|
120
|
+
while ($ADD_OTHER_FIELD -eq "y" || $ADD_OTHER_FIELD -eq "Y") {
|
|
121
|
+
$ADD_OTHER_FIELD = read-or-default "Add other field [y/N]" "N"
|
|
122
|
+
if ($ADD_OTHER_FIELD -eq "y" || $ADD_OTHER_FIELD -eq "Y") {
|
|
123
|
+
$OTHER_FIELD_NAME = Read-Host "Field name: "
|
|
124
|
+
$OTHER_FIELD_VALUE = Read-Host "Field value: "
|
|
125
|
+
if ($OTHER_FIELD_VALUE.Length -eq 0) {
|
|
126
|
+
OTHER_FIELD_VALUE="."
|
|
127
|
+
}
|
|
128
|
+
$OTHER_FIELDS = "$OTHER_FIELDS/$OTHER_FIELD_NAME=$OTHER_FIELD_VALUE"
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
Write-Output ""
|
|
133
|
+
Write-Output "Generate certs "
|
|
134
|
+
Write-Output ""
|
|
135
|
+
|
|
136
|
+
# CA
|
|
137
|
+
Write-Output ""
|
|
138
|
+
Write-Output "CA"
|
|
139
|
+
Write-Output ""
|
|
140
|
+
|
|
141
|
+
openssl genrsa -des3 -passout "pass:$PASSWORD" -out "$PATH_CA/ca.key" $RSABITS
|
|
142
|
+
|
|
143
|
+
# Create Authority Certificate
|
|
144
|
+
openssl req -new -x509 -days "$EXPIREDAYS" -key "$PATH_CA/ca.key" -out "$PATH_CA/ca.crt" -passin "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=.$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
145
|
+
|
|
146
|
+
# SERVER
|
|
147
|
+
Write-Output ""
|
|
148
|
+
Write-Output "Server"
|
|
149
|
+
Write-Output ""
|
|
150
|
+
|
|
151
|
+
# Generate server key
|
|
152
|
+
openssl genrsa -out "$PATH_SERVER/server.key" $RSABITS
|
|
153
|
+
|
|
154
|
+
# Generate server cert
|
|
155
|
+
openssl req -new -key "$PATH_SERVER/server.key" -out "$PATH_TMP/server.csr" -passout "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=$GK_CN$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
156
|
+
|
|
157
|
+
# Sign server cert with self-signed cert
|
|
158
|
+
openssl x509 -req -days "$EXPIREDAYS" -passin "pass:$PASSWORD" -in "$PATH_TMP/server.csr" -CA "$PATH_CA/ca.crt" -CAkey "$PATH_CA/ca.key" -set_serial 01 -out "$PATH_SERVER/server.crt"
|
|
159
|
+
|
|
160
|
+
# CLIENT
|
|
161
|
+
|
|
162
|
+
Write-Output ""
|
|
163
|
+
Write-Output "Client"
|
|
164
|
+
Write-Output ""
|
|
165
|
+
|
|
166
|
+
openssl genrsa -out "$PATH_CLIENT/client.key" $RSABITS
|
|
167
|
+
|
|
168
|
+
openssl req -new -key "$PATH_CLIENT/client.key" -out "$PATH_TMP/client.csr" -passout "pass:$PASSWORD" -subj "/C=$GK_C/ST=$GK_ST/L=$GK_L/O=$GK_O/OU=$GK_OU/CN=CLIENT$GK_unstructuredName$GK_emailAddress$GK_subjectAltName$OTHER_FIELDS"
|
|
169
|
+
|
|
170
|
+
openssl x509 -req -days 365 -passin "pass:$PASSWORD" -in "$PATH_TMP/client.csr" -CA "$PATH_CA/ca.crt" -CAkey "$PATH_CA/ca.key" -set_serial 01 -out "$PATH_CLIENT/client.crt"
|
|
171
|
+
|
|
172
|
+
# Clean tmp dir
|
|
173
|
+
|
|
174
|
+
Remove-Item -Recurse $PATH_TMP
|
|
175
|
+
|
|
176
|
+
Write-Output ""
|
|
177
|
+
Write-Output "Done !"
|
|
178
|
+
|
|
179
|
+
exit 0
|
package/script/test.cmd
CHANGED
|
File without changes
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import { ILooseObject } from '../../collections/collection'
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import {
|
|
3
|
+
ContainedGroupField, ContainedSimpleField,
|
|
4
|
+
ContainedFieldSet, ContainedField,
|
|
5
|
+
ContainedComponentField, FieldsDispatch
|
|
6
|
+
} from '../../dictionary/contained'
|
|
7
|
+
import { SimpleFieldDefinition, FixDefinitions } from '../../dictionary/definition'
|
|
5
8
|
import { MsgEncoder } from '../msg-encoder'
|
|
6
9
|
import { ElasticBuffer } from '../elastic-buffer'
|
|
7
10
|
import { TimeFormatter } from './time-formatter'
|
|
8
11
|
import { ITimeFormatter } from './itime-formatter'
|
|
9
|
-
import { AsciiChars } from '
|
|
10
|
-
import { Tags
|
|
12
|
+
import { AsciiChars } from './ascii-chars'
|
|
13
|
+
import { Tags } from '../tag/tags'
|
|
14
|
+
import { TagType } from '../tag/tag-type'
|
|
11
15
|
|
|
12
16
|
export class AsciiEncoder extends MsgEncoder {
|
|
13
17
|
|
|
14
18
|
public bodyLengthPos: number
|
|
15
19
|
public msgTypePos: number
|
|
16
20
|
public tags: Tags
|
|
21
|
+
public checkGroups: boolean = true
|
|
17
22
|
|
|
18
23
|
constructor (public readonly buffer: ElasticBuffer,
|
|
19
24
|
public readonly definitions: FixDefinitions,
|
|
@@ -39,29 +44,6 @@ export class AsciiEncoder extends MsgEncoder {
|
|
|
39
44
|
return b
|
|
40
45
|
}
|
|
41
46
|
|
|
42
|
-
private static checkGroupInstanceHasDelimiter (gf: ContainedGroupField, instance: ILooseObject): boolean {
|
|
43
|
-
const delimiterField: ContainedSimpleField = gf.definition.firstSimple
|
|
44
|
-
if (!delimiterField) {
|
|
45
|
-
throw new Error(`group definition has delimiter field ${delimiterField.definition.name}`)
|
|
46
|
-
}
|
|
47
|
-
// may have a group represented by a component where first simple field is further down.
|
|
48
|
-
while (instance != null) {
|
|
49
|
-
if (instance[delimiterField.definition.name] != null) {
|
|
50
|
-
return true
|
|
51
|
-
}
|
|
52
|
-
const first = gf.definition.fields[0]
|
|
53
|
-
switch (first.type) {
|
|
54
|
-
case ContainedFieldType.Component: {
|
|
55
|
-
const cf: ContainedComponentField = first as ContainedComponentField
|
|
56
|
-
instance = instance[cf.definition.name]
|
|
57
|
-
break
|
|
58
|
-
}
|
|
59
|
-
default:
|
|
60
|
-
instance = null
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
47
|
// only reset tags after entire message is encoded - <hdr>body<trl>
|
|
66
48
|
|
|
67
49
|
public reset (): void {
|
|
@@ -70,18 +52,29 @@ export class AsciiEncoder extends MsgEncoder {
|
|
|
70
52
|
}
|
|
71
53
|
|
|
72
54
|
public encodeSet (objectToEncode: ILooseObject, set: ContainedFieldSet): void {
|
|
55
|
+
const summary: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()
|
|
56
|
+
this.encodeObject(objectToEncode, set, summary)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
private encodeObject (objectToEncode: ILooseObject, set: ContainedFieldSet, state: AsciiEncodeSetSummary): void {
|
|
73
60
|
const fields: ContainedField[] = this.getFields(set, objectToEncode)
|
|
74
|
-
dispatchFields(fields, {
|
|
61
|
+
new FieldsDispatch().dispatchFields(fields, {
|
|
75
62
|
simple: (sf: ContainedSimpleField) => {
|
|
76
63
|
const val: any = objectToEncode[sf.name]
|
|
77
|
-
|
|
64
|
+
// Empty strings are omitted as they result in empty values for tags, which are considered malformed.
|
|
65
|
+
if (val != null && val !== '') {
|
|
66
|
+
if (state.count === 0) {
|
|
67
|
+
state.firstSimple = sf
|
|
68
|
+
}
|
|
69
|
+
state.lastSimple = sf
|
|
70
|
+
state.count++
|
|
78
71
|
this.encodeSimple(objectToEncode, set, sf, val)
|
|
79
72
|
}
|
|
80
73
|
},
|
|
81
74
|
component: (cf: ContainedComponentField) => {
|
|
82
75
|
const instance: ILooseObject = objectToEncode[cf.definition.name]
|
|
83
76
|
if (instance) {
|
|
84
|
-
this.
|
|
77
|
+
this.encodeObject(instance, cf.definition, state)
|
|
85
78
|
}
|
|
86
79
|
},
|
|
87
80
|
group: (gf: ContainedGroupField) => {
|
|
@@ -107,24 +100,29 @@ export class AsciiEncoder extends MsgEncoder {
|
|
|
107
100
|
private encodeInstances (o: ILooseObject, gf: ContainedGroupField): void {
|
|
108
101
|
const noOfField: SimpleFieldDefinition = gf.definition.noOfField
|
|
109
102
|
const instances: ILooseObject[] = o[gf.name] || o[noOfField.name]
|
|
103
|
+
|
|
110
104
|
const buffer = this.buffer
|
|
111
105
|
if (!Array.isArray(instances)) {
|
|
112
106
|
throw new Error(`expected array instance for group ${noOfField.name}`)
|
|
113
107
|
}
|
|
114
108
|
if (instances) {
|
|
109
|
+
const validator = new GroupValidator(gf)
|
|
110
|
+
const test: AsciiEncodeSetSummary = validator.test
|
|
111
|
+
|
|
115
112
|
// a repeated group has number of instances at the start of group
|
|
116
113
|
this.WriteTagEquals(noOfField.tag)
|
|
117
114
|
const posValBegin = buffer.getPos()
|
|
118
115
|
buffer.writeWholeNumber(instances.length)
|
|
119
116
|
this.writeDelimiter(posValBegin, noOfField.tag)
|
|
120
|
-
instances.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
117
|
+
for (let field = 0; field < instances.length; ++field) {
|
|
118
|
+
const instance: ILooseObject = instances[field]
|
|
119
|
+
test.reset()
|
|
120
|
+
const summary = validator.getSummary(field)
|
|
121
|
+
this.encodeObject(instance, gf.definition, summary)
|
|
122
|
+
if (this.checkGroups) {
|
|
123
|
+
validator.assertInstanceValid(field)
|
|
126
124
|
}
|
|
127
|
-
}
|
|
125
|
+
}
|
|
128
126
|
}
|
|
129
127
|
}
|
|
130
128
|
|
|
@@ -257,3 +255,47 @@ export class AsciiEncoder extends MsgEncoder {
|
|
|
257
255
|
}
|
|
258
256
|
}
|
|
259
257
|
}
|
|
258
|
+
|
|
259
|
+
class GroupValidator {
|
|
260
|
+
constructor (public readonly gf: ContainedGroupField,
|
|
261
|
+
public readonly first: AsciiEncodeSetSummary = new AsciiEncodeSetSummary(),
|
|
262
|
+
public readonly test: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()) {
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
getSummary (field: number) {
|
|
266
|
+
return field === 0 ? this.first : this.test
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
assertInstanceValid (field: number): void {
|
|
270
|
+
const first = this.first
|
|
271
|
+
const test = this.test
|
|
272
|
+
if (field === 0 && first.empty()) {
|
|
273
|
+
throw new Error(`first group instance has no delimeter present ${this.gf.name}`)
|
|
274
|
+
}
|
|
275
|
+
if (field > 0 && test.empty()) {
|
|
276
|
+
throw new Error(`group instance [${field}] has no delimeter present ${this.gf.name}`)
|
|
277
|
+
}
|
|
278
|
+
if (field > 0) {
|
|
279
|
+
const firstTag = first.firstSimple.definition.tag
|
|
280
|
+
const tag = test.firstSimple.definition.tag
|
|
281
|
+
if (firstTag !== tag) {
|
|
282
|
+
throw new Error(`group instance [${field}] inconsisent delimeter ${tag} expected tag ${firstTag}`)
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
class AsciiEncodeSetSummary {
|
|
289
|
+
constructor (public firstSimple: ContainedSimpleField = null,
|
|
290
|
+
public lastSimple: ContainedSimpleField = null,
|
|
291
|
+
public count: number = 0) {
|
|
292
|
+
}
|
|
293
|
+
public reset (): void {
|
|
294
|
+
this.firstSimple = null
|
|
295
|
+
this.lastSimple = null
|
|
296
|
+
this.count = 0
|
|
297
|
+
}
|
|
298
|
+
public empty (): boolean {
|
|
299
|
+
return this.firstSimple === null || this.count === 0
|
|
300
|
+
}
|
|
301
|
+
}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import { Tags } from '../tags'
|
|
2
|
-
import { MessageDefinition } from '../../dictionary'
|
|
1
|
+
import { Tags } from '../tag/tags'
|
|
2
|
+
import { MessageDefinition } from '../../dictionary/definition'
|
|
3
3
|
import { ElasticBuffer } from '../elastic-buffer'
|
|
4
|
+
import { ParseState } from './parse-state'
|
|
5
|
+
import { inject, injectable } from 'tsyringe'
|
|
6
|
+
import { DITokens } from '../../runtime/di-tokens'
|
|
4
7
|
|
|
5
|
-
|
|
6
|
-
BeginField = 1,
|
|
7
|
-
ParsingTag = 2,
|
|
8
|
-
ParsingValue = 3,
|
|
9
|
-
ParsingRawDataLength = 4,
|
|
10
|
-
ParsingRawData = 5,
|
|
11
|
-
MsgComplete = 6
|
|
12
|
-
}
|
|
13
|
-
|
|
8
|
+
@injectable()
|
|
14
9
|
export class AsciiParserState {
|
|
15
10
|
public message: MessageDefinition
|
|
16
11
|
public locations: Tags
|
|
@@ -26,7 +21,7 @@ export class AsciiParserState {
|
|
|
26
21
|
public rawDataRead: number
|
|
27
22
|
public msgType: string
|
|
28
23
|
|
|
29
|
-
constructor (public readonly elasticBuffer: ElasticBuffer) {
|
|
24
|
+
constructor (@inject(DITokens.ParseBuffer) public readonly elasticBuffer: ElasticBuffer) {
|
|
30
25
|
}
|
|
31
26
|
|
|
32
27
|
public beginTag (pos: number) {
|
|
@@ -1,37 +1,44 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { AsciiChars } from '../ascii-chars'
|
|
1
|
+
import { AsciiChars } from './ascii-chars'
|
|
3
2
|
import { AsciiView } from './ascii-view'
|
|
4
3
|
import { AsciiSegmentParser } from './ascii-segment-parser'
|
|
5
|
-
import { AsciiParserState
|
|
4
|
+
import { AsciiParserState } from './ascii-parser-state'
|
|
6
5
|
import { Structure } from '../structure'
|
|
7
|
-
import { Tags } from '../tags'
|
|
6
|
+
import { Tags } from '../tag/tags'
|
|
8
7
|
import { MsgParser } from '../msg-parser'
|
|
9
8
|
import { MsgView } from '../msg-view'
|
|
10
9
|
import { Readable } from 'stream'
|
|
11
10
|
import { ElasticBuffer } from '../elastic-buffer'
|
|
12
|
-
import { SegmentDescription
|
|
13
|
-
|
|
11
|
+
import { SegmentDescription } from '../segment/segment-description'
|
|
12
|
+
import { ParseState } from './parse-state'
|
|
13
|
+
import { IJsFixConfig } from '../../config'
|
|
14
|
+
import { inject, injectable } from 'tsyringe'
|
|
15
|
+
import { DITokens } from '../../runtime/di-tokens'
|
|
16
|
+
import { SegmentType } from '../segment/segment-type'
|
|
17
|
+
|
|
18
|
+
@injectable()
|
|
14
19
|
export class AsciiParser extends MsgParser {
|
|
15
20
|
private static nextId: number = 0
|
|
16
21
|
public readonly id: number
|
|
17
22
|
public readonly state: AsciiParserState
|
|
18
|
-
private readonly receivingBuffer: ElasticBuffer
|
|
19
23
|
private readonly segmentParser: AsciiSegmentParser
|
|
24
|
+
public readonly delimiter: number
|
|
25
|
+
public readonly writeDelimiter: number
|
|
20
26
|
|
|
21
27
|
// allocate enough in receive buffer so buffer does not constant resize back after large messages
|
|
22
28
|
// want to keep one slice of memory and constantly reuse it
|
|
23
29
|
|
|
24
|
-
constructor (public readonly
|
|
25
|
-
public readonly readStream: Readable,
|
|
26
|
-
|
|
27
|
-
public readonly writeDelimiter: number = delimiter,
|
|
28
|
-
public readonly maxMessageLen: number = 160 * 1024) {
|
|
30
|
+
constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,
|
|
31
|
+
@inject(DITokens.readStream) public readonly readStream: Readable,
|
|
32
|
+
@inject(DITokens.ParseBuffer) protected readonly receivingBuffer: ElasticBuffer) {
|
|
29
33
|
super()
|
|
34
|
+
|
|
35
|
+
this.delimiter = config.delimiter
|
|
36
|
+
this.writeDelimiter = config.logDelimiter || AsciiChars.Pipe
|
|
37
|
+
const definitions = config.definitions
|
|
30
38
|
this.id = AsciiParser.nextId++
|
|
31
|
-
this.segmentParser =
|
|
32
|
-
this.
|
|
33
|
-
this.state = new
|
|
34
|
-
this.state.locations = new Tags(definitions, maxMessageLen / 10)
|
|
39
|
+
this.segmentParser = config.sessionContainer.resolve<AsciiSegmentParser>(AsciiSegmentParser)
|
|
40
|
+
this.state = config.sessionContainer.resolve<AsciiParserState>(AsciiParserState)
|
|
41
|
+
this.state.locations = new Tags(definitions, this.receivingBuffer.size / 10)
|
|
35
42
|
this.state.beginMessage()
|
|
36
43
|
if (readStream !== null) {
|
|
37
44
|
this.subscribe()
|