jspurefix 2.0.2 → 2.0.3

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 (272) hide show
  1. package/appveyor.yml +1 -0
  2. package/dist/runtime/session-launcher.js +2 -2
  3. package/dist/runtime/session-launcher.js.map +1 -1
  4. package/package.json +7 -7
  5. package/src/runtime/session-launcher.ts +2 -2
  6. package/dist/a-session-msg-factory.d.ts +0 -0
  7. package/dist/a-session-msg-factory.js +0 -1
  8. package/dist/a-session-msg-factory.js.map +0 -1
  9. package/dist/ascii-encoder.test.d.ts +0 -0
  10. package/dist/ascii-encoder.test.js +0 -1
  11. package/dist/ascii-encoder.test.js.map +0 -1
  12. package/dist/ascii-parser.test.d.ts +0 -0
  13. package/dist/ascii-parser.test.js +0 -1
  14. package/dist/ascii-parser.test.js.map +0 -1
  15. package/dist/ascii-segment.test.d.ts +0 -0
  16. package/dist/ascii-segment.test.js +0 -1
  17. package/dist/ascii-segment.test.js.map +0 -1
  18. package/dist/ascii-store-replay.test.d.ts +0 -0
  19. package/dist/ascii-store-replay.test.js +0 -1
  20. package/dist/ascii-store-replay.test.js.map +0 -1
  21. package/dist/ascii-tag-pos.test.d.ts +0 -0
  22. package/dist/ascii-tag-pos.test.js +0 -1
  23. package/dist/ascii-tag-pos.test.js.map +0 -1
  24. package/dist/buffer/segment-description.d.ts +0 -26
  25. package/dist/buffer/segment-description.js +0 -72
  26. package/dist/buffer/segment-description.js.map +0 -1
  27. package/dist/buffer/segment-summary.d.ts +0 -13
  28. package/dist/buffer/segment-summary.js +0 -20
  29. package/dist/buffer/segment-summary.js.map +0 -1
  30. package/dist/buffer/segment-type.d.ts +0 -8
  31. package/dist/buffer/segment-type.js +0 -13
  32. package/dist/buffer/segment-type.js.map +0 -1
  33. package/dist/buffer/tag-pos.d.ts +0 -12
  34. package/dist/buffer/tag-pos.js +0 -55
  35. package/dist/buffer/tag-pos.js.map +0 -1
  36. package/dist/buffer/tag-type.d.ts +0 -13
  37. package/dist/buffer/tag-type.js +0 -18
  38. package/dist/buffer/tag-type.js.map +0 -1
  39. package/dist/buffer/tags.d.ts +0 -21
  40. package/dist/buffer/tags.js +0 -122
  41. package/dist/buffer/tags.js.map +0 -1
  42. package/dist/dictionary/parser/fix-repository/repository-msg.d.ts +0 -0
  43. package/dist/dictionary/parser/fix-repository/repository-msg.js +0 -1
  44. package/dist/dictionary/parser/fix-repository/repository-msg.js.map +0 -1
  45. package/dist/execution-report.test.d.ts +0 -0
  46. package/dist/execution-report.test.js +0 -1
  47. package/dist/execution-report.test.js.map +0 -1
  48. package/dist/experiment.d.ts +0 -0
  49. package/dist/experiment.js +0 -1
  50. package/dist/experiment.js.map +0 -1
  51. package/dist/fix-repo-dict.test.d.ts +0 -0
  52. package/dist/fix-repo-dict.test.js +0 -1
  53. package/dist/fix-repo-dict.test.js.map +0 -1
  54. package/dist/fix-session-state-args.d.ts +0 -0
  55. package/dist/fix-session-state-args.js +0 -1
  56. package/dist/fix-session-state-args.js.map +0 -1
  57. package/dist/fix-session-state.d.ts +0 -0
  58. package/dist/fix-session-state.js +0 -1
  59. package/dist/fix-session-state.js.map +0 -1
  60. package/dist/fix-session.d.ts +0 -0
  61. package/dist/fix-session.js +0 -1
  62. package/dist/fix-session.js.map +0 -1
  63. package/dist/fix.txt +0 -1
  64. package/dist/fixml-alloc-parse.test.d.ts +0 -0
  65. package/dist/fixml-alloc-parse.test.js +0 -1
  66. package/dist/fixml-alloc-parse.test.js.map +0 -1
  67. package/dist/fixml-mkt-data-fut-parse.test.d.ts +0 -0
  68. package/dist/fixml-mkt-data-fut-parse.test.js +0 -1
  69. package/dist/fixml-mkt-data-fut-parse.test.js.map +0 -1
  70. package/dist/fixml-mkt-data-settle-parse.test.d.ts +0 -0
  71. package/dist/fixml-mkt-data-settle-parse.test.js +0 -1
  72. package/dist/fixml-mkt-data-settle-parse.test.js.map +0 -1
  73. package/dist/fixml-tc-bi-lateral-parse.test.d.ts +0 -0
  74. package/dist/fixml-tc-bi-lateral-parse.test.js +0 -1
  75. package/dist/fixml-tc-bi-lateral-parse.test.js.map +0 -1
  76. package/dist/includes.test.d.ts +0 -0
  77. package/dist/includes.test.js +0 -1
  78. package/dist/includes.test.js.map +0 -1
  79. package/dist/launcher.d.ts +0 -0
  80. package/dist/launcher.js +0 -1
  81. package/dist/launcher.js.map +0 -1
  82. package/dist/logon.test.d.ts +0 -0
  83. package/dist/logon.test.js +0 -1
  84. package/dist/logon.test.js.map +0 -1
  85. package/dist/make-fix-session.d.ts +0 -0
  86. package/dist/make-fix-session.js +0 -1
  87. package/dist/make-fix-session.js.map +0 -1
  88. package/dist/memory-store.test.d.ts +0 -0
  89. package/dist/memory-store.test.js +0 -1
  90. package/dist/memory-store.test.js.map +0 -1
  91. package/dist/object.json +0 -691
  92. package/dist/qf-full-msg.test.d.ts +0 -0
  93. package/dist/qf-full-msg.test.js +0 -1
  94. package/dist/qf-full-msg.test.js.map +0 -1
  95. package/dist/repo-full-ascii-msg.test.d.ts +0 -0
  96. package/dist/repo-full-ascii-msg.test.js +0 -1
  97. package/dist/repo-full-ascii-msg.test.js.map +0 -1
  98. package/dist/runtime/DITokens.d.ts +0 -20
  99. package/dist/runtime/DITokens.js +0 -25
  100. package/dist/runtime/DITokens.js.map +0 -1
  101. package/dist/runtime/app-launcher.d.ts +0 -27
  102. package/dist/runtime/app-launcher.js +0 -131
  103. package/dist/runtime/app-launcher.js.map +0 -1
  104. package/dist/runtime/launcher.d.ts +0 -29
  105. package/dist/runtime/launcher.js +0 -131
  106. package/dist/runtime/launcher.js.map +0 -1
  107. package/dist/sample/launcher.d.ts +0 -29
  108. package/dist/sample/launcher.js +0 -131
  109. package/dist/sample/launcher.js.map +0 -1
  110. package/dist/sample/tcp/trade-capture/app-launher.d.ts +0 -0
  111. package/dist/sample/tcp/trade-capture/app-launher.js +0 -1
  112. package/dist/sample/tcp/trade-capture/app-launher.js.map +0 -1
  113. package/dist/sample/tcp/trade-capture/jsfix.test_client.txt +0 -11
  114. package/dist/sample/tcp/trade-capture/jsfix.test_server.txt +0 -10
  115. package/dist/segment-description.d.ts +0 -0
  116. package/dist/segment-description.js +0 -1
  117. package/dist/segment-description.js.map +0 -1
  118. package/dist/segment-summary.d.ts +0 -0
  119. package/dist/segment-summary.js +0 -1
  120. package/dist/segment-summary.js.map +0 -1
  121. package/dist/segment-type.d.ts +0 -0
  122. package/dist/segment-type.js +0 -1
  123. package/dist/segment-type.js.map +0 -1
  124. package/dist/session-description.d.ts +0 -0
  125. package/dist/session-description.js +0 -1
  126. package/dist/session-description.js.map +0 -1
  127. package/dist/session-msg-factory.d.ts +0 -0
  128. package/dist/session-msg-factory.js +0 -1
  129. package/dist/session-msg-factory.js.map +0 -1
  130. package/dist/session-state.d.ts +0 -0
  131. package/dist/session-state.js +0 -1
  132. package/dist/session-state.js.map +0 -1
  133. package/dist/session-state.test.d.ts +0 -0
  134. package/dist/session-state.test.js +0 -1
  135. package/dist/session-state.test.js.map +0 -1
  136. package/dist/session.test.d.ts +0 -0
  137. package/dist/session.test.js +0 -1
  138. package/dist/session.test.js.map +0 -1
  139. package/dist/setup.d.ts +0 -0
  140. package/dist/setup.js +0 -1
  141. package/dist/setup.js.map +0 -1
  142. package/dist/skeleton-runner.d.ts +0 -0
  143. package/dist/skeleton-runner.js +0 -1
  144. package/dist/skeleton-runner.js.map +0 -1
  145. package/dist/structure.json +0 -631
  146. package/dist/tag-pos.d.ts +0 -0
  147. package/dist/tag-pos.js +0 -1
  148. package/dist/tag-pos.js.map +0 -1
  149. package/dist/tag-type.d.ts +0 -0
  150. package/dist/tag-type.js +0 -1
  151. package/dist/tag-type.js.map +0 -1
  152. package/dist/tags.d.ts +0 -0
  153. package/dist/tags.js +0 -1
  154. package/dist/tags.js.map +0 -1
  155. package/dist/test/ascii-encoder.test.d.ts +0 -1
  156. package/dist/test/ascii-encoder.test.js +0 -508
  157. package/dist/test/ascii-encoder.test.js.map +0 -1
  158. package/dist/test/ascii-parser.test.d.ts +0 -1
  159. package/dist/test/ascii-parser.test.js +0 -123
  160. package/dist/test/ascii-parser.test.js.map +0 -1
  161. package/dist/test/ascii-segment.test.d.ts +0 -1
  162. package/dist/test/ascii-segment.test.js +0 -86
  163. package/dist/test/ascii-segment.test.js.map +0 -1
  164. package/dist/test/ascii-store-replay.test.d.ts +0 -1
  165. package/dist/test/ascii-store-replay.test.js +0 -92
  166. package/dist/test/ascii-store-replay.test.js.map +0 -1
  167. package/dist/test/ascii-tag-pos.test.d.ts +0 -1
  168. package/dist/test/ascii-tag-pos.test.js +0 -105
  169. package/dist/test/ascii-tag-pos.test.js.map +0 -1
  170. package/dist/test/execution-report.test.d.ts +0 -1
  171. package/dist/test/execution-report.test.js +0 -494
  172. package/dist/test/execution-report.test.js.map +0 -1
  173. package/dist/test/experiment.d.ts +0 -23
  174. package/dist/test/experiment.js +0 -33
  175. package/dist/test/experiment.js.map +0 -1
  176. package/dist/test/expieriment.d.ts +0 -23
  177. package/dist/test/expieriment.js +0 -33
  178. package/dist/test/expieriment.js.map +0 -1
  179. package/dist/test/fix-log-replay.test.d.ts +0 -1
  180. package/dist/test/fix-log-replay.test.js +0 -47
  181. package/dist/test/fix-log-replay.test.js.map +0 -1
  182. package/dist/test/fix-repo-dict.test.d.ts +0 -1
  183. package/dist/test/fix-repo-dict.test.js +0 -128
  184. package/dist/test/fix-repo-dict.test.js.map +0 -1
  185. package/dist/test/fixml-alloc-parse.test.d.ts +0 -1
  186. package/dist/test/fixml-alloc-parse.test.js +0 -161
  187. package/dist/test/fixml-alloc-parse.test.js.map +0 -1
  188. package/dist/test/fixml-mkt-data-fut-parse.test.d.ts +0 -1
  189. package/dist/test/fixml-mkt-data-fut-parse.test.js +0 -61
  190. package/dist/test/fixml-mkt-data-fut-parse.test.js.map +0 -1
  191. package/dist/test/fixml-mkt-data-settle-parse.test.d.ts +0 -1
  192. package/dist/test/fixml-mkt-data-settle-parse.test.js +0 -34
  193. package/dist/test/fixml-mkt-data-settle-parse.test.js.map +0 -1
  194. package/dist/test/fixml-tc-bi-lateral-parse.test.d.ts +0 -1
  195. package/dist/test/fixml-tc-bi-lateral-parse.test.js +0 -97
  196. package/dist/test/fixml-tc-bi-lateral-parse.test.js.map +0 -1
  197. package/dist/test/includes.test.d.ts +0 -1
  198. package/dist/test/includes.test.js +0 -43
  199. package/dist/test/includes.test.js.map +0 -1
  200. package/dist/test/logon.test.d.ts +0 -1
  201. package/dist/test/logon.test.js +0 -93
  202. package/dist/test/logon.test.js.map +0 -1
  203. package/dist/test/memory-store.test.d.ts +0 -1
  204. package/dist/test/memory-store.test.js +0 -78
  205. package/dist/test/memory-store.test.js.map +0 -1
  206. package/dist/test/qf-full-msg.test.d.ts +0 -1
  207. package/dist/test/qf-full-msg.test.js +0 -81
  208. package/dist/test/qf-full-msg.test.js.map +0 -1
  209. package/dist/test/repo-full-ascii-msg.test.d.ts +0 -1
  210. package/dist/test/repo-full-ascii-msg.test.js +0 -87
  211. package/dist/test/repo-full-ascii-msg.test.js.map +0 -1
  212. package/dist/test/repo-full-fixml-msg.test.d.ts +0 -1
  213. package/dist/test/repo-full-fixml-msg.test.js +0 -139
  214. package/dist/test/repo-full-fixml-msg.test.js.map +0 -1
  215. package/dist/test/session-state.test.d.ts +0 -1
  216. package/dist/test/session-state.test.js +0 -73
  217. package/dist/test/session-state.test.js.map +0 -1
  218. package/dist/test/session.test.d.ts +0 -1
  219. package/dist/test/session.test.js +0 -280
  220. package/dist/test/session.test.js.map +0 -1
  221. package/dist/test/setup.d.ts +0 -45
  222. package/dist/test/setup.js +0 -102
  223. package/dist/test/setup.js.map +0 -1
  224. package/dist/test/skeleton-runner.d.ts +0 -15
  225. package/dist/test/skeleton-runner.js +0 -108
  226. package/dist/test/skeleton-runner.js.map +0 -1
  227. package/dist/test/time-formatter.test.d.ts +0 -1
  228. package/dist/test/time-formatter.test.js +0 -80
  229. package/dist/test/time-formatter.test.js.map +0 -1
  230. package/dist/test/to-views.d.ts +0 -11
  231. package/dist/test/to-views.js +0 -56
  232. package/dist/test/to-views.js.map +0 -1
  233. package/dist/test/view-decode.test.d.ts +0 -1
  234. package/dist/test/view-decode.test.js +0 -183
  235. package/dist/test/view-decode.test.js.map +0 -1
  236. package/dist/time-formatter.test.d.ts +0 -0
  237. package/dist/time-formatter.test.js +0 -1
  238. package/dist/time-formatter.test.js.map +0 -1
  239. package/dist/to-views.d.ts +0 -0
  240. package/dist/to-views.js +0 -1
  241. package/dist/to-views.js.map +0 -1
  242. package/dist/token.txt +0 -248
  243. package/dist/transport/FixEntity.d.ts +0 -8
  244. package/dist/transport/FixEntity.js +0 -12
  245. package/dist/transport/FixEntity.js.map +0 -1
  246. package/dist/transport/a-session-msg-factory.d.ts +0 -23
  247. package/dist/transport/a-session-msg-factory.js +0 -58
  248. package/dist/transport/a-session-msg-factory.js.map +0 -1
  249. package/dist/transport/fix-msg-factory.d.ts +0 -15
  250. package/dist/transport/fix-msg-factory.js +0 -3
  251. package/dist/transport/fix-msg-factory.js.map +0 -1
  252. package/dist/transport/fix-session-state-args.d.ts +0 -8
  253. package/dist/transport/fix-session-state-args.js +0 -3
  254. package/dist/transport/fix-session-state-args.js.map +0 -1
  255. package/dist/transport/fix-session-state.d.ts +0 -32
  256. package/dist/transport/fix-session-state.js +0 -133
  257. package/dist/transport/fix-session-state.js.map +0 -1
  258. package/dist/transport/fix-session.d.ts +0 -50
  259. package/dist/transport/fix-session.js +0 -291
  260. package/dist/transport/fix-session.js.map +0 -1
  261. package/dist/transport/make-fix-session.d.ts +0 -5
  262. package/dist/transport/make-fix-session.js +0 -3
  263. package/dist/transport/make-fix-session.js.map +0 -1
  264. package/dist/transport/session-description.d.ts +0 -17
  265. package/dist/transport/session-description.js +0 -3
  266. package/dist/transport/session-description.js.map +0 -1
  267. package/dist/transport/session-msg-factory.d.ts +0 -15
  268. package/dist/transport/session-msg-factory.js +0 -3
  269. package/dist/transport/session-msg-factory.js.map +0 -1
  270. package/dist/transport/session-state.d.ts +0 -25
  271. package/dist/transport/session-state.js +0 -30
  272. package/dist/transport/session-state.js.map +0 -1
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const buffer_1 = require("../buffer");
14
- const ascii_1 = require("../buffer/ascii");
15
- const buffer = new buffer_1.ElasticBuffer();
16
- let timeFormatter;
17
- const localDateTime = new Date(2010, 7, 6, 15, 55, 59, 123);
18
- const localDateTimeMidnight = new Date(2010, 4, 6, 0, 0, 0, 0);
19
- const localDate = new Date(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate(), 0, 0, 0, 0);
20
- const localTime = new Date(0, 0, 0, localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds());
21
- const localTimeMidnight = new Date(0, 0, 0, localDateTimeMidnight.getHours(), localDateTimeMidnight.getMinutes(), localDateTimeMidnight.getSeconds(), localDateTimeMidnight.getMilliseconds());
22
- const utcDateTime = new Date(Date.UTC(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate(), localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds()));
23
- const utcTime = new Date(Date.UTC(0, 0, 0, localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds()));
24
- const utcDate = new Date(Date.UTC(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate()));
25
- const dateLength = 4 + 2 + 2;
26
- const timeLength = 2 + 1 + 2 + 1 + 2 + 1 + 3;
27
- const dateTimeLength = dateLength + 1 + timeLength;
28
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
29
- timeFormatter = new ascii_1.TimeFormatter(buffer);
30
- }));
31
- test('check LocalDate', () => {
32
- buffer.reset();
33
- timeFormatter.writeLocalDate(localDateTime);
34
- expect(buffer.getPos()).toEqual(dateLength);
35
- expect(buffer.toString()).toEqual('20100806');
36
- expect(timeFormatter.getLocalDate(0)).toEqual(localDate);
37
- });
38
- test('check LocalTime', () => {
39
- buffer.reset();
40
- timeFormatter.writeLocalTime(localDateTime);
41
- expect(buffer.getPos()).toEqual(timeLength);
42
- expect(buffer.toString()).toEqual('15:55:59.123');
43
- expect(timeFormatter.getLocalTime(0)).toEqual(localTime);
44
- });
45
- test('check LocalTime Midnight', () => {
46
- buffer.reset();
47
- timeFormatter.writeLocalTime(localDateTimeMidnight);
48
- expect(buffer.getPos()).toEqual(timeLength);
49
- expect(buffer.toString()).toEqual('00:00:00.000');
50
- expect(timeFormatter.getLocalTime(0)).toEqual(localTimeMidnight);
51
- });
52
- test('check LocalTimestamp Midnight', () => {
53
- buffer.reset();
54
- timeFormatter.writeLocalTimestamp(localDateTimeMidnight);
55
- expect(buffer.getPos()).toEqual(dateTimeLength);
56
- expect(buffer.toString()).toEqual('20100506-00:00:00.000');
57
- expect(timeFormatter.getLocalTimestamp(0, dateTimeLength)).toEqual(localDateTimeMidnight);
58
- });
59
- test('check LocalTimestamp', () => {
60
- buffer.reset();
61
- timeFormatter.writeLocalTimestamp(localDateTime);
62
- expect(buffer.getPos()).toEqual(dateTimeLength);
63
- expect(buffer.toString()).toEqual('20100806-15:55:59.123');
64
- expect(timeFormatter.getLocalTimestamp(0, dateTimeLength)).toEqual(localDateTime);
65
- });
66
- test('check UtcDate', () => {
67
- buffer.reset();
68
- timeFormatter.writeUtcDate(utcDateTime);
69
- expect(buffer.getPos()).toEqual(dateLength);
70
- expect(buffer.toString()).toEqual('20100806');
71
- expect(timeFormatter.getUtcDate(0)).toEqual(utcDate);
72
- });
73
- test('check LocalTime', () => {
74
- buffer.reset();
75
- timeFormatter.writeUtcTime(utcDateTime);
76
- expect(buffer.getPos()).toEqual(timeLength);
77
- expect(buffer.toString()).toEqual('15:55:59.123');
78
- expect(timeFormatter.getUtcTime(0)).toEqual(utcTime);
79
- });
80
- //# sourceMappingURL=time-formatter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-formatter.test.js","sourceRoot":"","sources":["../../src/test/time-formatter.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport { ElasticBuffer } from '../buffer'\r\nimport { ITimeFormatter, TimeFormatter } from '../buffer/ascii'\r\n\r\nconst buffer = new ElasticBuffer()\r\nlet timeFormatter: ITimeFormatter\r\nconst localDateTime: Date = new Date(2010, 7, 6, 15, 55, 59, 123)\r\nconst localDateTimeMidnight: Date = new Date(2010, 4, 6, 0, 0, 0, 0)\r\nconst localDate: Date = new Date(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate(), 0, 0, 0, 0)\r\nconst localTime: Date = new Date(0, 0, 0, localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds())\r\nconst localTimeMidnight: Date = new Date(0, 0, 0, localDateTimeMidnight.getHours(), localDateTimeMidnight.getMinutes(), localDateTimeMidnight.getSeconds(), localDateTimeMidnight.getMilliseconds())\r\nconst utcDateTime: Date = new Date(Date.UTC(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate(), localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds()))\r\nconst utcTime: Date = new Date(Date.UTC(0, 0, 0, localDateTime.getHours(), localDateTime.getMinutes(), localDateTime.getSeconds(), localDateTime.getMilliseconds()))\r\nconst utcDate: Date = new Date(Date.UTC(localDateTime.getFullYear(), localDateTime.getMonth(), localDateTime.getDate()))\r\nconst dateLength = 4 + 2 + 2\r\nconst timeLength = 2 + 1 + 2 + 1 + 2 + 1 + 3\r\nconst dateTimeLength = dateLength + 1 + timeLength\r\n\r\nbeforeAll(async () => {\r\n timeFormatter = new TimeFormatter(buffer)\r\n})\r\n\r\ntest('check LocalDate', () => {\r\n buffer.reset()\r\n timeFormatter.writeLocalDate(localDateTime)\r\n expect(buffer.getPos()).toEqual(dateLength)\r\n expect(buffer.toString()).toEqual('20100806')\r\n expect(timeFormatter.getLocalDate(0)).toEqual(localDate)\r\n})\r\n\r\ntest('check LocalTime', () => {\r\n buffer.reset()\r\n timeFormatter.writeLocalTime(localDateTime)\r\n expect(buffer.getPos()).toEqual(timeLength)\r\n expect(buffer.toString()).toEqual('15:55:59.123')\r\n expect(timeFormatter.getLocalTime(0)).toEqual(localTime)\r\n})\r\n\r\ntest('check LocalTime Midnight', () => {\r\n buffer.reset()\r\n timeFormatter.writeLocalTime(localDateTimeMidnight)\r\n expect(buffer.getPos()).toEqual(timeLength)\r\n expect(buffer.toString()).toEqual('00:00:00.000')\r\n expect(timeFormatter.getLocalTime(0)).toEqual(localTimeMidnight)\r\n})\r\n\r\ntest('check LocalTimestamp Midnight', () => {\r\n buffer.reset()\r\n timeFormatter.writeLocalTimestamp(localDateTimeMidnight)\r\n expect(buffer.getPos()).toEqual(dateTimeLength)\r\n expect(buffer.toString()).toEqual('20100506-00:00:00.000')\r\n expect(timeFormatter.getLocalTimestamp(0, dateTimeLength)).toEqual(localDateTimeMidnight)\r\n})\r\n\r\ntest('check LocalTimestamp', () => {\r\n buffer.reset()\r\n timeFormatter.writeLocalTimestamp(localDateTime)\r\n expect(buffer.getPos()).toEqual(dateTimeLength)\r\n expect(buffer.toString()).toEqual('20100806-15:55:59.123')\r\n expect(timeFormatter.getLocalTimestamp(0, dateTimeLength)).toEqual(localDateTime)\r\n})\r\n\r\ntest('check UtcDate', () => {\r\n buffer.reset()\r\n timeFormatter.writeUtcDate(utcDateTime)\r\n expect(buffer.getPos()).toEqual(dateLength)\r\n expect(buffer.toString()).toEqual('20100806')\r\n expect(timeFormatter.getUtcDate(0)).toEqual(utcDate)\r\n})\r\n\r\ntest('check LocalTime', () => {\r\n buffer.reset()\r\n timeFormatter.writeUtcTime(utcDateTime)\r\n expect(buffer.getPos()).toEqual(timeLength)\r\n expect(buffer.toString()).toEqual('15:55:59.123')\r\n expect(timeFormatter.getUtcTime(0)).toEqual(utcTime)\r\n})\r\n"]}
@@ -1,11 +0,0 @@
1
- import { MsgView } from '../buffer';
2
- import { FixDefinitions } from '../dictionary/definition';
3
- export declare class ToViews {
4
- readonly testFolder: string;
5
- definitions: FixDefinitions;
6
- readonly views: MsgView[];
7
- batch: MsgView;
8
- private readonly root;
9
- constructor(testFolder: string);
10
- load(file?: string): Promise<any>;
11
- }
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ToViews = void 0;
13
- const path = require("path");
14
- const config_1 = require("../config");
15
- const ascii_1 = require("../buffer/ascii");
16
- const fixml_1 = require("../buffer/fixml");
17
- const util_1 = require("../util");
18
- class ToViews {
19
- constructor(testFolder) {
20
- this.testFolder = testFolder;
21
- this.views = [];
22
- this.batch = null;
23
- this.root = path.join(__dirname, '../../data');
24
- }
25
- load(file = 'repofixml') {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const root = this.root;
28
- const testFolder = this.testFolder;
29
- const views = this.views;
30
- this.definitions = yield new util_1.DefinitionFactory().getDefinitions(file);
31
- const definitions = this.definitions;
32
- const fs = require('fs');
33
- const fullName = path.join(root, `${testFolder}/fix.xml`);
34
- const readStream = fs.createReadStream(fullName);
35
- const sessionDescription = require(path.join(root, 'session/test-initiator.json'));
36
- const config = new config_1.JsFixConfig(null, definitions, sessionDescription, ascii_1.AsciiChars.Pipe);
37
- const xmlParser = new fixml_1.FiXmlParser(config, readStream);
38
- return new Promise((accept, reject) => {
39
- xmlParser.on('msg', (msgType, v) => {
40
- views.push(v.clone());
41
- });
42
- xmlParser.on('batch', (msgType, v) => {
43
- this.batch = v.clone();
44
- });
45
- xmlParser.on('close', () => {
46
- accept(true);
47
- });
48
- xmlParser.on('error', (e) => {
49
- reject(e);
50
- });
51
- });
52
- });
53
- }
54
- }
55
- exports.ToViews = ToViews;
56
- //# sourceMappingURL=to-views.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-views.js","sourceRoot":"","sources":["../../src/test/to-views.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6BAA4B;AAG5B,sCAAuC;AAEvC,2CAA4C;AAC5C,2CAA6C;AAE7C,kCAA2C;AAE3C,MAAa,OAAO;IAMlB,YAA6B,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QAJ/B,UAAK,GAAc,EAAE,CAAA;QAC9B,UAAK,GAAY,IAAI,CAAA;QACX,SAAI,GAAW,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IAGlE,CAAC;IAEY,IAAI,CAAE,OAAe,WAAW;;YAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;YACxB,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,wBAAiB,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;YACrE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAA;YACpC,MAAM,EAAE,GAAQ,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,UAAU,UAAU,CAAC,CAAA;YACzD,MAAM,UAAU,GAAe,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;YAC5D,MAAM,kBAAkB,GAAwB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,6BAA6B,CAAC,CAAC,CAAA;YACvG,MAAM,MAAM,GAAG,IAAI,oBAAW,CAAC,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAU,CAAC,IAAI,CAAC,CAAA;YACtF,MAAM,SAAS,GAAc,IAAI,mBAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;YAChE,OAAO,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBACpC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,OAAe,EAAE,CAAU,EAAE,EAAE;oBAClD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAA;gBACvB,CAAC,CAAC,CAAA;gBACF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,OAAe,EAAE,CAAU,EAAE,EAAE;oBACpD,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;gBACxB,CAAC,CAAC,CAAA;gBACF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACzB,MAAM,CAAC,IAAI,CAAC,CAAA;gBACd,CAAC,CAAC,CAAA;gBACF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAQ,EAAE,EAAE;oBACjC,MAAM,CAAC,CAAC,CAAC,CAAA;gBACX,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC;KAAA;CACF;AApCD,0BAoCC","sourcesContent":["import * as path from 'path'\r\nimport { ReadStream } from 'fs'\r\nimport { ISessionDescription } from '../transport'\r\nimport { JsFixConfig } from '../config'\r\nimport { MsgParser, MsgView } from '../buffer'\r\nimport { AsciiChars } from '../buffer/ascii'\r\nimport { FiXmlParser } from '../buffer/fixml'\r\nimport { FixDefinitions } from '../dictionary/definition'\r\nimport { DefinitionFactory } from '../util'\r\n\r\nexport class ToViews {\r\n public definitions: FixDefinitions\r\n public readonly views: MsgView[] = []\r\n public batch: MsgView = null\r\n private readonly root: string = path.join(__dirname, '../../data')\r\n\r\n constructor (public readonly testFolder: string) {\r\n }\r\n\r\n public async load (file: string = 'repofixml'): Promise<any> {\r\n const root = this.root\r\n const testFolder = this.testFolder\r\n const views = this.views\r\n this.definitions = await new DefinitionFactory().getDefinitions(file)\r\n const definitions = this.definitions\r\n const fs: any = require('fs')\r\n const fullName = path.join(root, `${testFolder}/fix.xml`)\r\n const readStream: ReadStream = fs.createReadStream(fullName)\r\n const sessionDescription: ISessionDescription = require(path.join(root, 'session/test-initiator.json'))\r\n const config = new JsFixConfig(null, definitions, sessionDescription, AsciiChars.Pipe)\r\n const xmlParser: MsgParser = new FiXmlParser(config, readStream)\r\n return new Promise((accept, reject) => {\r\n xmlParser.on('msg', (msgType: string, v: MsgView) => {\r\n views.push(v.clone())\r\n })\r\n xmlParser.on('batch', (msgType: string, v: MsgView) => {\r\n this.batch = v.clone()\r\n })\r\n xmlParser.on('close', () => {\r\n accept(true)\r\n })\r\n xmlParser.on('error', (e: Error) => {\r\n reject(e)\r\n })\r\n })\r\n }\r\n}\r\n"]}
@@ -1 +0,0 @@
1
- import 'reflect-metadata';
@@ -1,183 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- require("reflect-metadata");
13
- const path = require("path");
14
- const quickfix_1 = require("../types/FIX4.4/quickfix");
15
- const setup_1 = require("./env/setup");
16
- const root = path.join(__dirname, '../../data');
17
- let definitions;
18
- let session;
19
- let views;
20
- let structure;
21
- let view;
22
- let setup = null;
23
- beforeAll(() => __awaiter(void 0, void 0, void 0, function* () {
24
- setup = new setup_1.Setup('session/qf-fix44.json', null);
25
- yield setup.init();
26
- definitions = setup.definitions;
27
- session = setup.client.transmitter;
28
- views = yield setup.client.replayer.replayFixFile(path.join(root, 'examples/FIX.4.4/quickfix/md-data-snapshot/fix.txt'));
29
- if (views && views.length > 0) {
30
- view = views[0];
31
- structure = view.structure;
32
- }
33
- }), 45000);
34
- test('expect a structure from fix msg', () => {
35
- expect(structure).toBeTruthy();
36
- });
37
- test('get NoMDEntries directly - expect an array', () => {
38
- const noMDEntriesView = view.getView('NoMDEntries');
39
- expect(noMDEntriesView).toBeTruthy();
40
- const noMDEntries = noMDEntriesView.toObject();
41
- expect(Array.isArray(noMDEntries)).toEqual(true);
42
- expect(noMDEntries.length).toEqual(2);
43
- });
44
- test('get NoMDEntries via MDFullGrp - array within a component', () => {
45
- const mdFullGrp = view.getView('MDFullGrp');
46
- expect(mdFullGrp).toBeTruthy();
47
- const mdFullGrpAsObject = mdFullGrp.toObject();
48
- const noMDEntries = mdFullGrpAsObject.NoMDEntries;
49
- expect(Array.isArray(noMDEntries)).toEqual(true);
50
- expect(noMDEntries.length).toEqual(2);
51
- });
52
- function getMdEntriesObjects() {
53
- const noMDEntriesView = view.getView('NoMDEntries');
54
- expect(noMDEntriesView).toBeTruthy();
55
- const noMDEntries = noMDEntriesView.toObject();
56
- expect(Array.isArray(noMDEntries)).toEqual(true);
57
- expect(noMDEntries.length).toEqual(2);
58
- return noMDEntries;
59
- }
60
- test('get UTCDATEONLY from NoMDEntries instance 1', () => {
61
- const noMdEntriesAsObjects = getMdEntriesObjects();
62
- const noMDEntriesView = view.getView('NoMDEntries');
63
- const mmEntryView = noMDEntriesView.getGroupInstance(1);
64
- const instance = noMdEntriesAsObjects[1];
65
- const mmEntryDateAsString = mmEntryView.getString('MDEntryDate');
66
- expect(mmEntryDateAsString).toEqual('20210129');
67
- expect(mmEntryView.getString(272)).toEqual('20210129');
68
- const asUtc = new Date(Date.UTC(2021, 0, 29));
69
- expect(instance.MDEntryDate).toEqual(asUtc);
70
- });
71
- test('get UTCTIMEONLY from NoMDEntries instance 0', () => {
72
- const noMdEntriesAsObjects = getMdEntriesObjects();
73
- const noMDEntriesView = view.getView('NoMDEntries');
74
- const mmEntryView = noMDEntriesView.getGroupInstance(0);
75
- const instance = noMdEntriesAsObjects[0];
76
- const mmEntryTimeAsString = mmEntryView.getString('MDEntryTime');
77
- expect(mmEntryTimeAsString).toEqual('19:45:19.852');
78
- expect(mmEntryView.getString(273)).toEqual('19:45:19.852');
79
- const asUtc = new Date(Date.UTC(0, 0, 0, 19, 45, 19, 852));
80
- expect(instance.MDEntryTime).toEqual(asUtc);
81
- });
82
- test('get UTCTIMESTAMP from NoMDEntries instance 1', () => {
83
- const noMdEntriesAsObjects = getMdEntriesObjects();
84
- const noMDEntriesView = view.getView('NoMDEntries');
85
- const mmEntryView = noMDEntriesView.getGroupInstance(1);
86
- const instance = noMdEntriesAsObjects[1];
87
- const mmEntryExpireTimeAsString = mmEntryView.getString('ExpireTime');
88
- expect(mmEntryExpireTimeAsString).toEqual('20210129-19:45:19.000');
89
- expect(mmEntryView.getString(126)).toEqual('20210129-19:45:19.000');
90
- const asUtc = new Date(Date.UTC(2021, 0, 29, 19, 45, 19, 0));
91
- const d = instance.ExpireTime;
92
- expect(d).toEqual(asUtc);
93
- });
94
- test('get MinQty from NoMDEntries instance 1', () => {
95
- const noMdEntriesAsObjects = getMdEntriesObjects();
96
- const noMDEntriesView = view.getView('NoMDEntries');
97
- const mmEntryView = noMDEntriesView.getGroupInstance(1);
98
- const instance = noMdEntriesAsObjects[1];
99
- const mmEntryMinQtyAsString = mmEntryView.getString('MinQty');
100
- expect(mmEntryMinQtyAsString).toEqual('9.6478');
101
- expect(mmEntryView.getString(110)).toEqual('9.6478');
102
- expect(instance.MinQty).toEqual(9.6478);
103
- });
104
- test('get selection tags one call - tag ids', () => {
105
- const [a, b, c, d] = view.getTypedTags([8, 9, 35, 49]);
106
- expect(a).toEqual('FIX4.4');
107
- expect(b).toEqual(3957);
108
- expect(c).toEqual('W');
109
- expect(d).toEqual('init-comp');
110
- });
111
- test('get selection tags one call - tag names', () => {
112
- const [a, b, c, d, e, f] = view.getTypedTags([
113
- 'BeginString',
114
- 'BodyLength',
115
- 'MsgType',
116
- 'MsgSeqNum',
117
- 'MDReqID',
118
- 'Symbol'
119
- ]);
120
- expect(a).toEqual('FIX4.4');
121
- expect(b).toEqual(3957);
122
- expect(c).toEqual('W');
123
- expect(d).toEqual(1);
124
- expect(e).toEqual('Lorem');
125
- expect(f).toEqual('ipsum');
126
- });
127
- test('nested view fetch', () => {
128
- const legGrpView = view.getView('InstrmtLegGrp.NoLegs');
129
- expect(legGrpView).toBeTruthy();
130
- const legGrp = legGrpView.toObject();
131
- expect(legGrp).toBeTruthy();
132
- expect(Array.isArray(legGrp));
133
- expect(legGrp.length).toEqual(3);
134
- });
135
- function toFixMessage(o, msg) {
136
- session.encodeMessage(msg.msgType, o);
137
- return session.buffer.toString();
138
- }
139
- function BidOfferRequest(symbol) {
140
- return {
141
- MDReqID: '1',
142
- SubscriptionRequestType: quickfix_1.SubscriptionRequestType.SnapshotPlusUpdates,
143
- MarketDepth: 0,
144
- MDReqGrp: {
145
- NoMDEntryTypes: [
146
- {
147
- MDEntryType: quickfix_1.MDEntryType.Bid
148
- },
149
- {
150
- MDEntryType: quickfix_1.MDEntryType.Offer
151
- }
152
- ]
153
- },
154
- InstrmtMDReqGrp: {
155
- NoRelatedSym: [
156
- {
157
- Instrument: {
158
- Symbol: symbol
159
- }
160
- }
161
- ]
162
- }
163
- };
164
- }
165
- test('market data request', () => __awaiter(void 0, void 0, void 0, function* () {
166
- const mdr = BidOfferRequest('EUR/USD');
167
- const def = definitions.message.get('MarketDataRequest');
168
- const fix = toFixMessage(mdr, def);
169
- expect(fix).toBeTruthy();
170
- const res = yield setup.client.parseText(fix);
171
- expect(res.event).toEqual('msg');
172
- expect(res.msgType).toEqual(def.msgType);
173
- const gv = res.view.getView('MDReqGrp');
174
- expect(gv).toBeTruthy();
175
- const s = gv.toString();
176
- const newLine = require('os').EOL;
177
- expect(s).toEqual(`[0] 267 (NoMDEntryTypes) = 2, [1] 269 (MDEntryType) = 0[Bid]${newLine}[2] 269 (MDEntryType) = 1[Offer]`);
178
- const iv = res.view.getView('InstrmtMDReqGrp.NoRelatedSym');
179
- expect(iv).toBeTruthy();
180
- const s2 = iv.toString();
181
- expect(s2).toEqual(`[0] 146 (NoRelatedSym) = 1, [1] 55 (Symbol) = EUR/USD${newLine}`);
182
- }));
183
- //# sourceMappingURL=view-decode.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"view-decode.test.js","sourceRoot":"","sources":["../../src/test/view-decode.test.ts"],"names":[],"mappings":"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","sourcesContent":["import 'reflect-metadata'\r\n\r\nimport * as path from 'path'\r\nimport { Structure, MsgView } from '../buffer'\r\nimport { ILooseObject } from '../collections/collection'\r\nimport { FixDefinitions, MessageDefinition } from '../dictionary/definition'\r\nimport { IInstrumentLeg, IMarketDataRequest, MDEntryType, SubscriptionRequestType } from '../types/FIX4.4/quickfix'\r\nimport { AsciiMsgTransmitter } from '../transport/ascii/ascii-msg-transmitter'\r\nimport { Setup } from './env/setup'\r\nimport { ParsingResult } from './env/parsing-result'\r\n\r\nconst root: string = path.join(__dirname, '../../data')\r\n\r\nlet definitions: FixDefinitions\r\nlet session: AsciiMsgTransmitter\r\nlet views: MsgView[]\r\nlet structure: Structure\r\nlet view: MsgView\r\nlet setup: Setup = null\r\n\r\nbeforeAll(async () => {\r\n setup = new Setup('session/qf-fix44.json',null)\r\n await setup.init()\r\n definitions = setup.definitions\r\n session = setup.client.transmitter as AsciiMsgTransmitter\r\n views = await setup.client.replayer.replayFixFile(path.join(root, 'examples/FIX.4.4/quickfix/md-data-snapshot/fix.txt'))\r\n if (views && views.length > 0) {\r\n view = views[0]\r\n structure = view.structure\r\n }\r\n}, 45000)\r\n\r\ntest('expect a structure from fix msg', () => {\r\n expect(structure).toBeTruthy()\r\n})\r\n\r\ntest('get NoMDEntries directly - expect an array', () => {\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n expect(noMDEntriesView).toBeTruthy()\r\n const noMDEntries: ILooseObject[] = noMDEntriesView.toObject()\r\n expect(Array.isArray(noMDEntries)).toEqual(true)\r\n expect(noMDEntries.length).toEqual(2)\r\n})\r\n\r\ntest('get NoMDEntries via MDFullGrp - array within a component', () => {\r\n const mdFullGrp: MsgView = view.getView('MDFullGrp')\r\n expect(mdFullGrp).toBeTruthy()\r\n const mdFullGrpAsObject: ILooseObject = mdFullGrp.toObject()\r\n const noMDEntries: ILooseObject[] = mdFullGrpAsObject.NoMDEntries\r\n expect(Array.isArray(noMDEntries)).toEqual(true)\r\n expect(noMDEntries.length).toEqual(2)\r\n})\r\n\r\nfunction getMdEntriesObjects (): ILooseObject[] {\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n expect(noMDEntriesView).toBeTruthy()\r\n const noMDEntries: ILooseObject[] = noMDEntriesView.toObject()\r\n expect(Array.isArray(noMDEntries)).toEqual(true)\r\n expect(noMDEntries.length).toEqual(2)\r\n return noMDEntries\r\n}\r\n\r\n// <field number='272' name='MDEntryDate' type='UTCDATEONLY' />\r\n\r\ntest('get UTCDATEONLY from NoMDEntries instance 1', () => {\r\n const noMdEntriesAsObjects: ILooseObject[] = getMdEntriesObjects()\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n const mmEntryView: MsgView = noMDEntriesView.getGroupInstance(1)\r\n\r\n const instance: ILooseObject = noMdEntriesAsObjects[1]\r\n const mmEntryDateAsString: string = mmEntryView.getString('MDEntryDate')\r\n expect(mmEntryDateAsString).toEqual('20210129')\r\n expect(mmEntryView.getString(272)).toEqual('20210129')\r\n const asUtc: Date = new Date(Date.UTC(2021, 0, 29))\r\n expect(instance.MDEntryDate).toEqual(asUtc)\r\n})\r\n\r\n// <field number='273' name='MDEntryTime' type='UTCTIMEONLY' />\r\n\r\ntest('get UTCTIMEONLY from NoMDEntries instance 0', () => {\r\n const noMdEntriesAsObjects: ILooseObject[] = getMdEntriesObjects()\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n const mmEntryView: MsgView = noMDEntriesView.getGroupInstance(0)\r\n\r\n const instance: ILooseObject = noMdEntriesAsObjects[0]\r\n const mmEntryTimeAsString: string = mmEntryView.getString('MDEntryTime')\r\n expect(mmEntryTimeAsString).toEqual('19:45:19.852')\r\n expect(mmEntryView.getString(273)).toEqual('19:45:19.852')\r\n const asUtc: Date = new Date(Date.UTC(0, 0, 0, 19, 45, 19, 852))\r\n expect(instance.MDEntryTime).toEqual(asUtc)\r\n})\r\n\r\n// <field number='126' name='ExpireTime' type='UTCTIMESTAMP' />\r\n\r\ntest('get UTCTIMESTAMP from NoMDEntries instance 1', () => {\r\n const noMdEntriesAsObjects: ILooseObject[] = getMdEntriesObjects()\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n const mmEntryView: MsgView = noMDEntriesView.getGroupInstance(1)\r\n\r\n const instance: ILooseObject = noMdEntriesAsObjects[1]\r\n const mmEntryExpireTimeAsString: string = mmEntryView.getString('ExpireTime')\r\n expect(mmEntryExpireTimeAsString).toEqual('20210129-19:45:19.000')\r\n expect(mmEntryView.getString(126)).toEqual('20210129-19:45:19.000')\r\n const asUtc: Date = new Date(Date.UTC(2021, 0, 29, 19, 45, 19, 0))\r\n const d: Date = instance.ExpireTime\r\n expect(d).toEqual(asUtc)\r\n})\r\n\r\n// <field number='110' name='MinQty' type='QTY' />\r\n\r\ntest('get MinQty from NoMDEntries instance 1', () => {\r\n const noMdEntriesAsObjects: ILooseObject[] = getMdEntriesObjects()\r\n const noMDEntriesView: MsgView = view.getView('NoMDEntries')\r\n const mmEntryView: MsgView = noMDEntriesView.getGroupInstance(1)\r\n\r\n const instance: ILooseObject = noMdEntriesAsObjects[1]\r\n const mmEntryMinQtyAsString: string = mmEntryView.getString('MinQty')\r\n expect(mmEntryMinQtyAsString).toEqual('9.6478')\r\n expect(mmEntryView.getString(110)).toEqual('9.6478')\r\n expect(instance.MinQty).toEqual(9.6478)\r\n})\r\n\r\ntest('get selection tags one call - tag ids', () => {\r\n const [a, b, c, d] = view.getTypedTags([8, 9, 35, 49])\r\n expect(a).toEqual('FIX4.4')\r\n expect(b).toEqual(3957)\r\n expect(c).toEqual('W')\r\n expect(d).toEqual('init-comp')\r\n})\r\n\r\n/*\r\n[0] 8 (BeginString) = FIX4.4, [1] 9 (BodyLength) = 0002955\r\n[2] 35 (MsgType) = W[MARKET_DATA_SNAPSHOT_FULL_REFRESH], [3] 49 (SenderCompID) = sender-10\r\n[4] 56 (TargetCompID) = target-20, [5] 34 (MsgSeqNum) = 1\r\n[6] 57 (TargetSubID) = sub-a, [7] 52 (SendingTime) = 20180608-21:10:59.047\r\n[8] 262 (MDReqID) = ipsum, [9] 55 (Symbol) = sit\r\n */\r\n\r\ntest('get selection tags one call - tag names', () => {\r\n const [a, b, c, d, e, f] = view.getTypedTags([\r\n 'BeginString',\r\n 'BodyLength',\r\n 'MsgType',\r\n 'MsgSeqNum',\r\n 'MDReqID',\r\n 'Symbol'])\r\n expect(a).toEqual('FIX4.4')\r\n expect(b).toEqual(3957)\r\n expect(c).toEqual('W')\r\n expect(d).toEqual(1)\r\n expect(e).toEqual('Lorem')\r\n expect(f).toEqual('ipsum')\r\n})\r\n\r\ntest('nested view fetch' , () => {\r\n const legGrpView = view.getView('InstrmtLegGrp.NoLegs')\r\n expect(legGrpView).toBeTruthy()\r\n const legGrp: IInstrumentLeg[] = legGrpView.toObject()\r\n expect(legGrp).toBeTruthy()\r\n expect(Array.isArray(legGrp))\r\n expect(legGrp.length).toEqual(3)\r\n})\r\n\r\nfunction toFixMessage (o: ILooseObject, msg: MessageDefinition): string {\r\n session.encodeMessage(msg.msgType, o)\r\n return session.buffer.toString()\r\n}\r\n\r\nfunction BidOfferRequest (symbol: string): IMarketDataRequest {\r\n return {\r\n MDReqID: '1',\r\n SubscriptionRequestType: SubscriptionRequestType.SnapshotPlusUpdates,\r\n MarketDepth: 0,\r\n MDReqGrp: {\r\n NoMDEntryTypes: [\r\n {\r\n MDEntryType: MDEntryType.Bid\r\n },\r\n {\r\n MDEntryType: MDEntryType.Offer\r\n }\r\n ]\r\n },\r\n InstrmtMDReqGrp: {\r\n NoRelatedSym: [\r\n {\r\n Instrument: {\r\n Symbol: symbol\r\n }\r\n }\r\n ]\r\n }\r\n } as IMarketDataRequest\r\n}\r\n\r\ntest('market data request', async () => {\r\n const mdr = BidOfferRequest('EUR/USD')\r\n const def = definitions.message.get('MarketDataRequest')\r\n const fix = toFixMessage(mdr, def)\r\n expect(fix).toBeTruthy()\r\n const res: ParsingResult = await setup.client.parseText(fix)\r\n expect(res.event).toEqual('msg')\r\n expect(res.msgType).toEqual(def.msgType)\r\n const gv = res.view.getView('MDReqGrp')\r\n expect(gv).toBeTruthy()\r\n const s = gv.toString()\r\n const newLine = require('os').EOL\r\n expect(s).toEqual(`[0] 267 (NoMDEntryTypes) = 2, [1] 269 (MDEntryType) = 0[Bid]${newLine}[2] 269 (MDEntryType) = 1[Offer]`)\r\n const iv = res.view.getView('InstrmtMDReqGrp.NoRelatedSym')\r\n expect(iv).toBeTruthy()\r\n const s2 = iv.toString()\r\n expect(s2).toEqual(`[0] 146 (NoRelatedSym) = 1, [1] 55 (Symbol) = EUR/USD${newLine}`)\r\n})\r\n"]}
File without changes
@@ -1 +0,0 @@
1
- //# sourceMappingURL=time-formatter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time-formatter.test.js","sourceRoot":"","sources":["../src/test/time-formatter.test.ts"],"names":[],"mappings":"","sourcesContent":[""]}
File without changes
package/dist/to-views.js DELETED
@@ -1 +0,0 @@
1
- //# sourceMappingURL=to-views.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-views.js","sourceRoot":"","sources":["../src/test/to-views.ts"],"names":[],"mappings":"","sourcesContent":[""]}