sportident.js 1.2.0 → 1.3.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 (258) hide show
  1. package/SiCard/BaseSiCard.js +8 -45
  2. package/SiCard/BaseSiCard.js.map +1 -1
  3. package/SiCard/BaseSiCard.test.js +64 -66
  4. package/SiCard/BaseSiCard.test.js.map +1 -1
  5. package/SiCard/IRaceResultData.js +1 -2
  6. package/SiCard/ISiCard.js +1 -2
  7. package/SiCard/ISiCardExamples.js +1 -2
  8. package/SiCard/index.js +2 -20
  9. package/SiCard/index.js.map +1 -1
  10. package/SiCard/raceResultTools.js +10 -52
  11. package/SiCard/raceResultTools.js.map +1 -1
  12. package/SiCard/raceResultTools.test.js +49 -51
  13. package/SiCard/raceResultTools.test.js.map +1 -1
  14. package/SiCard/types/FCard.js +4 -41
  15. package/SiCard/types/FCard.js.map +1 -1
  16. package/SiCard/types/FCard.test.js +11 -13
  17. package/SiCard/types/FCard.test.js.map +1 -1
  18. package/SiCard/types/ModernSiCard.js +25 -67
  19. package/SiCard/types/ModernSiCard.js.map +1 -1
  20. package/SiCard/types/ModernSiCard.test.js +69 -104
  21. package/SiCard/types/ModernSiCard.test.js.map +1 -1
  22. package/SiCard/types/PCard.js +4 -41
  23. package/SiCard/types/PCard.js.map +1 -1
  24. package/SiCard/types/PCard.test.js +11 -13
  25. package/SiCard/types/PCard.test.js.map +1 -1
  26. package/SiCard/types/SIAC.js +4 -8
  27. package/SiCard/types/SIAC.js.map +1 -1
  28. package/SiCard/types/SIAC.test.js +38 -73
  29. package/SiCard/types/SIAC.test.js.map +1 -1
  30. package/SiCard/types/SiCard10.js +4 -8
  31. package/SiCard/types/SiCard10.js.map +1 -1
  32. package/SiCard/types/SiCard10.test.js +41 -76
  33. package/SiCard/types/SiCard10.test.js.map +1 -1
  34. package/SiCard/types/SiCard11.js +4 -8
  35. package/SiCard/types/SiCard11.js.map +1 -1
  36. package/SiCard/types/SiCard11.test.js +38 -73
  37. package/SiCard/types/SiCard11.test.js.map +1 -1
  38. package/SiCard/types/SiCard5.js +16 -55
  39. package/SiCard/types/SiCard5.js.map +1 -1
  40. package/SiCard/types/SiCard5.test.js +81 -116
  41. package/SiCard/types/SiCard5.test.js.map +1 -1
  42. package/SiCard/types/SiCard6.js +17 -56
  43. package/SiCard/types/SiCard6.js.map +1 -1
  44. package/SiCard/types/SiCard6.test.js +79 -114
  45. package/SiCard/types/SiCard6.test.js.map +1 -1
  46. package/SiCard/types/SiCard8.js +16 -54
  47. package/SiCard/types/SiCard8.js.map +1 -1
  48. package/SiCard/types/SiCard8.test.js +69 -104
  49. package/SiCard/types/SiCard8.test.js.map +1 -1
  50. package/SiCard/types/SiCard9.js +15 -53
  51. package/SiCard/types/SiCard9.js.map +1 -1
  52. package/SiCard/types/SiCard9.test.js +65 -100
  53. package/SiCard/types/SiCard9.test.js.map +1 -1
  54. package/SiCard/types/TCard.js +4 -41
  55. package/SiCard/types/TCard.js.map +1 -1
  56. package/SiCard/types/TCard.test.js +11 -13
  57. package/SiCard/types/TCard.test.js.map +1 -1
  58. package/SiCard/types/index.js +15 -33
  59. package/SiCard/types/index.js.map +1 -1
  60. package/SiCard/types/index.test.js +13 -48
  61. package/SiCard/types/index.test.js.map +1 -1
  62. package/SiCard/types/modernSiCardExamples.js +21 -58
  63. package/SiCard/types/modernSiCardExamples.js.map +1 -1
  64. package/SiCard/types/siCard5Examples.js +6 -43
  65. package/SiCard/types/siCard5Examples.js.map +1 -1
  66. package/SiCard/types/siCard6Examples.js +10 -47
  67. package/SiCard/types/siCard6Examples.js.map +1 -1
  68. package/SiCard/types/siCard8Examples.js +8 -45
  69. package/SiCard/types/siCard8Examples.js.map +1 -1
  70. package/SiCard/types/siCard9Examples.js +8 -45
  71. package/SiCard/types/siCard9Examples.js.map +1 -1
  72. package/SiDevice/ISiDevice.js +6 -45
  73. package/SiDevice/ISiDevice.js.map +1 -1
  74. package/SiDevice/ISiDeviceDriver.js +3 -41
  75. package/SiDevice/ISiDeviceDriver.js.map +1 -1
  76. package/SiDevice/SiDevice.js +20 -57
  77. package/SiDevice/SiDevice.js.map +1 -1
  78. package/SiDevice/SiDevice.test.js +103 -138
  79. package/SiDevice/SiDevice.test.js.map +1 -1
  80. package/SiDevice/WebSerialSiDeviceDriver.d.ts +4 -2
  81. package/SiDevice/WebSerialSiDeviceDriver.d.ts.map +1 -1
  82. package/SiDevice/WebSerialSiDeviceDriver.js +91 -74
  83. package/SiDevice/WebSerialSiDeviceDriver.js.map +1 -1
  84. package/SiDevice/WebUsbSiDeviceDriver.d.ts.map +1 -1
  85. package/SiDevice/WebUsbSiDeviceDriver.js +29 -88
  86. package/SiDevice/WebUsbSiDeviceDriver.js.map +1 -1
  87. package/SiDevice/index.js +1 -5
  88. package/SiDevice/index.js.map +1 -1
  89. package/SiDevice/testUtils/index.js +2 -7
  90. package/SiDevice/testUtils/index.js.map +1 -1
  91. package/SiDevice/testUtils/testISiDeviceDriver.js +10 -47
  92. package/SiDevice/testUtils/testISiDeviceDriver.js.map +1 -1
  93. package/SiDevice/testUtils/testISiDeviceDriverWithAutodetection.js +15 -52
  94. package/SiDevice/testUtils/testISiDeviceDriverWithAutodetection.js.map +1 -1
  95. package/SiStation/BaseSiStation.js +18 -55
  96. package/SiStation/BaseSiStation.js.map +1 -1
  97. package/SiStation/BaseSiStation.test.js +60 -95
  98. package/SiStation/BaseSiStation.test.js.map +1 -1
  99. package/SiStation/CoupledSiStation.js +16 -53
  100. package/SiStation/CoupledSiStation.js.map +1 -1
  101. package/SiStation/CoupledSiStation.test.js +27 -62
  102. package/SiStation/CoupledSiStation.test.js.map +1 -1
  103. package/SiStation/ISiMainStation.js +4 -43
  104. package/SiStation/ISiMainStation.js.map +1 -1
  105. package/SiStation/ISiSendTask.js +2 -5
  106. package/SiStation/ISiSendTask.js.map +1 -1
  107. package/SiStation/ISiStation.js +5 -8
  108. package/SiStation/ISiStation.js.map +1 -1
  109. package/SiStation/ISiTargetMultiplexer.js +6 -45
  110. package/SiStation/ISiTargetMultiplexer.js.map +1 -1
  111. package/SiStation/SiMainStation.js +19 -56
  112. package/SiStation/SiMainStation.js.map +1 -1
  113. package/SiStation/SiMainStation.test.js +88 -123
  114. package/SiStation/SiMainStation.test.js.map +1 -1
  115. package/SiStation/SiSendTask.js +11 -48
  116. package/SiStation/SiSendTask.js.map +1 -1
  117. package/SiStation/SiTargetMultiplexer.js +46 -83
  118. package/SiStation/SiTargetMultiplexer.js.map +1 -1
  119. package/SiStation/SiTargetMultiplexer.targeting.test.js +42 -77
  120. package/SiStation/SiTargetMultiplexer.targeting.test.js.map +1 -1
  121. package/SiStation/SiTargetMultiplexer.test.js +201 -236
  122. package/SiStation/SiTargetMultiplexer.test.js.map +1 -1
  123. package/SiStation/index.js +5 -13
  124. package/SiStation/index.js.map +1 -1
  125. package/SiStation/siStationExamples.js +6 -43
  126. package/SiStation/siStationExamples.js.map +1 -1
  127. package/constants.js +4 -7
  128. package/constants.js.map +1 -1
  129. package/constants.test.js +12 -47
  130. package/constants.test.js.map +1 -1
  131. package/fakes/FakeSiCard/BaseFakeSiCard.js +1 -5
  132. package/fakes/FakeSiCard/BaseFakeSiCard.js.map +1 -1
  133. package/fakes/FakeSiCard/BaseFakeSiCard.test.js +6 -41
  134. package/fakes/FakeSiCard/BaseFakeSiCard.test.js.map +1 -1
  135. package/fakes/FakeSiCard/IFakeSiCard.js +1 -2
  136. package/fakes/FakeSiCard/index.js +2 -20
  137. package/fakes/FakeSiCard/index.js.map +1 -1
  138. package/fakes/FakeSiCard/types/FakeModernSiCard.js +12 -49
  139. package/fakes/FakeSiCard/types/FakeModernSiCard.js.map +1 -1
  140. package/fakes/FakeSiCard/types/FakeModernSiCard.test.js +25 -60
  141. package/fakes/FakeSiCard/types/FakeModernSiCard.test.js.map +1 -1
  142. package/fakes/FakeSiCard/types/FakeSIAC.js +8 -12
  143. package/fakes/FakeSiCard/types/FakeSIAC.js.map +1 -1
  144. package/fakes/FakeSiCard/types/FakeSiCard10.js +8 -12
  145. package/fakes/FakeSiCard/types/FakeSiCard10.js.map +1 -1
  146. package/fakes/FakeSiCard/types/FakeSiCard11.js +8 -12
  147. package/fakes/FakeSiCard/types/FakeSiCard11.js.map +1 -1
  148. package/fakes/FakeSiCard/types/FakeSiCard5.js +12 -49
  149. package/fakes/FakeSiCard/types/FakeSiCard5.js.map +1 -1
  150. package/fakes/FakeSiCard/types/FakeSiCard5.test.js +20 -55
  151. package/fakes/FakeSiCard/types/FakeSiCard5.test.js.map +1 -1
  152. package/fakes/FakeSiCard/types/FakeSiCard6.js +12 -49
  153. package/fakes/FakeSiCard/types/FakeSiCard6.js.map +1 -1
  154. package/fakes/FakeSiCard/types/FakeSiCard6.test.js +25 -60
  155. package/fakes/FakeSiCard/types/FakeSiCard6.test.js.map +1 -1
  156. package/fakes/FakeSiCard/types/FakeSiCard8.js +7 -11
  157. package/fakes/FakeSiCard/types/FakeSiCard8.js.map +1 -1
  158. package/fakes/FakeSiCard/types/FakeSiCard9.js +7 -11
  159. package/fakes/FakeSiCard/types/FakeSiCard9.js.map +1 -1
  160. package/fakes/FakeSiCard/types/index.js +7 -17
  161. package/fakes/FakeSiCard/types/index.js.map +1 -1
  162. package/fakes/FakeSiDeviceDriver.js +10 -47
  163. package/fakes/FakeSiDeviceDriver.js.map +1 -1
  164. package/fakes/FakeSiMainStation.js +29 -66
  165. package/fakes/FakeSiMainStation.js.map +1 -1
  166. package/fakes/FakeSiMainStation.test.js +43 -78
  167. package/fakes/FakeSiMainStation.test.js.map +1 -1
  168. package/fakes/IFakeSiMainStation.js +2 -39
  169. package/fakes/IFakeSiMainStation.js.map +1 -1
  170. package/fakes/index.js +2 -20
  171. package/fakes/index.js.map +1 -1
  172. package/index.js +10 -46
  173. package/index.js.map +1 -1
  174. package/package.json +3 -2
  175. package/siProtocol.js +35 -82
  176. package/siProtocol.js.map +1 -1
  177. package/siProtocol.test.js +308 -345
  178. package/siProtocol.test.js.map +1 -1
  179. package/storage/SiArray.js +4 -8
  180. package/storage/SiArray.js.map +1 -1
  181. package/storage/SiArray.test.js +56 -58
  182. package/storage/SiArray.test.js.map +1 -1
  183. package/storage/SiBool.js +5 -9
  184. package/storage/SiBool.js.map +1 -1
  185. package/storage/SiBool.test.js +63 -65
  186. package/storage/SiBool.test.js.map +1 -1
  187. package/storage/SiDataType.js +9 -14
  188. package/storage/SiDataType.js.map +1 -1
  189. package/storage/SiDataType.test.js +23 -25
  190. package/storage/SiDataType.test.js.map +1 -1
  191. package/storage/SiDict.js +4 -8
  192. package/storage/SiDict.js.map +1 -1
  193. package/storage/SiDict.test.js +52 -54
  194. package/storage/SiDict.test.js.map +1 -1
  195. package/storage/SiEnum.js +7 -44
  196. package/storage/SiEnum.js.map +1 -1
  197. package/storage/SiEnum.test.js +59 -61
  198. package/storage/SiEnum.test.js.map +1 -1
  199. package/storage/SiFieldValue.js +4 -8
  200. package/storage/SiFieldValue.js.map +1 -1
  201. package/storage/SiFieldValue.test.js +25 -27
  202. package/storage/SiFieldValue.test.js.map +1 -1
  203. package/storage/SiInt.js +5 -9
  204. package/storage/SiInt.js.map +1 -1
  205. package/storage/SiInt.test.js +63 -65
  206. package/storage/SiInt.test.js.map +1 -1
  207. package/storage/SiModified.js +5 -9
  208. package/storage/SiModified.js.map +1 -1
  209. package/storage/SiModified.test.js +75 -77
  210. package/storage/SiModified.test.js.map +1 -1
  211. package/storage/SiStorage.js +4 -9
  212. package/storage/SiStorage.js.map +1 -1
  213. package/storage/SiStorage.test.js +32 -67
  214. package/storage/SiStorage.test.js.map +1 -1
  215. package/storage/index.js +11 -28
  216. package/storage/index.js.map +1 -1
  217. package/storage/index.test.js +93 -128
  218. package/storage/index.test.js.map +1 -1
  219. package/storage/interfaces.js +3 -41
  220. package/storage/interfaces.js.map +1 -1
  221. package/storage/siStringEncoding.js +1 -5
  222. package/storage/siStringEncoding.js.map +1 -1
  223. package/testUtils.js +16 -28
  224. package/testUtils.js.map +1 -1
  225. package/testUtils.test.js +65 -100
  226. package/testUtils.test.js.map +1 -1
  227. package/utils/NumberRange.js +2 -6
  228. package/utils/NumberRange.js.map +1 -1
  229. package/utils/NumberRange.test.js +54 -56
  230. package/utils/NumberRange.test.js.map +1 -1
  231. package/utils/NumberRangeRegistry.js +5 -42
  232. package/utils/NumberRangeRegistry.js.map +1 -1
  233. package/utils/NumberRangeRegistry.test.js +35 -37
  234. package/utils/NumberRangeRegistry.test.js.map +1 -1
  235. package/utils/bytes.js +11 -22
  236. package/utils/bytes.js.map +1 -1
  237. package/utils/bytes.test.js +98 -133
  238. package/utils/bytes.test.js.map +1 -1
  239. package/utils/errors.js +4 -11
  240. package/utils/errors.js.map +1 -1
  241. package/utils/errors.test.js +16 -51
  242. package/utils/errors.test.js.map +1 -1
  243. package/utils/events.js +3 -41
  244. package/utils/events.js.map +1 -1
  245. package/utils/events.test.js +21 -56
  246. package/utils/events.test.js.map +1 -1
  247. package/utils/general.js +4 -11
  248. package/utils/general.js.map +1 -1
  249. package/utils/general.test.js +77 -112
  250. package/utils/general.test.js.map +1 -1
  251. package/utils/index.js +8 -24
  252. package/utils/index.js.map +1 -1
  253. package/utils/mixins.js +1 -5
  254. package/utils/mixins.js.map +1 -1
  255. package/utils/mixins.test.js +13 -48
  256. package/utils/mixins.test.js.map +1 -1
  257. package/utils/typed.js +1 -4
  258. package/utils/typed.js.map +1 -1
@@ -1,46 +1,10 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getValidButIncompleteMessageBytes = void 0;
37
- const globals_1 = require("@jest/globals");
38
- const immutable_1 = require("immutable");
39
- const constants_1 = require("./constants");
40
- const utils = __importStar(require("./utils"));
41
- const storage = __importStar(require("./storage"));
42
- const testUtils = __importStar(require("./testUtils"));
43
- const siProtocol = __importStar(require("./siProtocol"));
1
+ import { describe, expect, test } from '@jest/globals';
2
+ import { List } from 'immutable';
3
+ import { proto } from './constants';
4
+ import * as utils from './utils';
5
+ import * as storage from './storage';
6
+ import * as testUtils from './testUtils';
7
+ import * as siProtocol from './siProtocol';
44
8
  const json2date = (str) => {
45
9
  const res = /^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2})\.([0-9]{3})Z$/.exec(str);
46
10
  if (!res) {
@@ -61,7 +25,7 @@ const date2json = (date) => {
61
25
  const milliseconds = date.getMilliseconds();
62
26
  return new Date(Date.UTC(year, month, day, hours, minutes, seconds, milliseconds)).toJSON();
63
27
  };
64
- const getValidButIncompleteMessageBytes = () => {
28
+ export const getValidButIncompleteMessageBytes = () => {
65
29
  const cutOffCommands = [];
66
30
  const appendCutOffCommands = (command) => {
67
31
  Array.from({ length: command.length }, (_, i) => i).forEach((cutOffLength) => {
@@ -74,446 +38,445 @@ const getValidButIncompleteMessageBytes = () => {
74
38
  appendCutOffCommands(getRandomMessageBytes(2));
75
39
  return cutOffCommands;
76
40
  };
77
- exports.getValidButIncompleteMessageBytes = getValidButIncompleteMessageBytes;
78
- (0, globals_1.describe)('siProtocol', () => {
41
+ describe('siProtocol', () => {
79
42
  const asOf = new Date('2020-01-01T00:00:00.000Z');
80
- (0, globals_1.test)('arr2date works', () => {
81
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01], asOf))).toBe('2000-01-01T00:00:00.000Z');
82
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x01, 0x02, 0x03], asOf))).toBe('2001-02-03T00:00:00.000Z');
83
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x01, 0x0c, 0x1f], asOf))).toBe('2001-12-31T00:00:00.000Z');
84
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f], asOf))).toBe('2020-12-31T00:00:00.000Z');
85
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x15, 0x01, 0x01], asOf))).toBe('1921-01-01T00:00:00.000Z');
86
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f], asOf))).toBe('1999-12-31T00:00:00.000Z');
87
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0x00, 0x00], asOf))).toBe('2000-01-01T00:00:00.000Z');
88
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('2020-12-31T12:00:00.000Z');
89
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x15, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('1921-12-31T12:00:00.000Z');
90
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('1999-12-31T12:00:00.000Z');
91
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0xa8, 0xbf], asOf))).toBe('2000-01-01T11:59:59.000Z');
92
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0xa8, 0xbf], asOf))).toBe('1999-12-31T23:59:59.000Z');
93
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00], asOf))).toBe('2000-01-01T00:00:00.000Z');
94
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x20], asOf))).toBe('2020-12-31T12:00:00.125Z');
95
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x15, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x60], asOf))).toBe('1921-12-31T12:00:00.375Z');
96
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x80], asOf))).toBe('1999-12-31T12:00:00.500Z');
97
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0xa8, 0xbf, 0x40], asOf))).toBe('2000-01-01T11:59:59.250Z');
98
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0xa8, 0xbf, 0xc0], asOf))).toBe('1999-12-31T23:59:59.750Z');
43
+ test('arr2date works', () => {
44
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01], asOf))).toBe('2000-01-01T00:00:00.000Z');
45
+ expect(date2json(siProtocol.arr2date([0x01, 0x02, 0x03], asOf))).toBe('2001-02-03T00:00:00.000Z');
46
+ expect(date2json(siProtocol.arr2date([0x01, 0x0c, 0x1f], asOf))).toBe('2001-12-31T00:00:00.000Z');
47
+ expect(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f], asOf))).toBe('2020-12-31T00:00:00.000Z');
48
+ expect(date2json(siProtocol.arr2date([0x15, 0x01, 0x01], asOf))).toBe('1921-01-01T00:00:00.000Z');
49
+ expect(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f], asOf))).toBe('1999-12-31T00:00:00.000Z');
50
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0x00, 0x00], asOf))).toBe('2000-01-01T00:00:00.000Z');
51
+ expect(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('2020-12-31T12:00:00.000Z');
52
+ expect(date2json(siProtocol.arr2date([0x15, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('1921-12-31T12:00:00.000Z');
53
+ expect(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0x00, 0x00], asOf))).toBe('1999-12-31T12:00:00.000Z');
54
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0xa8, 0xbf], asOf))).toBe('2000-01-01T11:59:59.000Z');
55
+ expect(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0xa8, 0xbf], asOf))).toBe('1999-12-31T23:59:59.000Z');
56
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00], asOf))).toBe('2000-01-01T00:00:00.000Z');
57
+ expect(date2json(siProtocol.arr2date([0x14, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x20], asOf))).toBe('2020-12-31T12:00:00.125Z');
58
+ expect(date2json(siProtocol.arr2date([0x15, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x60], asOf))).toBe('1921-12-31T12:00:00.375Z');
59
+ expect(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0x00, 0x00, 0x80], asOf))).toBe('1999-12-31T12:00:00.500Z');
60
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01, 0x00, 0xa8, 0xbf, 0x40], asOf))).toBe('2000-01-01T11:59:59.250Z');
61
+ expect(date2json(siProtocol.arr2date([0x63, 0x0c, 0x1f, 0x01, 0xa8, 0xbf, 0xc0], asOf))).toBe('1999-12-31T23:59:59.750Z');
99
62
  });
100
- (0, globals_1.test)('arr2date sanitizes', () => {
101
- (0, globals_1.expect)(() => siProtocol.arr2date([], asOf)).toThrow();
102
- (0, globals_1.expect)(() => siProtocol.arr2date([0x100], asOf)).toThrow();
103
- (0, globals_1.expect)(() => siProtocol.arr2date([0x123, 0x123], asOf)).toThrow();
104
- (0, globals_1.expect)(() => siProtocol.arr2date([1, 2, 3, 4], asOf)).toThrow();
105
- (0, globals_1.expect)(() => siProtocol.arr2date([1, 2, 3, 4, 5], asOf)).toThrow();
106
- (0, globals_1.expect)(() => siProtocol.arr2date([1, 2, 3, 4, 5, 6, 7, 8], asOf)).toThrow();
107
- (0, globals_1.expect)(siProtocol.arr2date([100, 1, 1], asOf)).toBe(undefined);
108
- (0, globals_1.expect)(siProtocol.arr2date([0xff, 1, 1], asOf)).toBe(undefined);
109
- (0, globals_1.expect)(siProtocol.arr2date([12, 0, 1], asOf)).toBe(undefined);
110
- (0, globals_1.expect)(siProtocol.arr2date([12, 13, 1], asOf)).toBe(undefined);
111
- (0, globals_1.expect)(siProtocol.arr2date([12, 0xff, 1], asOf)).toBe(undefined);
63
+ test('arr2date sanitizes', () => {
64
+ expect(() => siProtocol.arr2date([], asOf)).toThrow();
65
+ expect(() => siProtocol.arr2date([0x100], asOf)).toThrow();
66
+ expect(() => siProtocol.arr2date([0x123, 0x123], asOf)).toThrow();
67
+ expect(() => siProtocol.arr2date([1, 2, 3, 4], asOf)).toThrow();
68
+ expect(() => siProtocol.arr2date([1, 2, 3, 4, 5], asOf)).toThrow();
69
+ expect(() => siProtocol.arr2date([1, 2, 3, 4, 5, 6, 7, 8], asOf)).toThrow();
70
+ expect(siProtocol.arr2date([100, 1, 1], asOf)).toBe(undefined);
71
+ expect(siProtocol.arr2date([0xff, 1, 1], asOf)).toBe(undefined);
72
+ expect(siProtocol.arr2date([12, 0, 1], asOf)).toBe(undefined);
73
+ expect(siProtocol.arr2date([12, 13, 1], asOf)).toBe(undefined);
74
+ expect(siProtocol.arr2date([12, 0xff, 1], asOf)).toBe(undefined);
112
75
  });
113
- (0, globals_1.test)('arr2date without asOf', () => {
114
- (0, globals_1.expect)(date2json(siProtocol.arr2date([0x00, 0x01, 0x01]))).toBe('2000-01-01T00:00:00.000Z');
76
+ test('arr2date without asOf', () => {
77
+ expect(date2json(siProtocol.arr2date([0x00, 0x01, 0x01]))).toBe('2000-01-01T00:00:00.000Z');
115
78
  });
116
- (0, globals_1.test)('date2arr', () => {
117
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-01T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x01, 0x0c, 0x00, 0x00, 0x00]);
118
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-01T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x01, 0x0d, 0x00, 0x00, 0x00]);
119
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-02T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00]);
120
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-02T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00]);
121
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-03T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x03, 0x02, 0x00, 0x00, 0x00]);
122
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-03T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00]);
123
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-04T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x04, 0x04, 0x00, 0x00, 0x00]);
124
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-04T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x04, 0x05, 0x00, 0x00, 0x00]);
125
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-05T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x05, 0x06, 0x00, 0x00, 0x00]);
126
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-05T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x05, 0x07, 0x00, 0x00, 0x00]);
127
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-06T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x06, 0x08, 0x00, 0x00, 0x00]);
128
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-06T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x06, 0x09, 0x00, 0x00, 0x00]);
129
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-07T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x07, 0x0a, 0x00, 0x00, 0x00]);
130
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-07T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x07, 0x0b, 0x00, 0x00, 0x00]);
131
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2099-12-31T12:00:00.500Z'))).toEqual([0x63, 0x0c, 0x1f, 0x09, 0x00, 0x00, 0x80]);
132
- (0, globals_1.expect)(siProtocol.date2arr(json2date('2000-01-01T11:59:59.250Z'))).toEqual([0x00, 0x01, 0x01, 0x0c, 0xa8, 0xbf, 0x40]);
133
- (0, globals_1.expect)(siProtocol.date2arr(json2date('1999-12-31T23:59:59.750Z'))).toEqual([0x63, 0x0c, 0x1f, 0x0b, 0xa8, 0xbf, 0xc0]);
79
+ test('date2arr', () => {
80
+ expect(siProtocol.date2arr(json2date('2000-01-01T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x01, 0x0c, 0x00, 0x00, 0x00]);
81
+ expect(siProtocol.date2arr(json2date('2000-01-01T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x01, 0x0d, 0x00, 0x00, 0x00]);
82
+ expect(siProtocol.date2arr(json2date('2000-01-02T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00]);
83
+ expect(siProtocol.date2arr(json2date('2000-01-02T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x02, 0x01, 0x00, 0x00, 0x00]);
84
+ expect(siProtocol.date2arr(json2date('2000-01-03T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x03, 0x02, 0x00, 0x00, 0x00]);
85
+ expect(siProtocol.date2arr(json2date('2000-01-03T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x03, 0x03, 0x00, 0x00, 0x00]);
86
+ expect(siProtocol.date2arr(json2date('2000-01-04T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x04, 0x04, 0x00, 0x00, 0x00]);
87
+ expect(siProtocol.date2arr(json2date('2000-01-04T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x04, 0x05, 0x00, 0x00, 0x00]);
88
+ expect(siProtocol.date2arr(json2date('2000-01-05T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x05, 0x06, 0x00, 0x00, 0x00]);
89
+ expect(siProtocol.date2arr(json2date('2000-01-05T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x05, 0x07, 0x00, 0x00, 0x00]);
90
+ expect(siProtocol.date2arr(json2date('2000-01-06T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x06, 0x08, 0x00, 0x00, 0x00]);
91
+ expect(siProtocol.date2arr(json2date('2000-01-06T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x06, 0x09, 0x00, 0x00, 0x00]);
92
+ expect(siProtocol.date2arr(json2date('2000-01-07T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x07, 0x0a, 0x00, 0x00, 0x00]);
93
+ expect(siProtocol.date2arr(json2date('2000-01-07T12:00:00.000Z'))).toEqual([0x00, 0x01, 0x07, 0x0b, 0x00, 0x00, 0x00]);
94
+ expect(siProtocol.date2arr(json2date('2099-12-31T12:00:00.500Z'))).toEqual([0x63, 0x0c, 0x1f, 0x09, 0x00, 0x00, 0x80]);
95
+ expect(siProtocol.date2arr(json2date('2000-01-01T11:59:59.250Z'))).toEqual([0x00, 0x01, 0x01, 0x0c, 0xa8, 0xbf, 0x40]);
96
+ expect(siProtocol.date2arr(json2date('1999-12-31T23:59:59.750Z'))).toEqual([0x63, 0x0c, 0x1f, 0x0b, 0xa8, 0xbf, 0xc0]);
134
97
  });
135
- (0, globals_1.test)('date2arr and arr2date do the reverse', () => {
98
+ test('date2arr and arr2date do the reverse', () => {
136
99
  const forthAndBack = (date) => siProtocol.arr2date(siProtocol.date2arr(date), asOf);
137
100
  const forthAndBackAsJson = (str) => date2json(forthAndBack(json2date(str)));
138
- (0, globals_1.expect)(forthAndBackAsJson('2000-01-01T00:00:00.000Z')).toBe('2000-01-01T00:00:00.000Z');
139
- (0, globals_1.expect)(forthAndBackAsJson('2001-02-03T00:00:00.000Z')).toBe('2001-02-03T00:00:00.000Z');
140
- (0, globals_1.expect)(forthAndBackAsJson('2001-12-31T00:00:00.000Z')).toBe('2001-12-31T00:00:00.000Z');
141
- (0, globals_1.expect)(forthAndBackAsJson('2020-12-31T00:00:00.000Z')).toBe('2020-12-31T00:00:00.000Z');
142
- (0, globals_1.expect)(forthAndBackAsJson('1921-01-01T00:00:00.000Z')).toBe('1921-01-01T00:00:00.000Z');
143
- (0, globals_1.expect)(forthAndBackAsJson('1999-12-31T00:00:00.000Z')).toBe('1999-12-31T00:00:00.000Z');
144
- (0, globals_1.expect)(forthAndBackAsJson('2000-01-01T06:30:00.000Z')).toBe('2000-01-01T06:30:00.000Z');
145
- (0, globals_1.expect)(forthAndBackAsJson('2020-12-31T13:27:30.000Z')).toBe('2020-12-31T13:27:30.000Z');
146
- (0, globals_1.expect)(forthAndBackAsJson('1921-12-31T12:00:00.000Z')).toBe('1921-12-31T12:00:00.000Z');
147
- (0, globals_1.expect)(forthAndBackAsJson('1999-12-31T12:00:00.000Z')).toBe('1999-12-31T12:00:00.000Z');
148
- (0, globals_1.expect)(forthAndBackAsJson('2000-01-01T11:59:59.000Z')).toBe('2000-01-01T11:59:59.000Z');
149
- (0, globals_1.expect)(forthAndBackAsJson('1999-12-31T23:59:59.000Z')).toBe('1999-12-31T23:59:59.000Z');
150
- (0, globals_1.expect)(forthAndBackAsJson('2000-01-01T00:00:00.000Z')).toBe('2000-01-01T00:00:00.000Z');
151
- (0, globals_1.expect)(forthAndBackAsJson('2020-12-31T12:00:00.125Z')).toBe('2020-12-31T12:00:00.125Z');
152
- (0, globals_1.expect)(forthAndBackAsJson('1921-12-31T12:00:00.375Z')).toBe('1921-12-31T12:00:00.375Z');
153
- (0, globals_1.expect)(forthAndBackAsJson('1999-12-31T12:00:00.500Z')).toBe('1999-12-31T12:00:00.500Z');
154
- (0, globals_1.expect)(forthAndBackAsJson('2000-01-01T11:59:59.250Z')).toBe('2000-01-01T11:59:59.250Z');
155
- (0, globals_1.expect)(forthAndBackAsJson('1999-12-31T23:59:59.750Z')).toBe('1999-12-31T23:59:59.750Z');
101
+ expect(forthAndBackAsJson('2000-01-01T00:00:00.000Z')).toBe('2000-01-01T00:00:00.000Z');
102
+ expect(forthAndBackAsJson('2001-02-03T00:00:00.000Z')).toBe('2001-02-03T00:00:00.000Z');
103
+ expect(forthAndBackAsJson('2001-12-31T00:00:00.000Z')).toBe('2001-12-31T00:00:00.000Z');
104
+ expect(forthAndBackAsJson('2020-12-31T00:00:00.000Z')).toBe('2020-12-31T00:00:00.000Z');
105
+ expect(forthAndBackAsJson('1921-01-01T00:00:00.000Z')).toBe('1921-01-01T00:00:00.000Z');
106
+ expect(forthAndBackAsJson('1999-12-31T00:00:00.000Z')).toBe('1999-12-31T00:00:00.000Z');
107
+ expect(forthAndBackAsJson('2000-01-01T06:30:00.000Z')).toBe('2000-01-01T06:30:00.000Z');
108
+ expect(forthAndBackAsJson('2020-12-31T13:27:30.000Z')).toBe('2020-12-31T13:27:30.000Z');
109
+ expect(forthAndBackAsJson('1921-12-31T12:00:00.000Z')).toBe('1921-12-31T12:00:00.000Z');
110
+ expect(forthAndBackAsJson('1999-12-31T12:00:00.000Z')).toBe('1999-12-31T12:00:00.000Z');
111
+ expect(forthAndBackAsJson('2000-01-01T11:59:59.000Z')).toBe('2000-01-01T11:59:59.000Z');
112
+ expect(forthAndBackAsJson('1999-12-31T23:59:59.000Z')).toBe('1999-12-31T23:59:59.000Z');
113
+ expect(forthAndBackAsJson('2000-01-01T00:00:00.000Z')).toBe('2000-01-01T00:00:00.000Z');
114
+ expect(forthAndBackAsJson('2020-12-31T12:00:00.125Z')).toBe('2020-12-31T12:00:00.125Z');
115
+ expect(forthAndBackAsJson('1921-12-31T12:00:00.375Z')).toBe('1921-12-31T12:00:00.375Z');
116
+ expect(forthAndBackAsJson('1999-12-31T12:00:00.500Z')).toBe('1999-12-31T12:00:00.500Z');
117
+ expect(forthAndBackAsJson('2000-01-01T11:59:59.250Z')).toBe('2000-01-01T11:59:59.250Z');
118
+ expect(forthAndBackAsJson('1999-12-31T23:59:59.750Z')).toBe('1999-12-31T23:59:59.750Z');
156
119
  });
157
- (0, globals_1.test)('arr2cardNumber works', () => {
158
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x00, 0x00, 0x00])).toBe(0x000000);
159
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x00])).toBe(0x003412);
160
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x01])).toBe(0x003412 + 1 * 100000);
161
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x02])).toBe(0x003412 + 2 * 100000);
162
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x03])).toBe(0x003412 + 3 * 100000);
163
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x04])).toBe(0x003412 + 4 * 100000);
120
+ test('arr2cardNumber works', () => {
121
+ expect(siProtocol.arr2cardNumber([0x00, 0x00, 0x00])).toBe(0x000000);
122
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x00])).toBe(0x003412);
123
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x01])).toBe(0x003412 + 1 * 100000);
124
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x02])).toBe(0x003412 + 2 * 100000);
125
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x03])).toBe(0x003412 + 3 * 100000);
126
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x04])).toBe(0x003412 + 4 * 100000);
164
127
  // the following should actually never appear, as 0x053412 = 341010, which would be represented differently
165
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x05])).toBe(0x053412);
166
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x08])).toBe(0x083412);
167
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x56])).toBe(0x563412);
168
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x00, 0x00, 0x00, 0x00])).toBe(0x00000000);
169
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x00, 0x00, 0x00, 0x01])).toBe(0x01000000);
170
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x56, 0x78])).toBe(0x78563412);
171
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, 0x56, undefined])).toBe(undefined);
172
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, 0x34, undefined, 0x78])).toBe(undefined);
173
- (0, globals_1.expect)(siProtocol.arr2cardNumber([0x12, undefined, 0x56, 0x78])).toBe(undefined);
174
- (0, globals_1.expect)(siProtocol.arr2cardNumber([undefined, 0x34, 0x56, 0x78])).toBe(undefined);
128
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x05])).toBe(0x053412);
129
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x08])).toBe(0x083412);
130
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x56])).toBe(0x563412);
131
+ expect(siProtocol.arr2cardNumber([0x00, 0x00, 0x00, 0x00])).toBe(0x00000000);
132
+ expect(siProtocol.arr2cardNumber([0x00, 0x00, 0x00, 0x01])).toBe(0x01000000);
133
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x56, 0x78])).toBe(0x78563412);
134
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, 0x56, undefined])).toBe(undefined);
135
+ expect(siProtocol.arr2cardNumber([0x12, 0x34, undefined, 0x78])).toBe(undefined);
136
+ expect(siProtocol.arr2cardNumber([0x12, undefined, 0x56, 0x78])).toBe(undefined);
137
+ expect(siProtocol.arr2cardNumber([undefined, 0x34, 0x56, 0x78])).toBe(undefined);
175
138
  });
176
- (0, globals_1.test)('arr2cardNumber sanitizes', () => {
177
- (0, globals_1.expect)(() => siProtocol.arr2cardNumber([])).toThrow();
178
- (0, globals_1.expect)(() => siProtocol.arr2cardNumber([1])).toThrow();
179
- (0, globals_1.expect)(() => siProtocol.arr2cardNumber([1, 2])).toThrow();
180
- (0, globals_1.expect)(() => siProtocol.arr2cardNumber([1, 2, 3, 4, 5])).toThrow();
181
- (0, globals_1.expect)(() => siProtocol.arr2cardNumber([1, 2, 3, 4, 5, 6, 7, 8])).toThrow();
139
+ test('arr2cardNumber sanitizes', () => {
140
+ expect(() => siProtocol.arr2cardNumber([])).toThrow();
141
+ expect(() => siProtocol.arr2cardNumber([1])).toThrow();
142
+ expect(() => siProtocol.arr2cardNumber([1, 2])).toThrow();
143
+ expect(() => siProtocol.arr2cardNumber([1, 2, 3, 4, 5])).toThrow();
144
+ expect(() => siProtocol.arr2cardNumber([1, 2, 3, 4, 5, 6, 7, 8])).toThrow();
182
145
  });
183
- (0, globals_1.test)('cardNumber2arr works', () => {
184
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x000000)).toEqual([0x00, 0x00, 0x00, 0x00]);
185
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x003412)).toEqual([0x12, 0x34, 0x00, 0x00]);
186
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x003412 + 1 * 100000)).toEqual([0x12, 0x34, 0x01, 0x00]);
187
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x003412 + 2 * 100000)).toEqual([0x12, 0x34, 0x02, 0x00]);
188
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x003412 + 3 * 100000)).toEqual([0x12, 0x34, 0x03, 0x00]);
189
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x003412 + 4 * 100000)).toEqual([0x12, 0x34, 0x04, 0x00]);
190
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x083412)).toEqual([0x12, 0x34, 0x08, 0x00]);
191
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x563412)).toEqual([0x12, 0x34, 0x56, 0x00]);
192
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x00000000)).toEqual([0x00, 0x00, 0x00, 0x00]);
193
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x01000000)).toEqual([0x00, 0x00, 0x00, 0x01]);
194
- (0, globals_1.expect)(siProtocol.cardNumber2arr(0x78563412)).toEqual([0x12, 0x34, 0x56, 0x78]);
195
- (0, globals_1.expect)(siProtocol.cardNumber2arr(undefined)).toEqual([undefined, undefined, undefined, undefined]);
146
+ test('cardNumber2arr works', () => {
147
+ expect(siProtocol.cardNumber2arr(0x000000)).toEqual([0x00, 0x00, 0x00, 0x00]);
148
+ expect(siProtocol.cardNumber2arr(0x003412)).toEqual([0x12, 0x34, 0x00, 0x00]);
149
+ expect(siProtocol.cardNumber2arr(0x003412 + 1 * 100000)).toEqual([0x12, 0x34, 0x01, 0x00]);
150
+ expect(siProtocol.cardNumber2arr(0x003412 + 2 * 100000)).toEqual([0x12, 0x34, 0x02, 0x00]);
151
+ expect(siProtocol.cardNumber2arr(0x003412 + 3 * 100000)).toEqual([0x12, 0x34, 0x03, 0x00]);
152
+ expect(siProtocol.cardNumber2arr(0x003412 + 4 * 100000)).toEqual([0x12, 0x34, 0x04, 0x00]);
153
+ expect(siProtocol.cardNumber2arr(0x083412)).toEqual([0x12, 0x34, 0x08, 0x00]);
154
+ expect(siProtocol.cardNumber2arr(0x563412)).toEqual([0x12, 0x34, 0x56, 0x00]);
155
+ expect(siProtocol.cardNumber2arr(0x00000000)).toEqual([0x00, 0x00, 0x00, 0x00]);
156
+ expect(siProtocol.cardNumber2arr(0x01000000)).toEqual([0x00, 0x00, 0x00, 0x01]);
157
+ expect(siProtocol.cardNumber2arr(0x78563412)).toEqual([0x12, 0x34, 0x56, 0x78]);
158
+ expect(siProtocol.cardNumber2arr(undefined)).toEqual([undefined, undefined, undefined, undefined]);
196
159
  });
197
- (0, globals_1.test)('consistent cardNumber <=> arr conversion', () => {
160
+ test('consistent cardNumber <=> arr conversion', () => {
198
161
  const cardNumbers = [1000, 10000, 65535, 100000, 165535, 200000, 265535, 300000, 365535, 400000, 465535, 500000, 599999, 999999, 1000000, 1999999, 2000000, 2999999];
199
162
  cardNumbers.forEach((cardNumber) => {
200
163
  const arr = siProtocol.cardNumber2arr(cardNumber);
201
164
  const restoredCardNumber = siProtocol.arr2cardNumber(arr);
202
- (0, globals_1.expect)(restoredCardNumber).toEqual(cardNumber);
165
+ expect(restoredCardNumber).toEqual(cardNumber);
203
166
  });
204
167
  });
205
- (0, globals_1.test)('prettyMessage', () => {
206
- (0, globals_1.expect)(siProtocol.prettyMessage({ command: constants_1.proto.cmd.GET_MS, parameters: [] }).length > 3).toBe(true);
207
- (0, globals_1.expect)(siProtocol.prettyMessage({ mode: constants_1.proto.ACK }).length > 3).toBe(true);
168
+ test('prettyMessage', () => {
169
+ expect(siProtocol.prettyMessage({ command: proto.cmd.GET_MS, parameters: [] }).length > 3).toBe(true);
170
+ expect(siProtocol.prettyMessage({ mode: proto.ACK }).length > 3).toBe(true);
208
171
  });
209
- (0, globals_1.test)('CRC16', () => {
210
- (0, globals_1.expect)(siProtocol.CRC16([])).toEqual([0x00, 0x00]);
211
- (0, globals_1.expect)(siProtocol.CRC16([0x01])).toEqual([0x01, 0x00]);
212
- (0, globals_1.expect)(siProtocol.CRC16([0x12])).toEqual([0x12, 0x00]);
213
- (0, globals_1.expect)(siProtocol.CRC16([0xff])).toEqual([0xff, 0x00]);
214
- (0, globals_1.expect)(siProtocol.CRC16([0x01, 0x02])).toEqual([0x01, 0x02]);
215
- (0, globals_1.expect)(siProtocol.CRC16([0x12, 0x34])).toEqual([0x12, 0x34]);
216
- (0, globals_1.expect)(siProtocol.CRC16([0x12, 0x34, 0x56])).toEqual([0xba, 0xbb]);
217
- (0, globals_1.expect)(siProtocol.CRC16([0x12, 0x32, 0x56])).toEqual([0xba, 0xaf]);
218
- (0, globals_1.expect)(siProtocol.CRC16([0x12, 0x34, 0x56, 0x78])).toEqual([0x1e, 0x83]);
219
- (0, globals_1.expect)(siProtocol.CRC16([0x12, 0x32, 0x56, 0x78])).toEqual([0x1e, 0xfb]);
172
+ test('CRC16', () => {
173
+ expect(siProtocol.CRC16([])).toEqual([0x00, 0x00]);
174
+ expect(siProtocol.CRC16([0x01])).toEqual([0x01, 0x00]);
175
+ expect(siProtocol.CRC16([0x12])).toEqual([0x12, 0x00]);
176
+ expect(siProtocol.CRC16([0xff])).toEqual([0xff, 0x00]);
177
+ expect(siProtocol.CRC16([0x01, 0x02])).toEqual([0x01, 0x02]);
178
+ expect(siProtocol.CRC16([0x12, 0x34])).toEqual([0x12, 0x34]);
179
+ expect(siProtocol.CRC16([0x12, 0x34, 0x56])).toEqual([0xba, 0xbb]);
180
+ expect(siProtocol.CRC16([0x12, 0x32, 0x56])).toEqual([0xba, 0xaf]);
181
+ expect(siProtocol.CRC16([0x12, 0x34, 0x56, 0x78])).toEqual([0x1e, 0x83]);
182
+ expect(siProtocol.CRC16([0x12, 0x32, 0x56, 0x78])).toEqual([0x1e, 0xfb]);
220
183
  });
221
- (0, globals_1.test)('parse WAKEUP', () => {
222
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.WAKEUP])).toEqual({
223
- message: { mode: constants_1.proto.WAKEUP },
184
+ test('parse WAKEUP', () => {
185
+ expect(siProtocol.parse([proto.WAKEUP])).toEqual({
186
+ message: { mode: proto.WAKEUP },
224
187
  remainder: []
225
188
  });
226
189
  const randomByte = testUtils.getRandomByte();
227
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.WAKEUP, randomByte])).toEqual({
228
- message: { mode: constants_1.proto.WAKEUP },
190
+ expect(siProtocol.parse([proto.WAKEUP, randomByte])).toEqual({
191
+ message: { mode: proto.WAKEUP },
229
192
  remainder: [randomByte]
230
193
  });
231
194
  });
232
- (0, globals_1.test)('parse ACK', () => {
233
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.ACK])).toEqual({
234
- message: { mode: constants_1.proto.ACK },
195
+ test('parse ACK', () => {
196
+ expect(siProtocol.parse([proto.ACK])).toEqual({
197
+ message: { mode: proto.ACK },
235
198
  remainder: []
236
199
  });
237
200
  const randomByte = testUtils.getRandomByte();
238
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.ACK, randomByte])).toEqual({
239
- message: { mode: constants_1.proto.ACK },
201
+ expect(siProtocol.parse([proto.ACK, randomByte])).toEqual({
202
+ message: { mode: proto.ACK },
240
203
  remainder: [randomByte]
241
204
  });
242
205
  });
243
- (0, globals_1.test)('parse NAK', () => {
244
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.NAK])).toEqual({
245
- message: { mode: constants_1.proto.NAK },
206
+ test('parse NAK', () => {
207
+ expect(siProtocol.parse([proto.NAK])).toEqual({
208
+ message: { mode: proto.NAK },
246
209
  remainder: []
247
210
  });
248
211
  const randomByte = testUtils.getRandomByte();
249
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.NAK, randomByte])).toEqual({
250
- message: { mode: constants_1.proto.NAK },
212
+ expect(siProtocol.parse([proto.NAK, randomByte])).toEqual({
213
+ message: { mode: proto.NAK },
251
214
  remainder: [randomByte]
252
215
  });
253
216
  });
254
- (0, globals_1.test)('parse with invalid start byte', () => {
255
- const invalidStartByte = testUtils.getRandomByteExcept([constants_1.proto.STX, constants_1.proto.WAKEUP, constants_1.proto.NAK]);
217
+ test('parse with invalid start byte', () => {
218
+ const invalidStartByte = testUtils.getRandomByteExcept([proto.STX, proto.WAKEUP, proto.NAK]);
256
219
  console.debug(`Chosen invalid start byte: ${utils.prettyHex([invalidStartByte])}`);
257
- (0, globals_1.expect)(siProtocol.parse([invalidStartByte])).toEqual({ message: null, remainder: [] });
220
+ expect(siProtocol.parse([invalidStartByte])).toEqual({ message: null, remainder: [] });
258
221
  const randomByte = testUtils.getRandomByte();
259
- (0, globals_1.expect)(siProtocol.parse([invalidStartByte, randomByte])).toEqual({
222
+ expect(siProtocol.parse([invalidStartByte, randomByte])).toEqual({
260
223
  message: null,
261
224
  remainder: [randomByte]
262
225
  });
263
226
  });
264
- (0, globals_1.test)('parse command without remainder', () => {
227
+ test('parse command without remainder', () => {
265
228
  const parseForMessage = (message) => siProtocol.parse(siProtocol.render(message)).message;
266
- (0, globals_1.expect)(parseForMessage({ command: 0x00, parameters: [] })).toEqual({
229
+ expect(parseForMessage({ command: 0x00, parameters: [] })).toEqual({
267
230
  command: 0x00,
268
231
  parameters: []
269
232
  });
270
- (0, globals_1.expect)(parseForMessage({ command: 0xff, parameters: [0xee] })).toEqual({
233
+ expect(parseForMessage({ command: 0xff, parameters: [0xee] })).toEqual({
271
234
  command: 0xff,
272
235
  parameters: [0xee]
273
236
  });
274
237
  });
275
- (0, globals_1.test)('parse command with remainder', () => {
238
+ test('parse command with remainder', () => {
276
239
  const parseForMessageWithRemainder = (message) => siProtocol.parse([...siProtocol.render(message), 0xdd]);
277
- (0, globals_1.expect)(parseForMessageWithRemainder({ command: 0x00, parameters: [] })).toEqual({
240
+ expect(parseForMessageWithRemainder({ command: 0x00, parameters: [] })).toEqual({
278
241
  message: { command: 0x00, parameters: [] },
279
242
  remainder: [0xdd]
280
243
  });
281
- (0, globals_1.expect)(parseForMessageWithRemainder({ command: 0xff, parameters: [0xee] })).toEqual({
244
+ expect(parseForMessageWithRemainder({ command: 0xff, parameters: [0xee] })).toEqual({
282
245
  message: { command: 0xff, parameters: [0xee] },
283
246
  remainder: [0xdd]
284
247
  });
285
248
  });
286
- (0, globals_1.test)('parse incomplete but valid command', () => {
287
- (0, exports.getValidButIncompleteMessageBytes)().forEach((cutOffCommand) => {
288
- (0, globals_1.expect)(siProtocol.parse(cutOffCommand)).toEqual({ message: null, remainder: cutOffCommand });
249
+ test('parse incomplete but valid command', () => {
250
+ getValidButIncompleteMessageBytes().forEach((cutOffCommand) => {
251
+ expect(siProtocol.parse(cutOffCommand)).toEqual({ message: null, remainder: cutOffCommand });
289
252
  });
290
253
  });
291
- (0, globals_1.test)('parse command with invalid ETX', () => {
292
- const invalidETX = testUtils.getRandomByteExcept([constants_1.proto.ETX]);
254
+ test('parse command with invalid ETX', () => {
255
+ const invalidETX = testUtils.getRandomByteExcept([proto.ETX]);
293
256
  console.debug(`Chosen invalid ETX: ${utils.prettyHex([invalidETX])}`);
294
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x00, invalidETX])).toEqual({
257
+ expect(siProtocol.parse([proto.STX, 0x00, 0x00, 0x00, 0x00, invalidETX])).toEqual({
295
258
  message: null,
296
259
  remainder: [0x00, 0x00, 0x00, 0x00, invalidETX]
297
260
  });
298
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, invalidETX])).toEqual({
261
+ expect(siProtocol.parse([proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, invalidETX])).toEqual({
299
262
  message: null,
300
263
  remainder: [0xff, 0x01, 0xee, 0x00, 0x01, invalidETX]
301
264
  });
302
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x01, invalidETX, 0xdd])).toEqual({
265
+ expect(siProtocol.parse([proto.STX, 0x00, 0x00, 0x00, 0x01, invalidETX, 0xdd])).toEqual({
303
266
  message: null,
304
267
  remainder: [0x00, 0x00, 0x00, 0x01, invalidETX, 0xdd]
305
268
  });
306
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, invalidETX, 0xdd])).toEqual({
269
+ expect(siProtocol.parse([proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, invalidETX, 0xdd])).toEqual({
307
270
  message: null,
308
271
  remainder: [0xff, 0x01, 0xee, 0x00, 0x01, invalidETX, 0xdd]
309
272
  });
310
273
  });
311
- (0, globals_1.test)('parse command with invalid CRC', () => {
312
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x01, constants_1.proto.ETX])).toEqual({
274
+ test('parse command with invalid CRC', () => {
275
+ expect(siProtocol.parse([proto.STX, 0x00, 0x00, 0x00, 0x01, proto.ETX])).toEqual({
313
276
  message: null,
314
277
  remainder: []
315
278
  });
316
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, constants_1.proto.ETX])).toEqual({
279
+ expect(siProtocol.parse([proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, proto.ETX])).toEqual({
317
280
  message: null,
318
281
  remainder: []
319
282
  });
320
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x01, constants_1.proto.ETX, 0xdd])).toEqual({
283
+ expect(siProtocol.parse([proto.STX, 0x00, 0x00, 0x00, 0x01, proto.ETX, 0xdd])).toEqual({
321
284
  message: null,
322
285
  remainder: [0xdd]
323
286
  });
324
- (0, globals_1.expect)(siProtocol.parse([constants_1.proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, constants_1.proto.ETX, 0xdd])).toEqual({
287
+ expect(siProtocol.parse([proto.STX, 0xff, 0x01, 0xee, 0x00, 0x01, proto.ETX, 0xdd])).toEqual({
325
288
  message: null,
326
289
  remainder: [0xdd]
327
290
  });
328
291
  });
329
- (0, globals_1.test)('parseAll without remainder', () => {
292
+ test('parseAll without remainder', () => {
330
293
  const stream0 = [];
331
- (0, globals_1.expect)(siProtocol.parseAll(stream0)).toEqual({
294
+ expect(siProtocol.parseAll(stream0)).toEqual({
332
295
  messages: [],
333
296
  remainder: []
334
297
  });
335
298
  const stream1 = siProtocol.render({ command: 0x00, parameters: [] });
336
- (0, globals_1.expect)(siProtocol.parseAll(stream1)).toEqual({
299
+ expect(siProtocol.parseAll(stream1)).toEqual({
337
300
  messages: [{ command: 0x00, parameters: [] }],
338
301
  remainder: []
339
302
  });
340
- const stream2 = [...siProtocol.render({ command: 0x00, parameters: [] }), constants_1.proto.WAKEUP, ...siProtocol.render({ command: 0xff, parameters: [0xee] })];
341
- (0, globals_1.expect)(siProtocol.parseAll(stream2)).toEqual({
342
- messages: [{ command: 0x00, parameters: [] }, { mode: constants_1.proto.WAKEUP }, { command: 0xff, parameters: [0xee] }],
303
+ const stream2 = [...siProtocol.render({ command: 0x00, parameters: [] }), proto.WAKEUP, ...siProtocol.render({ command: 0xff, parameters: [0xee] })];
304
+ expect(siProtocol.parseAll(stream2)).toEqual({
305
+ messages: [{ command: 0x00, parameters: [] }, { mode: proto.WAKEUP }, { command: 0xff, parameters: [0xee] }],
343
306
  remainder: []
344
307
  });
345
308
  });
346
- (0, globals_1.test)('parseAll with valid remainder', () => {
347
- (0, exports.getValidButIncompleteMessageBytes)().forEach((cutOffCommand) => {
309
+ test('parseAll with valid remainder', () => {
310
+ getValidButIncompleteMessageBytes().forEach((cutOffCommand) => {
348
311
  const stream0 = [...cutOffCommand];
349
- (0, globals_1.expect)(siProtocol.parseAll(stream0)).toEqual({
312
+ expect(siProtocol.parseAll(stream0)).toEqual({
350
313
  messages: [],
351
314
  remainder: cutOffCommand
352
315
  });
353
- const stream1 = [...siProtocol.render({ command: 0x00, parameters: [] }), constants_1.proto.NAK, ...cutOffCommand];
354
- (0, globals_1.expect)(siProtocol.parseAll(stream1)).toEqual({
355
- messages: [{ command: 0x00, parameters: [] }, { mode: constants_1.proto.NAK }],
316
+ const stream1 = [...siProtocol.render({ command: 0x00, parameters: [] }), proto.NAK, ...cutOffCommand];
317
+ expect(siProtocol.parseAll(stream1)).toEqual({
318
+ messages: [{ command: 0x00, parameters: [] }, { mode: proto.NAK }],
356
319
  remainder: cutOffCommand
357
320
  });
358
- const stream2 = [constants_1.proto.WAKEUP, ...siProtocol.render({ command: 0x00, parameters: [] }), ...siProtocol.render({ command: 0xff, parameters: [0xee] }), ...cutOffCommand];
359
- (0, globals_1.expect)(siProtocol.parseAll(stream2)).toEqual({
360
- messages: [{ mode: constants_1.proto.WAKEUP }, { command: 0x00, parameters: [] }, { command: 0xff, parameters: [0xee] }],
321
+ const stream2 = [proto.WAKEUP, ...siProtocol.render({ command: 0x00, parameters: [] }), ...siProtocol.render({ command: 0xff, parameters: [0xee] }), ...cutOffCommand];
322
+ expect(siProtocol.parseAll(stream2)).toEqual({
323
+ messages: [{ mode: proto.WAKEUP }, { command: 0x00, parameters: [] }, { command: 0xff, parameters: [0xee] }],
361
324
  remainder: cutOffCommand
362
325
  });
363
326
  });
364
327
  });
365
- (0, globals_1.test)('render ACK', () => {
366
- (0, globals_1.expect)(siProtocol.render({ mode: constants_1.proto.ACK })).toEqual([constants_1.proto.ACK]);
328
+ test('render ACK', () => {
329
+ expect(siProtocol.render({ mode: proto.ACK })).toEqual([proto.ACK]);
367
330
  });
368
- (0, globals_1.test)('render NAK', () => {
369
- (0, globals_1.expect)(siProtocol.render({ mode: constants_1.proto.NAK })).toEqual([constants_1.proto.NAK]);
331
+ test('render NAK', () => {
332
+ expect(siProtocol.render({ mode: proto.NAK })).toEqual([proto.NAK]);
370
333
  });
371
- (0, globals_1.test)('render WAKEUP', () => {
372
- (0, globals_1.expect)(siProtocol.render({ mode: constants_1.proto.WAKEUP })).toEqual([constants_1.proto.WAKEUP]);
334
+ test('render WAKEUP', () => {
335
+ expect(siProtocol.render({ mode: proto.WAKEUP })).toEqual([proto.WAKEUP]);
373
336
  });
374
- (0, globals_1.test)('render command', () => {
375
- (0, globals_1.expect)(siProtocol.render({ command: 0x00, parameters: [] })).toEqual([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x00, constants_1.proto.ETX]);
376
- (0, globals_1.expect)(siProtocol.render({ command: 0xff, parameters: [0xee] })).toEqual([constants_1.proto.STX, 0xff, 0x01, 0xee, 0xec, 0x0a, constants_1.proto.ETX]);
377
- (0, globals_1.expect)(siProtocol.render({ mode: undefined, command: 0x00, parameters: [] })).toEqual([constants_1.proto.STX, 0x00, 0x00, 0x00, 0x00, constants_1.proto.ETX]);
378
- (0, globals_1.expect)(siProtocol.render({ mode: undefined, command: 0xff, parameters: [0xee] })).toEqual([constants_1.proto.STX, 0xff, 0x01, 0xee, 0xec, 0x0a, constants_1.proto.ETX]);
337
+ test('render command', () => {
338
+ expect(siProtocol.render({ command: 0x00, parameters: [] })).toEqual([proto.STX, 0x00, 0x00, 0x00, 0x00, proto.ETX]);
339
+ expect(siProtocol.render({ command: 0xff, parameters: [0xee] })).toEqual([proto.STX, 0xff, 0x01, 0xee, 0xec, 0x0a, proto.ETX]);
340
+ expect(siProtocol.render({ mode: undefined, command: 0x00, parameters: [] })).toEqual([proto.STX, 0x00, 0x00, 0x00, 0x00, proto.ETX]);
341
+ expect(siProtocol.render({ mode: undefined, command: 0xff, parameters: [0xee] })).toEqual([proto.STX, 0xff, 0x01, 0xee, 0xec, 0x0a, proto.ETX]);
379
342
  });
380
- (0, globals_1.test)('render invalid mode', () => {
381
- const invalidMode = testUtils.getRandomByteExcept([constants_1.proto.WAKEUP, constants_1.proto.NAK, constants_1.proto.ACK]);
382
- (0, globals_1.expect)(() => siProtocol.render({ mode: invalidMode })).toThrow();
343
+ test('render invalid mode', () => {
344
+ const invalidMode = testUtils.getRandomByteExcept([proto.WAKEUP, proto.NAK, proto.ACK]);
345
+ expect(() => siProtocol.render({ mode: invalidMode })).toThrow();
383
346
  });
384
- (0, globals_1.test)('SiDate SiStorage integration', () => {
347
+ test('SiDate SiStorage integration', () => {
385
348
  const weirdStorage = storage.defineStorage(0x09, {
386
349
  weirdDate: new siProtocol.SiDate(3, (i) => i),
387
350
  crazyDate: new siProtocol.SiDate(6, (i) => 0x03 + i)
388
351
  });
389
352
  const myWeirdStorage = weirdStorage(utils.unPrettyHex('0F 03 07 00 00 00 00 00 00'));
390
- (0, globals_1.expect)(myWeirdStorage.get('weirdDate').value).toEqual(new Date(2015, 2, 7));
353
+ expect(myWeirdStorage.get('weirdDate').value).toEqual(new Date(2015, 2, 7));
391
354
  myWeirdStorage.set('weirdDate', new Date(2017, 12, 30));
392
- (0, globals_1.expect)(myWeirdStorage.data.toJS()).toEqual(utils.unPrettyHex('12 01 1E 00 00 00 00 00 00'));
393
- (0, globals_1.expect)(myWeirdStorage.get('weirdDate').value).toEqual(new Date(2017, 12, 30));
394
- (0, globals_1.expect)(myWeirdStorage.get('crazyDate')).toEqual(undefined);
355
+ expect(myWeirdStorage.data.toJS()).toEqual(utils.unPrettyHex('12 01 1E 00 00 00 00 00 00'));
356
+ expect(myWeirdStorage.get('weirdDate').value).toEqual(new Date(2017, 12, 30));
357
+ expect(myWeirdStorage.get('crazyDate')).toEqual(undefined);
395
358
  myWeirdStorage.set('crazyDate', new Date(2003, 1, 30, 3, 7, 5));
396
- (0, globals_1.expect)(myWeirdStorage.data.toJS()).toEqual(utils.unPrettyHex('12 01 1E 03 03 02 00 2B D9'));
397
- (0, globals_1.expect)(myWeirdStorage.get('crazyDate').value).toEqual(new Date(2003, 1, 30, 3, 7, 5));
359
+ expect(myWeirdStorage.data.toJS()).toEqual(utils.unPrettyHex('12 01 1E 03 03 02 00 2B D9'));
360
+ expect(myWeirdStorage.get('crazyDate').value).toEqual(new Date(2003, 1, 30, 3, 7, 5));
398
361
  const unknownWeirdStorage = weirdStorage();
399
362
  const ModifyUndefinedException = storage.ModifyUndefinedException;
400
- (0, globals_1.expect)(unknownWeirdStorage.get('weirdDate')).toBe(undefined);
401
- (0, globals_1.expect)(() => unknownWeirdStorage.set('weirdDate', new Date(2017, 12, 30))).toThrow(ModifyUndefinedException);
402
- (0, globals_1.expect)(unknownWeirdStorage.get('crazyDate')).toBe(undefined);
403
- (0, globals_1.expect)(() => unknownWeirdStorage.set('crazyDate', new Date(2003, 1, 30, 3, 7, 5))).toThrow(ModifyUndefinedException);
363
+ expect(unknownWeirdStorage.get('weirdDate')).toBe(undefined);
364
+ expect(() => unknownWeirdStorage.set('weirdDate', new Date(2017, 12, 30))).toThrow(ModifyUndefinedException);
365
+ expect(unknownWeirdStorage.get('crazyDate')).toBe(undefined);
366
+ expect(() => unknownWeirdStorage.set('crazyDate', new Date(2003, 1, 30, 3, 7, 5))).toThrow(ModifyUndefinedException);
404
367
  });
405
- (0, globals_1.describe)('SiDate', () => {
368
+ describe('SiDate', () => {
406
369
  const mySiDate = new siProtocol.SiDate(3, (i) => i);
407
370
  const fieldValueOf = (value) => new storage.SiFieldValue(mySiDate, value);
408
- (0, globals_1.test)('typeSpecificIsValueValid', () => {
409
- (0, globals_1.expect)(mySiDate.typeSpecificIsValueValid(new Date())).toBe(true);
410
- });
411
- (0, globals_1.test)('valueToString', () => {
412
- (0, globals_1.expect)(mySiDate.valueToString(json2date('2000-01-01T00:00:00.000Z'))).toBe('2000-01-01T00:00:00.000Z');
413
- (0, globals_1.expect)(mySiDate.valueToString(json2date('2020-12-31T13:27:30.000Z'))).toBe('2020-12-31T13:27:30.000Z');
414
- });
415
- (0, globals_1.test)('valueFromString', () => {
416
- (0, globals_1.expect)(mySiDate.valueFromString('2000-01-01T00:00:00.000Z')).toEqual(json2date('2000-01-01T00:00:00.000Z'));
417
- (0, globals_1.expect)(mySiDate.valueFromString('2020-12-31T13:27:30.000Z')).toEqual(json2date('2020-12-31T13:27:30.000Z'));
418
- (0, globals_1.expect)(mySiDate.valueFromString('2020-12-31T13:27:30.000') instanceof storage.ValueFromStringError).toBe(true);
419
- (0, globals_1.expect)(mySiDate.valueFromString('2020-12-31T13:27:30Z') instanceof storage.ValueFromStringError).toBe(true);
420
- (0, globals_1.expect)(mySiDate.valueFromString('2020-12-31Z') instanceof storage.ValueFromStringError).toBe(true);
421
- (0, globals_1.expect)(mySiDate.valueFromString('2020-12-31') instanceof storage.ValueFromStringError).toBe(true);
422
- (0, globals_1.expect)(mySiDate.valueFromString('test') instanceof storage.ValueFromStringError).toBe(true);
423
- });
424
- (0, globals_1.test)('extractFromData gives field value', () => {
425
- const data = (0, immutable_1.List)([0x00, 0x01, 0x01]);
371
+ test('typeSpecificIsValueValid', () => {
372
+ expect(mySiDate.typeSpecificIsValueValid(new Date())).toBe(true);
373
+ });
374
+ test('valueToString', () => {
375
+ expect(mySiDate.valueToString(json2date('2000-01-01T00:00:00.000Z'))).toBe('2000-01-01T00:00:00.000Z');
376
+ expect(mySiDate.valueToString(json2date('2020-12-31T13:27:30.000Z'))).toBe('2020-12-31T13:27:30.000Z');
377
+ });
378
+ test('valueFromString', () => {
379
+ expect(mySiDate.valueFromString('2000-01-01T00:00:00.000Z')).toEqual(json2date('2000-01-01T00:00:00.000Z'));
380
+ expect(mySiDate.valueFromString('2020-12-31T13:27:30.000Z')).toEqual(json2date('2020-12-31T13:27:30.000Z'));
381
+ expect(mySiDate.valueFromString('2020-12-31T13:27:30.000') instanceof storage.ValueFromStringError).toBe(true);
382
+ expect(mySiDate.valueFromString('2020-12-31T13:27:30Z') instanceof storage.ValueFromStringError).toBe(true);
383
+ expect(mySiDate.valueFromString('2020-12-31Z') instanceof storage.ValueFromStringError).toBe(true);
384
+ expect(mySiDate.valueFromString('2020-12-31') instanceof storage.ValueFromStringError).toBe(true);
385
+ expect(mySiDate.valueFromString('test') instanceof storage.ValueFromStringError).toBe(true);
386
+ });
387
+ test('extractFromData gives field value', () => {
388
+ const data = List([0x00, 0x01, 0x01]);
426
389
  const fieldValue = mySiDate.extractFromData(data);
427
- (0, globals_1.expect)(fieldValue instanceof storage.SiFieldValue).toBe(true);
428
- (0, globals_1.expect)(fieldValue.field).toBe(mySiDate);
429
- (0, globals_1.expect)(fieldValue.value).toEqual(json2date('2000-01-01T00:00:00.000Z'));
430
- });
431
- (0, globals_1.test)('extractFromData', () => {
432
- const getExtractedFieldValue = (bytes) => mySiDate.extractFromData((0, immutable_1.List)(bytes));
433
- (0, globals_1.expect)(getExtractedFieldValue([0x00, 0x01, 0x01]).value instanceof Date).toBe(true);
434
- (0, globals_1.expect)(getExtractedFieldValue([0x00, 0x01, undefined])).toBe(undefined);
435
- (0, globals_1.expect)(getExtractedFieldValue([0x00, undefined, 0x01])).toBe(undefined);
436
- (0, globals_1.expect)(getExtractedFieldValue([undefined, 0x00, 0x01])).toBe(undefined);
437
- (0, globals_1.expect)(getExtractedFieldValue([0x00])).toBe(undefined);
438
- (0, globals_1.expect)(getExtractedFieldValue([])).toBe(undefined);
439
- });
440
- (0, globals_1.test)('updateData', () => {
441
- const initialData = (0, immutable_1.List)([0x00, 0x00, 0x00]);
390
+ expect(fieldValue instanceof storage.SiFieldValue).toBe(true);
391
+ expect(fieldValue.field).toBe(mySiDate);
392
+ expect(fieldValue.value).toEqual(json2date('2000-01-01T00:00:00.000Z'));
393
+ });
394
+ test('extractFromData', () => {
395
+ const getExtractedFieldValue = (bytes) => mySiDate.extractFromData(List(bytes));
396
+ expect(getExtractedFieldValue([0x00, 0x01, 0x01]).value instanceof Date).toBe(true);
397
+ expect(getExtractedFieldValue([0x00, 0x01, undefined])).toBe(undefined);
398
+ expect(getExtractedFieldValue([0x00, undefined, 0x01])).toBe(undefined);
399
+ expect(getExtractedFieldValue([undefined, 0x00, 0x01])).toBe(undefined);
400
+ expect(getExtractedFieldValue([0x00])).toBe(undefined);
401
+ expect(getExtractedFieldValue([])).toBe(undefined);
402
+ });
403
+ test('updateData', () => {
404
+ const initialData = List([0x00, 0x00, 0x00]);
442
405
  const updateInitialData = (newValue) => mySiDate.updateData(initialData, newValue).toJS();
443
- (0, globals_1.expect)(updateInitialData(json2date('2000-01-01T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x01]);
444
- (0, globals_1.expect)(updateInitialData(fieldValueOf(json2date('2000-01-01T00:00:00.000Z')))).toEqual([0x00, 0x01, 0x01]);
406
+ expect(updateInitialData(json2date('2000-01-01T00:00:00.000Z'))).toEqual([0x00, 0x01, 0x01]);
407
+ expect(updateInitialData(fieldValueOf(json2date('2000-01-01T00:00:00.000Z')))).toEqual([0x00, 0x01, 0x01]);
445
408
  });
446
- (0, globals_1.test)('updateData modify undefined', () => {
447
- const updateData = (data, newValue) => mySiDate.updateData((0, immutable_1.List)(data), newValue).toJS();
448
- (0, globals_1.expect)(() => updateData([], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
449
- (0, globals_1.expect)(() => updateData([], fieldValueOf(json2date('2000-01-01T00:00:00.000Z')))).toThrow(storage.ModifyUndefinedException);
450
- (0, globals_1.expect)(() => updateData([0x00, 0x00, undefined], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
451
- (0, globals_1.expect)(() => updateData([0x00, undefined, 0x00], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
452
- (0, globals_1.expect)(() => updateData([undefined, 0x00, 0x00], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
409
+ test('updateData modify undefined', () => {
410
+ const updateData = (data, newValue) => mySiDate.updateData(List(data), newValue).toJS();
411
+ expect(() => updateData([], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
412
+ expect(() => updateData([], fieldValueOf(json2date('2000-01-01T00:00:00.000Z')))).toThrow(storage.ModifyUndefinedException);
413
+ expect(() => updateData([0x00, 0x00, undefined], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
414
+ expect(() => updateData([0x00, undefined, 0x00], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
415
+ expect(() => updateData([undefined, 0x00, 0x00], json2date('2000-01-01T00:00:00.000Z'))).toThrow(storage.ModifyUndefinedException);
453
416
  });
454
417
  });
455
- (0, globals_1.describe)('SiTime', () => {
418
+ describe('SiTime', () => {
456
419
  const mySiTime = new siProtocol.SiTime([[0x01], [0x00]]);
457
420
  const myInexistentSiTime = new siProtocol.SiTime(undefined);
458
421
  const fieldValueOf = (value) => new storage.SiFieldValue(mySiTime, value);
459
- (0, globals_1.test)('typeSpecificIsValueValid', () => {
460
- (0, globals_1.expect)(mySiTime.typeSpecificIsValueValid({ time: 0 })).toBe(true);
461
- (0, globals_1.expect)(mySiTime.typeSpecificIsValueValid({ time: 43199 })).toBe(true);
462
- (0, globals_1.expect)(mySiTime.typeSpecificIsValueValid({ time: 86400 })).toBe(false);
463
- (0, globals_1.expect)(mySiTime.typeSpecificIsValueValid(null)).toBe(true);
464
- });
465
- (0, globals_1.test)('valueToString', () => {
466
- (0, globals_1.expect)(mySiTime.valueToString({ time: 0 })).toBe('00:00:00');
467
- (0, globals_1.expect)(mySiTime.valueToString({ time: 43199 })).toBe('11:59:59');
468
- (0, globals_1.expect)(mySiTime.valueToString(null)).toBe('NO_TIME');
469
- });
470
- (0, globals_1.test)('valueFromString', () => {
471
- (0, globals_1.expect)(mySiTime.valueFromString('00:00:00')).toEqual({ time: 0 });
472
- (0, globals_1.expect)(mySiTime.valueFromString('11:59:59')).toEqual({ time: 43199 });
473
- (0, globals_1.expect)(mySiTime.valueFromString('NO_TIME')).toBe(null);
474
- (0, globals_1.expect)(mySiTime.valueFromString('06:12') instanceof storage.ValueFromStringError).toBe(true);
475
- (0, globals_1.expect)(mySiTime.valueFromString('test') instanceof storage.ValueFromStringError).toBe(true);
476
- });
477
- (0, globals_1.test)('extractFromData gives field value', () => {
478
- const data = (0, immutable_1.List)([0x01, 0x01]);
422
+ test('typeSpecificIsValueValid', () => {
423
+ expect(mySiTime.typeSpecificIsValueValid({ time: 0 })).toBe(true);
424
+ expect(mySiTime.typeSpecificIsValueValid({ time: 43199 })).toBe(true);
425
+ expect(mySiTime.typeSpecificIsValueValid({ time: 86400 })).toBe(false);
426
+ expect(mySiTime.typeSpecificIsValueValid(null)).toBe(true);
427
+ });
428
+ test('valueToString', () => {
429
+ expect(mySiTime.valueToString({ time: 0 })).toBe('00:00:00');
430
+ expect(mySiTime.valueToString({ time: 43199 })).toBe('11:59:59');
431
+ expect(mySiTime.valueToString(null)).toBe('NO_TIME');
432
+ });
433
+ test('valueFromString', () => {
434
+ expect(mySiTime.valueFromString('00:00:00')).toEqual({ time: 0 });
435
+ expect(mySiTime.valueFromString('11:59:59')).toEqual({ time: 43199 });
436
+ expect(mySiTime.valueFromString('NO_TIME')).toBe(null);
437
+ expect(mySiTime.valueFromString('06:12') instanceof storage.ValueFromStringError).toBe(true);
438
+ expect(mySiTime.valueFromString('test') instanceof storage.ValueFromStringError).toBe(true);
439
+ });
440
+ test('extractFromData gives field value', () => {
441
+ const data = List([0x01, 0x01]);
479
442
  const fieldValue = mySiTime.extractFromData(data);
480
- (0, globals_1.expect)(fieldValue instanceof storage.SiFieldValue).toBe(true);
481
- (0, globals_1.expect)(fieldValue.field).toBe(mySiTime);
482
- (0, globals_1.expect)(JSON.stringify(fieldValue.value)).toBe(JSON.stringify({ time: 257, weekcounter: undefined, weekday: undefined }));
483
- });
484
- (0, globals_1.test)('extractFromData', () => {
485
- const getExtractedFieldValue = (bytes) => mySiTime.extractFromData((0, immutable_1.List)(bytes));
486
- (0, globals_1.expect)(JSON.stringify(getExtractedFieldValue([0x00, 0x01]).value)).toBe(JSON.stringify({ time: 1, weekcounter: undefined, weekday: undefined }));
487
- (0, globals_1.expect)(getExtractedFieldValue([0xee, 0xee]).value).toBe(null);
488
- (0, globals_1.expect)(getExtractedFieldValue([0x00, undefined])).toBe(undefined);
489
- (0, globals_1.expect)(getExtractedFieldValue([undefined, 0x01])).toBe(undefined);
490
- (0, globals_1.expect)(getExtractedFieldValue([0x00])).toBe(undefined);
491
- (0, globals_1.expect)(getExtractedFieldValue([])).toBe(undefined);
492
- });
493
- (0, globals_1.test)('extractFromData for inexistent', () => {
494
- const getExtractedFieldValue = (bytes) => myInexistentSiTime.extractFromData((0, immutable_1.List)(bytes));
495
- (0, globals_1.expect)(getExtractedFieldValue([0x00, 0x01]).value).toBe(null);
496
- });
497
- (0, globals_1.test)('updateData', () => {
498
- const initialData = (0, immutable_1.List)([0x00, 0x00]);
443
+ expect(fieldValue instanceof storage.SiFieldValue).toBe(true);
444
+ expect(fieldValue.field).toBe(mySiTime);
445
+ expect(JSON.stringify(fieldValue.value)).toBe(JSON.stringify({ time: 257, weekcounter: undefined, weekday: undefined }));
446
+ });
447
+ test('extractFromData', () => {
448
+ const getExtractedFieldValue = (bytes) => mySiTime.extractFromData(List(bytes));
449
+ expect(JSON.stringify(getExtractedFieldValue([0x00, 0x01]).value)).toBe(JSON.stringify({ time: 1, weekcounter: undefined, weekday: undefined }));
450
+ expect(getExtractedFieldValue([0xee, 0xee]).value).toBe(null);
451
+ expect(getExtractedFieldValue([0x00, undefined])).toBe(undefined);
452
+ expect(getExtractedFieldValue([undefined, 0x01])).toBe(undefined);
453
+ expect(getExtractedFieldValue([0x00])).toBe(undefined);
454
+ expect(getExtractedFieldValue([])).toBe(undefined);
455
+ });
456
+ test('extractFromData for inexistent', () => {
457
+ const getExtractedFieldValue = (bytes) => myInexistentSiTime.extractFromData(List(bytes));
458
+ expect(getExtractedFieldValue([0x00, 0x01]).value).toBe(null);
459
+ });
460
+ test('updateData', () => {
461
+ const initialData = List([0x00, 0x00]);
499
462
  const updateInitialData = (newValue) => mySiTime.updateData(initialData, newValue).toJS();
500
- (0, globals_1.expect)(updateInitialData({ time: 257 })).toEqual([0x01, 0x01]);
501
- (0, globals_1.expect)(updateInitialData(fieldValueOf({ time: 257 }))).toEqual([0x01, 0x01]);
502
- (0, globals_1.expect)(updateInitialData(null)).toEqual([0xee, 0xee]);
503
- (0, globals_1.expect)(updateInitialData(fieldValueOf(null))).toEqual([0xee, 0xee]);
463
+ expect(updateInitialData({ time: 257 })).toEqual([0x01, 0x01]);
464
+ expect(updateInitialData(fieldValueOf({ time: 257 }))).toEqual([0x01, 0x01]);
465
+ expect(updateInitialData(null)).toEqual([0xee, 0xee]);
466
+ expect(updateInitialData(fieldValueOf(null))).toEqual([0xee, 0xee]);
504
467
  });
505
- (0, globals_1.test)('updateData for inexistent', () => {
506
- const initialData = (0, immutable_1.List)([0x00, 0x00]);
468
+ test('updateData for inexistent', () => {
469
+ const initialData = List([0x00, 0x00]);
507
470
  const updateInitialData = (newValue) => myInexistentSiTime.updateData(initialData, newValue).toJS();
508
- (0, globals_1.expect)(updateInitialData({ time: 257 })).toEqual([0x00, 0x00]);
509
- (0, globals_1.expect)(updateInitialData(fieldValueOf({ time: 257 }))).toEqual([0x00, 0x00]);
510
- });
511
- (0, globals_1.test)('updateData modify undefined', () => {
512
- const updateData = (data, newValue) => mySiTime.updateData((0, immutable_1.List)(data), newValue).toJS();
513
- (0, globals_1.expect)(() => updateData([], { time: 257 })).toThrow(storage.ModifyUndefinedException);
514
- (0, globals_1.expect)(() => updateData([], fieldValueOf({ time: 257 }))).toThrow(storage.ModifyUndefinedException);
515
- (0, globals_1.expect)(() => updateData([0x00, undefined], { time: 257 })).toThrow(storage.ModifyUndefinedException);
516
- (0, globals_1.expect)(() => updateData([undefined, 0x01], { time: 257 })).toThrow(storage.ModifyUndefinedException);
471
+ expect(updateInitialData({ time: 257 })).toEqual([0x00, 0x00]);
472
+ expect(updateInitialData(fieldValueOf({ time: 257 }))).toEqual([0x00, 0x00]);
473
+ });
474
+ test('updateData modify undefined', () => {
475
+ const updateData = (data, newValue) => mySiTime.updateData(List(data), newValue).toJS();
476
+ expect(() => updateData([], { time: 257 })).toThrow(storage.ModifyUndefinedException);
477
+ expect(() => updateData([], fieldValueOf({ time: 257 }))).toThrow(storage.ModifyUndefinedException);
478
+ expect(() => updateData([0x00, undefined], { time: 257 })).toThrow(storage.ModifyUndefinedException);
479
+ expect(() => updateData([undefined, 0x01], { time: 257 })).toThrow(storage.ModifyUndefinedException);
517
480
  });
518
481
  });
519
482
  });