jspurefix 3.2.0 → 3.5.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.
Files changed (1663) hide show
  1. package/data/examples/FIX.4.4/fix.txt +50 -50
  2. package/dist/buffer/ascii/ascii-encoder.js.map +1 -1
  3. package/dist/buffer/ascii/ascii-parser-state.js.map +1 -1
  4. package/dist/buffer/ascii/ascii-parser.js +14 -4
  5. package/dist/buffer/ascii/ascii-parser.js.map +1 -1
  6. package/dist/buffer/ascii/ascii-segment-parser-error.d.ts +5 -0
  7. package/dist/buffer/ascii/ascii-segment-parser-error.js +11 -0
  8. package/dist/buffer/ascii/ascii-segment-parser-error.js.map +1 -0
  9. package/dist/buffer/ascii/ascii-segment-parser-summary.d.ts +12 -0
  10. package/dist/buffer/ascii/ascii-segment-parser-summary.js +3 -0
  11. package/dist/buffer/ascii/ascii-segment-parser-summary.js.map +1 -0
  12. package/dist/buffer/ascii/ascii-segment-parser.js +27 -8
  13. package/dist/buffer/ascii/ascii-segment-parser.js.map +1 -1
  14. package/dist/buffer/ascii/ascii-view.d.ts +1 -0
  15. package/dist/buffer/ascii/ascii-view.js +3 -0
  16. package/dist/buffer/ascii/ascii-view.js.map +1 -1
  17. package/dist/buffer/ascii/time-formatter.js.map +1 -1
  18. package/dist/buffer/elastic-buffer.js.map +1 -1
  19. package/dist/buffer/encode-proxy.js.map +1 -1
  20. package/dist/buffer/encoder-state.js.map +1 -1
  21. package/dist/buffer/fixml/fixml-encoder.js.map +1 -1
  22. package/dist/buffer/fixml/fixml-parser.js.map +1 -1
  23. package/dist/buffer/fixml/fixml-view.js.map +1 -1
  24. package/dist/buffer/msg-encoder.js.map +1 -1
  25. package/dist/buffer/msg-view.d.ts +2 -2
  26. package/dist/buffer/msg-view.js +47 -47
  27. package/dist/buffer/msg-view.js.map +1 -1
  28. package/dist/buffer/segment/segment-description.d.ts +1 -0
  29. package/dist/buffer/segment/segment-description.js +18 -0
  30. package/dist/buffer/segment/segment-description.js.map +1 -1
  31. package/dist/buffer/structure.js.map +1 -1
  32. package/dist/buffer/tag/tag-pos.d.ts +1 -1
  33. package/dist/buffer/tag/tag-pos.js +12 -12
  34. package/dist/buffer/tag/tag-pos.js.map +1 -1
  35. package/dist/buffer/tag/tags.js.map +1 -1
  36. package/dist/collections/dictionary.js.map +1 -1
  37. package/dist/dict-parser.js.map +1 -1
  38. package/dist/dictionary/compiler/compiler-type.js.map +1 -1
  39. package/dist/dictionary/compiler/enum-compiler.js.map +1 -1
  40. package/dist/dictionary/compiler/msg-compiler.js.map +1 -1
  41. package/dist/dictionary/compiler/standard-snippet.js.map +1 -1
  42. package/dist/dictionary/contained/contained-field-dispatch.js.map +1 -1
  43. package/dist/dictionary/contained/contained-field-set.d.ts +1 -1
  44. package/dist/dictionary/contained/contained-field-set.js.map +1 -1
  45. package/dist/dictionary/contained/contained-group-field.js.map +1 -1
  46. package/dist/dictionary/contained/fields-dispatch.js.map +1 -1
  47. package/dist/dictionary/definition/fix-definitions.d.ts +3 -0
  48. package/dist/dictionary/definition/fix-definitions.js +10 -0
  49. package/dist/dictionary/definition/fix-definitions.js.map +1 -1
  50. package/dist/dictionary/definition/fix-version-parser.d.ts +6 -0
  51. package/dist/dictionary/definition/fix-version-parser.js +54 -0
  52. package/dist/dictionary/definition/fix-version-parser.js.map +1 -0
  53. package/dist/dictionary/definition/group-field-definition.js.map +1 -1
  54. package/dist/dictionary/definition/simple-field-definition.js +2 -0
  55. package/dist/dictionary/definition/simple-field-definition.js.map +1 -1
  56. package/dist/dictionary/parser/fix-repository/base-parser.js.map +1 -1
  57. package/dist/dictionary/parser/fix-repository/repository-xml-parser.js.map +1 -1
  58. package/dist/dictionary/parser/fix-repository/repository.js +1 -1
  59. package/dist/dictionary/parser/fix-repository/repository.js.map +1 -1
  60. package/dist/dictionary/parser/fixml/components-parser.js.map +1 -1
  61. package/dist/dictionary/parser/fixml/fields-parser.js.map +1 -1
  62. package/dist/dictionary/parser/fixml/fix-xsd-parser.js.map +1 -1
  63. package/dist/dictionary/parser/fixml/include-graph.js.map +1 -1
  64. package/dist/dictionary/parser/fixml/xsd-parser.js.map +1 -1
  65. package/dist/dictionary/parser/quickfix/field-definition-parser.js.map +1 -1
  66. package/dist/dictionary/parser/quickfix/field-set-parser.js.map +1 -1
  67. package/dist/dictionary/parser/quickfix/message-parser.js.map +1 -1
  68. package/dist/dictionary/parser/quickfix/node-parser.js.map +1 -1
  69. package/dist/dictionary/parser/quickfix/parse-context.js.map +1 -1
  70. package/dist/dictionary/parser/quickfix/parse-progress.js.map +1 -1
  71. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.d.ts +22 -0
  72. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js +142 -0
  73. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-builder.js.map +1 -0
  74. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.d.ts +3 -2
  75. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js +8 -6
  76. package/dist/dictionary/parser/quickfix/quick-fix-xml-file-parser.js.map +1 -1
  77. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.d.ts +20 -0
  78. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js +56 -0
  79. package/dist/dictionary/parser/quickfix/quick-fix-xml-formatter.js.map +1 -0
  80. package/dist/dictionary/set-reduce.js.map +1 -1
  81. package/dist/dictionary/version-util.js +19 -29
  82. package/dist/dictionary/version-util.js.map +1 -1
  83. package/dist/jsfix-cmd.d.ts +3 -1
  84. package/dist/jsfix-cmd.js +157 -24
  85. package/dist/jsfix-cmd.js.map +1 -1
  86. package/dist/runtime/make-config.js.map +1 -1
  87. package/dist/runtime/session-container.js.map +1 -1
  88. package/dist/runtime/session-launcher.d.ts +2 -2
  89. package/dist/runtime/session-launcher.js +4 -2
  90. package/dist/runtime/session-launcher.js.map +1 -1
  91. package/dist/sample/http/oms/app.js.map +1 -1
  92. package/dist/sample/http/oms/http-client.js.map +1 -1
  93. package/dist/sample/http/oms/http-server.js.map +1 -1
  94. package/dist/sample/tcp/qf-md/md-server.js.map +1 -1
  95. package/dist/sample/tcp/recovering-skeleton/app.js.map +1 -1
  96. package/dist/sample/tcp/recovering-skeleton/respawn-acceptor.js.map +1 -1
  97. package/dist/sample/tcp/recovering-skeleton/skeleton-client.js.map +1 -1
  98. package/dist/sample/tcp/recovering-skeleton/skeleton-server.js.map +1 -1
  99. package/dist/sample/tcp/skeleton/skeleton-session.js.map +1 -1
  100. package/dist/sample/tcp/trade-capture/trade-capture-client.js.map +1 -1
  101. package/dist/sample/tcp/trade-capture/trade-capture-server.js.map +1 -1
  102. package/dist/sample/tcp/trade-capture/trade-factory.js.map +1 -1
  103. package/dist/store/fix-msg-ascii-store-resend.d.ts +4 -3
  104. package/dist/store/fix-msg-ascii-store-resend.js +21 -5
  105. package/dist/store/fix-msg-ascii-store-resend.js.map +1 -1
  106. package/dist/store/fix-msg-memory-store.js.map +1 -1
  107. package/dist/test/ascii/ascii-encoder.test.js.map +1 -1
  108. package/dist/test/ascii/ascii-parser.test.js +0 -1
  109. package/dist/test/ascii/ascii-parser.test.js.map +1 -1
  110. package/dist/test/ascii/ascii-store-replay.test.js +14 -1
  111. package/dist/test/ascii/ascii-store-replay.test.js.map +1 -1
  112. package/dist/test/ascii/ascii-tag-pos.test.js.map +1 -1
  113. package/dist/test/ascii/execution-report.test.js.map +1 -1
  114. package/dist/test/ascii/fix-log-replay.test.js.map +1 -1
  115. package/dist/test/ascii/fix-repo-dict.test.js +40 -1
  116. package/dist/test/ascii/fix-repo-dict.test.js.map +1 -1
  117. package/dist/test/ascii/logon.test.js.map +1 -1
  118. package/dist/test/ascii/memory-store.test.js +14 -27
  119. package/dist/test/ascii/memory-store.test.js.map +1 -1
  120. package/dist/test/ascii/qf-43-full-msg.test.js +6 -0
  121. package/dist/test/ascii/qf-43-full-msg.test.js.map +1 -1
  122. package/dist/test/ascii/qf-44-ascii-parser.test.d.ts +1 -0
  123. package/dist/test/ascii/qf-44-ascii-parser.test.js +54 -0
  124. package/dist/test/ascii/qf-44-ascii-parser.test.js.map +1 -0
  125. package/dist/test/ascii/qf-50sp0-dict.test.d.ts +1 -0
  126. package/dist/test/ascii/qf-50sp0-dict.test.js +145 -0
  127. package/dist/test/ascii/qf-50sp0-dict.test.js.map +1 -0
  128. package/dist/test/ascii/qf-50sp2-dict.test.js +324 -116
  129. package/dist/test/ascii/qf-50sp2-dict.test.js.map +1 -1
  130. package/dist/test/ascii/session.test.js +64 -15
  131. package/dist/test/ascii/session.test.js.map +1 -1
  132. package/dist/test/ascii/view-decode.test.js.map +1 -1
  133. package/dist/test/env/LogReplayer.d.ts +16 -0
  134. package/dist/test/env/LogReplayer.js +51 -0
  135. package/dist/test/env/LogReplayer.js.map +1 -0
  136. package/dist/test/env/encoder-test.js.map +1 -1
  137. package/dist/test/env/experiment.js +1 -1
  138. package/dist/test/env/experiment.js.map +1 -1
  139. package/dist/test/env/set-constraint-helper.js +0 -1
  140. package/dist/test/env/set-constraint-helper.js.map +1 -1
  141. package/dist/test/env/setup.js +2 -1
  142. package/dist/test/env/setup.js.map +1 -1
  143. package/dist/test/env/skeleton-runner.js.map +1 -1
  144. package/dist/test/env/test-recovery.js.map +1 -1
  145. package/dist/test/fixml/repo-full-fixml-msg.test.js +7 -0
  146. package/dist/test/fixml/repo-full-fixml-msg.test.js.map +1 -1
  147. package/dist/transport/ascii/ascii-msg-transmitter.js.map +1 -1
  148. package/dist/transport/ascii/ascii-session.js +4 -1
  149. package/dist/transport/ascii/ascii-session.js.map +1 -1
  150. package/dist/transport/duplex/fix-duplex.d.ts +1 -0
  151. package/dist/transport/duplex/fix-duplex.js.map +1 -1
  152. package/dist/transport/duplex/http-duplex.js.map +1 -1
  153. package/dist/transport/duplex/string-duplex.d.ts +12 -4
  154. package/dist/transport/duplex/string-duplex.js +70 -41
  155. package/dist/transport/duplex/string-duplex.js.map +1 -1
  156. package/dist/transport/factory/msg-transport.js.map +1 -1
  157. package/dist/transport/fixml/fixml-msg-transmitter.js.map +1 -1
  158. package/dist/transport/fixml/fixml-session-msg-factory.js.map +1 -1
  159. package/dist/transport/fixml/fixml-session.js.map +1 -1
  160. package/dist/transport/http/http-acceptor-listener.js.map +1 -1
  161. package/dist/transport/http/http-acceptor.js +1 -1
  162. package/dist/transport/http/http-acceptor.js.map +1 -1
  163. package/dist/transport/http/http-initiator.js.map +1 -1
  164. package/dist/transport/http/http-json-sample-adapter.js.map +1 -1
  165. package/dist/transport/index.d.ts +1 -7
  166. package/dist/transport/index.js +1 -7
  167. package/dist/transport/index.js.map +1 -1
  168. package/dist/transport/msg-transmitter.js.map +1 -1
  169. package/dist/transport/session/fix-session-state.js.map +1 -1
  170. package/dist/transport/session/fix-session.js +2 -4
  171. package/dist/transport/session/fix-session.js.map +1 -1
  172. package/dist/transport/session/index.d.ts +8 -0
  173. package/dist/transport/session/index.js +25 -0
  174. package/dist/transport/session/index.js.map +1 -0
  175. package/dist/transport/tcp/recovering-tcp-initiator.js.map +1 -1
  176. package/dist/transport/tcp/tcp-acceptor-listener.js.map +1 -1
  177. package/dist/transport/tcp/tcp-acceptor.js.map +1 -1
  178. package/dist/transport/tcp/tcp-initiator-connector.js.map +1 -1
  179. package/dist/transport/tcp/tcp-initiator.js.map +1 -1
  180. package/dist/transport/tcp/tls-options-factory.js.map +1 -1
  181. package/dist/types/FIX.5.MOD/quickfix/account_list.d.ts +12 -0
  182. package/dist/types/FIX.5.MOD/quickfix/account_list.js +3 -0
  183. package/dist/types/FIX.5.MOD/quickfix/account_list.js.map +1 -0
  184. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.d.ts +9 -0
  185. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js +3 -0
  186. package/dist/types/FIX.5.MOD/quickfix/account_list_incremental.js.map +1 -0
  187. package/dist/types/FIX.5.MOD/quickfix/account_list_request.d.ts +11 -0
  188. package/dist/types/FIX.5.MOD/quickfix/account_list_request.js +3 -0
  189. package/dist/types/FIX.5.MOD/quickfix/account_list_request.js.map +1 -0
  190. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.d.ts +19 -0
  191. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js +3 -0
  192. package/dist/types/FIX.5.MOD/quickfix/adjusted_position_report.js.map +1 -0
  193. package/dist/types/FIX.5.MOD/quickfix/advertisement.d.ts +30 -0
  194. package/dist/types/FIX.5.MOD/quickfix/advertisement.js +3 -0
  195. package/dist/types/FIX.5.MOD/quickfix/advertisement.js.map +1 -0
  196. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.d.ts +93 -0
  197. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js +3 -0
  198. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction.js.map +1 -0
  199. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.d.ts +25 -0
  200. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js +3 -0
  201. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_ack.js.map +1 -0
  202. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.d.ts +93 -0
  203. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js +3 -0
  204. package/dist/types/FIX.5.MOD/quickfix/allocation_instruction_alert.js.map +1 -0
  205. package/dist/types/FIX.5.MOD/quickfix/allocation_report.d.ts +98 -0
  206. package/dist/types/FIX.5.MOD/quickfix/allocation_report.js +3 -0
  207. package/dist/types/FIX.5.MOD/quickfix/allocation_report.js.map +1 -0
  208. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.d.ts +30 -0
  209. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js +3 -0
  210. package/dist/types/FIX.5.MOD/quickfix/allocation_report_ack.js.map +1 -0
  211. package/dist/types/FIX.5.MOD/quickfix/assignment_report.d.ts +41 -0
  212. package/dist/types/FIX.5.MOD/quickfix/assignment_report.js +3 -0
  213. package/dist/types/FIX.5.MOD/quickfix/assignment_report.js.map +1 -0
  214. package/dist/types/FIX.5.MOD/quickfix/bid_request.d.ts +38 -0
  215. package/dist/types/FIX.5.MOD/quickfix/bid_request.js +3 -0
  216. package/dist/types/FIX.5.MOD/quickfix/bid_request.js.map +1 -0
  217. package/dist/types/FIX.5.MOD/quickfix/bid_response.d.ts +10 -0
  218. package/dist/types/FIX.5.MOD/quickfix/bid_response.js +3 -0
  219. package/dist/types/FIX.5.MOD/quickfix/bid_response.js.map +1 -0
  220. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.d.ts +14 -0
  221. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js +3 -0
  222. package/dist/types/FIX.5.MOD/quickfix/business_message_reject.js.map +1 -0
  223. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.d.ts +66 -0
  224. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js +3 -0
  225. package/dist/types/FIX.5.MOD/quickfix/collateral_assignment.js.map +1 -0
  226. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.d.ts +63 -0
  227. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js +3 -0
  228. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry.js.map +1 -0
  229. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.d.ts +47 -0
  230. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js +3 -0
  231. package/dist/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.js.map +1 -0
  232. package/dist/types/FIX.5.MOD/quickfix/collateral_report.d.ts +67 -0
  233. package/dist/types/FIX.5.MOD/quickfix/collateral_report.js +3 -0
  234. package/dist/types/FIX.5.MOD/quickfix/collateral_report.js.map +1 -0
  235. package/dist/types/FIX.5.MOD/quickfix/collateral_request.d.ts +61 -0
  236. package/dist/types/FIX.5.MOD/quickfix/collateral_request.js +3 -0
  237. package/dist/types/FIX.5.MOD/quickfix/collateral_request.js.map +1 -0
  238. package/dist/types/FIX.5.MOD/quickfix/collateral_response.d.ts +63 -0
  239. package/dist/types/FIX.5.MOD/quickfix/collateral_response.js +3 -0
  240. package/dist/types/FIX.5.MOD/quickfix/collateral_response.js.map +1 -0
  241. package/dist/types/FIX.5.MOD/quickfix/confirmation.d.ts +88 -0
  242. package/dist/types/FIX.5.MOD/quickfix/confirmation.js +3 -0
  243. package/dist/types/FIX.5.MOD/quickfix/confirmation.js.map +1 -0
  244. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.d.ts +16 -0
  245. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js +3 -0
  246. package/dist/types/FIX.5.MOD/quickfix/confirmation_ack.js.map +1 -0
  247. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.d.ts +21 -0
  248. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js +3 -0
  249. package/dist/types/FIX.5.MOD/quickfix/confirmation_request.js.map +1 -0
  250. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.d.ts +23 -0
  251. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js +3 -0
  252. package/dist/types/FIX.5.MOD/quickfix/contrary_intention_report.js.map +1 -0
  253. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.d.ts +77 -0
  254. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js +3 -0
  255. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.js.map +1 -0
  256. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.d.ts +23 -0
  257. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js +3 -0
  258. package/dist/types/FIX.5.MOD/quickfix/cross_order_cancel_request.js.map +1 -0
  259. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.d.ts +15 -0
  260. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js +3 -0
  261. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list.js.map +1 -0
  262. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.d.ts +19 -0
  263. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js +3 -0
  264. package/dist/types/FIX.5.MOD/quickfix/derivative_security_list_request.js.map +1 -0
  265. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.d.ts +25 -0
  266. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js +3 -0
  267. package/dist/types/FIX.5.MOD/quickfix/dont_know_trade_dk.js.map +1 -0
  268. package/dist/types/FIX.5.MOD/quickfix/email.d.ts +27 -0
  269. package/dist/types/FIX.5.MOD/quickfix/email.js +3 -0
  270. package/dist/types/FIX.5.MOD/quickfix/email.js.map +1 -0
  271. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.d.ts +3452 -0
  272. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js +3809 -0
  273. package/dist/types/FIX.5.MOD/quickfix/enum/all-enum.js.map +1 -0
  274. package/dist/types/FIX.5.MOD/quickfix/enum/index.d.ts +2 -0
  275. package/dist/types/FIX.5.MOD/quickfix/enum/index.js +19 -0
  276. package/dist/types/FIX.5.MOD/quickfix/enum/index.js.map +1 -0
  277. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.d.ts +1645 -0
  278. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js +1650 -0
  279. package/dist/types/FIX.5.MOD/quickfix/enum/msg_tag.js.map +1 -0
  280. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.d.ts +31 -0
  281. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js +3 -0
  282. package/dist/types/FIX.5.MOD/quickfix/execution_acknowledgement.js.map +1 -0
  283. package/dist/types/FIX.5.MOD/quickfix/execution_report.d.ts +186 -0
  284. package/dist/types/FIX.5.MOD/quickfix/execution_report.js +3 -0
  285. package/dist/types/FIX.5.MOD/quickfix/execution_report.js.map +1 -0
  286. package/dist/types/FIX.5.MOD/quickfix/heartbeat.d.ts +7 -0
  287. package/dist/types/FIX.5.MOD/quickfix/heartbeat.js +3 -0
  288. package/dist/types/FIX.5.MOD/quickfix/heartbeat.js.map +1 -0
  289. package/dist/types/FIX.5.MOD/quickfix/index.d.ts +358 -0
  290. package/dist/types/FIX.5.MOD/quickfix/index.js +375 -0
  291. package/dist/types/FIX.5.MOD/quickfix/index.js.map +1 -0
  292. package/dist/types/FIX.5.MOD/quickfix/ioi.d.ts +46 -0
  293. package/dist/types/FIX.5.MOD/quickfix/ioi.js +3 -0
  294. package/dist/types/FIX.5.MOD/quickfix/ioi.js.map +1 -0
  295. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.d.ts +16 -0
  296. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js +3 -0
  297. package/dist/types/FIX.5.MOD/quickfix/list_cancel_request.js.map +1 -0
  298. package/dist/types/FIX.5.MOD/quickfix/list_execute.d.ts +14 -0
  299. package/dist/types/FIX.5.MOD/quickfix/list_execute.js +3 -0
  300. package/dist/types/FIX.5.MOD/quickfix/list_execute.js.map +1 -0
  301. package/dist/types/FIX.5.MOD/quickfix/list_status.d.ts +20 -0
  302. package/dist/types/FIX.5.MOD/quickfix/list_status.js +3 -0
  303. package/dist/types/FIX.5.MOD/quickfix/list_status.js.map +1 -0
  304. package/dist/types/FIX.5.MOD/quickfix/list_status_request.d.ts +11 -0
  305. package/dist/types/FIX.5.MOD/quickfix/list_status_request.js +3 -0
  306. package/dist/types/FIX.5.MOD/quickfix/list_status_request.js.map +1 -0
  307. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.d.ts +13 -0
  308. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js +3 -0
  309. package/dist/types/FIX.5.MOD/quickfix/list_strike_price.js.map +1 -0
  310. package/dist/types/FIX.5.MOD/quickfix/logon.d.ts +22 -0
  311. package/dist/types/FIX.5.MOD/quickfix/logon.js +3 -0
  312. package/dist/types/FIX.5.MOD/quickfix/logon.js.map +1 -0
  313. package/dist/types/FIX.5.MOD/quickfix/logout.d.ts +10 -0
  314. package/dist/types/FIX.5.MOD/quickfix/logout.js +3 -0
  315. package/dist/types/FIX.5.MOD/quickfix/logout.js.map +1 -0
  316. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.d.ts +16 -0
  317. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js +3 -0
  318. package/dist/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.js.map +1 -0
  319. package/dist/types/FIX.5.MOD/quickfix/market_data_request.d.ts +24 -0
  320. package/dist/types/FIX.5.MOD/quickfix/market_data_request.js +3 -0
  321. package/dist/types/FIX.5.MOD/quickfix/market_data_request.js.map +1 -0
  322. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.d.ts +14 -0
  323. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js +3 -0
  324. package/dist/types/FIX.5.MOD/quickfix/market_data_request_reject.js.map +1 -0
  325. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.d.ts +28 -0
  326. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js +3 -0
  327. package/dist/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.js.map +1 -0
  328. package/dist/types/FIX.5.MOD/quickfix/mass_quote.d.ts +19 -0
  329. package/dist/types/FIX.5.MOD/quickfix/mass_quote.js +3 -0
  330. package/dist/types/FIX.5.MOD/quickfix/mass_quote.js.map +1 -0
  331. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.d.ts +23 -0
  332. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js +3 -0
  333. package/dist/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.js.map +1 -0
  334. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.d.ts +103 -0
  335. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js +3 -0
  336. package/dist/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.js.map +1 -0
  337. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.d.ts +10 -0
  338. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js +3 -0
  339. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.js.map +1 -0
  340. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.d.ts +12 -0
  341. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js +3 -0
  342. package/dist/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.js.map +1 -0
  343. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.d.ts +74 -0
  344. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js +3 -0
  345. package/dist/types/FIX.5.MOD/quickfix/new_order_cross.js.map +1 -0
  346. package/dist/types/FIX.5.MOD/quickfix/new_order_list.d.ts +29 -0
  347. package/dist/types/FIX.5.MOD/quickfix/new_order_list.js +3 -0
  348. package/dist/types/FIX.5.MOD/quickfix/new_order_list.js.map +1 -0
  349. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.d.ts +102 -0
  350. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js +3 -0
  351. package/dist/types/FIX.5.MOD/quickfix/new_order_multileg.js.map +1 -0
  352. package/dist/types/FIX.5.MOD/quickfix/new_order_single.d.ts +116 -0
  353. package/dist/types/FIX.5.MOD/quickfix/new_order_single.js +3 -0
  354. package/dist/types/FIX.5.MOD/quickfix/new_order_single.js.map +1 -0
  355. package/dist/types/FIX.5.MOD/quickfix/news.d.ts +26 -0
  356. package/dist/types/FIX.5.MOD/quickfix/news.js +3 -0
  357. package/dist/types/FIX.5.MOD/quickfix/news.js.map +1 -0
  358. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.d.ts +28 -0
  359. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js +3 -0
  360. package/dist/types/FIX.5.MOD/quickfix/order_cancel_reject.js.map +1 -0
  361. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.d.ts +112 -0
  362. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js +3 -0
  363. package/dist/types/FIX.5.MOD/quickfix/order_cancel_replace_request.js.map +1 -0
  364. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.d.ts +33 -0
  365. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js +3 -0
  366. package/dist/types/FIX.5.MOD/quickfix/order_cancel_request.js.map +1 -0
  367. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.d.ts +31 -0
  368. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js +3 -0
  369. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_report.js.map +1 -0
  370. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.d.ts +27 -0
  371. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js +3 -0
  372. package/dist/types/FIX.5.MOD/quickfix/order_mass_cancel_request.js.map +1 -0
  373. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.d.ts +19 -0
  374. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js +3 -0
  375. package/dist/types/FIX.5.MOD/quickfix/order_mass_status_request.js.map +1 -0
  376. package/dist/types/FIX.5.MOD/quickfix/order_status_request.d.ts +22 -0
  377. package/dist/types/FIX.5.MOD/quickfix/order_status_request.js +3 -0
  378. package/dist/types/FIX.5.MOD/quickfix/order_status_request.js.map +1 -0
  379. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.d.ts +45 -0
  380. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js +3 -0
  381. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_report.js.map +1 -0
  382. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.d.ts +42 -0
  383. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js +3 -0
  384. package/dist/types/FIX.5.MOD/quickfix/position_maintenance_request.js.map +1 -0
  385. package/dist/types/FIX.5.MOD/quickfix/position_report.d.ts +47 -0
  386. package/dist/types/FIX.5.MOD/quickfix/position_report.js +3 -0
  387. package/dist/types/FIX.5.MOD/quickfix/position_report.js.map +1 -0
  388. package/dist/types/FIX.5.MOD/quickfix/quote.d.ts +81 -0
  389. package/dist/types/FIX.5.MOD/quickfix/quote.js +3 -0
  390. package/dist/types/FIX.5.MOD/quickfix/quote.js.map +1 -0
  391. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.d.ts +20 -0
  392. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js +3 -0
  393. package/dist/types/FIX.5.MOD/quickfix/quote_cancel.js.map +1 -0
  394. package/dist/types/FIX.5.MOD/quickfix/quote_request.d.ts +17 -0
  395. package/dist/types/FIX.5.MOD/quickfix/quote_request.js +3 -0
  396. package/dist/types/FIX.5.MOD/quickfix/quote_request.js.map +1 -0
  397. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.d.ts +15 -0
  398. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js +3 -0
  399. package/dist/types/FIX.5.MOD/quickfix/quote_request_reject.js.map +1 -0
  400. package/dist/types/FIX.5.MOD/quickfix/quote_response.d.ts +80 -0
  401. package/dist/types/FIX.5.MOD/quickfix/quote_response.js +3 -0
  402. package/dist/types/FIX.5.MOD/quickfix/quote_response.js.map +1 -0
  403. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.d.ts +81 -0
  404. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js +3 -0
  405. package/dist/types/FIX.5.MOD/quickfix/quote_status_report.js.map +1 -0
  406. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.d.ts +24 -0
  407. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js +3 -0
  408. package/dist/types/FIX.5.MOD/quickfix/quote_status_request.js.map +1 -0
  409. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.d.ts +21 -0
  410. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js +3 -0
  411. package/dist/types/FIX.5.MOD/quickfix/registration_instructions.js.map +1 -0
  412. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.d.ts +17 -0
  413. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js +3 -0
  414. package/dist/types/FIX.5.MOD/quickfix/registration_instructions_response.js.map +1 -0
  415. package/dist/types/FIX.5.MOD/quickfix/reject.d.ts +14 -0
  416. package/dist/types/FIX.5.MOD/quickfix/reject.js +3 -0
  417. package/dist/types/FIX.5.MOD/quickfix/reject.js.map +1 -0
  418. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.d.ts +35 -0
  419. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js +3 -0
  420. package/dist/types/FIX.5.MOD/quickfix/request_for_positions.js.map +1 -0
  421. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.d.ts +37 -0
  422. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js +3 -0
  423. package/dist/types/FIX.5.MOD/quickfix/request_for_positions_ack.js.map +1 -0
  424. package/dist/types/FIX.5.MOD/quickfix/resend_request.d.ts +8 -0
  425. package/dist/types/FIX.5.MOD/quickfix/resend_request.js +3 -0
  426. package/dist/types/FIX.5.MOD/quickfix/resend_request.js.map +1 -0
  427. package/dist/types/FIX.5.MOD/quickfix/rfq_request.d.ts +10 -0
  428. package/dist/types/FIX.5.MOD/quickfix/rfq_request.js +3 -0
  429. package/dist/types/FIX.5.MOD/quickfix/rfq_request.js.map +1 -0
  430. package/dist/types/FIX.5.MOD/quickfix/security_definition.d.ts +29 -0
  431. package/dist/types/FIX.5.MOD/quickfix/security_definition.js +3 -0
  432. package/dist/types/FIX.5.MOD/quickfix/security_definition.js.map +1 -0
  433. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.d.ts +25 -0
  434. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js +3 -0
  435. package/dist/types/FIX.5.MOD/quickfix/security_definition_request.js.map +1 -0
  436. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.d.ts +29 -0
  437. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js +3 -0
  438. package/dist/types/FIX.5.MOD/quickfix/security_definition_update_report.js.map +1 -0
  439. package/dist/types/FIX.5.MOD/quickfix/security_list.d.ts +27 -0
  440. package/dist/types/FIX.5.MOD/quickfix/security_list.js +3 -0
  441. package/dist/types/FIX.5.MOD/quickfix/security_list.js.map +1 -0
  442. package/dist/types/FIX.5.MOD/quickfix/security_list_request.d.ts +28 -0
  443. package/dist/types/FIX.5.MOD/quickfix/security_list_request.js +3 -0
  444. package/dist/types/FIX.5.MOD/quickfix/security_list_request.js.map +1 -0
  445. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.d.ts +17 -0
  446. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js +3 -0
  447. package/dist/types/FIX.5.MOD/quickfix/security_list_update_report.js.map +1 -0
  448. package/dist/types/FIX.5.MOD/quickfix/security_status.d.ts +37 -0
  449. package/dist/types/FIX.5.MOD/quickfix/security_status.js +3 -0
  450. package/dist/types/FIX.5.MOD/quickfix/security_status.js.map +1 -0
  451. package/dist/types/FIX.5.MOD/quickfix/security_status_request.d.ts +19 -0
  452. package/dist/types/FIX.5.MOD/quickfix/security_status_request.js +3 -0
  453. package/dist/types/FIX.5.MOD/quickfix/security_status_request.js.map +1 -0
  454. package/dist/types/FIX.5.MOD/quickfix/security_type_request.d.ts +16 -0
  455. package/dist/types/FIX.5.MOD/quickfix/security_type_request.js +3 -0
  456. package/dist/types/FIX.5.MOD/quickfix/security_type_request.js.map +1 -0
  457. package/dist/types/FIX.5.MOD/quickfix/security_types.d.ts +20 -0
  458. package/dist/types/FIX.5.MOD/quickfix/security_types.js +3 -0
  459. package/dist/types/FIX.5.MOD/quickfix/security_types.js.map +1 -0
  460. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.d.ts +8 -0
  461. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js +3 -0
  462. package/dist/types/FIX.5.MOD/quickfix/sequence_reset.js.map +1 -0
  463. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.d.ts +3 -0
  464. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js +3 -0
  465. package/dist/types/FIX.5.MOD/quickfix/set/affected_ord_grp.js.map +1 -0
  466. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.d.ts +4 -0
  467. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js +3 -0
  468. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.js.map +1 -0
  469. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.d.ts +18 -0
  470. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js +3 -0
  471. package/dist/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.js.map +1 -0
  472. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.d.ts +4 -0
  473. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js +3 -0
  474. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp.js.map +1 -0
  475. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.d.ts +42 -0
  476. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js +3 -0
  477. package/dist/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.js.map +1 -0
  478. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.d.ts +4 -0
  479. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js +3 -0
  480. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp.js.map +1 -0
  481. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.d.ts +4 -0
  482. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js +3 -0
  483. package/dist/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.js.map +1 -0
  484. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.d.ts +18 -0
  485. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js +3 -0
  486. package/dist/types/FIX.5.MOD/quickfix/set/base_trading_rules.js.map +1 -0
  487. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.d.ts +4 -0
  488. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js +3 -0
  489. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.js.map +1 -0
  490. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.d.ts +11 -0
  491. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js +3 -0
  492. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.js.map +1 -0
  493. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.d.ts +4 -0
  494. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js +3 -0
  495. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.js.map +1 -0
  496. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.d.ts +19 -0
  497. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js +3 -0
  498. package/dist/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.js.map +1 -0
  499. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.d.ts +4 -0
  500. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js +3 -0
  501. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.js.map +1 -0
  502. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.d.ts +13 -0
  503. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js +3 -0
  504. package/dist/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.js.map +1 -0
  505. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.d.ts +4 -0
  506. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js +3 -0
  507. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp.js.map +1 -0
  508. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.d.ts +3 -0
  509. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js +3 -0
  510. package/dist/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.js.map +1 -0
  511. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.d.ts +4 -0
  512. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js +3 -0
  513. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.js.map +1 -0
  514. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.d.ts +3 -0
  515. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js +3 -0
  516. package/dist/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.js.map +1 -0
  517. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.d.ts +6 -0
  518. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js +3 -0
  519. package/dist/types/FIX.5.MOD/quickfix/set/commission_data.js.map +1 -0
  520. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.d.ts +4 -0
  521. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js +3 -0
  522. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.js.map +1 -0
  523. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.d.ts +6 -0
  524. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js +3 -0
  525. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.js.map +1 -0
  526. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.d.ts +4 -0
  527. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js +3 -0
  528. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.js.map +1 -0
  529. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.d.ts +8 -0
  530. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js +3 -0
  531. package/dist/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.js.map +1 -0
  532. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.d.ts +4 -0
  533. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js +3 -0
  534. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp.js.map +1 -0
  535. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.d.ts +5 -0
  536. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js +3 -0
  537. package/dist/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.js.map +1 -0
  538. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.d.ts +4 -0
  539. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js +3 -0
  540. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp.js.map +1 -0
  541. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.d.ts +7 -0
  542. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js +3 -0
  543. package/dist/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.js.map +1 -0
  544. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.d.ts +4 -0
  545. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js +3 -0
  546. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.js.map +1 -0
  547. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.d.ts +5 -0
  548. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js +3 -0
  549. package/dist/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.js.map +1 -0
  550. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.d.ts +9 -0
  551. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js +3 -0
  552. package/dist/types/FIX.5.MOD/quickfix/set/discretion_instructions.js.map +1 -0
  553. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.d.ts +10 -0
  554. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js +3 -0
  555. package/dist/types/FIX.5.MOD/quickfix/set/display_instruction.js.map +1 -0
  556. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.d.ts +4 -0
  557. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js +3 -0
  558. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.js.map +1 -0
  559. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.d.ts +6 -0
  560. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js +3 -0
  561. package/dist/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.js.map +1 -0
  562. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.d.ts +4 -0
  563. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js +3 -0
  564. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp.js.map +1 -0
  565. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.d.ts +6 -0
  566. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js +3 -0
  567. package/dist/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.js.map +1 -0
  568. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.d.ts +4 -0
  569. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js +3 -0
  570. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.js.map +1 -0
  571. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.d.ts +10 -0
  572. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js +3 -0
  573. package/dist/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.js.map +1 -0
  574. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.d.ts +4 -0
  575. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js +3 -0
  576. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp.js.map +1 -0
  577. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.d.ts +3 -0
  578. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js +3 -0
  579. package/dist/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.js.map +1 -0
  580. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.d.ts +4 -0
  581. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js +3 -0
  582. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules.js.map +1 -0
  583. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.d.ts +3 -0
  584. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js +3 -0
  585. package/dist/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.js.map +1 -0
  586. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.d.ts +4 -0
  587. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js +3 -0
  588. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty.js.map +1 -0
  589. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.d.ts +4 -0
  590. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js +3 -0
  591. package/dist/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.js.map +1 -0
  592. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.d.ts +11 -0
  593. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js +3 -0
  594. package/dist/types/FIX.5.MOD/quickfix/set/financing_details.js.map +1 -0
  595. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.d.ts +4 -0
  596. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js +3 -0
  597. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp.js.map +1 -0
  598. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.d.ts +5 -0
  599. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js +3 -0
  600. package/dist/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.js.map +1 -0
  601. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.d.ts +4 -0
  602. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js +3 -0
  603. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp.js.map +1 -0
  604. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.d.ts +4 -0
  605. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js +3 -0
  606. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.js.map +1 -0
  607. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.d.ts +4 -0
  608. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js +3 -0
  609. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.js.map +1 -0
  610. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.d.ts +22 -0
  611. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js +3 -0
  612. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.js.map +1 -0
  613. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.d.ts +4 -0
  614. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js +3 -0
  615. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.js.map +1 -0
  616. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.d.ts +4 -0
  617. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js +3 -0
  618. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.js.map +1 -0
  619. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.d.ts +4 -0
  620. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js +3 -0
  621. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.js.map +1 -0
  622. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.d.ts +7 -0
  623. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js +3 -0
  624. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.js.map +1 -0
  625. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.d.ts +4 -0
  626. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js +3 -0
  627. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.js.map +1 -0
  628. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.d.ts +10 -0
  629. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js +3 -0
  630. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.js.map +1 -0
  631. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.d.ts +4 -0
  632. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js +3 -0
  633. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.js.map +1 -0
  634. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.d.ts +13 -0
  635. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js +3 -0
  636. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.js.map +1 -0
  637. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.d.ts +4 -0
  638. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js +3 -0
  639. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.js.map +1 -0
  640. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.d.ts +4 -0
  641. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js +3 -0
  642. package/dist/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.js.map +1 -0
  643. package/dist/types/FIX.5.MOD/quickfix/set/instrument.d.ts +73 -0
  644. package/dist/types/FIX.5.MOD/quickfix/set/instrument.js +3 -0
  645. package/dist/types/FIX.5.MOD/quickfix/set/instrument.js.map +1 -0
  646. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.d.ts +6 -0
  647. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js +3 -0
  648. package/dist/types/FIX.5.MOD/quickfix/set/instrument_extension.js.map +1 -0
  649. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.d.ts +48 -0
  650. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js +3 -0
  651. package/dist/types/FIX.5.MOD/quickfix/set/instrument_leg.js.map +1 -0
  652. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.d.ts +4 -0
  653. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js +3 -0
  654. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties.js.map +1 -0
  655. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.d.ts +7 -0
  656. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js +3 -0
  657. package/dist/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.js.map +1 -0
  658. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.d.ts +4 -0
  659. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js +3 -0
  660. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.js.map +1 -0
  661. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.d.ts +4 -0
  662. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js +3 -0
  663. package/dist/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.js.map +1 -0
  664. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.d.ts +4 -0
  665. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js +3 -0
  666. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.js.map +1 -0
  667. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.d.ts +3 -0
  668. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js +3 -0
  669. package/dist/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.js.map +1 -0
  670. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.d.ts +7 -0
  671. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js +3 -0
  672. package/dist/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.js.map +1 -0
  673. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.d.ts +4 -0
  674. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js +3 -0
  675. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp.js.map +1 -0
  676. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.d.ts +20 -0
  677. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js +3 -0
  678. package/dist/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.js.map +1 -0
  679. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.d.ts +4 -0
  680. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js +3 -0
  681. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.js.map +1 -0
  682. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.d.ts +9 -0
  683. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js +3 -0
  684. package/dist/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.js.map +1 -0
  685. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.d.ts +4 -0
  686. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js +3 -0
  687. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp.js.map +1 -0
  688. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.d.ts +21 -0
  689. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js +3 -0
  690. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.js.map +1 -0
  691. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.d.ts +4 -0
  692. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js +3 -0
  693. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.js.map +1 -0
  694. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.d.ts +13 -0
  695. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js +3 -0
  696. package/dist/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.js.map +1 -0
  697. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.d.ts +3 -0
  698. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js +3 -0
  699. package/dist/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.js.map +1 -0
  700. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.d.ts +4 -0
  701. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js +3 -0
  702. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations.js.map +1 -0
  703. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.d.ts +4 -0
  704. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js +3 -0
  705. package/dist/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.js.map +1 -0
  706. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.d.ts +4 -0
  707. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js +3 -0
  708. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.js.map +1 -0
  709. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.d.ts +6 -0
  710. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js +3 -0
  711. package/dist/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.js.map +1 -0
  712. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.d.ts +4 -0
  713. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js +3 -0
  714. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp.js.map +1 -0
  715. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.d.ts +103 -0
  716. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js +3 -0
  717. package/dist/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.js.map +1 -0
  718. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.d.ts +4 -0
  719. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js +3 -0
  720. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules.js.map +1 -0
  721. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.d.ts +5 -0
  722. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js +3 -0
  723. package/dist/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.js.map +1 -0
  724. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.d.ts +4 -0
  725. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js +3 -0
  726. package/dist/types/FIX.5.MOD/quickfix/set/market_alias.js.map +1 -0
  727. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.d.ts +4 -0
  728. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js +3 -0
  729. package/dist/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.js.map +1 -0
  730. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.d.ts +4 -0
  731. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js +3 -0
  732. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types.js.map +1 -0
  733. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.d.ts +5 -0
  734. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js +3 -0
  735. package/dist/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.js.map +1 -0
  736. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.d.ts +4 -0
  737. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js +3 -0
  738. package/dist/types/FIX.5.MOD/quickfix/set/match_rules.js.map +1 -0
  739. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.d.ts +4 -0
  740. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js +3 -0
  741. package/dist/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.js.map +1 -0
  742. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.d.ts +4 -0
  743. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js +3 -0
  744. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules.js.map +1 -0
  745. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.d.ts +8 -0
  746. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js +3 -0
  747. package/dist/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.js.map +1 -0
  748. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.d.ts +4 -0
  749. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js +3 -0
  750. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp.js.map +1 -0
  751. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.d.ts +58 -0
  752. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js +3 -0
  753. package/dist/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.js.map +1 -0
  754. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.d.ts +4 -0
  755. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js +3 -0
  756. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp.js.map +1 -0
  757. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.d.ts +67 -0
  758. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js +3 -0
  759. package/dist/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.js.map +1 -0
  760. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.d.ts +4 -0
  761. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js +3 -0
  762. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp.js.map +1 -0
  763. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.d.ts +3 -0
  764. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js +3 -0
  765. package/dist/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.js.map +1 -0
  766. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.d.ts +4 -0
  767. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js +3 -0
  768. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp.js.map +1 -0
  769. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.d.ts +3 -0
  770. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js +3 -0
  771. package/dist/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.js.map +1 -0
  772. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.d.ts +4 -0
  773. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js +3 -0
  774. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp.js.map +1 -0
  775. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.d.ts +6 -0
  776. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js +3 -0
  777. package/dist/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.js.map +1 -0
  778. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.d.ts +4 -0
  779. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js +3 -0
  780. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp.js.map +1 -0
  781. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.d.ts +6 -0
  782. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js +3 -0
  783. package/dist/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.js.map +1 -0
  784. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.d.ts +4 -0
  785. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js +3 -0
  786. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.js.map +1 -0
  787. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.d.ts +4 -0
  788. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js +3 -0
  789. package/dist/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.js.map +1 -0
  790. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.d.ts +4 -0
  791. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js +3 -0
  792. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties.js.map +1 -0
  793. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.d.ts +4 -0
  794. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js +3 -0
  795. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2.js.map +1 -0
  796. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.d.ts +7 -0
  797. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js +3 -0
  798. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.js.map +1 -0
  799. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.d.ts +4 -0
  800. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js +3 -0
  801. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3.js.map +1 -0
  802. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.d.ts +7 -0
  803. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js +3 -0
  804. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.js.map +1 -0
  805. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.d.ts +7 -0
  806. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js +3 -0
  807. package/dist/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.js.map +1 -0
  808. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.d.ts +4 -0
  809. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js +3 -0
  810. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.js.map +1 -0
  811. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.d.ts +4 -0
  812. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js +3 -0
  813. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.js.map +1 -0
  814. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.d.ts +4 -0
  815. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js +3 -0
  816. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.js.map +1 -0
  817. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.d.ts +4 -0
  818. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js +3 -0
  819. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.js.map +1 -0
  820. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.d.ts +4 -0
  821. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js +3 -0
  822. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.js.map +1 -0
  823. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.d.ts +4 -0
  824. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js +3 -0
  825. package/dist/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.js.map +1 -0
  826. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.d.ts +4 -0
  827. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js +3 -0
  828. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.js.map +1 -0
  829. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.d.ts +12 -0
  830. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js +3 -0
  831. package/dist/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.js.map +1 -0
  832. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.d.ts +4 -0
  833. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js +3 -0
  834. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.js.map +1 -0
  835. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.d.ts +15 -0
  836. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js +3 -0
  837. package/dist/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.js.map +1 -0
  838. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.d.ts +4 -0
  839. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js +3 -0
  840. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules.js.map +1 -0
  841. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.d.ts +3 -0
  842. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js +3 -0
  843. package/dist/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.js.map +1 -0
  844. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.d.ts +7 -0
  845. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js +3 -0
  846. package/dist/types/FIX.5.MOD/quickfix/set/order_qty_data.js.map +1 -0
  847. package/dist/types/FIX.5.MOD/quickfix/set/parties.d.ts +4 -0
  848. package/dist/types/FIX.5.MOD/quickfix/set/parties.js +3 -0
  849. package/dist/types/FIX.5.MOD/quickfix/set/parties.js.map +1 -0
  850. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.d.ts +7 -0
  851. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js +3 -0
  852. package/dist/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.js.map +1 -0
  853. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.d.ts +13 -0
  854. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js +3 -0
  855. package/dist/types/FIX.5.MOD/quickfix/set/peg_instructions.js.map +1 -0
  856. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.d.ts +4 -0
  857. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js +3 -0
  858. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.js.map +1 -0
  859. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.d.ts +9 -0
  860. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js +3 -0
  861. package/dist/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.js.map +1 -0
  862. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.d.ts +4 -0
  863. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js +3 -0
  864. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data.js.map +1 -0
  865. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.d.ts +5 -0
  866. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js +3 -0
  867. package/dist/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.js.map +1 -0
  868. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.d.ts +4 -0
  869. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js +3 -0
  870. package/dist/types/FIX.5.MOD/quickfix/set/position_qty.js.map +1 -0
  871. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.d.ts +9 -0
  872. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js +3 -0
  873. package/dist/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.js.map +1 -0
  874. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.d.ts +4 -0
  875. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js +3 -0
  876. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.js.map +1 -0
  877. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.d.ts +9 -0
  878. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js +3 -0
  879. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.js.map +1 -0
  880. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.d.ts +4 -0
  881. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js +3 -0
  882. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.js.map +1 -0
  883. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.d.ts +9 -0
  884. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js +3 -0
  885. package/dist/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.js.map +1 -0
  886. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.d.ts +6 -0
  887. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js +3 -0
  888. package/dist/types/FIX.5.MOD/quickfix/set/price_limits.js.map +1 -0
  889. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.d.ts +4 -0
  890. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js +3 -0
  891. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.js.map +1 -0
  892. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.d.ts +4 -0
  893. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js +3 -0
  894. package/dist/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.js.map +1 -0
  895. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.d.ts +4 -0
  896. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js +3 -0
  897. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.js.map +1 -0
  898. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.d.ts +10 -0
  899. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js +3 -0
  900. package/dist/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.js.map +1 -0
  901. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.d.ts +4 -0
  902. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js +3 -0
  903. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.js.map +1 -0
  904. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.d.ts +31 -0
  905. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js +3 -0
  906. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.js.map +1 -0
  907. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.d.ts +4 -0
  908. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js +3 -0
  909. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp.js.map +1 -0
  910. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.d.ts +30 -0
  911. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js +3 -0
  912. package/dist/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.js.map +1 -0
  913. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.d.ts +4 -0
  914. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js +3 -0
  915. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp.js.map +1 -0
  916. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.d.ts +3 -0
  917. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js +3 -0
  918. package/dist/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.js.map +1 -0
  919. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.d.ts +4 -0
  920. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js +3 -0
  921. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp.js.map +1 -0
  922. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.d.ts +46 -0
  923. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js +3 -0
  924. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.js.map +1 -0
  925. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.d.ts +4 -0
  926. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js +3 -0
  927. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.js.map +1 -0
  928. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.d.ts +18 -0
  929. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js +3 -0
  930. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.js.map +1 -0
  931. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.d.ts +4 -0
  932. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js +3 -0
  933. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.js.map +1 -0
  934. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.d.ts +45 -0
  935. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js +3 -0
  936. package/dist/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.js.map +1 -0
  937. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.d.ts +4 -0
  938. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js +3 -0
  939. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.js.map +1 -0
  940. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.d.ts +9 -0
  941. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js +3 -0
  942. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.js.map +1 -0
  943. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.d.ts +4 -0
  944. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js +3 -0
  945. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp.js.map +1 -0
  946. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.d.ts +10 -0
  947. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js +3 -0
  948. package/dist/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.js.map +1 -0
  949. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.d.ts +4 -0
  950. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js +3 -0
  951. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.js.map +1 -0
  952. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.d.ts +16 -0
  953. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js +3 -0
  954. package/dist/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.js.map +1 -0
  955. package/dist/types/FIX.5.MOD/quickfix/set/related_account.d.ts +4 -0
  956. package/dist/types/FIX.5.MOD/quickfix/set/related_account.js +3 -0
  957. package/dist/types/FIX.5.MOD/quickfix/set/related_account.js.map +1 -0
  958. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.d.ts +11 -0
  959. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js +3 -0
  960. package/dist/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.js.map +1 -0
  961. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.d.ts +4 -0
  962. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js +3 -0
  963. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp.js.map +1 -0
  964. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.d.ts +13 -0
  965. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js +3 -0
  966. package/dist/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.js.map +1 -0
  967. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.d.ts +4 -0
  968. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js +3 -0
  969. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.js.map +1 -0
  970. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.d.ts +10 -0
  971. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js +3 -0
  972. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.js.map +1 -0
  973. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.d.ts +4 -0
  974. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js +3 -0
  975. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.js.map +1 -0
  976. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.d.ts +11 -0
  977. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js +3 -0
  978. package/dist/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.js.map +1 -0
  979. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.d.ts +4 -0
  980. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js +3 -0
  981. package/dist/types/FIX.5.MOD/quickfix/set/root_parties.js.map +1 -0
  982. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.d.ts +7 -0
  983. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js +3 -0
  984. package/dist/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.js.map +1 -0
  985. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.d.ts +4 -0
  986. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js +3 -0
  987. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties.js.map +1 -0
  988. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.d.ts +4 -0
  989. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js +3 -0
  990. package/dist/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.js.map +1 -0
  991. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.d.ts +4 -0
  992. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js +3 -0
  993. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp.js.map +1 -0
  994. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.d.ts +4 -0
  995. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js +3 -0
  996. package/dist/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.js.map +1 -0
  997. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.d.ts +4 -0
  998. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js +3 -0
  999. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.js.map +1 -0
  1000. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.d.ts +4 -0
  1001. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js +3 -0
  1002. package/dist/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.js.map +1 -0
  1003. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.d.ts +4 -0
  1004. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js +3 -0
  1005. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp.js.map +1 -0
  1006. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.d.ts +29 -0
  1007. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js +3 -0
  1008. package/dist/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.js.map +1 -0
  1009. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.d.ts +4 -0
  1010. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js +3 -0
  1011. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.js.map +1 -0
  1012. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.d.ts +28 -0
  1013. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js +3 -0
  1014. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.js.map +1 -0
  1015. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.d.ts +4 -0
  1016. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js +3 -0
  1017. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.js.map +1 -0
  1018. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.d.ts +10 -0
  1019. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js +3 -0
  1020. package/dist/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.js.map +1 -0
  1021. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.d.ts +4 -0
  1022. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js +3 -0
  1023. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp.js.map +1 -0
  1024. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.d.ts +6 -0
  1025. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js +3 -0
  1026. package/dist/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.js.map +1 -0
  1027. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.d.ts +8 -0
  1028. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js +3 -0
  1029. package/dist/types/FIX.5.MOD/quickfix/set/security_trading_rules.js.map +1 -0
  1030. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.d.ts +4 -0
  1031. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js +3 -0
  1032. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp.js.map +1 -0
  1033. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.d.ts +26 -0
  1034. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js +3 -0
  1035. package/dist/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.js.map +1 -0
  1036. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.d.ts +8 -0
  1037. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js +3 -0
  1038. package/dist/types/FIX.5.MOD/quickfix/set/settl_instructions_data.js.map +1 -0
  1039. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.d.ts +4 -0
  1040. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js +3 -0
  1041. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties.js.map +1 -0
  1042. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.d.ts +7 -0
  1043. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js +3 -0
  1044. package/dist/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.js.map +1 -0
  1045. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.d.ts +4 -0
  1046. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js +3 -0
  1047. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.js.map +1 -0
  1048. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.d.ts +4 -0
  1049. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js +3 -0
  1050. package/dist/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.js.map +1 -0
  1051. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.d.ts +4 -0
  1052. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js +3 -0
  1053. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.js.map +1 -0
  1054. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.d.ts +19 -0
  1055. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js +3 -0
  1056. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.js.map +1 -0
  1057. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.d.ts +4 -0
  1058. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js +3 -0
  1059. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.js.map +1 -0
  1060. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.d.ts +42 -0
  1061. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js +3 -0
  1062. package/dist/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.js.map +1 -0
  1063. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.d.ts +4 -0
  1064. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js +3 -0
  1065. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.js.map +1 -0
  1066. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.d.ts +5 -0
  1067. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js +3 -0
  1068. package/dist/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.js.map +1 -0
  1069. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.d.ts +10 -0
  1070. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js +3 -0
  1071. package/dist/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.js.map +1 -0
  1072. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.d.ts +33 -0
  1073. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js +3 -0
  1074. package/dist/types/FIX.5.MOD/quickfix/set/standard_header.js.map +1 -0
  1075. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.d.ts +6 -0
  1076. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js +3 -0
  1077. package/dist/types/FIX.5.MOD/quickfix/set/standard_trailer.js.map +1 -0
  1078. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.d.ts +4 -0
  1079. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js +3 -0
  1080. package/dist/types/FIX.5.MOD/quickfix/set/stipulations.js.map +1 -0
  1081. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.d.ts +4 -0
  1082. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js +3 -0
  1083. package/dist/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.js.map +1 -0
  1084. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.d.ts +4 -0
  1085. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js +3 -0
  1086. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.js.map +1 -0
  1087. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.d.ts +5 -0
  1088. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js +3 -0
  1089. package/dist/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.js.map +1 -0
  1090. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.d.ts +4 -0
  1091. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js +3 -0
  1092. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules.js.map +1 -0
  1093. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.d.ts +9 -0
  1094. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js +3 -0
  1095. package/dist/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.js.map +1 -0
  1096. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.d.ts +4 -0
  1097. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js +3 -0
  1098. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules.js.map +1 -0
  1099. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.d.ts +6 -0
  1100. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js +3 -0
  1101. package/dist/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.js.map +1 -0
  1102. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.d.ts +4 -0
  1103. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js +3 -0
  1104. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules.js.map +1 -0
  1105. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.d.ts +3 -0
  1106. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js +3 -0
  1107. package/dist/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.js.map +1 -0
  1108. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.d.ts +12 -0
  1109. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js +3 -0
  1110. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules.js.map +1 -0
  1111. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.d.ts +4 -0
  1112. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js +3 -0
  1113. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.js.map +1 -0
  1114. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.d.ts +6 -0
  1115. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js +3 -0
  1116. package/dist/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.js.map +1 -0
  1117. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.d.ts +4 -0
  1118. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js +3 -0
  1119. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.js.map +1 -0
  1120. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.d.ts +13 -0
  1121. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js +3 -0
  1122. package/dist/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.js.map +1 -0
  1123. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.d.ts +3 -0
  1124. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js +3 -0
  1125. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.js.map +1 -0
  1126. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.d.ts +4 -0
  1127. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js +3 -0
  1128. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.js.map +1 -0
  1129. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.d.ts +74 -0
  1130. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js +3 -0
  1131. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.js.map +1 -0
  1132. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.d.ts +4 -0
  1133. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js +3 -0
  1134. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.js.map +1 -0
  1135. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.d.ts +80 -0
  1136. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js +3 -0
  1137. package/dist/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.js.map +1 -0
  1138. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.d.ts +4 -0
  1139. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js +3 -0
  1140. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp.js.map +1 -0
  1141. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.d.ts +4 -0
  1142. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js +3 -0
  1143. package/dist/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.js.map +1 -0
  1144. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.d.ts +4 -0
  1145. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js +3 -0
  1146. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.js.map +1 -0
  1147. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.d.ts +22 -0
  1148. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js +3 -0
  1149. package/dist/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.js.map +1 -0
  1150. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.d.ts +4 -0
  1151. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js +3 -0
  1152. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.js.map +1 -0
  1153. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.d.ts +8 -0
  1154. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js +3 -0
  1155. package/dist/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.js.map +1 -0
  1156. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.d.ts +4 -0
  1157. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js +3 -0
  1158. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.js.map +1 -0
  1159. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.d.ts +20 -0
  1160. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js +3 -0
  1161. package/dist/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.js.map +1 -0
  1162. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.d.ts +4 -0
  1163. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js +3 -0
  1164. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.js.map +1 -0
  1165. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.d.ts +4 -0
  1166. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js +3 -0
  1167. package/dist/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.js.map +1 -0
  1168. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.d.ts +17 -0
  1169. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js +3 -0
  1170. package/dist/types/FIX.5.MOD/quickfix/set/triggering_instruction.js.map +1 -0
  1171. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.d.ts +4 -0
  1172. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js +3 -0
  1173. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.js.map +1 -0
  1174. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.d.ts +5 -0
  1175. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js +3 -0
  1176. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.js.map +1 -0
  1177. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.d.ts +4 -0
  1178. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js +3 -0
  1179. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.js.map +1 -0
  1180. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.d.ts +4 -0
  1181. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js +3 -0
  1182. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.js.map +1 -0
  1183. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.d.ts +4 -0
  1184. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js +3 -0
  1185. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.js.map +1 -0
  1186. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.d.ts +14 -0
  1187. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js +3 -0
  1188. package/dist/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.js.map +1 -0
  1189. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.d.ts +4 -0
  1190. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js +3 -0
  1191. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.js.map +1 -0
  1192. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.d.ts +4 -0
  1193. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js +3 -0
  1194. package/dist/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.js.map +1 -0
  1195. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.d.ts +4 -0
  1196. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js +3 -0
  1197. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount.js.map +1 -0
  1198. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.d.ts +6 -0
  1199. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js +3 -0
  1200. package/dist/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.js.map +1 -0
  1201. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.d.ts +64 -0
  1202. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js +3 -0
  1203. package/dist/types/FIX.5.MOD/quickfix/set/underlying_instrument.js.map +1 -0
  1204. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.d.ts +4 -0
  1205. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js +3 -0
  1206. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations.js.map +1 -0
  1207. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.d.ts +4 -0
  1208. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js +3 -0
  1209. package/dist/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.js.map +1 -0
  1210. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.d.ts +4 -0
  1211. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js +3 -0
  1212. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.js.map +1 -0
  1213. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.d.ts +7 -0
  1214. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js +3 -0
  1215. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.js.map +1 -0
  1216. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.d.ts +4 -0
  1217. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js +3 -0
  1218. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.js.map +1 -0
  1219. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.d.ts +4 -0
  1220. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js +3 -0
  1221. package/dist/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.js.map +1 -0
  1222. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.d.ts +8 -0
  1223. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js +3 -0
  1224. package/dist/types/FIX.5.MOD/quickfix/set/yield_data.js.map +1 -0
  1225. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.d.ts +23 -0
  1226. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js +3 -0
  1227. package/dist/types/FIX.5.MOD/quickfix/settlement_instruction_request.js.map +1 -0
  1228. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.d.ts +18 -0
  1229. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js +3 -0
  1230. package/dist/types/FIX.5.MOD/quickfix/settlement_instructions.js.map +1 -0
  1231. package/dist/types/FIX.5.MOD/quickfix/test_request.d.ts +7 -0
  1232. package/dist/types/FIX.5.MOD/quickfix/test_request.js +3 -0
  1233. package/dist/types/FIX.5.MOD/quickfix/test_request.js.map +1 -0
  1234. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.d.ts +102 -0
  1235. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js +3 -0
  1236. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report.js.map +1 -0
  1237. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.d.ts +92 -0
  1238. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js +3 -0
  1239. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_ack.js.map +1 -0
  1240. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.d.ts +56 -0
  1241. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js +3 -0
  1242. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request.js.map +1 -0
  1243. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.d.ts +30 -0
  1244. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js +3 -0
  1245. package/dist/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.js.map +1 -0
  1246. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.d.ts +9 -0
  1247. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js +3 -0
  1248. package/dist/types/FIX.5.MOD/quickfix/trading_session_list.js.map +1 -0
  1249. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.d.ts +13 -0
  1250. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js +3 -0
  1251. package/dist/types/FIX.5.MOD/quickfix/trading_session_list_request.js.map +1 -0
  1252. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.d.ts +28 -0
  1253. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js +3 -0
  1254. package/dist/types/FIX.5.MOD/quickfix/trading_session_status.js.map +1 -0
  1255. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.d.ts +15 -0
  1256. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js +3 -0
  1257. package/dist/types/FIX.5.MOD/quickfix/trading_session_status_request.js.map +1 -0
  1258. package/dist/types/FIX.5.MOD/quickfix/user_request.d.ts +14 -0
  1259. package/dist/types/FIX.5.MOD/quickfix/user_request.js +3 -0
  1260. package/dist/types/FIX.5.MOD/quickfix/user_request.js.map +1 -0
  1261. package/dist/types/FIX.5.MOD/quickfix/user_response.d.ts +10 -0
  1262. package/dist/types/FIX.5.MOD/quickfix/user_response.js +3 -0
  1263. package/dist/types/FIX.5.MOD/quickfix/user_response.js.map +1 -0
  1264. package/dist/util/definition-factory.js +2 -1
  1265. package/dist/util/definition-factory.js.map +1 -1
  1266. package/dist/util/json-helper.js.map +1 -1
  1267. package/dist/util/message-generator.js.map +1 -1
  1268. package/dist/util/replay.js +2 -2
  1269. package/dist/util/replay.js.map +1 -1
  1270. package/package.json +24 -22
  1271. package/src/buffer/ascii/ascii-parser.ts +18 -9
  1272. package/src/buffer/ascii/ascii-segment-parser-error.ts +7 -0
  1273. package/src/buffer/ascii/ascii-segment-parser-summary.ts +13 -0
  1274. package/src/buffer/ascii/ascii-segment-parser.ts +28 -8
  1275. package/src/buffer/ascii/ascii-view.ts +4 -0
  1276. package/src/buffer/msg-view.ts +2 -2
  1277. package/src/buffer/segment/segment-description.ts +18 -0
  1278. package/src/buffer/tag/tag-pos.ts +1 -1
  1279. package/src/dictionary/contained/contained-field-set.ts +1 -1
  1280. package/src/dictionary/definition/fix-definitions.ts +13 -0
  1281. package/src/dictionary/definition/fix-version-parser.ts +57 -0
  1282. package/src/dictionary/definition/simple-field-definition.ts +1 -0
  1283. package/src/dictionary/parser/fix-repository/repository.ts +1 -1
  1284. package/src/dictionary/parser/quickfix/quick-fix-xml-file-builder.ts +179 -0
  1285. package/src/dictionary/parser/quickfix/quick-fix-xml-file-parser.ts +8 -4
  1286. package/src/dictionary/parser/quickfix/quick-fix-xml-formatter.ts +67 -0
  1287. package/src/dictionary/version-util.ts +10 -21
  1288. package/src/jsfix-cmd.ts +194 -23
  1289. package/src/runtime/session-launcher.ts +8 -4
  1290. package/src/store/fix-msg-ascii-store-resend.ts +64 -8
  1291. package/src/transport/ascii/ascii-session.ts +5 -1
  1292. package/src/transport/duplex/fix-duplex.ts +2 -0
  1293. package/src/transport/duplex/http-duplex.ts +1 -1
  1294. package/src/transport/duplex/string-duplex.ts +72 -41
  1295. package/src/transport/http/http-acceptor.ts +3 -3
  1296. package/src/transport/http/http-json-sample-adapter.ts +1 -1
  1297. package/src/transport/index.ts +1 -7
  1298. package/src/transport/session/fix-session.ts +2 -2
  1299. package/src/transport/session/index.ts +8 -0
  1300. package/src/types/FIX.5.MOD/quickfix/account_list.ts +13 -0
  1301. package/src/types/FIX.5.MOD/quickfix/account_list_incremental.ts +10 -0
  1302. package/src/types/FIX.5.MOD/quickfix/account_list_request.ts +12 -0
  1303. package/src/types/FIX.5.MOD/quickfix/adjusted_position_report.ts +20 -0
  1304. package/src/types/FIX.5.MOD/quickfix/advertisement.ts +30 -0
  1305. package/src/types/FIX.5.MOD/quickfix/allocation_instruction.ts +93 -0
  1306. package/src/types/FIX.5.MOD/quickfix/allocation_instruction_ack.ts +25 -0
  1307. package/src/types/FIX.5.MOD/quickfix/allocation_instruction_alert.ts +93 -0
  1308. package/src/types/FIX.5.MOD/quickfix/allocation_report.ts +98 -0
  1309. package/src/types/FIX.5.MOD/quickfix/allocation_report_ack.ts +30 -0
  1310. package/src/types/FIX.5.MOD/quickfix/assignment_report.ts +41 -0
  1311. package/src/types/FIX.5.MOD/quickfix/bid_request.ts +38 -0
  1312. package/src/types/FIX.5.MOD/quickfix/bid_response.ts +11 -0
  1313. package/src/types/FIX.5.MOD/quickfix/business_message_reject.ts +14 -0
  1314. package/src/types/FIX.5.MOD/quickfix/collateral_assignment.ts +66 -0
  1315. package/src/types/FIX.5.MOD/quickfix/collateral_inquiry.ts +63 -0
  1316. package/src/types/FIX.5.MOD/quickfix/collateral_inquiry_ack.ts +47 -0
  1317. package/src/types/FIX.5.MOD/quickfix/collateral_report.ts +67 -0
  1318. package/src/types/FIX.5.MOD/quickfix/collateral_request.ts +61 -0
  1319. package/src/types/FIX.5.MOD/quickfix/collateral_response.ts +63 -0
  1320. package/src/types/FIX.5.MOD/quickfix/confirmation.ts +88 -0
  1321. package/src/types/FIX.5.MOD/quickfix/confirmation_ack.ts +16 -0
  1322. package/src/types/FIX.5.MOD/quickfix/confirmation_request.ts +21 -0
  1323. package/src/types/FIX.5.MOD/quickfix/contrary_intention_report.ts +23 -0
  1324. package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_replace_request.ts +78 -0
  1325. package/src/types/FIX.5.MOD/quickfix/cross_order_cancel_request.ts +24 -0
  1326. package/src/types/FIX.5.MOD/quickfix/derivative_security_list.ts +16 -0
  1327. package/src/types/FIX.5.MOD/quickfix/derivative_security_list_request.ts +19 -0
  1328. package/src/types/FIX.5.MOD/quickfix/dont_know_trade_dk.ts +25 -0
  1329. package/src/types/FIX.5.MOD/quickfix/email.ts +27 -0
  1330. package/src/types/FIX.5.MOD/quickfix/enum/all-enum.ts +3799 -0
  1331. package/src/types/FIX.5.MOD/quickfix/enum/index.ts +2 -0
  1332. package/src/types/FIX.5.MOD/quickfix/enum/msg_tag.ts +1645 -0
  1333. package/src/types/FIX.5.MOD/quickfix/execution_acknowledgement.ts +31 -0
  1334. package/src/types/FIX.5.MOD/quickfix/execution_report.ts +186 -0
  1335. package/src/types/FIX.5.MOD/quickfix/heartbeat.ts +8 -0
  1336. package/src/types/FIX.5.MOD/quickfix/index.ts +358 -0
  1337. package/src/types/FIX.5.MOD/quickfix/ioi.ts +46 -0
  1338. package/src/types/FIX.5.MOD/quickfix/list_cancel_request.ts +16 -0
  1339. package/src/types/FIX.5.MOD/quickfix/list_execute.ts +14 -0
  1340. package/src/types/FIX.5.MOD/quickfix/list_status.ts +20 -0
  1341. package/src/types/FIX.5.MOD/quickfix/list_status_request.ts +11 -0
  1342. package/src/types/FIX.5.MOD/quickfix/list_strike_price.ts +14 -0
  1343. package/src/types/FIX.5.MOD/quickfix/logon.ts +22 -0
  1344. package/src/types/FIX.5.MOD/quickfix/logout.ts +10 -0
  1345. package/src/types/FIX.5.MOD/quickfix/market_data_incremental_refresh.ts +17 -0
  1346. package/src/types/FIX.5.MOD/quickfix/market_data_request.ts +25 -0
  1347. package/src/types/FIX.5.MOD/quickfix/market_data_request_reject.ts +14 -0
  1348. package/src/types/FIX.5.MOD/quickfix/market_data_snapshot_full_refresh.ts +29 -0
  1349. package/src/types/FIX.5.MOD/quickfix/mass_quote.ts +20 -0
  1350. package/src/types/FIX.5.MOD/quickfix/mass_quote_acknowledgement.ts +23 -0
  1351. package/src/types/FIX.5.MOD/quickfix/multileg_order_cancel_replace.ts +103 -0
  1352. package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_request.ts +11 -0
  1353. package/src/types/FIX.5.MOD/quickfix/network_counterparty_system_status_response.ts +13 -0
  1354. package/src/types/FIX.5.MOD/quickfix/new_order_cross.ts +75 -0
  1355. package/src/types/FIX.5.MOD/quickfix/new_order_list.ts +29 -0
  1356. package/src/types/FIX.5.MOD/quickfix/new_order_multileg.ts +102 -0
  1357. package/src/types/FIX.5.MOD/quickfix/new_order_single.ts +116 -0
  1358. package/src/types/FIX.5.MOD/quickfix/news.ts +26 -0
  1359. package/src/types/FIX.5.MOD/quickfix/order_cancel_reject.ts +28 -0
  1360. package/src/types/FIX.5.MOD/quickfix/order_cancel_replace_request.ts +112 -0
  1361. package/src/types/FIX.5.MOD/quickfix/order_cancel_request.ts +33 -0
  1362. package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_report.ts +31 -0
  1363. package/src/types/FIX.5.MOD/quickfix/order_mass_cancel_request.ts +27 -0
  1364. package/src/types/FIX.5.MOD/quickfix/order_mass_status_request.ts +20 -0
  1365. package/src/types/FIX.5.MOD/quickfix/order_status_request.ts +23 -0
  1366. package/src/types/FIX.5.MOD/quickfix/position_maintenance_report.ts +45 -0
  1367. package/src/types/FIX.5.MOD/quickfix/position_maintenance_request.ts +42 -0
  1368. package/src/types/FIX.5.MOD/quickfix/position_report.ts +47 -0
  1369. package/src/types/FIX.5.MOD/quickfix/quote.ts +81 -0
  1370. package/src/types/FIX.5.MOD/quickfix/quote_cancel.ts +21 -0
  1371. package/src/types/FIX.5.MOD/quickfix/quote_request.ts +17 -0
  1372. package/src/types/FIX.5.MOD/quickfix/quote_request_reject.ts +15 -0
  1373. package/src/types/FIX.5.MOD/quickfix/quote_response.ts +80 -0
  1374. package/src/types/FIX.5.MOD/quickfix/quote_status_report.ts +81 -0
  1375. package/src/types/FIX.5.MOD/quickfix/quote_status_request.ts +25 -0
  1376. package/src/types/FIX.5.MOD/quickfix/registration_instructions.ts +22 -0
  1377. package/src/types/FIX.5.MOD/quickfix/registration_instructions_response.ts +18 -0
  1378. package/src/types/FIX.5.MOD/quickfix/reject.ts +14 -0
  1379. package/src/types/FIX.5.MOD/quickfix/request_for_positions.ts +35 -0
  1380. package/src/types/FIX.5.MOD/quickfix/request_for_positions_ack.ts +37 -0
  1381. package/src/types/FIX.5.MOD/quickfix/resend_request.ts +9 -0
  1382. package/src/types/FIX.5.MOD/quickfix/rfq_request.ts +11 -0
  1383. package/src/types/FIX.5.MOD/quickfix/security_definition.ts +29 -0
  1384. package/src/types/FIX.5.MOD/quickfix/security_definition_request.ts +25 -0
  1385. package/src/types/FIX.5.MOD/quickfix/security_definition_update_report.ts +29 -0
  1386. package/src/types/FIX.5.MOD/quickfix/security_list.ts +27 -0
  1387. package/src/types/FIX.5.MOD/quickfix/security_list_request.ts +28 -0
  1388. package/src/types/FIX.5.MOD/quickfix/security_list_update_report.ts +18 -0
  1389. package/src/types/FIX.5.MOD/quickfix/security_status.ts +37 -0
  1390. package/src/types/FIX.5.MOD/quickfix/security_status_request.ts +20 -0
  1391. package/src/types/FIX.5.MOD/quickfix/security_type_request.ts +16 -0
  1392. package/src/types/FIX.5.MOD/quickfix/security_types.ts +20 -0
  1393. package/src/types/FIX.5.MOD/quickfix/sequence_reset.ts +9 -0
  1394. package/src/types/FIX.5.MOD/quickfix/set/affected_ord_grp.ts +3 -0
  1395. package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp.ts +5 -0
  1396. package/src/types/FIX.5.MOD/quickfix/set/alloc_ack_grp_no_allocs.ts +18 -0
  1397. package/src/types/FIX.5.MOD/quickfix/set/alloc_grp.ts +5 -0
  1398. package/src/types/FIX.5.MOD/quickfix/set/alloc_grp_no_allocs.ts +42 -0
  1399. package/src/types/FIX.5.MOD/quickfix/set/attrb_grp.ts +5 -0
  1400. package/src/types/FIX.5.MOD/quickfix/set/attrb_grp_no_instr_attrib.ts +4 -0
  1401. package/src/types/FIX.5.MOD/quickfix/set/base_trading_rules.ts +19 -0
  1402. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp.ts +5 -0
  1403. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_req_grp_no_bid_components.ts +11 -0
  1404. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp.ts +5 -0
  1405. package/src/types/FIX.5.MOD/quickfix/set/bid_comp_rsp_grp_no_bid_components.ts +19 -0
  1406. package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp.ts +5 -0
  1407. package/src/types/FIX.5.MOD/quickfix/set/bid_desc_req_grp_no_bid_descriptors.ts +13 -0
  1408. package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp.ts +5 -0
  1409. package/src/types/FIX.5.MOD/quickfix/set/clr_inst_grp_no_clearing_instructions.ts +3 -0
  1410. package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp.ts +5 -0
  1411. package/src/types/FIX.5.MOD/quickfix/set/coll_inq_qual_grp_no_coll_inquiry_qualifier.ts +3 -0
  1412. package/src/types/FIX.5.MOD/quickfix/set/commission_data.ts +6 -0
  1413. package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp.ts +5 -0
  1414. package/src/types/FIX.5.MOD/quickfix/set/comp_id_req_grp_no_comp_i_ds.ts +6 -0
  1415. package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp.ts +5 -0
  1416. package/src/types/FIX.5.MOD/quickfix/set/comp_id_stat_grp_no_comp_i_ds.ts +8 -0
  1417. package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp.ts +5 -0
  1418. package/src/types/FIX.5.MOD/quickfix/set/cont_amt_grp_no_cont_amts.ts +5 -0
  1419. package/src/types/FIX.5.MOD/quickfix/set/contra_grp.ts +5 -0
  1420. package/src/types/FIX.5.MOD/quickfix/set/contra_grp_no_contra_brokers.ts +7 -0
  1421. package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp.ts +5 -0
  1422. package/src/types/FIX.5.MOD/quickfix/set/cpcty_conf_grp_no_capacities.ts +5 -0
  1423. package/src/types/FIX.5.MOD/quickfix/set/discretion_instructions.ts +9 -0
  1424. package/src/types/FIX.5.MOD/quickfix/set/display_instruction.ts +10 -0
  1425. package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp.ts +5 -0
  1426. package/src/types/FIX.5.MOD/quickfix/set/dlvy_inst_grp_no_dlvy_inst.ts +7 -0
  1427. package/src/types/FIX.5.MOD/quickfix/set/evnt_grp.ts +5 -0
  1428. package/src/types/FIX.5.MOD/quickfix/set/evnt_grp_no_events.ts +6 -0
  1429. package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp.ts +5 -0
  1430. package/src/types/FIX.5.MOD/quickfix/set/exec_alloc_grp_no_execs.ts +10 -0
  1431. package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp.ts +5 -0
  1432. package/src/types/FIX.5.MOD/quickfix/set/exec_coll_grp_no_execs.ts +3 -0
  1433. package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules.ts +5 -0
  1434. package/src/types/FIX.5.MOD/quickfix/set/exec_inst_rules_no_exec_inst_rules.ts +3 -0
  1435. package/src/types/FIX.5.MOD/quickfix/set/expiration_qty.ts +5 -0
  1436. package/src/types/FIX.5.MOD/quickfix/set/expiration_qty_no_expiration.ts +4 -0
  1437. package/src/types/FIX.5.MOD/quickfix/set/financing_details.ts +11 -0
  1438. package/src/types/FIX.5.MOD/quickfix/set/hop_grp.ts +5 -0
  1439. package/src/types/FIX.5.MOD/quickfix/set/hop_grp_no_hops.ts +5 -0
  1440. package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp.ts +5 -0
  1441. package/src/types/FIX.5.MOD/quickfix/set/instrmt_grp_no_related_sym.ts +5 -0
  1442. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp.ts +5 -0
  1443. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_exec_grp_no_legs.ts +23 -0
  1444. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp.ts +5 -0
  1445. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_grp_no_legs.ts +5 -0
  1446. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp.ts +5 -0
  1447. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_ioi_grp_no_legs.ts +8 -0
  1448. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp.ts +5 -0
  1449. package/src/types/FIX.5.MOD/quickfix/set/instrmt_leg_sec_list_grp_no_legs.ts +11 -0
  1450. package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp.ts +5 -0
  1451. package/src/types/FIX.5.MOD/quickfix/set/instrmt_md_req_grp_no_related_sym.ts +14 -0
  1452. package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp.ts +5 -0
  1453. package/src/types/FIX.5.MOD/quickfix/set/instrmt_strk_px_grp_no_strikes.ts +5 -0
  1454. package/src/types/FIX.5.MOD/quickfix/set/instrument.ts +73 -0
  1455. package/src/types/FIX.5.MOD/quickfix/set/instrument_extension.ts +7 -0
  1456. package/src/types/FIX.5.MOD/quickfix/set/instrument_leg.ts +48 -0
  1457. package/src/types/FIX.5.MOD/quickfix/set/instrument_parties.ts +5 -0
  1458. package/src/types/FIX.5.MOD/quickfix/set/instrument_parties_no_instrument_parties.ts +8 -0
  1459. package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp.ts +5 -0
  1460. package/src/types/FIX.5.MOD/quickfix/set/instrument_ptys_sub_grp_no_instrument_party_sub_i_ds.ts +4 -0
  1461. package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp.ts +5 -0
  1462. package/src/types/FIX.5.MOD/quickfix/set/ioi_qual_grp_no_ioi_qualifiers.ts +3 -0
  1463. package/src/types/FIX.5.MOD/quickfix/set/leg_benchmark_curve_data.ts +7 -0
  1464. package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp.ts +5 -0
  1465. package/src/types/FIX.5.MOD/quickfix/set/leg_ord_grp_no_legs.ts +21 -0
  1466. package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp.ts +5 -0
  1467. package/src/types/FIX.5.MOD/quickfix/set/leg_pre_alloc_grp_no_leg_allocs.ts +10 -0
  1468. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp.ts +5 -0
  1469. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_grp_no_legs.ts +22 -0
  1470. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp.ts +5 -0
  1471. package/src/types/FIX.5.MOD/quickfix/set/leg_quot_stat_grp_no_legs.ts +14 -0
  1472. package/src/types/FIX.5.MOD/quickfix/set/leg_sec_alt_id_grp.ts +3 -0
  1473. package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations.ts +5 -0
  1474. package/src/types/FIX.5.MOD/quickfix/set/leg_stipulations_no_leg_stipulations.ts +4 -0
  1475. package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp.ts +5 -0
  1476. package/src/types/FIX.5.MOD/quickfix/set/lines_of_text_grp_no_lines_of_text.ts +5 -0
  1477. package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp.ts +5 -0
  1478. package/src/types/FIX.5.MOD/quickfix/set/list_ord_grp_no_orders.ts +103 -0
  1479. package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules.ts +5 -0
  1480. package/src/types/FIX.5.MOD/quickfix/set/lot_type_rules_no_lot_type_rules.ts +5 -0
  1481. package/src/types/FIX.5.MOD/quickfix/set/market_alias.ts +5 -0
  1482. package/src/types/FIX.5.MOD/quickfix/set/market_alias_no_market_alias.ts +4 -0
  1483. package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types.ts +5 -0
  1484. package/src/types/FIX.5.MOD/quickfix/set/market_data_feed_types_no_md_feed_types.ts +5 -0
  1485. package/src/types/FIX.5.MOD/quickfix/set/match_rules.ts +5 -0
  1486. package/src/types/FIX.5.MOD/quickfix/set/match_rules_no_match_rules.ts +4 -0
  1487. package/src/types/FIX.5.MOD/quickfix/set/maturity_rules.ts +5 -0
  1488. package/src/types/FIX.5.MOD/quickfix/set/maturity_rules_no_maturity_rules.ts +8 -0
  1489. package/src/types/FIX.5.MOD/quickfix/set/md_full_grp.ts +5 -0
  1490. package/src/types/FIX.5.MOD/quickfix/set/md_full_grp_no_md_entries.ts +58 -0
  1491. package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp.ts +5 -0
  1492. package/src/types/FIX.5.MOD/quickfix/set/md_inc_grp_no_md_entries.ts +67 -0
  1493. package/src/types/FIX.5.MOD/quickfix/set/md_req_grp.ts +5 -0
  1494. package/src/types/FIX.5.MOD/quickfix/set/md_req_grp_no_md_entry_types.ts +3 -0
  1495. package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp.ts +5 -0
  1496. package/src/types/FIX.5.MOD/quickfix/set/md_rjct_grp_no_alt_md_source.ts +3 -0
  1497. package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp.ts +5 -0
  1498. package/src/types/FIX.5.MOD/quickfix/set/misc_fees_grp_no_misc_fees.ts +6 -0
  1499. package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp.ts +5 -0
  1500. package/src/types/FIX.5.MOD/quickfix/set/msg_type_grp_no_msg_types.ts +6 -0
  1501. package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute.ts +5 -0
  1502. package/src/types/FIX.5.MOD/quickfix/set/nested_instrument_attribute_no_nested_instr_attrib.ts +4 -0
  1503. package/src/types/FIX.5.MOD/quickfix/set/nested_parties.ts +5 -0
  1504. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2.ts +5 -0
  1505. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_2_no_nested_2_party_i_ds.ts +8 -0
  1506. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3.ts +5 -0
  1507. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_3_no_nested_3_party_i_ds.ts +8 -0
  1508. package/src/types/FIX.5.MOD/quickfix/set/nested_parties_no_nested_party_i_ds.ts +8 -0
  1509. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp.ts +5 -0
  1510. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_2_sub_grp_no_nested_2_party_sub_i_ds.ts +4 -0
  1511. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp.ts +5 -0
  1512. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_3_sub_grp_no_nested_3_party_sub_i_ds.ts +4 -0
  1513. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp.ts +5 -0
  1514. package/src/types/FIX.5.MOD/quickfix/set/nstd_ptys_sub_grp_no_nested_party_sub_i_ds.ts +4 -0
  1515. package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp.ts +5 -0
  1516. package/src/types/FIX.5.MOD/quickfix/set/ord_alloc_grp_no_orders.ts +13 -0
  1517. package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp.ts +5 -0
  1518. package/src/types/FIX.5.MOD/quickfix/set/ord_list_stat_grp_no_orders.ts +14 -0
  1519. package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules.ts +5 -0
  1520. package/src/types/FIX.5.MOD/quickfix/set/ord_type_rules_no_ord_type_rules.ts +3 -0
  1521. package/src/types/FIX.5.MOD/quickfix/set/order_qty_data.ts +7 -0
  1522. package/src/types/FIX.5.MOD/quickfix/set/parties.ts +5 -0
  1523. package/src/types/FIX.5.MOD/quickfix/set/parties_no_party_i_ds.ts +8 -0
  1524. package/src/types/FIX.5.MOD/quickfix/set/peg_instructions.ts +13 -0
  1525. package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp.ts +5 -0
  1526. package/src/types/FIX.5.MOD/quickfix/set/pos_und_instrmt_grp_no_underlyings.ts +10 -0
  1527. package/src/types/FIX.5.MOD/quickfix/set/position_amount_data.ts +5 -0
  1528. package/src/types/FIX.5.MOD/quickfix/set/position_amount_data_no_pos_amt.ts +5 -0
  1529. package/src/types/FIX.5.MOD/quickfix/set/position_qty.ts +5 -0
  1530. package/src/types/FIX.5.MOD/quickfix/set/position_qty_no_positions.ts +10 -0
  1531. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp.ts +5 -0
  1532. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_grp_no_allocs.ts +10 -0
  1533. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp.ts +5 -0
  1534. package/src/types/FIX.5.MOD/quickfix/set/pre_alloc_mleg_grp_no_allocs.ts +10 -0
  1535. package/src/types/FIX.5.MOD/quickfix/set/price_limits.ts +6 -0
  1536. package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp.ts +5 -0
  1537. package/src/types/FIX.5.MOD/quickfix/set/ptys_sub_grp_no_party_sub_i_ds.ts +4 -0
  1538. package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp.ts +5 -0
  1539. package/src/types/FIX.5.MOD/quickfix/set/quot_cxl_entries_grp_no_quote_entries.ts +11 -0
  1540. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp.ts +5 -0
  1541. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_ack_grp_no_quote_entries.ts +32 -0
  1542. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp.ts +5 -0
  1543. package/src/types/FIX.5.MOD/quickfix/set/quot_entry_grp_no_quote_entries.ts +31 -0
  1544. package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp.ts +5 -0
  1545. package/src/types/FIX.5.MOD/quickfix/set/quot_qual_grp_no_quote_qualifiers.ts +3 -0
  1546. package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp.ts +5 -0
  1547. package/src/types/FIX.5.MOD/quickfix/set/quot_req_grp_no_related_sym.ts +47 -0
  1548. package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp.ts +5 -0
  1549. package/src/types/FIX.5.MOD/quickfix/set/quot_req_legs_grp_no_legs.ts +19 -0
  1550. package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp.ts +5 -0
  1551. package/src/types/FIX.5.MOD/quickfix/set/quot_req_rjct_grp_no_related_sym.ts +46 -0
  1552. package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp.ts +5 -0
  1553. package/src/types/FIX.5.MOD/quickfix/set/quot_set_ack_grp_no_quote_sets.ts +10 -0
  1554. package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp.ts +5 -0
  1555. package/src/types/FIX.5.MOD/quickfix/set/quot_set_grp_no_quote_sets.ts +11 -0
  1556. package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp.ts +5 -0
  1557. package/src/types/FIX.5.MOD/quickfix/set/rel_sym_deriv_sec_grp_no_related_sym.ts +16 -0
  1558. package/src/types/FIX.5.MOD/quickfix/set/related_account.ts +5 -0
  1559. package/src/types/FIX.5.MOD/quickfix/set/related_account_no_related_acc.ts +12 -0
  1560. package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp.ts +5 -0
  1561. package/src/types/FIX.5.MOD/quickfix/set/rfq_req_grp_no_related_sym.ts +14 -0
  1562. package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp.ts +5 -0
  1563. package/src/types/FIX.5.MOD/quickfix/set/rgst_dist_inst_grp_no_distrib_insts.ts +10 -0
  1564. package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp.ts +5 -0
  1565. package/src/types/FIX.5.MOD/quickfix/set/rgst_dtls_grp_no_regist_dtls.ts +12 -0
  1566. package/src/types/FIX.5.MOD/quickfix/set/root_parties.ts +5 -0
  1567. package/src/types/FIX.5.MOD/quickfix/set/root_parties_no_root_party_i_ds.ts +8 -0
  1568. package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties.ts +5 -0
  1569. package/src/types/FIX.5.MOD/quickfix/set/root_sub_parties_no_root_party_sub_i_ds.ts +4 -0
  1570. package/src/types/FIX.5.MOD/quickfix/set/routing_grp.ts +5 -0
  1571. package/src/types/FIX.5.MOD/quickfix/set/routing_grp_no_routing_i_ds.ts +4 -0
  1572. package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp.ts +5 -0
  1573. package/src/types/FIX.5.MOD/quickfix/set/sec_alt_id_grp_no_security_alt_id.ts +4 -0
  1574. package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp.ts +5 -0
  1575. package/src/types/FIX.5.MOD/quickfix/set/sec_list_grp_no_related_sym.ts +29 -0
  1576. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp.ts +5 -0
  1577. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_sym_grp_no_related_sym.ts +28 -0
  1578. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp.ts +5 -0
  1579. package/src/types/FIX.5.MOD/quickfix/set/sec_lst_upd_rel_syms_leg_grp_no_legs.ts +11 -0
  1580. package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp.ts +5 -0
  1581. package/src/types/FIX.5.MOD/quickfix/set/sec_types_grp_no_security_types.ts +6 -0
  1582. package/src/types/FIX.5.MOD/quickfix/set/security_trading_rules.ts +9 -0
  1583. package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp.ts +5 -0
  1584. package/src/types/FIX.5.MOD/quickfix/set/settl_inst_grp_no_settl_inst.ts +27 -0
  1585. package/src/types/FIX.5.MOD/quickfix/set/settl_instructions_data.ts +9 -0
  1586. package/src/types/FIX.5.MOD/quickfix/set/settl_parties.ts +5 -0
  1587. package/src/types/FIX.5.MOD/quickfix/set/settl_parties_no_settl_party_i_ds.ts +8 -0
  1588. package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp.ts +5 -0
  1589. package/src/types/FIX.5.MOD/quickfix/set/settl_ptys_sub_grp_no_settl_party_sub_i_ds.ts +4 -0
  1590. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp.ts +5 -0
  1591. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_cxl_grp_no_sides.ts +19 -0
  1592. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp.ts +5 -0
  1593. package/src/types/FIX.5.MOD/quickfix/set/side_cross_ord_mod_grp_no_sides.ts +42 -0
  1594. package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts.ts +5 -0
  1595. package/src/types/FIX.5.MOD/quickfix/set/side_trd_reg_ts_no_side_trd_reg_ts.ts +5 -0
  1596. package/src/types/FIX.5.MOD/quickfix/set/spread_or_benchmark_curve_data.ts +10 -0
  1597. package/src/types/FIX.5.MOD/quickfix/set/standard_header.ts +33 -0
  1598. package/src/types/FIX.5.MOD/quickfix/set/standard_trailer.ts +5 -0
  1599. package/src/types/FIX.5.MOD/quickfix/set/stipulations.ts +5 -0
  1600. package/src/types/FIX.5.MOD/quickfix/set/stipulations_no_stipulations.ts +4 -0
  1601. package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp.ts +5 -0
  1602. package/src/types/FIX.5.MOD/quickfix/set/strategy_parameters_grp_no_strategy_parameters.ts +5 -0
  1603. package/src/types/FIX.5.MOD/quickfix/set/strike_rules.ts +5 -0
  1604. package/src/types/FIX.5.MOD/quickfix/set/strike_rules_no_strike_rules.ts +10 -0
  1605. package/src/types/FIX.5.MOD/quickfix/set/tick_rules.ts +5 -0
  1606. package/src/types/FIX.5.MOD/quickfix/set/tick_rules_no_tick_rules.ts +6 -0
  1607. package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules.ts +5 -0
  1608. package/src/types/FIX.5.MOD/quickfix/set/time_in_force_rules_no_time_in_force_rules.ts +3 -0
  1609. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules.ts +13 -0
  1610. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp.ts +5 -0
  1611. package/src/types/FIX.5.MOD/quickfix/set/trading_session_rules_grp_no_trading_session_rules.ts +7 -0
  1612. package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp.ts +5 -0
  1613. package/src/types/FIX.5.MOD/quickfix/set/trd_alloc_grp_no_allocs.ts +14 -0
  1614. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_dt_grp.ts +3 -0
  1615. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp.ts +5 -0
  1616. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_ack_side_grp_no_sides.ts +75 -0
  1617. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp.ts +5 -0
  1618. package/src/types/FIX.5.MOD/quickfix/set/trd_cap_rpt_side_grp_no_sides.ts +80 -0
  1619. package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp.ts +5 -0
  1620. package/src/types/FIX.5.MOD/quickfix/set/trd_coll_grp_no_trades.ts +4 -0
  1621. package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp.ts +5 -0
  1622. package/src/types/FIX.5.MOD/quickfix/set/trd_instrmt_leg_grp_no_legs.ts +23 -0
  1623. package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps.ts +5 -0
  1624. package/src/types/FIX.5.MOD/quickfix/set/trd_reg_timestamps_no_trd_reg_timestamps.ts +8 -0
  1625. package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp.ts +5 -0
  1626. package/src/types/FIX.5.MOD/quickfix/set/trd_sess_lst_grp_no_trading_sessions.ts +19 -0
  1627. package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp.ts +5 -0
  1628. package/src/types/FIX.5.MOD/quickfix/set/trdg_ses_grp_no_trading_sessions.ts +4 -0
  1629. package/src/types/FIX.5.MOD/quickfix/set/triggering_instruction.ts +17 -0
  1630. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp.ts +5 -0
  1631. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_coll_grp_no_underlyings.ts +6 -0
  1632. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp.ts +5 -0
  1633. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_grp_no_underlyings.ts +5 -0
  1634. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp.ts +5 -0
  1635. package/src/types/FIX.5.MOD/quickfix/set/und_instrmt_strk_px_grp_no_underlyings.ts +14 -0
  1636. package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp.ts +5 -0
  1637. package/src/types/FIX.5.MOD/quickfix/set/und_sec_alt_id_grp_no_underlying_security_alt_id.ts +4 -0
  1638. package/src/types/FIX.5.MOD/quickfix/set/underlying_amount.ts +5 -0
  1639. package/src/types/FIX.5.MOD/quickfix/set/underlying_amount_no_underlying_amounts.ts +6 -0
  1640. package/src/types/FIX.5.MOD/quickfix/set/underlying_instrument.ts +64 -0
  1641. package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations.ts +5 -0
  1642. package/src/types/FIX.5.MOD/quickfix/set/underlying_stipulations_no_underlying_stips.ts +4 -0
  1643. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties.ts +5 -0
  1644. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_parties_no_undly_instrument_parties.ts +8 -0
  1645. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp.ts +5 -0
  1646. package/src/types/FIX.5.MOD/quickfix/set/undly_instrument_ptys_sub_grp_no_undly_instrument_party_sub_i_ds.ts +4 -0
  1647. package/src/types/FIX.5.MOD/quickfix/set/yield_data.ts +8 -0
  1648. package/src/types/FIX.5.MOD/quickfix/settlement_instruction_request.ts +24 -0
  1649. package/src/types/FIX.5.MOD/quickfix/settlement_instructions.ts +18 -0
  1650. package/src/types/FIX.5.MOD/quickfix/test_request.ts +8 -0
  1651. package/src/types/FIX.5.MOD/quickfix/trade_capture_report.ts +103 -0
  1652. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_ack.ts +92 -0
  1653. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request.ts +56 -0
  1654. package/src/types/FIX.5.MOD/quickfix/trade_capture_report_request_ack.ts +30 -0
  1655. package/src/types/FIX.5.MOD/quickfix/trading_session_list.ts +10 -0
  1656. package/src/types/FIX.5.MOD/quickfix/trading_session_list_request.ts +14 -0
  1657. package/src/types/FIX.5.MOD/quickfix/trading_session_status.ts +28 -0
  1658. package/src/types/FIX.5.MOD/quickfix/trading_session_status_request.ts +16 -0
  1659. package/src/types/FIX.5.MOD/quickfix/user_request.ts +14 -0
  1660. package/src/types/FIX.5.MOD/quickfix/user_response.ts +11 -0
  1661. package/src/util/definition-factory.ts +2 -1
  1662. package/src/util/replay.ts +2 -2
  1663. package/data/fix5-mod.xml +0 -9720
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-encoder.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-encoder.ts"],"names":[],"mappings":";;;AACA,0DAImC;AAEnC,gDAA2C;AAE3C,qDAAgD;AAEhD,+CAA0C;AAC1C,sCAAkC;AAClC,8CAAyC;AAEzC,MAAa,YAAa,SAAQ,wBAAU;IAO1C,YAA6B,MAAqB,EAChC,WAA2B,EAC3B,gBAAgC,IAAI,8BAAa,CAAC,MAAM,CAAC,EACzD,YAAoB,wBAAU,CAAC,GAAG,EAClC,eAAuB,wBAAU,CAAC,IAAI;QACtD,KAAK,CAAC,WAAW,CAAC,CAAA;QALS,WAAM,GAAN,MAAM,CAAe;QAChC,gBAAW,GAAX,WAAW,CAAgB;QAC3B,kBAAa,GAAb,aAAa,CAA4C;QACzD,cAAS,GAAT,SAAS,CAAyB;QAClC,iBAAY,GAAZ,YAAY,CAA0B;QAPjD,gBAAW,GAAY,IAAI,CAAA;QACzB,eAAU,GAAmB,IAAI,0BAAc,EAAE,CAAA;QAQxD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IAEM,IAAI;QACT,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAA;QAChC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,SAAS,KAAK,YAAY,EAAE;YAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE;gBACxC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;gBAC7B,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;aACnD;SACF;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAIM,KAAK;QACV,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;IACnB,CAAC;IAEM,SAAS,CAAE,cAA4B,EAAE,GAAsB;QACpE,MAAM,OAAO,GAA0B,IAAI,qBAAqB,EAAE,CAAA;QAClE,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IACjD,CAAC;IAEO,YAAY,CAAE,cAA4B,EAAE,GAAsB,EAAE,KAA4B;QACtG,MAAM,MAAM,GAAqB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE;YACrC,MAAM,EAAE,CAAC,EAAwB,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAQ,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;gBAExC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE;oBAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE;wBACrB,KAAK,CAAC,WAAW,GAAG,EAAE,CAAA;qBACvB;oBACD,KAAK,CAAC,UAAU,GAAG,EAAE,CAAA;oBACrB,KAAK,CAAC,KAAK,EAAE,CAAA;oBACb,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;iBAChD;YACH,CAAC;YACD,SAAS,EAAE,CAAC,EAA2B,EAAE,EAAE;gBACzC,MAAM,QAAQ,GAAiB,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;gBACjE,IAAI,QAAQ,EAAE;oBACZ,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;iBAClD;YACH,CAAC;YACD,KAAK,EAAE,CAAC,EAAuB,EAAE,EAAE;gBACjC,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;YAC1C,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IAEO,SAAS,CAAE,GAAsB,EAAE,CAAe;QACxD,MAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACrC,IAAI,CAAC,GAAW,CAAC,CAAA;QACjB,MAAM,MAAM,GAAqB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAmB,EAAE,OAAe,EAAE,EAAE;YACpF,MAAM,KAAK,GAA0B,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACtE,IAAI,KAAK,EAAE;gBACT,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAA;aACf;YACD,OAAO,CAAC,CAAA;QACV,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC9E,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,eAAe,CAAE,CAAe,EAAE,EAAuB;QAC/D,MAAM,SAAS,GAAiC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAA;QACvE,IAAI,CAAC,SAAS;YAAE,OAAM;QACtB,MAAM,SAAS,GAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,qCAAqC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAA;SACvE;QACD,IAAI,SAAS,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAA;YACxC,MAAM,IAAI,GAA0B,SAAS,CAAC,IAAI,CAAA;YAGlD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;YACnC,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,CAAA;YAC/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE;gBACrD,MAAM,QAAQ,GAAiB,SAAS,CAAC,KAAK,CAAC,CAAA;gBAC/C,IAAI,CAAC,KAAK,EAAE,CAAA;gBACZ,MAAM,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;gBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;gBACnD,IAAI,IAAI,CAAC,WAAW,EAAE;oBACpB,SAAS,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;iBACrC;aACF;SACF;IACH,CAAC;IAEO,cAAc,CAAE,GAAW;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,CAAC,SAAS,CAAC,wBAAU,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAEO,cAAc,CAAE,WAAmB,EAAE,GAAW;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAA;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,WAAW,EAAE,GAAG,CAAC,CAAA;QAChE,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;IAC7B,CAAC;IAEO,YAAY,CAAE,CAAe,EAAE,GAAsB,EAAE,EAAwB,EAAE,GAAQ;QAC/F,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAA;QAChC,MAAM,GAAG,GAAW,UAAU,CAAC,GAAG,CAAA;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAA;QACnC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAA;QAC7B,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;QAC3B,IAAI,WAAW,GAAG,CAAC,CAAA;QAEnB,IAAI,OAAgB,CAAA;QACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YAC3B,QAAQ,UAAU,CAAC,OAAO,EAAE;gBAC1B,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC;oBACpB,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;oBAC5B,MAAM,EAAE,GAAW,GAAG,CAAA;oBACtB,MAAM,KAAK,GAAW,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;oBACxD,GAAG,GAAG,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,CAAA;oBACpC,MAAK;iBACN;gBACD,OAAO,CAAC,CAAC;oBACP,OAAO,GAAG,kBAAO,CAAC,MAAM,CAAA;iBACzB;aACF;SACF;aAAM;YACL,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;SAC7B;QAED,QAAQ,OAAO,EAAE;YACf,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC;gBAEpB,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBACxB,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;gBAC7B,MAAK;aACN;SACF;QAED,QAAQ,OAAO,EAAE;YACf,KAAK,kBAAO,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,CAAC,WAAW,CAAC,GAAa,CAAC,CAAA;gBACjC,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,KAAK,CAAC,CAAC;gBAClB,MAAM,CAAC,WAAW,CAAC,GAAa,CAAC,CAAA;gBACjC,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,GAAG,CAAC;YACjB,KAAK,kBAAO,CAAC,MAAM,CAAC,CAAC;gBACnB,MAAM,CAAC,gBAAgB,CAAC,GAAa,CAAC,CAAA;gBACtC,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM,CAAC,YAAY,CAAC,GAAc,CAAC,CAAA;gBACnC,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,YAAY,CAAC,CAAC;gBACzB,EAAE,CAAC,iBAAiB,CAAC,GAAW,CAAC,CAAA;gBACjC,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,WAAW,CAAC,CAAC;gBACxB,EAAE,CAAC,YAAY,CAAC,GAAW,CAAC,CAAA;gBAC5B,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,WAAW,CAAC,CAAC;gBACxB,EAAE,CAAC,YAAY,CAAC,GAAW,CAAC,CAAA;gBAC5B,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,SAAS,CAAC,CAAC;gBACtB,EAAE,CAAC,cAAc,CAAC,GAAW,CAAC,CAAA;gBAC9B,MAAK;aACN;YAED,KAAK,kBAAO,CAAC,OAAO,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,GAAa,CAAA;gBACvB,MAAM,QAAQ,GAAyB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAyB,CAAA;gBAC1F,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE;oBAC5B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAC5C,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;oBACjC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;iBAC5B;gBACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;gBACxB,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;gBACrB,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;gBAC7B,MAAK;aACN;YAED,OAAO,CAAC,CAAC;gBACP,MAAM,CAAC,WAAW,CAAC,GAAa,CAAC,CAAA;gBACjC,MAAK;aACN;SACF;QAED,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,GAAG,CAAC,CAAA;QAErC,QAAQ,GAAG,EAAE;YACX,KAAK,WAAI,CAAC,aAAa;gBACrB,IAAI,CAAC,aAAa,GAAG,GAAG,GAAG,CAAC,CAAA;gBAC5B,MAAK;YAEP,KAAK,WAAI,CAAC,MAAM;gBACd,IAAI,CAAC,UAAU,GAAG,GAAG,CAAA;gBACrB,MAAK;SACR;IACH,CAAC;CACF;AAjPD,oCAiPC;AAED,MAAM,cAAc;IAClB,YAA6B,EAAuB,EAClC,QAA+B,IAAI,qBAAqB,EAAE,EAC1D,OAA8B,IAAI,qBAAqB,EAAE;QAF9C,OAAE,GAAF,EAAE,CAAqB;QAClC,UAAK,GAAL,KAAK,CAAqD;QAC1D,SAAI,GAAJ,IAAI,CAAqD;IAC3E,CAAC;IAED,UAAU,CAAE,KAAa;QACvB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;IAC7C,CAAC;IAED,mBAAmB,CAAE,KAAa;;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,iDAAiD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;SACjF;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,8BAA8B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;SACtF;QACD,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,WAAW,0CAAE,UAAU,CAAC,GAAG,CAAA;YAClD,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,WAAW,0CAAE,UAAU,CAAC,GAAG,CAAA;YAC5C,IAAI,QAAQ,KAAK,GAAG,EAAE;gBACpB,MAAM,GAAG,GAAG,mBAAmB,KAAK,4BAA4B,GAAG,iBAAiB,QAAQ,EAAE,CAAA;gBAC9F,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;aACrB;SACF;IACH,CAAC;CACF;AAED,MAAM,qBAAqB;IACzB,YAAoB,cAA2C,IAAI,EAC1D,aAA0C,IAAI,EAC9C,QAAgB,CAAC;QAFN,gBAAW,GAAX,WAAW,CAAoC;QAC1D,eAAU,GAAV,UAAU,CAAoC;QAC9C,UAAK,GAAL,KAAK,CAAY;IAC1B,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;IAChB,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;IACtD,CAAC;CACF","sourcesContent":["import { ILooseObject } from '../../collections/collection'\r\nimport {\r\n ContainedGroupField, ContainedSimpleField,\r\n ContainedFieldSet, ContainedField,\r\n ContainedComponentField, FieldsDispatch\r\n} from '../../dictionary/contained'\r\nimport { SimpleFieldDefinition, FixDefinitions } from '../../dictionary/definition'\r\nimport { MsgEncoder } from '../msg-encoder'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { AsciiChars } from './ascii-chars'\r\nimport { Tags } from '../tag/tags'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiEncoder extends MsgEncoder {\r\n public bodyLengthPos: number\r\n public msgTypePos: number\r\n public tags: Tags\r\n public checkGroups: boolean = true\r\n readonly dispatcher: FieldsDispatch = new FieldsDispatch()\r\n\r\n constructor (public readonly buffer: ElasticBuffer,\r\n public readonly definitions: FixDefinitions,\r\n public readonly timeFormatter: ITimeFormatter = new TimeFormatter(buffer),\r\n public readonly delimiter: number = AsciiChars.Soh,\r\n public readonly logDelimiter: number = AsciiChars.Pipe) {\r\n super(definitions)\r\n this.tags = new Tags(definitions)\r\n }\r\n\r\n public trim (): Buffer {\r\n const b = this.buffer.copy()\r\n const delimiter = this.delimiter\r\n const logDelimiter = this.logDelimiter\r\n const tags = this.tags\r\n if (delimiter !== logDelimiter) {\r\n for (let p = 0; p < tags.nextTagPos; ++p) {\r\n const tagPos = tags.tagPos[p]\r\n b.writeUInt8(delimiter, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n return b\r\n }\r\n\r\n // only reset tags after entire message is encoded - <hdr>body<trl>\r\n\r\n public reset (): void {\r\n this.buffer.reset()\r\n this.tags.reset()\r\n }\r\n\r\n public encodeSet (objectToEncode: ILooseObject, set: ContainedFieldSet): void {\r\n const summary: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()\r\n this.encodeObject(objectToEncode, set, summary)\r\n }\r\n\r\n private encodeObject (objectToEncode: ILooseObject, set: ContainedFieldSet, state: AsciiEncodeSetSummary): void {\r\n const fields: ContainedField[] = this.getFields(set, objectToEncode)\r\n this.dispatcher.dispatchFields(fields, {\r\n simple: (sf: ContainedSimpleField) => {\r\n const val: any = objectToEncode[sf.name]\r\n // Empty strings are omitted as they result in empty values for tags, which are considered malformed.\r\n if (val != null && val !== '') {\r\n if (state.count === 0) {\r\n state.firstSimple = sf\r\n }\r\n state.lastSimple = sf\r\n state.count++\r\n this.encodeSimple(objectToEncode, set, sf, val)\r\n }\r\n },\r\n component: (cf: ContainedComponentField) => {\r\n const instance: ILooseObject = objectToEncode[cf.definition.name]\r\n if (instance) {\r\n this.encodeObject(instance, cf.definition, state)\r\n }\r\n },\r\n group: (gf: ContainedGroupField) => {\r\n this.encodeInstances(objectToEncode, gf)\r\n }\r\n })\r\n }\r\n\r\n private getFields (set: ContainedFieldSet, o: ILooseObject): ContainedField[] {\r\n const keys: string[] = Object.keys(o)\r\n let j: number = 0\r\n const fields: ContainedField[] = keys.reduce((a: ContainedField[], current: string) => {\r\n const field: ContainedField | null = set.localNameToField.get(current)\r\n if (field) {\r\n a[j++] = field\r\n }\r\n return a\r\n }, new Array(keys.length))\r\n fields.sort((a: ContainedField, b: ContainedField) => a.position - b.position)\r\n return fields\r\n }\r\n\r\n private encodeInstances (o: ILooseObject, gf: ContainedGroupField): void {\r\n const noOfField: SimpleFieldDefinition | null = gf.definition.noOfField\r\n if (!noOfField) return\r\n const instances: ILooseObject[] = o[gf.name] || o[noOfField.name]\r\n\r\n const buffer = this.buffer\r\n if (!Array.isArray(instances)) {\r\n throw new Error(`expected array instance for group ${noOfField.name}`)\r\n }\r\n if (instances) {\r\n const validator = new GroupValidator(gf)\r\n const test: AsciiEncodeSetSummary = validator.test\r\n\r\n // a repeated group has number of instances at the start of group\r\n this.WriteTagEquals(noOfField.tag)\r\n const posValBegin = buffer.getPos()\r\n buffer.writeWholeNumber(instances.length)\r\n this.writeDelimiter(posValBegin, noOfField.tag)\r\n for (let field = 0; field < instances.length; ++field) {\r\n const instance: ILooseObject = instances[field]\r\n test.reset()\r\n const summary = validator.getSummary(field)\r\n this.encodeObject(instance, gf.definition, summary)\r\n if (this.checkGroups) {\r\n validator.assertInstanceValid(field)\r\n }\r\n }\r\n }\r\n }\r\n\r\n private WriteTagEquals (tag: number): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(tag)\r\n buffer.writeChar(AsciiChars.Equal)\r\n }\r\n\r\n private writeDelimiter (posValBegin: number, tag: number): void {\r\n const delimiter = this.logDelimiter\r\n const buffer = this.buffer\r\n this.tags.store(posValBegin, buffer.getPos() - posValBegin, tag)\r\n buffer.writeChar(delimiter)\r\n }\r\n\r\n private encodeSimple (o: ILooseObject, set: ContainedFieldSet, sf: ContainedSimpleField, val: any): void {\r\n const definition = sf.definition\r\n const tag: number = definition.tag\r\n const buffer = this.buffer\r\n const delimiter = this.logDelimiter\r\n const tf = this.timeFormatter\r\n const pos = buffer.getPos()\r\n let posValBegin = 0\r\n\r\n let tagType: TagType\r\n if (typeof val === 'string') {\r\n switch (definition.tagType) {\r\n case TagType.Boolean: {\r\n tagType = definition.tagType\r\n const vs: string = val\r\n const first: string = vs.length > 0 ? vs.charAt(0) : 'N'\r\n val = first === 'Y' || first === 'T'\r\n break\r\n }\r\n default: {\r\n tagType = TagType.String\r\n }\r\n }\r\n } else {\r\n tagType = definition.tagType\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.RawData: {\r\n // may need to first write raw message length (see below)\r\n break\r\n }\r\n\r\n default: {\r\n this.WriteTagEquals(tag)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.String: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n\r\n case TagType.Float: {\r\n buffer.writeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n buffer.writeWholeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Boolean: {\r\n buffer.writeBoolean(val as boolean)\r\n break\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n tf.writeUtcTimestamp(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n tf.writeUtcTime(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n tf.writeUtcDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.LocalDate: {\r\n tf.writeLocalDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.RawData: {\r\n const b = val as Buffer\r\n const lenField: ContainedSimpleField = set.fields[sf.position - 1] as ContainedSimpleField\r\n if (o[lenField.name] == null) {\r\n this.WriteTagEquals(lenField.definition.tag)\r\n buffer.writeWholeNumber(b.length)\r\n buffer.writeChar(delimiter)\r\n }\r\n this.WriteTagEquals(tag)\r\n buffer.writeBuffer(b)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n\r\n default: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n }\r\n\r\n this.writeDelimiter(posValBegin, tag)\r\n\r\n switch (tag) {\r\n case Tags.BodyLengthTag:\r\n this.bodyLengthPos = pos + 2\r\n break\r\n\r\n case Tags.MsgTag:\r\n this.msgTypePos = pos\r\n break\r\n }\r\n }\r\n}\r\n\r\nclass GroupValidator {\r\n constructor (public readonly gf: ContainedGroupField,\r\n public readonly first: AsciiEncodeSetSummary = new AsciiEncodeSetSummary(),\r\n public readonly test: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()) {\r\n }\r\n\r\n getSummary (field: number): AsciiEncodeSetSummary {\r\n return field === 0 ? this.first : this.test\r\n }\r\n\r\n assertInstanceValid (field: number): void {\r\n const first = this.first\r\n const test = this.test\r\n if (field === 0 && first.empty()) {\r\n throw new Error(`first group instance has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0 && test.empty()) {\r\n throw new Error(`group instance [${field}] has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0) {\r\n const firstTag = first.firstSimple?.definition.tag\r\n const tag = test.firstSimple?.definition.tag\r\n if (firstTag !== tag) {\r\n const msg = `group instance [${field}] inconsistent delimiter ${tag} expected tag ${firstTag}`\r\n throw new Error(msg)\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass AsciiEncodeSetSummary {\r\n constructor (public firstSimple: ContainedSimpleField | null = null,\r\n public lastSimple: ContainedSimpleField | null = null,\r\n public count: number = 0) {\r\n }\r\n\r\n public reset (): void {\r\n this.firstSimple = null\r\n this.lastSimple = null\r\n this.count = 0\r\n }\r\n\r\n public empty (): boolean {\r\n return this.firstSimple === null || this.count === 0\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ascii-encoder.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-encoder.ts"],"names":[],"mappings":"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","sourcesContent":["import { ILooseObject } from '../../collections/collection'\r\nimport {\r\n ContainedGroupField, ContainedSimpleField,\r\n ContainedFieldSet, ContainedField,\r\n ContainedComponentField, FieldsDispatch\r\n} from '../../dictionary/contained'\r\nimport { SimpleFieldDefinition, FixDefinitions } from '../../dictionary/definition'\r\nimport { MsgEncoder } from '../msg-encoder'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { AsciiChars } from './ascii-chars'\r\nimport { Tags } from '../tag/tags'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiEncoder extends MsgEncoder {\r\n public bodyLengthPos: number\r\n public msgTypePos: number\r\n public tags: Tags\r\n public checkGroups: boolean = true\r\n readonly dispatcher: FieldsDispatch = new FieldsDispatch()\r\n\r\n constructor (public readonly buffer: ElasticBuffer,\r\n public readonly definitions: FixDefinitions,\r\n public readonly timeFormatter: ITimeFormatter = new TimeFormatter(buffer),\r\n public readonly delimiter: number = AsciiChars.Soh,\r\n public readonly logDelimiter: number = AsciiChars.Pipe) {\r\n super(definitions)\r\n this.tags = new Tags(definitions)\r\n }\r\n\r\n public trim (): Buffer {\r\n const b = this.buffer.copy()\r\n const delimiter = this.delimiter\r\n const logDelimiter = this.logDelimiter\r\n const tags = this.tags\r\n if (delimiter !== logDelimiter) {\r\n for (let p = 0; p < tags.nextTagPos; ++p) {\r\n const tagPos = tags.tagPos[p]\r\n b.writeUInt8(delimiter, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n return b\r\n }\r\n\r\n // only reset tags after entire message is encoded - <hdr>body<trl>\r\n\r\n public reset (): void {\r\n this.buffer.reset()\r\n this.tags.reset()\r\n }\r\n\r\n public encodeSet (objectToEncode: ILooseObject, set: ContainedFieldSet): void {\r\n const summary: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()\r\n this.encodeObject(objectToEncode, set, summary)\r\n }\r\n\r\n private encodeObject (objectToEncode: ILooseObject, set: ContainedFieldSet, state: AsciiEncodeSetSummary): void {\r\n const fields: ContainedField[] = this.getFields(set, objectToEncode)\r\n this.dispatcher.dispatchFields(fields, {\r\n simple: (sf: ContainedSimpleField) => {\r\n const val: any = objectToEncode[sf.name]\r\n // Empty strings are omitted as they result in empty values for tags, which are considered malformed.\r\n if (val != null && val !== '') {\r\n if (state.count === 0) {\r\n state.firstSimple = sf\r\n }\r\n state.lastSimple = sf\r\n state.count++\r\n this.encodeSimple(objectToEncode, set, sf, val)\r\n }\r\n },\r\n component: (cf: ContainedComponentField) => {\r\n const instance: ILooseObject = objectToEncode[cf.definition.name]\r\n if (instance) {\r\n this.encodeObject(instance, cf.definition, state)\r\n }\r\n },\r\n group: (gf: ContainedGroupField) => {\r\n this.encodeInstances(objectToEncode, gf)\r\n }\r\n })\r\n }\r\n\r\n private getFields (set: ContainedFieldSet, o: ILooseObject): ContainedField[] {\r\n const keys: string[] = Object.keys(o)\r\n let j: number = 0\r\n const fields: ContainedField[] = keys.reduce((a: ContainedField[], current: string) => {\r\n const field: ContainedField | null = set.localNameToField.get(current)\r\n if (field) {\r\n a[j++] = field\r\n }\r\n return a\r\n }, new Array(keys.length))\r\n fields.sort((a: ContainedField, b: ContainedField) => a.position - b.position)\r\n return fields\r\n }\r\n\r\n private encodeInstances (o: ILooseObject, gf: ContainedGroupField): void {\r\n const noOfField: SimpleFieldDefinition | null = gf.definition.noOfField\r\n if (!noOfField) return\r\n const instances: ILooseObject[] = o[gf.name] || o[noOfField.name]\r\n\r\n const buffer = this.buffer\r\n if (!Array.isArray(instances)) {\r\n throw new Error(`expected array instance for group ${noOfField.name}`)\r\n }\r\n if (instances) {\r\n const validator = new GroupValidator(gf)\r\n const test: AsciiEncodeSetSummary = validator.test\r\n\r\n // a repeated group has number of instances at the start of group\r\n this.WriteTagEquals(noOfField.tag)\r\n const posValBegin = buffer.getPos()\r\n buffer.writeWholeNumber(instances.length)\r\n this.writeDelimiter(posValBegin, noOfField.tag)\r\n for (let field = 0; field < instances.length; ++field) {\r\n const instance: ILooseObject = instances[field]\r\n test.reset()\r\n const summary = validator.getSummary(field)\r\n this.encodeObject(instance, gf.definition, summary)\r\n if (this.checkGroups) {\r\n validator.assertInstanceValid(field)\r\n }\r\n }\r\n }\r\n }\r\n\r\n private WriteTagEquals (tag: number): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(tag)\r\n buffer.writeChar(AsciiChars.Equal)\r\n }\r\n\r\n private writeDelimiter (posValBegin: number, tag: number): void {\r\n const delimiter = this.logDelimiter\r\n const buffer = this.buffer\r\n this.tags.store(posValBegin, buffer.getPos() - posValBegin, tag)\r\n buffer.writeChar(delimiter)\r\n }\r\n\r\n private encodeSimple (o: ILooseObject, set: ContainedFieldSet, sf: ContainedSimpleField, val: any): void {\r\n const definition = sf.definition\r\n const tag: number = definition.tag\r\n const buffer = this.buffer\r\n const delimiter = this.logDelimiter\r\n const tf = this.timeFormatter\r\n const pos = buffer.getPos()\r\n let posValBegin = 0\r\n\r\n let tagType: TagType\r\n if (typeof val === 'string') {\r\n switch (definition.tagType) {\r\n case TagType.Boolean: {\r\n tagType = definition.tagType\r\n const vs: string = val\r\n const first: string = vs.length > 0 ? vs.charAt(0) : 'N'\r\n val = first === 'Y' || first === 'T'\r\n break\r\n }\r\n default: {\r\n tagType = TagType.String\r\n }\r\n }\r\n } else {\r\n tagType = definition.tagType\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.RawData: {\r\n // may need to first write raw message length (see below)\r\n break\r\n }\r\n\r\n default: {\r\n this.WriteTagEquals(tag)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n }\r\n\r\n switch (tagType) {\r\n case TagType.String: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n\r\n case TagType.Float: {\r\n buffer.writeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n buffer.writeWholeNumber(val as number)\r\n break\r\n }\r\n\r\n case TagType.Boolean: {\r\n buffer.writeBoolean(val as boolean)\r\n break\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n tf.writeUtcTimestamp(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n tf.writeUtcTime(val as Date)\r\n break\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n tf.writeUtcDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.LocalDate: {\r\n tf.writeLocalDate(val as Date)\r\n break\r\n }\r\n\r\n case TagType.RawData: {\r\n const b = val as Buffer\r\n const lenField: ContainedSimpleField = set.fields[sf.position - 1] as ContainedSimpleField\r\n if (o[lenField.name] == null) {\r\n this.WriteTagEquals(lenField.definition.tag)\r\n buffer.writeWholeNumber(b.length)\r\n buffer.writeChar(delimiter)\r\n }\r\n this.WriteTagEquals(tag)\r\n buffer.writeBuffer(b)\r\n posValBegin = buffer.getPos()\r\n break\r\n }\r\n\r\n default: {\r\n buffer.writeString(val as string)\r\n break\r\n }\r\n }\r\n\r\n this.writeDelimiter(posValBegin, tag)\r\n\r\n switch (tag) {\r\n case Tags.BodyLengthTag:\r\n this.bodyLengthPos = pos + 2\r\n break\r\n\r\n case Tags.MsgTag:\r\n this.msgTypePos = pos\r\n break\r\n }\r\n }\r\n}\r\n\r\nclass GroupValidator {\r\n constructor (public readonly gf: ContainedGroupField,\r\n public readonly first: AsciiEncodeSetSummary = new AsciiEncodeSetSummary(),\r\n public readonly test: AsciiEncodeSetSummary = new AsciiEncodeSetSummary()) {\r\n }\r\n\r\n getSummary (field: number): AsciiEncodeSetSummary {\r\n return field === 0 ? this.first : this.test\r\n }\r\n\r\n assertInstanceValid (field: number): void {\r\n const first = this.first\r\n const test = this.test\r\n if (field === 0 && first.empty()) {\r\n throw new Error(`first group instance has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0 && test.empty()) {\r\n throw new Error(`group instance [${field}] has no delimiter present ${this.gf.name}`)\r\n }\r\n if (field > 0) {\r\n const firstTag = first.firstSimple?.definition.tag\r\n const tag = test.firstSimple?.definition.tag\r\n if (firstTag !== tag) {\r\n const msg = `group instance [${field}] inconsistent delimiter ${tag} expected tag ${firstTag}`\r\n throw new Error(msg)\r\n }\r\n }\r\n }\r\n}\r\n\r\nclass AsciiEncodeSetSummary {\r\n constructor (public firstSimple: ContainedSimpleField | null = null,\r\n public lastSimple: ContainedSimpleField | null = null,\r\n public count: number = 0) {\r\n }\r\n\r\n public reset (): void {\r\n this.firstSimple = null\r\n this.lastSimple = null\r\n this.count = 0\r\n }\r\n\r\n public empty (): boolean {\r\n return this.firstSimple === null || this.count === 0\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-parser-state.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tags } from '../tag/tags'\r\nimport { MessageDefinition } from '../../dictionary/definition'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ParseState } from './parse-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class AsciiParserState {\r\n public message: MessageDefinition | null\r\n public locations: Tags\r\n public parseState: ParseState\r\n public bodyLen: number\r\n public checksumExpectedPos: number\r\n public tagStartPos: number\r\n public equalPos: number\r\n public valueEndPos: number\r\n public count: number\r\n public currentTag: number\r\n public rawDataLen: number\r\n public rawDataRead: number\r\n public msgType: string | null\r\n\r\n constructor (@inject(DITokens.ParseBuffer) public readonly elasticBuffer: ElasticBuffer) {\r\n }\r\n\r\n public beginTag (pos: number): void {\r\n this.parseState = ParseState.ParsingTag\r\n this.tagStartPos = pos\r\n this.equalPos = this.valueEndPos = -1\r\n this.currentTag = 0\r\n }\r\n\r\n public endTag (pos: number): void {\r\n this.equalPos = pos\r\n const state = this.parseState\r\n switch (state) {\r\n case ParseState.ParsingTag: {\r\n this.currentTag = this.elasticBuffer.getWholeNumber(this.tagStartPos, pos - 1)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`EndTag: unexpected state ${state}`)\r\n }\r\n // if a raw tag, then need length to skip that many bytes\r\n this.checkRawTag()\r\n }\r\n\r\n public incRaw (): boolean {\r\n ++this.rawDataRead\r\n return this.rawDataRead === this.rawDataLen + 1\r\n }\r\n\r\n public checkRawTag (): void {\r\n const msg = this.message\r\n if (!msg?.containsRaw) {\r\n // optimisation as will never hit raw data\r\n this.parseState = ParseState.ParsingValue\r\n return\r\n }\r\n // if this is a raw data tag then need to keep track of the length\r\n // on this field to skip that many bytes.\r\n const isDataLength: boolean = msg.containedLength[this.currentTag]\r\n if (isDataLength) {\r\n this.parseState = ParseState.ParsingRawDataLength\r\n } else {\r\n this.rawDataRead = 0\r\n const isData: boolean = this.rawDataLen > 0\r\n if (isData) {\r\n this.parseState = ParseState.ParsingRawData\r\n } else {\r\n this.parseState = ParseState.ParsingValue\r\n }\r\n }\r\n }\r\n\r\n public store (): void {\r\n const valueEndPos: number = this.elasticBuffer.getPos() - 1\r\n this.valueEndPos = valueEndPos\r\n const equalPos: number = this.equalPos\r\n const tag: number = this.currentTag\r\n const locations: Tags = this.locations\r\n const buffer = this.elasticBuffer\r\n const terminates = this.checksumExpectedPos\r\n\r\n switch (this.parseState) {\r\n case ParseState.ParsingValue:\r\n case ParseState.ParsingRawData: {\r\n this.rawDataLen = 0\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength: {\r\n this.rawDataLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n }\r\n\r\n this.parseState = ParseState.BeginField\r\n this.count++\r\n const nextTagPos = locations.nextTagPos\r\n\r\n switch (tag) {\r\n case Tags.BeginString: {\r\n if (nextTagPos !== 1) {\r\n throw new Error(`BeginString: not expected at position [${nextTagPos}]`)\r\n }\r\n break\r\n }\r\n\r\n case Tags.BodyLengthTag: {\r\n if (nextTagPos !== 2) {\r\n throw new Error(`BodyLengthTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.bodyLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n this.checksumExpectedPos = this.bodyLen + valueEndPos\r\n this.elasticBuffer.checkGrowBuffer(this.bodyLen)\r\n break\r\n }\r\n\r\n case Tags.MsgTag: {\r\n if (nextTagPos !== 3) {\r\n throw new Error(`MsgTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.msgType = buffer.getString(equalPos + 1, valueEndPos)\r\n this.message = locations.definitions.message.get(this.msgType)\r\n break\r\n }\r\n\r\n case Tags.CheckSumTag: {\r\n if (valueEndPos < this.bodyLen) {\r\n throw new Error(`CheckSumTag: [${valueEndPos}] expected after ${this.bodyLen}`)\r\n }\r\n this.parseState = ParseState.MsgComplete\r\n break\r\n }\r\n\r\n default: {\r\n if (terminates && valueEndPos > terminates) {\r\n throw new Error(`Tag: [${tag}] cant be after ${terminates}`)\r\n }\r\n break\r\n }\r\n }\r\n\r\n switch (nextTagPos) {\r\n case 1: {\r\n if (tag !== Tags.BeginString) {\r\n throw new Error(`position 1 [${tag}] must be BeginString: 8=`)\r\n }\r\n break\r\n }\r\n case 2: {\r\n if (tag !== Tags.BodyLengthTag) {\r\n throw new Error(`position 2 [${tag}] must be BodyLengthTag: 9=`)\r\n }\r\n break\r\n }\r\n case 3: {\r\n if (tag !== Tags.MsgTag) {\r\n throw new Error(`position 3 [${tag}] must be MsgTag: 35=`)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n\r\n public beginMessage (): void {\r\n this.elasticBuffer.reset()\r\n this.locations.reset()\r\n this.checksumExpectedPos = 0\r\n this.parseState = ParseState.BeginField\r\n this.count = 0\r\n this.currentTag = 0\r\n this.tagStartPos = 0\r\n this.valueEndPos = 0\r\n this.equalPos = 0\r\n this.rawDataRead = 0\r\n this.rawDataLen = 0\r\n this.bodyLen = 0\r\n this.message = null\r\n this.msgType = null\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ascii-parser-state.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser-state.ts"],"names":[],"mappings":"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","sourcesContent":["import { Tags } from '../tag/tags'\r\nimport { MessageDefinition } from '../../dictionary/definition'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ParseState } from './parse-state'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\n\r\n@injectable()\r\nexport class AsciiParserState {\r\n public message: MessageDefinition | null\r\n public locations: Tags\r\n public parseState: ParseState\r\n public bodyLen: number\r\n public checksumExpectedPos: number\r\n public tagStartPos: number\r\n public equalPos: number\r\n public valueEndPos: number\r\n public count: number\r\n public currentTag: number\r\n public rawDataLen: number\r\n public rawDataRead: number\r\n public msgType: string | null\r\n\r\n constructor (@inject(DITokens.ParseBuffer) public readonly elasticBuffer: ElasticBuffer) {\r\n }\r\n\r\n public beginTag (pos: number): void {\r\n this.parseState = ParseState.ParsingTag\r\n this.tagStartPos = pos\r\n this.equalPos = this.valueEndPos = -1\r\n this.currentTag = 0\r\n }\r\n\r\n public endTag (pos: number): void {\r\n this.equalPos = pos\r\n const state = this.parseState\r\n switch (state) {\r\n case ParseState.ParsingTag: {\r\n this.currentTag = this.elasticBuffer.getWholeNumber(this.tagStartPos, pos - 1)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`EndTag: unexpected state ${state}`)\r\n }\r\n // if a raw tag, then need length to skip that many bytes\r\n this.checkRawTag()\r\n }\r\n\r\n public incRaw (): boolean {\r\n ++this.rawDataRead\r\n return this.rawDataRead === this.rawDataLen + 1\r\n }\r\n\r\n public checkRawTag (): void {\r\n const msg = this.message\r\n if (!msg?.containsRaw) {\r\n // optimisation as will never hit raw data\r\n this.parseState = ParseState.ParsingValue\r\n return\r\n }\r\n // if this is a raw data tag then need to keep track of the length\r\n // on this field to skip that many bytes.\r\n const isDataLength: boolean = msg.containedLength[this.currentTag]\r\n if (isDataLength) {\r\n this.parseState = ParseState.ParsingRawDataLength\r\n } else {\r\n this.rawDataRead = 0\r\n const isData: boolean = this.rawDataLen > 0\r\n if (isData) {\r\n this.parseState = ParseState.ParsingRawData\r\n } else {\r\n this.parseState = ParseState.ParsingValue\r\n }\r\n }\r\n }\r\n\r\n public store (): void {\r\n const valueEndPos: number = this.elasticBuffer.getPos() - 1\r\n this.valueEndPos = valueEndPos\r\n const equalPos: number = this.equalPos\r\n const tag: number = this.currentTag\r\n const locations: Tags = this.locations\r\n const buffer = this.elasticBuffer\r\n const terminates = this.checksumExpectedPos\r\n\r\n switch (this.parseState) {\r\n case ParseState.ParsingValue:\r\n case ParseState.ParsingRawData: {\r\n this.rawDataLen = 0\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength: {\r\n this.rawDataLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n locations.store(equalPos + 1, valueEndPos - equalPos - 1, tag)\r\n break\r\n }\r\n }\r\n\r\n this.parseState = ParseState.BeginField\r\n this.count++\r\n const nextTagPos = locations.nextTagPos\r\n\r\n switch (tag) {\r\n case Tags.BeginString: {\r\n if (nextTagPos !== 1) {\r\n throw new Error(`BeginString: not expected at position [${nextTagPos}]`)\r\n }\r\n break\r\n }\r\n\r\n case Tags.BodyLengthTag: {\r\n if (nextTagPos !== 2) {\r\n throw new Error(`BodyLengthTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.bodyLen = buffer.getWholeNumber(equalPos + 1, valueEndPos - 1)\r\n this.checksumExpectedPos = this.bodyLen + valueEndPos\r\n this.elasticBuffer.checkGrowBuffer(this.bodyLen)\r\n break\r\n }\r\n\r\n case Tags.MsgTag: {\r\n if (nextTagPos !== 3) {\r\n throw new Error(`MsgTag: not expected at position [${nextTagPos}]`)\r\n }\r\n this.msgType = buffer.getString(equalPos + 1, valueEndPos)\r\n this.message = locations.definitions.message.get(this.msgType)\r\n break\r\n }\r\n\r\n case Tags.CheckSumTag: {\r\n if (valueEndPos < this.bodyLen) {\r\n throw new Error(`CheckSumTag: [${valueEndPos}] expected after ${this.bodyLen}`)\r\n }\r\n this.parseState = ParseState.MsgComplete\r\n break\r\n }\r\n\r\n default: {\r\n if (terminates && valueEndPos > terminates) {\r\n throw new Error(`Tag: [${tag}] cant be after ${terminates}`)\r\n }\r\n break\r\n }\r\n }\r\n\r\n switch (nextTagPos) {\r\n case 1: {\r\n if (tag !== Tags.BeginString) {\r\n throw new Error(`position 1 [${tag}] must be BeginString: 8=`)\r\n }\r\n break\r\n }\r\n case 2: {\r\n if (tag !== Tags.BodyLengthTag) {\r\n throw new Error(`position 2 [${tag}] must be BodyLengthTag: 9=`)\r\n }\r\n break\r\n }\r\n case 3: {\r\n if (tag !== Tags.MsgTag) {\r\n throw new Error(`position 3 [${tag}] must be MsgTag: 35=`)\r\n }\r\n break\r\n }\r\n }\r\n }\r\n\r\n public beginMessage (): void {\r\n this.elasticBuffer.reset()\r\n this.locations.reset()\r\n this.checksumExpectedPos = 0\r\n this.parseState = ParseState.BeginField\r\n this.count = 0\r\n this.currentTag = 0\r\n this.tagStartPos = 0\r\n this.valueEndPos = 0\r\n this.equalPos = 0\r\n this.rawDataRead = 0\r\n this.rawDataLen = 0\r\n this.bodyLen = 0\r\n this.message = null\r\n this.msgType = null\r\n }\r\n}\r\n"]}
@@ -27,6 +27,7 @@ const parse_state_1 = require("./parse-state");
27
27
  const tsyringe_1 = require("tsyringe");
28
28
  const di_tokens_1 = require("../../runtime/di-tokens");
29
29
  const segment_type_1 = require("../segment/segment-type");
30
+ const ascii_segment_parser_error_1 = require("./ascii-segment-parser-error");
30
31
  let AsciiParser = AsciiParser_1 = class AsciiParser extends msg_parser_1.MsgParser {
31
32
  constructor(config, readStream, receivingBuffer) {
32
33
  var _a, _b;
@@ -168,10 +169,19 @@ let AsciiParser = AsciiParser_1 = class AsciiParser extends msg_parser_1.MsgPars
168
169
  if (!msgType)
169
170
  return null;
170
171
  if (state.message) {
171
- const structure = this.segmentParser.parse(msgType, locations, locations.nextTagPos - 1);
172
- if (!structure)
173
- return null;
174
- return new ascii_view_1.AsciiView(structure.msg(), source, structure, ptr, delimiter, replace);
172
+ try {
173
+ const structure = this.segmentParser.parse(msgType, locations, locations.nextTagPos - 1);
174
+ if (!structure)
175
+ return null;
176
+ return new ascii_view_1.AsciiView(structure.msg(), source, structure, ptr, delimiter, replace);
177
+ }
178
+ catch (error) {
179
+ if (error instanceof ascii_segment_parser_error_1.AsciiParserError) {
180
+ error.summary.buffer = source.toString();
181
+ this.emit('error', error);
182
+ }
183
+ throw error;
184
+ }
175
185
  }
176
186
  const structure = new structure_1.Structure(locations, []);
177
187
  const segment = new segment_description_1.SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, segment_type_1.SegmentType.Unknown);
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { AsciiView } from './ascii-view'\r\nimport { AsciiSegmentParser } from './ascii-segment-parser'\r\nimport { AsciiParserState } from './ascii-parser-state'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport { MsgParser } from '../msg-parser'\r\nimport { MsgView } from '../msg-view'\r\nimport { Readable } from 'stream'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { ParseState } from './parse-state'\r\nimport { IJsFixConfig } from '../../config'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\n\r\n@injectable()\r\nexport class AsciiParser extends MsgParser {\r\n private static nextId: number = 0\r\n public readonly id: number\r\n public readonly state: AsciiParserState\r\n private readonly segmentParser: AsciiSegmentParser\r\n public readonly delimiter: number\r\n public readonly writeDelimiter: number\r\n\r\n // allocate enough in receive buffer so buffer does not constant resize back after large messages\r\n // want to keep one slice of memory and constantly reuse it\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,\r\n @inject(DITokens.readStream) public readonly readStream: Readable | null,\r\n @inject(DITokens.ParseBuffer) protected readonly receivingBuffer: ElasticBuffer) {\r\n super()\r\n\r\n this.delimiter = config.delimiter ?? AsciiChars.Soh\r\n this.writeDelimiter = config.logDelimiter ?? AsciiChars.Pipe\r\n const definitions = config.definitions\r\n this.id = AsciiParser.nextId++\r\n this.segmentParser = config.sessionContainer.resolve<AsciiSegmentParser>(AsciiSegmentParser)\r\n this.state = config.sessionContainer.resolve<AsciiParserState>(AsciiParserState)\r\n this.state.locations = new Tags(definitions, this.receivingBuffer.size / 10)\r\n this.state.beginMessage()\r\n if (readStream !== null) {\r\n this.subscribe()\r\n }\r\n }\r\n\r\n private subscribe (): void {\r\n const inst: AsciiParser = this\r\n const Writable = require('stream').Writable\r\n const stream = this.readStream\r\n\r\n const receiver = new Writable({\r\n write: (data: Buffer, _: any, done: Function) => {\r\n try {\r\n inst.parse(data, data.length)\r\n done()\r\n } catch (e) {\r\n done(e)\r\n }\r\n }\r\n })\r\n receiver.on('error', (e: Error) => {\r\n this.emit('error', e)\r\n })\r\n\r\n // receive from say a socket or file and pipe to parser which discovers messages\r\n stream?.pipe(receiver).on('finish', () => {\r\n this.emit('done')\r\n })\r\n stream?.on('error', (e) => {\r\n this.emit('error', e)\r\n })\r\n stream?.on('end', () => {\r\n this.emit('end')\r\n })\r\n }\r\n\r\n private msg (ptr: number): void {\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const state = this.state\r\n if (this.listeners('decoded')) {\r\n this.emit('decoded', state.msgType, receivingBuffer, ptr)\r\n }\r\n this.emit('msg', state.msgType, this.getView(ptr))\r\n state.beginMessage()\r\n }\r\n\r\n /**\r\n * useful helper for testing where characters are parsed as if from the transport\r\n * @param text to be parsed\r\n */\r\n public parseText (text: string): void {\r\n const buff = Buffer.from(text)\r\n this.parse(buff, buff.length)\r\n }\r\n\r\n private parse (readBuffer: Buffer, end: number): void {\r\n const state = this.state\r\n const eq: number = AsciiChars.Eq\r\n const zero: number = AsciiChars.Zero\r\n const nine: number = AsciiChars.Nine\r\n const delimiter: number = this.delimiter\r\n const writeDelimiter: number = this.writeDelimiter\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const switchDelimiter = writeDelimiter !== delimiter\r\n let readPtr: number = 0\r\n\r\n while (readPtr < end) {\r\n const charAtPos: number = readBuffer[readPtr]\r\n\r\n const writePtr = receivingBuffer.saveChar(charAtPos) - 1\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(writePtr)\r\n continue\r\n }\r\n\r\n case ParseState.BeginField: {\r\n const atDigit: boolean = charAtPos >= zero && charAtPos <= nine\r\n if (atDigit) {\r\n state.beginTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingTag: {\r\n const isEquals: boolean = charAtPos === eq\r\n if (isEquals) {\r\n state.endTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawData: {\r\n // keep skipping until length read, regardless of delimiter or not\r\n if (state.incRaw()) {\r\n // having consumed the raw field expecting delimiter\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n } else {\r\n throw new Error(`delimiter (${delimiter}) expected at position ${readPtr} when value is ${charAtPos}`)\r\n }\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength:\r\n case ParseState.ParsingValue: {\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n }\r\n break\r\n }\r\n\r\n default: {\r\n const st = state.parseState\r\n throw new Error(`fix parser in unknown state ${st}`)\r\n }\r\n }\r\n readPtr++\r\n }\r\n\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(receivingBuffer.getPos())\r\n break\r\n }\r\n }\r\n }\r\n\r\n private getView (ptr: number): MsgView | null {\r\n const state = this.state\r\n const locations = state.locations\r\n const source = this.receivingBuffer\r\n const delimiter = this.delimiter\r\n const replace = this.writeDelimiter\r\n const msgType = state.msgType ?? null\r\n if (!msgType) return null\r\n if (state.message) {\r\n const structure: Structure | null = this.segmentParser.parse(msgType, locations,\r\n locations.nextTagPos - 1)\r\n if (!structure) return null\r\n return new AsciiView(structure.msg(),\r\n source,\r\n structure,\r\n ptr,\r\n delimiter,\r\n replace)\r\n }\r\n\r\n const structure = new Structure(locations, [])\r\n const segment = new SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, SegmentType.Unknown)\r\n segment.endPosition = locations.nextTagPos - 1\r\n return new AsciiView(segment, source, structure, ptr, delimiter, replace)\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ascii-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { AsciiView } from './ascii-view'\r\nimport { AsciiSegmentParser } from './ascii-segment-parser'\r\nimport { AsciiParserState } from './ascii-parser-state'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport { MsgParser } from '../msg-parser'\r\nimport { MsgView } from '../msg-view'\r\nimport { Readable } from 'stream'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { ParseState } from './parse-state'\r\nimport { IJsFixConfig } from '../../config'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\nimport { AsciiParserError } from './ascii-segment-parser-error'\r\n\r\n@injectable()\r\nexport class AsciiParser extends MsgParser {\r\n private static nextId: number = 0\r\n public readonly id: number\r\n public readonly state: AsciiParserState\r\n private readonly segmentParser: AsciiSegmentParser\r\n public readonly delimiter: number\r\n public readonly writeDelimiter: number\r\n\r\n // allocate enough in receive buffer so buffer does not constant resize back after large messages\r\n // want to keep one slice of memory and constantly reuse it\r\n\r\n constructor (@inject(DITokens.IJsFixConfig) public readonly config: IJsFixConfig,\r\n @inject(DITokens.readStream) public readonly readStream: Readable | null,\r\n @inject(DITokens.ParseBuffer) protected readonly receivingBuffer: ElasticBuffer) {\r\n super()\r\n\r\n this.delimiter = config.delimiter ?? AsciiChars.Soh\r\n this.writeDelimiter = config.logDelimiter ?? AsciiChars.Pipe\r\n const definitions = config.definitions\r\n this.id = AsciiParser.nextId++\r\n this.segmentParser = config.sessionContainer.resolve<AsciiSegmentParser>(AsciiSegmentParser)\r\n this.state = config.sessionContainer.resolve<AsciiParserState>(AsciiParserState)\r\n this.state.locations = new Tags(definitions, this.receivingBuffer.size / 10)\r\n this.state.beginMessage()\r\n if (readStream !== null) {\r\n this.subscribe()\r\n }\r\n }\r\n\r\n private subscribe (): void {\r\n const inst: AsciiParser = this\r\n const Writable = require('stream').Writable\r\n const stream = this.readStream\r\n\r\n const receiver = new Writable({\r\n write: (data: Buffer, _: any, done: Function) => {\r\n try {\r\n inst.parse(data, data.length)\r\n done()\r\n } catch (e) {\r\n done(e)\r\n }\r\n }\r\n })\r\n receiver.on('error', (e: Error) => {\r\n this.emit('error', e)\r\n })\r\n\r\n // receive from say a socket or file and pipe to parser which discovers messages\r\n stream?.pipe(receiver).on('finish', () => {\r\n this.emit('done')\r\n })\r\n stream?.on('error', (e) => {\r\n this.emit('error', e)\r\n })\r\n stream?.on('end', () => {\r\n this.emit('end')\r\n })\r\n }\r\n\r\n private msg (ptr: number): void {\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const state = this.state\r\n if (this.listeners('decoded')) {\r\n this.emit('decoded', state.msgType, receivingBuffer, ptr)\r\n }\r\n this.emit('msg', state.msgType, this.getView(ptr))\r\n state.beginMessage()\r\n }\r\n\r\n /**\r\n * useful helper for testing where characters are parsed as if from the transport\r\n * @param text to be parsed\r\n */\r\n public parseText (text: string): void {\r\n const buff = Buffer.from(text)\r\n this.parse(buff, buff.length)\r\n }\r\n\r\n private parse (readBuffer: Buffer, end: number): void {\r\n const state = this.state\r\n const eq: number = AsciiChars.Eq\r\n const zero: number = AsciiChars.Zero\r\n const nine: number = AsciiChars.Nine\r\n const delimiter: number = this.delimiter\r\n const writeDelimiter: number = this.writeDelimiter\r\n const receivingBuffer: ElasticBuffer = this.receivingBuffer\r\n const switchDelimiter = writeDelimiter !== delimiter\r\n let readPtr: number = 0\r\n\r\n while (readPtr < end) {\r\n const charAtPos: number = readBuffer[readPtr]\r\n\r\n const writePtr = receivingBuffer.saveChar(charAtPos) - 1\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(writePtr)\r\n continue\r\n }\r\n\r\n case ParseState.BeginField: {\r\n const atDigit: boolean = charAtPos >= zero && charAtPos <= nine\r\n if (atDigit) {\r\n state.beginTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingTag: {\r\n const isEquals: boolean = charAtPos === eq\r\n if (isEquals) {\r\n state.endTag(writePtr)\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawData: {\r\n // keep skipping until length read, regardless of delimiter or not\r\n if (state.incRaw()) {\r\n // having consumed the raw field expecting delimiter\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n } else {\r\n throw new Error(`delimiter (${delimiter}) expected at position ${readPtr} when value is ${charAtPos}`)\r\n }\r\n }\r\n break\r\n }\r\n\r\n case ParseState.ParsingRawDataLength:\r\n case ParseState.ParsingValue: {\r\n if (charAtPos === delimiter) {\r\n if (switchDelimiter) {\r\n receivingBuffer.switchChar(writeDelimiter)\r\n }\r\n state.store()\r\n }\r\n break\r\n }\r\n\r\n default: {\r\n const st = state.parseState\r\n throw new Error(`fix parser in unknown state ${st}`)\r\n }\r\n }\r\n readPtr++\r\n }\r\n\r\n switch (state.parseState) {\r\n case ParseState.MsgComplete: {\r\n this.msg(receivingBuffer.getPos())\r\n break\r\n }\r\n }\r\n }\r\n\r\n private getView (ptr: number): MsgView | null {\r\n const state = this.state\r\n const locations = state.locations\r\n const source = this.receivingBuffer\r\n const delimiter = this.delimiter\r\n const replace = this.writeDelimiter\r\n const msgType = state.msgType ?? null\r\n if (!msgType) return null\r\n if (state.message) {\r\n try {\r\n const structure: Structure | null = this.segmentParser.parse(msgType, locations,\r\n locations.nextTagPos - 1)\r\n if (!structure) return null\r\n return new AsciiView(structure.msg(),\r\n source,\r\n structure,\r\n ptr,\r\n delimiter,\r\n replace)\r\n } catch (error) {\r\n if (error instanceof AsciiParserError) {\r\n error.summary.buffer = source.toString()\r\n this.emit('error', error)\r\n }\r\n throw error\r\n }\r\n }\r\n\r\n const structure = new Structure(locations, [])\r\n const segment = new SegmentDescription('unknown', locations.tagPos[0].tag, null, 0, 1, SegmentType.Unknown)\r\n segment.endPosition = locations.nextTagPos - 1\r\n return new AsciiView(segment, source, structure, ptr, delimiter, replace)\r\n }\r\n}\r\n"]}
@@ -0,0 +1,5 @@
1
+ import { AsciiSegmentParserSummary } from './ascii-segment-parser-summary';
2
+ export declare class AsciiParserError extends Error {
3
+ readonly summary: AsciiSegmentParserSummary;
4
+ constructor(message: string, summary: AsciiSegmentParserSummary);
5
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AsciiParserError = void 0;
4
+ class AsciiParserError extends Error {
5
+ constructor(message, summary) {
6
+ super(message);
7
+ this.summary = summary;
8
+ }
9
+ }
10
+ exports.AsciiParserError = AsciiParserError;
11
+ //# sourceMappingURL=ascii-segment-parser-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascii-segment-parser-error.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser-error.ts"],"names":[],"mappings":";;;AAEA,MAAa,gBAAiB,SAAQ,KAAK;IACzC,YAAa,OAAe,EAAkB,OAAkC;QAC9E,KAAK,CAAC,OAAO,CAAC,CAAA;QAD8B,YAAO,GAAP,OAAO,CAA2B;IAEhF,CAAC;CACF;AAJD,4CAIC","sourcesContent":["import { AsciiSegmentParserSummary } from './ascii-segment-parser-summary'\r\n\r\nexport class AsciiParserError extends Error {\r\n constructor (message: string, public readonly summary: AsciiSegmentParserSummary) {\r\n super(message)\r\n }\r\n}\r\n"]}
@@ -0,0 +1,12 @@
1
+ import { TagPos } from '../tag/tag-pos';
2
+ export interface AsciiSegmentParserSummary {
3
+ readonly msgType: string;
4
+ readonly tags: TagPos[];
5
+ readonly last: number;
6
+ readonly msgDefinition: string | undefined;
7
+ readonly currentTagPosition: number;
8
+ readonly peek: String;
9
+ readonly segments: String[];
10
+ readonly structureStack: String[];
11
+ buffer: string;
12
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ascii-segment-parser-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ascii-segment-parser-summary.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser-summary.ts"],"names":[],"mappings":"","sourcesContent":["import { TagPos } from '../tag/tag-pos'\r\n\r\nexport interface AsciiSegmentParserSummary {\r\n readonly msgType: string\r\n readonly tags: TagPos[]\r\n readonly last: number\r\n readonly msgDefinition: string | undefined\r\n readonly currentTagPosition: number\r\n readonly peek: String\r\n readonly segments: String[]\r\n readonly structureStack: String[]\r\n buffer: string\r\n}\r\n"]}
@@ -20,6 +20,7 @@ const contained_1 = require("../../dictionary/contained");
20
20
  const tsyringe_1 = require("tsyringe");
21
21
  const di_tokens_1 = require("../../runtime/di-tokens");
22
22
  const segment_type_1 = require("../segment/segment-type");
23
+ const ascii_segment_parser_error_1 = require("./ascii-segment-parser-error");
23
24
  let AsciiSegmentParser = class AsciiSegmentParser {
24
25
  constructor(definitions) {
25
26
  this.definitions = definitions;
@@ -50,32 +51,47 @@ let AsciiSegmentParser = class AsciiSegmentParser {
50
51
  }
51
52
  }
52
53
  }
54
+ function summarise() {
55
+ return {
56
+ msgType,
57
+ tags: tags.clone().tagPos,
58
+ last,
59
+ msgDefinition: msgDefinition === null || msgDefinition === void 0 ? void 0 : msgDefinition.toString(),
60
+ currentTagPosition,
61
+ peek: peek.toString(),
62
+ segments: segments.map(s => s.toString()),
63
+ structureStack: structureStack.map(s => s.toString())
64
+ };
65
+ }
53
66
  function examine(tag) {
54
- var _a;
55
67
  let structure = null;
56
- const type = (_a = peek.currentField) === null || _a === void 0 ? void 0 : _a.type;
57
- switch (type) {
68
+ const currentField = peek.currentField;
69
+ if (!currentField)
70
+ return null;
71
+ switch (currentField.type) {
58
72
  case contained_1.ContainedFieldType.Simple: {
59
- const sf = peek.currentField;
73
+ const sf = currentField;
60
74
  if (sf.definition.tag === tag) {
61
75
  currentTagPosition = currentTagPosition + 1;
62
76
  }
63
77
  break;
64
78
  }
65
79
  case contained_1.ContainedFieldType.Component: {
66
- const cf = peek.currentField;
80
+ const cf = currentField;
67
81
  structure = new segment_description_1.SegmentDescription(cf.name, tag, cf.definition, currentTagPosition, structureStack.length, segment_type_1.SegmentType.Component);
68
82
  break;
69
83
  }
70
84
  case contained_1.ContainedFieldType.Group: {
71
- const gf = peek.currentField;
85
+ const gf = currentField;
72
86
  structure = new segment_description_1.SegmentDescription(gf.name, tag, gf.definition, currentTagPosition, structureStack.length, segment_type_1.SegmentType.Group);
73
87
  currentTagPosition = currentTagPosition + 1;
74
88
  structure.startGroup(tags.tagPos[currentTagPosition].tag);
75
89
  break;
76
90
  }
77
- default:
78
- throw new Error(`unknown tag type ${tag}`);
91
+ default: {
92
+ const c = summarise();
93
+ throw new ascii_segment_parser_error_1.AsciiParserError(`examine unknown type for tag = ${tag}`, c);
94
+ }
79
95
  }
80
96
  return structure;
81
97
  }
@@ -111,6 +127,9 @@ let AsciiSegmentParser = class AsciiSegmentParser {
111
127
  }
112
128
  continue;
113
129
  }
130
+ if (!peek.currentField || !peek.set) {
131
+ throw new ascii_segment_parser_error_1.AsciiParserError(`discover no currentField or set for tag = ${tag}`, summarise());
132
+ }
114
133
  const structure = examine(tag);
115
134
  if (structure) {
116
135
  structureStack.push(structure);
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-segment-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport {\r\n FixDefinitions,\r\n MessageDefinition\r\n} from '../../dictionary/definition'\r\nimport {\r\n ContainedComponentField,\r\n ContainedGroupField,\r\n ContainedSimpleField,\r\n ContainedFieldType\r\n} from '../../dictionary/contained'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\n\r\n// this takes linear time i.e. it constantly makes forward progress\r\n// one tag at a time\r\n\r\n@injectable()\r\nexport class AsciiSegmentParser {\r\n constructor (@inject(DITokens.Definitions) public readonly definitions: FixDefinitions) {\r\n }\r\n\r\n public parse (msgType: string, tags: Tags, last: number): Structure | null {\r\n // completed segments in that they are fully parsed\r\n const segments: SegmentDescription[] = []\r\n const msgDefinition: MessageDefinition | null = this.definitions.message.get(msgType)\r\n if (!msgDefinition) {\r\n return null\r\n }\r\n // in process of being discovered and may have any amount of depth\r\n // i.e. a component containing a repeated group of components\r\n // with sub-groups of components\r\n const structureStack: SegmentDescription[] = []\r\n let currentTagPosition: number = 0\r\n let peek: SegmentDescription\r\n\r\n // having finished one segments keep unwinding until tag matches further up stack\r\n function unwind (tag: number): void {\r\n while (structureStack.length > 1) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments.push(done)\r\n peek = structureStack[structureStack.length - 1]\r\n if (peek.set?.containedTag[tag]) {\r\n // unwound to point this tag lives in this set.\r\n break\r\n }\r\n if (peek.type === SegmentType.Msg) {\r\n // this is unknown tag and it is not part of trailer so raise unknown\r\n break\r\n }\r\n }\r\n }\r\n\r\n function examine (tag: number): SegmentDescription | null {\r\n let structure: SegmentDescription | null = null\r\n const type = peek.currentField?.type\r\n switch (type) {\r\n case ContainedFieldType.Simple: {\r\n const sf: ContainedSimpleField = peek.currentField as ContainedSimpleField\r\n if (sf.definition.tag === tag) {\r\n currentTagPosition = currentTagPosition + 1\r\n }\r\n break\r\n }\r\n // moving deeper into structure, start a new context\r\n case ContainedFieldType.Component: {\r\n const cf: ContainedComponentField = peek.currentField as ContainedComponentField\r\n structure = new SegmentDescription(cf.name, tag, cf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Component)\r\n break\r\n }\r\n // for a group also need to know where all delimiters are positioned\r\n case ContainedFieldType.Group: {\r\n const gf: ContainedComponentField = peek.currentField as ContainedGroupField\r\n structure = new SegmentDescription(gf.name, tag, gf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Group)\r\n currentTagPosition = currentTagPosition + 1\r\n structure.startGroup(tags.tagPos[currentTagPosition].tag)\r\n break\r\n }\r\n\r\n default:\r\n throw new Error(`unknown tag type ${tag}`)\r\n }\r\n\r\n return structure\r\n }\r\n\r\n function groupDelimiter (tag: number): boolean {\r\n let delimiter: boolean = false\r\n if (tag === peek.delimiterTag) {\r\n peek.addDelimiterPosition(currentTagPosition)\r\n } else if (structureStack.length > 1) {\r\n // if a group is represented by a repeated component, then the tag representing delimiter\r\n // needs to be added further up stack to group itself.\r\n delimiter = structureStack[structureStack.length - 2].groupAddDelimiter(tag, currentTagPosition)\r\n }\r\n return delimiter\r\n }\r\n\r\n function gap (tag: number): void {\r\n const gap = new SegmentDescription('.undefined', tag, peek.set,\r\n currentTagPosition, structureStack.length, SegmentType.Gap)\r\n gap.end(segments.length, currentTagPosition, tag)\r\n segments.push(gap)\r\n currentTagPosition++\r\n }\r\n\r\n function discover (): void {\r\n while (currentTagPosition <= last) {\r\n const tag: number = tags.tagPos[currentTagPosition].tag\r\n peek = structureStack[structureStack.length - 1]\r\n peek.setCurrentField(tag)\r\n if (!peek.set?.containedTag[tag] || groupDelimiter(tag)) {\r\n // unravelled all way back to root hence this is not recognised\r\n const unknown = peek.type === SegmentType.Msg\r\n if (unknown) {\r\n gap(tag)\r\n } else if (structureStack.length > 1) {\r\n // move back up the segments and save the finished group / component\r\n unwind(tag)\r\n }\r\n continue\r\n }\r\n const structure = examine(tag)\r\n if (structure) {\r\n structureStack.push(structure)\r\n }\r\n }\r\n }\r\n\r\n function clean (): void {\r\n // any remainder components can be closed.\r\n while (structureStack.length > 0) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments[segments.length] = done\r\n }\r\n // logically reverse the trailer and message so trailer is last in list.\r\n const m1 = segments.length - 1\r\n const m2 = segments.length - 2\r\n const tmp = segments[m1]\r\n segments[m1] = segments[m2]\r\n segments[m2] = tmp\r\n }\r\n\r\n const msgStructure = new SegmentDescription(msgDefinition.name, tags.tagPos[0].tag, msgDefinition,\r\n currentTagPosition, structureStack.length, SegmentType.Msg)\r\n structureStack.push(msgStructure)\r\n discover()\r\n clean()\r\n\r\n // now know where all components and groups are positioned within message\r\n return new Structure(tags, segments)\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ascii-segment-parser.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-segment-parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { Tags } from '../tag/tags'\r\nimport {\r\n FixDefinitions,\r\n MessageDefinition\r\n} from '../../dictionary/definition'\r\nimport {\r\n ContainedComponentField,\r\n ContainedGroupField,\r\n ContainedSimpleField,\r\n ContainedFieldType\r\n} from '../../dictionary/contained'\r\nimport { inject, injectable } from 'tsyringe'\r\nimport { DITokens } from '../../runtime/di-tokens'\r\nimport { SegmentType } from '../segment/segment-type'\r\nimport { AsciiParserError } from './ascii-segment-parser-error'\r\nimport { AsciiSegmentParserSummary } from './ascii-segment-parser-summary'\r\n\r\n// this takes linear time i.e. it constantly makes forward progress\r\n// one tag at a time\r\n\r\n@injectable()\r\nexport class AsciiSegmentParser {\r\n constructor (@inject(DITokens.Definitions) public readonly definitions: FixDefinitions) {\r\n }\r\n\r\n public parse (msgType: string, tags: Tags, last: number): Structure | null {\r\n // completed segments in that they are fully parsed\r\n const segments: SegmentDescription[] = []\r\n const msgDefinition: MessageDefinition | null = this.definitions.message.get(msgType)\r\n if (!msgDefinition) {\r\n return null\r\n }\r\n // in process of being discovered and may have any amount of depth\r\n // i.e. a component containing a repeated group of components\r\n // with sub-groups of components\r\n const structureStack: SegmentDescription[] = []\r\n let currentTagPosition: number = 0\r\n let peek: SegmentDescription\r\n\r\n // having finished one segments keep unwinding until tag matches further up stack\r\n function unwind (tag: number): void {\r\n while (structureStack.length > 1) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments.push(done)\r\n peek = structureStack[structureStack.length - 1]\r\n if (peek.set?.containedTag[tag]) {\r\n // unwound to point this tag lives in this set.\r\n break\r\n }\r\n if (peek.type === SegmentType.Msg) {\r\n // this is unknown tag and it is not part of trailer so raise unknown\r\n break\r\n }\r\n }\r\n }\r\n\r\n function summarise (): any {\r\n return <AsciiSegmentParserSummary>{\r\n msgType,\r\n tags: tags.clone().tagPos,\r\n last,\r\n msgDefinition: msgDefinition?.toString(),\r\n currentTagPosition,\r\n peek: peek.toString(),\r\n segments: segments.map(s => s.toString()),\r\n structureStack: structureStack.map(s => s.toString())\r\n }\r\n }\r\n\r\n function examine (tag: number): SegmentDescription | null {\r\n let structure: SegmentDescription | null = null\r\n const currentField = peek.currentField\r\n if (!currentField) return null\r\n switch (currentField.type) {\r\n case ContainedFieldType.Simple: {\r\n const sf: ContainedSimpleField = currentField as ContainedSimpleField\r\n if (sf.definition.tag === tag) {\r\n currentTagPosition = currentTagPosition + 1\r\n }\r\n break\r\n }\r\n // moving deeper into structure, start a new context\r\n case ContainedFieldType.Component: {\r\n const cf: ContainedComponentField = currentField as ContainedComponentField\r\n structure = new SegmentDescription(cf.name, tag, cf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Component)\r\n break\r\n }\r\n // for a group also need to know where all delimiters are positioned\r\n case ContainedFieldType.Group: {\r\n const gf: ContainedComponentField = currentField as ContainedGroupField\r\n structure = new SegmentDescription(gf.name, tag, gf.definition,\r\n currentTagPosition, structureStack.length, SegmentType.Group)\r\n currentTagPosition = currentTagPosition + 1\r\n structure.startGroup(tags.tagPos[currentTagPosition].tag)\r\n break\r\n }\r\n\r\n default: {\r\n const c = summarise()\r\n throw new AsciiParserError(`examine unknown type for tag = ${tag}`, c)\r\n }\r\n }\r\n return structure\r\n }\r\n\r\n function groupDelimiter (tag: number): boolean {\r\n let delimiter: boolean = false\r\n if (tag === peek.delimiterTag) {\r\n peek.addDelimiterPosition(currentTagPosition)\r\n } else if (structureStack.length > 1) {\r\n // if a group is represented by a repeated component, then the tag representing delimiter\r\n // needs to be added further up stack to group itself.\r\n delimiter = structureStack[structureStack.length - 2].groupAddDelimiter(tag, currentTagPosition)\r\n }\r\n return delimiter\r\n }\r\n\r\n function gap (tag: number): void {\r\n const gap = new SegmentDescription('.undefined', tag, peek.set,\r\n currentTagPosition, structureStack.length, SegmentType.Gap)\r\n gap.end(segments.length, currentTagPosition, tag)\r\n segments.push(gap)\r\n currentTagPosition++\r\n }\r\n\r\n function discover (): void {\r\n while (currentTagPosition <= last) {\r\n const tag: number = tags.tagPos[currentTagPosition].tag\r\n peek = structureStack[structureStack.length - 1]\r\n peek.setCurrentField(tag)\r\n if (!peek.set?.containedTag[tag] || groupDelimiter(tag)) {\r\n // unravelled all way back to root hence this is not recognised\r\n const unknown = peek.type === SegmentType.Msg\r\n if (unknown) {\r\n gap(tag)\r\n } else if (structureStack.length > 1) {\r\n // move back up the segments and save the finished group / component\r\n unwind(tag)\r\n }\r\n continue\r\n }\r\n if (!peek.currentField || !peek.set) {\r\n throw new AsciiParserError(`discover no currentField or set for tag = ${tag}`, summarise())\r\n }\r\n const structure = examine(tag)\r\n if (structure) {\r\n structureStack.push(structure)\r\n }\r\n }\r\n }\r\n\r\n function clean (): void {\r\n // any remainder components can be closed.\r\n while (structureStack.length > 0) {\r\n const done = structureStack.pop()\r\n if (!done) continue\r\n done.end(segments.length, currentTagPosition - 1, tags.tagPos[currentTagPosition - 1].tag)\r\n segments[segments.length] = done\r\n }\r\n // logically reverse the trailer and message so trailer is last in list.\r\n const m1 = segments.length - 1\r\n const m2 = segments.length - 2\r\n const tmp = segments[m1]\r\n segments[m1] = segments[m2]\r\n segments[m2] = tmp\r\n }\r\n\r\n const msgStructure = new SegmentDescription(msgDefinition.name, tags.tagPos[0].tag, msgDefinition,\r\n currentTagPosition, structureStack.length, SegmentType.Msg)\r\n structureStack.push(msgStructure)\r\n discover()\r\n clean()\r\n\r\n // now know where all components and groups are positioned within message\r\n return new Structure(tags, segments)\r\n }\r\n}\r\n"]}
@@ -26,4 +26,5 @@ export declare class AsciiView extends MsgView {
26
26
  private getDate;
27
27
  private getDateTime;
28
28
  private getBoolean;
29
+ toString(): string;
29
30
  }
@@ -197,6 +197,9 @@ class AsciiView extends msg_view_1.MsgView {
197
197
  const tagPos = this.structure.tags.tagPos[position];
198
198
  return this.buffer.getBoolean(tagPos.start);
199
199
  }
200
+ toString() {
201
+ return super.toString();
202
+ }
200
203
  }
201
204
  exports.AsciiView = AsciiView;
202
205
  //# sourceMappingURL=ascii-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ascii-view.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleFieldDefinition } from '../../dictionary/definition'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { MsgView } from '../msg-view'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { TagPos } from '../tag/tag-pos'\r\nimport { MsgTag } from '../../types'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiView extends MsgView {\r\n private readonly timeFormatter: ITimeFormatter = new TimeFormatter(this.buffer)\r\n constructor (public readonly segment: SegmentDescription,\r\n public readonly buffer: ElasticBuffer,\r\n public readonly structure: Structure | null,\r\n public readonly ptr: number,\r\n public readonly delimiter: number,\r\n public readonly writeDelimiter: number) {\r\n super(segment, structure)\r\n }\r\n\r\n // if the view is to be kept beyond the event on which it arrives, must be cloned\r\n public clone (): MsgView {\r\n const structure = this.structure\r\n const buffer = this.buffer.clone()\r\n const segment = this.segment\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (structure) {\r\n return new AsciiView(segment, buffer, new Structure(structure.tags.clone(), structure.segments), this.ptr, delimiter, writeDelimiter)\r\n }\r\n return new AsciiView(segment, buffer, null, this.ptr, delimiter, writeDelimiter)\r\n }\r\n\r\n private replaceDelimiter (viewBuffer: Buffer, replaceDelimiter?: number): void {\r\n if (this.structure == null) return\r\n const delimiter = replaceDelimiter ?? this.delimiter\r\n if (delimiter !== this.writeDelimiter) {\r\n const structure = this.structure\r\n const tags = structure.tags.tagPos\r\n for (let i = 0; i < structure.tags.nextTagPos; ++i) {\r\n const tag: TagPos = tags[i]\r\n const p: number = tag.start + tag.len\r\n viewBuffer.writeUInt8(delimiter, p)\r\n }\r\n }\r\n }\r\n\r\n // turn our view back to a raw msg\r\n public toBuffer (replaceDelimiter?: number): Buffer {\r\n const viewBuffer = this.buffer.slice()\r\n this.replaceDelimiter(viewBuffer, replaceDelimiter)\r\n return viewBuffer\r\n }\r\n\r\n public checksum (): number {\r\n if (this.structure == null) return -1\r\n const t = this.getPosition(MsgTag.CheckSum)\r\n const structure = this.structure\r\n const prev = structure.tags.tagPos[t - 1]\r\n const tp = prev.start + prev.len + 1\r\n let cs = this.buffer.sum(tp)\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (writeDelimiter !== delimiter) {\r\n const changes = structure.tags.nextTagPos - 1\r\n cs -= changes * writeDelimiter\r\n cs += changes * delimiter\r\n }\r\n return cs % 256\r\n }\r\n\r\n protected toTyped (field: SimpleFieldDefinition): any {\r\n const position: number = this.getPosition(field.tag)\r\n if (position >= 0) {\r\n switch (field.tagType) {\r\n case TagType.String : {\r\n return this.stringAtPosition(position)\r\n }\r\n\r\n case TagType.Float: {\r\n return this.getNumber(position, true)\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n return this.getNumber(position)\r\n }\r\n\r\n case TagType.Boolean: {\r\n return this.getBoolean(field.tag)\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n return this.getDateTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n return this.getTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.LocalDate: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.RawData: {\r\n return this.getBuffer(position)\r\n }\r\n\r\n default: {\r\n return this.stringAtPosition(position)\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected create (singleton: SegmentDescription): MsgView {\r\n return new AsciiView(singleton,\r\n this.buffer,\r\n this.structure,\r\n this.ptr,\r\n this.delimiter,\r\n this.writeDelimiter)\r\n }\r\n\r\n protected stringAtPosition (position: number): string | null {\r\n if (this.structure == null) return null\r\n const tags = this.structure.tags\r\n if (position < 0 || position >= tags.nextTagPos) {\r\n return null\r\n }\r\n const tag: TagPos = tags.tagPos[position]\r\n return this.buffer.getString(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getBuffer (position: number): Buffer | null {\r\n if (this.structure == null) return null\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBuffer(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getNumber (position: number, isFloat: boolean = false): number | null {\r\n if (this.structure == null) return null\r\n const buffer = this.buffer\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n if (isFloat) {\r\n return buffer.getFloat(tag.start, tag.start + tag.len - 1)\r\n } else {\r\n return buffer.getWholeNumber(tag.start, tag.start + tag.len - 1)\r\n }\r\n }\r\n\r\n private getTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n if (position < 0) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcTime(tagPos.start)\r\n } else {\r\n return formatter.getLocalTime(tagPos.start)\r\n }\r\n }\r\n\r\n private getDate (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcDate(tagPos.start)\r\n } else {\r\n return formatter.getLocalDate(tagPos.start)\r\n }\r\n }\r\n\r\n private getDateTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n const formatter = this.timeFormatter\r\n if (position < 0) {\r\n return null\r\n }\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n\r\n if (useUtc) {\r\n return formatter.getUtcTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n } else {\r\n return formatter.getLocalTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n private getBoolean (tag: number): boolean | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBoolean(tagPos.start)\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ascii-view.js","sourceRoot":"","sources":["../../../src/buffer/ascii/ascii-view.ts"],"names":[],"mappings":"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","sourcesContent":["import { SimpleFieldDefinition } from '../../dictionary/definition'\r\nimport { SegmentDescription } from '../segment/segment-description'\r\nimport { Structure } from '../structure'\r\nimport { MsgView } from '../msg-view'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\nimport { TimeFormatter } from './time-formatter'\r\nimport { TagPos } from '../tag/tag-pos'\r\nimport { MsgTag } from '../../types'\r\nimport { TagType } from '../tag/tag-type'\r\n\r\nexport class AsciiView extends MsgView {\r\n private readonly timeFormatter: ITimeFormatter = new TimeFormatter(this.buffer)\r\n constructor (public readonly segment: SegmentDescription,\r\n public readonly buffer: ElasticBuffer,\r\n public readonly structure: Structure | null,\r\n public readonly ptr: number,\r\n public readonly delimiter: number,\r\n public readonly writeDelimiter: number) {\r\n super(segment, structure)\r\n }\r\n\r\n // if the view is to be kept beyond the event on which it arrives, must be cloned\r\n public clone (): MsgView {\r\n const structure = this.structure\r\n const buffer = this.buffer.clone()\r\n const segment = this.segment\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (structure) {\r\n return new AsciiView(segment, buffer, new Structure(structure.tags.clone(), structure.segments), this.ptr, delimiter, writeDelimiter)\r\n }\r\n return new AsciiView(segment, buffer, null, this.ptr, delimiter, writeDelimiter)\r\n }\r\n\r\n private replaceDelimiter (viewBuffer: Buffer, replaceDelimiter?: number): void {\r\n if (this.structure == null) return\r\n const delimiter = replaceDelimiter ?? this.delimiter\r\n if (delimiter !== this.writeDelimiter) {\r\n const structure = this.structure\r\n const tags = structure.tags.tagPos\r\n for (let i = 0; i < structure.tags.nextTagPos; ++i) {\r\n const tag: TagPos = tags[i]\r\n const p: number = tag.start + tag.len\r\n viewBuffer.writeUInt8(delimiter, p)\r\n }\r\n }\r\n }\r\n\r\n // turn our view back to a raw msg\r\n public toBuffer (replaceDelimiter?: number): Buffer {\r\n const viewBuffer = this.buffer.slice()\r\n this.replaceDelimiter(viewBuffer, replaceDelimiter)\r\n return viewBuffer\r\n }\r\n\r\n public checksum (): number {\r\n if (this.structure == null) return -1\r\n const t = this.getPosition(MsgTag.CheckSum)\r\n const structure = this.structure\r\n const prev = structure.tags.tagPos[t - 1]\r\n const tp = prev.start + prev.len + 1\r\n let cs = this.buffer.sum(tp)\r\n const delimiter = this.delimiter\r\n const writeDelimiter = this.writeDelimiter\r\n if (writeDelimiter !== delimiter) {\r\n const changes = structure.tags.nextTagPos - 1\r\n cs -= changes * writeDelimiter\r\n cs += changes * delimiter\r\n }\r\n return cs % 256\r\n }\r\n\r\n protected toTyped (field: SimpleFieldDefinition): any {\r\n const position: number = this.getPosition(field.tag)\r\n if (position >= 0) {\r\n switch (field.tagType) {\r\n case TagType.String : {\r\n return this.stringAtPosition(position)\r\n }\r\n\r\n case TagType.Float: {\r\n return this.getNumber(position, true)\r\n }\r\n\r\n case TagType.Int:\r\n case TagType.Length: {\r\n return this.getNumber(position)\r\n }\r\n\r\n case TagType.Boolean: {\r\n return this.getBoolean(field.tag)\r\n }\r\n\r\n case TagType.UtcTimestamp: {\r\n return this.getDateTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcTimeOnly: {\r\n return this.getTime(field.tag, true)\r\n }\r\n\r\n case TagType.UtcDateOnly: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.LocalDate: {\r\n return this.getDate(field.tag, true)\r\n }\r\n\r\n case TagType.RawData: {\r\n return this.getBuffer(position)\r\n }\r\n\r\n default: {\r\n return this.stringAtPosition(position)\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected create (singleton: SegmentDescription): MsgView {\r\n return new AsciiView(singleton,\r\n this.buffer,\r\n this.structure,\r\n this.ptr,\r\n this.delimiter,\r\n this.writeDelimiter)\r\n }\r\n\r\n protected stringAtPosition (position: number): string | null {\r\n if (this.structure == null) return null\r\n const tags = this.structure.tags\r\n if (position < 0 || position >= tags.nextTagPos) {\r\n return null\r\n }\r\n const tag: TagPos = tags.tagPos[position]\r\n return this.buffer.getString(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getBuffer (position: number): Buffer | null {\r\n if (this.structure == null) return null\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBuffer(tag.start, tag.start + tag.len)\r\n }\r\n\r\n private getNumber (position: number, isFloat: boolean = false): number | null {\r\n if (this.structure == null) return null\r\n const buffer = this.buffer\r\n const tag: TagPos = this.structure.tags.tagPos[position]\r\n if (isFloat) {\r\n return buffer.getFloat(tag.start, tag.start + tag.len - 1)\r\n } else {\r\n return buffer.getWholeNumber(tag.start, tag.start + tag.len - 1)\r\n }\r\n }\r\n\r\n private getTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n if (position < 0) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcTime(tagPos.start)\r\n } else {\r\n return formatter.getLocalTime(tagPos.start)\r\n }\r\n }\r\n\r\n private getDate (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const formatter = this.timeFormatter\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n if (useUtc) {\r\n return formatter.getUtcDate(tagPos.start)\r\n } else {\r\n return formatter.getLocalDate(tagPos.start)\r\n }\r\n }\r\n\r\n private getDateTime (tag: number, useUtc: boolean): Date | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n const formatter = this.timeFormatter\r\n if (position < 0) {\r\n return null\r\n }\r\n // (SendingTime) = 20150417-01:00:08.201\r\n if (tagPos.len < 8) {\r\n return null\r\n }\r\n\r\n if (useUtc) {\r\n return formatter.getUtcTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n } else {\r\n return formatter.getLocalTimestamp(tagPos.start, tagPos.start + tagPos.len)\r\n }\r\n }\r\n\r\n private getBoolean (tag: number): boolean | null {\r\n if (this.structure == null) return null\r\n const position: number = this.getPosition(tag)\r\n if (position < 0) {\r\n return null\r\n }\r\n const tagPos: TagPos = this.structure.tags.tagPos[position]\r\n return this.buffer.getBoolean(tagPos.start)\r\n }\r\n\r\n public toString (): string {\r\n return super.toString()\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"time-formatter.js","sourceRoot":"","sources":["../../../src/buffer/ascii/time-formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\n\r\nexport class TimeFormatter implements ITimeFormatter {\r\n constructor (public readonly buffer: ElasticBuffer, public readonly adjustLocal: boolean = false) {\r\n }\r\n\r\n public writeLocalDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getFullYear())\r\n buffer.writePaddedTensUnits(v.getMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getDate())\r\n }\r\n\r\n public writeUtcDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getUTCFullYear())\r\n buffer.writePaddedTensUnits(v.getUTCMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getUTCDate())\r\n }\r\n\r\n public writeUtcTimestamp (v: Date): void {\r\n this.writeUtcDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeUtcTime(v)\r\n }\r\n\r\n public writeLocalTimestamp (v: Date): void {\r\n this.writeLocalDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeLocalTime(v)\r\n }\r\n\r\n public writeUtcTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getUTCHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCSeconds())\r\n const ms: number = v.getUTCMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public writeLocalTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getSeconds())\r\n const ms: number = v.getMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public getLocalTime (start: number): Date | null {\r\n return this.getTime(start, false)\r\n }\r\n\r\n public getUtcTime (start: number): Date | null {\r\n return this.getTime(start, true)\r\n }\r\n\r\n public getUtcDate (start: number): Date | null {\r\n return this.getDate(start, true)\r\n }\r\n\r\n public getLocalDate (start: number): Date | null {\r\n return this.getDate(start, false)\r\n }\r\n\r\n public getUtcTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, true)\r\n }\r\n\r\n public getLocalTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, false)\r\n }\r\n\r\n private getTimestamp (start: number, end: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n const n: number = buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n const len = end - start\r\n if (len === 8) {\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n }\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n return t\r\n }\r\n\r\n let offset: number = 8\r\n if (buffer.get(start + offset) !== AsciiChars.Hyphen) {\r\n return null\r\n }\r\n\r\n if (len < 17) {\r\n return null\r\n }\r\n\r\n offset += 1\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(year, month - 1, day, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getTime (start: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n let offset = 0\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(0, 0, 0, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(0, 0, 0, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getDate (start: number, useUtc: boolean): Date | null {\r\n // = 20150417\r\n\r\n const n: number = this.buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"time-formatter.js","sourceRoot":"","sources":["../../../src/buffer/ascii/time-formatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { AsciiChars } from './ascii-chars'\r\nimport { ElasticBuffer } from '../elastic-buffer'\r\nimport { ITimeFormatter } from './itime-formatter'\r\n\r\nexport class TimeFormatter implements ITimeFormatter {\r\n constructor (public readonly buffer: ElasticBuffer, public readonly adjustLocal: boolean = false) {\r\n }\r\n\r\n public writeLocalDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getFullYear())\r\n buffer.writePaddedTensUnits(v.getMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getDate())\r\n }\r\n\r\n public writeUtcDate (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writeWholeNumber(v.getUTCFullYear())\r\n buffer.writePaddedTensUnits(v.getUTCMonth() + 1)\r\n buffer.writePaddedTensUnits(v.getUTCDate())\r\n }\r\n\r\n public writeUtcTimestamp (v: Date): void {\r\n this.writeUtcDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeUtcTime(v)\r\n }\r\n\r\n public writeLocalTimestamp (v: Date): void {\r\n this.writeLocalDate(v)\r\n this.buffer.writeChar(AsciiChars.Hyphen)\r\n this.writeLocalTime(v)\r\n }\r\n\r\n public writeUtcTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getUTCHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getUTCSeconds())\r\n const ms: number = v.getUTCMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public writeLocalTime (v: Date): void {\r\n const buffer = this.buffer\r\n buffer.writePaddedTensUnits(v.getHours())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getMinutes())\r\n buffer.writeChar(AsciiChars.Colon)\r\n buffer.writePaddedTensUnits(v.getSeconds())\r\n const ms: number = v.getMilliseconds()\r\n buffer.writeChar(AsciiChars.Dot)\r\n buffer.writePaddedHundreds(ms)\r\n }\r\n\r\n public getLocalTime (start: number): Date | null {\r\n return this.getTime(start, false)\r\n }\r\n\r\n public getUtcTime (start: number): Date | null {\r\n return this.getTime(start, true)\r\n }\r\n\r\n public getUtcDate (start: number): Date | null {\r\n return this.getDate(start, true)\r\n }\r\n\r\n public getLocalDate (start: number): Date | null {\r\n return this.getDate(start, false)\r\n }\r\n\r\n public getUtcTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, true)\r\n }\r\n\r\n public getLocalTimestamp (start: number, end: number): Date | null {\r\n return this.getTimestamp(start, end, false)\r\n }\r\n\r\n private getTimestamp (start: number, end: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n const n: number = buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n const len = end - start\r\n if (len === 8) {\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n }\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n return t\r\n }\r\n\r\n let offset: number = 8\r\n if (buffer.get(start + offset) !== AsciiChars.Hyphen) {\r\n return null\r\n }\r\n\r\n if (len < 17) {\r\n return null\r\n }\r\n\r\n offset += 1\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(year, month - 1, day, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getTime (start: number, useUtc: boolean): Date | null {\r\n const buffer = this.buffer\r\n let offset = 0\r\n const hh: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const mm: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n if (buffer.get(start + offset) !== AsciiChars.Colon) {\r\n return null\r\n }\r\n offset += 1\r\n const ss: number = buffer.getWholeNumber(start + offset, start + offset + 1)\r\n offset += 2\r\n let ms: number = 0\r\n if (buffer.get(start + offset) === AsciiChars.Dot) {\r\n offset += 1\r\n ms = buffer.getWholeNumber(start + offset, start + offset + 2)\r\n }\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(0, 0, 0, hh, mm, ss, ms))\r\n } else {\r\n t = new Date(0, 0, 0, hh, mm, ss, ms)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n\r\n private getDate (start: number, useUtc: boolean): Date | null {\r\n // = 20150417\r\n\r\n const n: number = this.buffer.getWholeNumber(start, start + 7)\r\n if (n == null) {\r\n return null\r\n }\r\n const monthDay: number = n % 10000\r\n const month: number = Math.round(monthDay / 100)\r\n const day: number = monthDay % 100\r\n const year: number = Math.round(n / 10000)\r\n let t: Date\r\n if (useUtc) {\r\n t = new Date(Date.UTC(year, month - 1, day, 0, 0, 0, 0))\r\n } else {\r\n t = new Date(year, month - 1, day, 0, 0, 0, 0)\r\n if (this.adjustLocal) {\r\n t = new Date(t.getTime() - t.getTimezoneOffset() * -60000)\r\n }\r\n }\r\n return t\r\n }\r\n}\r\n"]}