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.
- package/SiCard/BaseSiCard.js +8 -45
- package/SiCard/BaseSiCard.js.map +1 -1
- package/SiCard/BaseSiCard.test.js +64 -66
- package/SiCard/BaseSiCard.test.js.map +1 -1
- package/SiCard/IRaceResultData.js +1 -2
- package/SiCard/ISiCard.js +1 -2
- package/SiCard/ISiCardExamples.js +1 -2
- package/SiCard/index.js +2 -20
- package/SiCard/index.js.map +1 -1
- package/SiCard/raceResultTools.js +10 -52
- package/SiCard/raceResultTools.js.map +1 -1
- package/SiCard/raceResultTools.test.js +49 -51
- package/SiCard/raceResultTools.test.js.map +1 -1
- package/SiCard/types/FCard.js +4 -41
- package/SiCard/types/FCard.js.map +1 -1
- package/SiCard/types/FCard.test.js +11 -13
- package/SiCard/types/FCard.test.js.map +1 -1
- package/SiCard/types/ModernSiCard.js +25 -67
- package/SiCard/types/ModernSiCard.js.map +1 -1
- package/SiCard/types/ModernSiCard.test.js +69 -104
- package/SiCard/types/ModernSiCard.test.js.map +1 -1
- package/SiCard/types/PCard.js +4 -41
- package/SiCard/types/PCard.js.map +1 -1
- package/SiCard/types/PCard.test.js +11 -13
- package/SiCard/types/PCard.test.js.map +1 -1
- package/SiCard/types/SIAC.js +4 -8
- package/SiCard/types/SIAC.js.map +1 -1
- package/SiCard/types/SIAC.test.js +38 -73
- package/SiCard/types/SIAC.test.js.map +1 -1
- package/SiCard/types/SiCard10.js +4 -8
- package/SiCard/types/SiCard10.js.map +1 -1
- package/SiCard/types/SiCard10.test.js +41 -76
- package/SiCard/types/SiCard10.test.js.map +1 -1
- package/SiCard/types/SiCard11.js +4 -8
- package/SiCard/types/SiCard11.js.map +1 -1
- package/SiCard/types/SiCard11.test.js +38 -73
- package/SiCard/types/SiCard11.test.js.map +1 -1
- package/SiCard/types/SiCard5.js +16 -55
- package/SiCard/types/SiCard5.js.map +1 -1
- package/SiCard/types/SiCard5.test.js +81 -116
- package/SiCard/types/SiCard5.test.js.map +1 -1
- package/SiCard/types/SiCard6.js +17 -56
- package/SiCard/types/SiCard6.js.map +1 -1
- package/SiCard/types/SiCard6.test.js +79 -114
- package/SiCard/types/SiCard6.test.js.map +1 -1
- package/SiCard/types/SiCard8.js +16 -54
- package/SiCard/types/SiCard8.js.map +1 -1
- package/SiCard/types/SiCard8.test.js +69 -104
- package/SiCard/types/SiCard8.test.js.map +1 -1
- package/SiCard/types/SiCard9.js +15 -53
- package/SiCard/types/SiCard9.js.map +1 -1
- package/SiCard/types/SiCard9.test.js +65 -100
- package/SiCard/types/SiCard9.test.js.map +1 -1
- package/SiCard/types/TCard.js +4 -41
- package/SiCard/types/TCard.js.map +1 -1
- package/SiCard/types/TCard.test.js +11 -13
- package/SiCard/types/TCard.test.js.map +1 -1
- package/SiCard/types/index.js +15 -33
- package/SiCard/types/index.js.map +1 -1
- package/SiCard/types/index.test.js +13 -48
- package/SiCard/types/index.test.js.map +1 -1
- package/SiCard/types/modernSiCardExamples.js +21 -58
- package/SiCard/types/modernSiCardExamples.js.map +1 -1
- package/SiCard/types/siCard5Examples.js +6 -43
- package/SiCard/types/siCard5Examples.js.map +1 -1
- package/SiCard/types/siCard6Examples.js +10 -47
- package/SiCard/types/siCard6Examples.js.map +1 -1
- package/SiCard/types/siCard8Examples.js +8 -45
- package/SiCard/types/siCard8Examples.js.map +1 -1
- package/SiCard/types/siCard9Examples.js +8 -45
- package/SiCard/types/siCard9Examples.js.map +1 -1
- package/SiDevice/ISiDevice.js +6 -45
- package/SiDevice/ISiDevice.js.map +1 -1
- package/SiDevice/ISiDeviceDriver.js +3 -41
- package/SiDevice/ISiDeviceDriver.js.map +1 -1
- package/SiDevice/SiDevice.js +20 -57
- package/SiDevice/SiDevice.js.map +1 -1
- package/SiDevice/SiDevice.test.js +103 -138
- package/SiDevice/SiDevice.test.js.map +1 -1
- package/SiDevice/WebSerialSiDeviceDriver.d.ts +4 -2
- package/SiDevice/WebSerialSiDeviceDriver.d.ts.map +1 -1
- package/SiDevice/WebSerialSiDeviceDriver.js +91 -74
- package/SiDevice/WebSerialSiDeviceDriver.js.map +1 -1
- package/SiDevice/WebUsbSiDeviceDriver.d.ts.map +1 -1
- package/SiDevice/WebUsbSiDeviceDriver.js +29 -88
- package/SiDevice/WebUsbSiDeviceDriver.js.map +1 -1
- package/SiDevice/index.js +1 -5
- package/SiDevice/index.js.map +1 -1
- package/SiDevice/testUtils/index.js +2 -7
- package/SiDevice/testUtils/index.js.map +1 -1
- package/SiDevice/testUtils/testISiDeviceDriver.js +10 -47
- package/SiDevice/testUtils/testISiDeviceDriver.js.map +1 -1
- package/SiDevice/testUtils/testISiDeviceDriverWithAutodetection.js +15 -52
- package/SiDevice/testUtils/testISiDeviceDriverWithAutodetection.js.map +1 -1
- package/SiStation/BaseSiStation.js +18 -55
- package/SiStation/BaseSiStation.js.map +1 -1
- package/SiStation/BaseSiStation.test.js +60 -95
- package/SiStation/BaseSiStation.test.js.map +1 -1
- package/SiStation/CoupledSiStation.js +16 -53
- package/SiStation/CoupledSiStation.js.map +1 -1
- package/SiStation/CoupledSiStation.test.js +27 -62
- package/SiStation/CoupledSiStation.test.js.map +1 -1
- package/SiStation/ISiMainStation.js +4 -43
- package/SiStation/ISiMainStation.js.map +1 -1
- package/SiStation/ISiSendTask.js +2 -5
- package/SiStation/ISiSendTask.js.map +1 -1
- package/SiStation/ISiStation.js +5 -8
- package/SiStation/ISiStation.js.map +1 -1
- package/SiStation/ISiTargetMultiplexer.js +6 -45
- package/SiStation/ISiTargetMultiplexer.js.map +1 -1
- package/SiStation/SiMainStation.js +19 -56
- package/SiStation/SiMainStation.js.map +1 -1
- package/SiStation/SiMainStation.test.js +88 -123
- package/SiStation/SiMainStation.test.js.map +1 -1
- package/SiStation/SiSendTask.js +11 -48
- package/SiStation/SiSendTask.js.map +1 -1
- package/SiStation/SiTargetMultiplexer.js +46 -83
- package/SiStation/SiTargetMultiplexer.js.map +1 -1
- package/SiStation/SiTargetMultiplexer.targeting.test.js +42 -77
- package/SiStation/SiTargetMultiplexer.targeting.test.js.map +1 -1
- package/SiStation/SiTargetMultiplexer.test.js +201 -236
- package/SiStation/SiTargetMultiplexer.test.js.map +1 -1
- package/SiStation/index.js +5 -13
- package/SiStation/index.js.map +1 -1
- package/SiStation/siStationExamples.js +6 -43
- package/SiStation/siStationExamples.js.map +1 -1
- package/constants.js +4 -7
- package/constants.js.map +1 -1
- package/constants.test.js +12 -47
- package/constants.test.js.map +1 -1
- package/fakes/FakeSiCard/BaseFakeSiCard.js +1 -5
- package/fakes/FakeSiCard/BaseFakeSiCard.js.map +1 -1
- package/fakes/FakeSiCard/BaseFakeSiCard.test.js +6 -41
- package/fakes/FakeSiCard/BaseFakeSiCard.test.js.map +1 -1
- package/fakes/FakeSiCard/IFakeSiCard.js +1 -2
- package/fakes/FakeSiCard/index.js +2 -20
- package/fakes/FakeSiCard/index.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeModernSiCard.js +12 -49
- package/fakes/FakeSiCard/types/FakeModernSiCard.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeModernSiCard.test.js +25 -60
- package/fakes/FakeSiCard/types/FakeModernSiCard.test.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSIAC.js +8 -12
- package/fakes/FakeSiCard/types/FakeSIAC.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard10.js +8 -12
- package/fakes/FakeSiCard/types/FakeSiCard10.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard11.js +8 -12
- package/fakes/FakeSiCard/types/FakeSiCard11.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard5.js +12 -49
- package/fakes/FakeSiCard/types/FakeSiCard5.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard5.test.js +20 -55
- package/fakes/FakeSiCard/types/FakeSiCard5.test.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard6.js +12 -49
- package/fakes/FakeSiCard/types/FakeSiCard6.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard6.test.js +25 -60
- package/fakes/FakeSiCard/types/FakeSiCard6.test.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard8.js +7 -11
- package/fakes/FakeSiCard/types/FakeSiCard8.js.map +1 -1
- package/fakes/FakeSiCard/types/FakeSiCard9.js +7 -11
- package/fakes/FakeSiCard/types/FakeSiCard9.js.map +1 -1
- package/fakes/FakeSiCard/types/index.js +7 -17
- package/fakes/FakeSiCard/types/index.js.map +1 -1
- package/fakes/FakeSiDeviceDriver.js +10 -47
- package/fakes/FakeSiDeviceDriver.js.map +1 -1
- package/fakes/FakeSiMainStation.js +29 -66
- package/fakes/FakeSiMainStation.js.map +1 -1
- package/fakes/FakeSiMainStation.test.js +43 -78
- package/fakes/FakeSiMainStation.test.js.map +1 -1
- package/fakes/IFakeSiMainStation.js +2 -39
- package/fakes/IFakeSiMainStation.js.map +1 -1
- package/fakes/index.js +2 -20
- package/fakes/index.js.map +1 -1
- package/index.js +10 -46
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/siProtocol.js +35 -82
- package/siProtocol.js.map +1 -1
- package/siProtocol.test.js +308 -345
- package/siProtocol.test.js.map +1 -1
- package/storage/SiArray.js +4 -8
- package/storage/SiArray.js.map +1 -1
- package/storage/SiArray.test.js +56 -58
- package/storage/SiArray.test.js.map +1 -1
- package/storage/SiBool.js +5 -9
- package/storage/SiBool.js.map +1 -1
- package/storage/SiBool.test.js +63 -65
- package/storage/SiBool.test.js.map +1 -1
- package/storage/SiDataType.js +9 -14
- package/storage/SiDataType.js.map +1 -1
- package/storage/SiDataType.test.js +23 -25
- package/storage/SiDataType.test.js.map +1 -1
- package/storage/SiDict.js +4 -8
- package/storage/SiDict.js.map +1 -1
- package/storage/SiDict.test.js +52 -54
- package/storage/SiDict.test.js.map +1 -1
- package/storage/SiEnum.js +7 -44
- package/storage/SiEnum.js.map +1 -1
- package/storage/SiEnum.test.js +59 -61
- package/storage/SiEnum.test.js.map +1 -1
- package/storage/SiFieldValue.js +4 -8
- package/storage/SiFieldValue.js.map +1 -1
- package/storage/SiFieldValue.test.js +25 -27
- package/storage/SiFieldValue.test.js.map +1 -1
- package/storage/SiInt.js +5 -9
- package/storage/SiInt.js.map +1 -1
- package/storage/SiInt.test.js +63 -65
- package/storage/SiInt.test.js.map +1 -1
- package/storage/SiModified.js +5 -9
- package/storage/SiModified.js.map +1 -1
- package/storage/SiModified.test.js +75 -77
- package/storage/SiModified.test.js.map +1 -1
- package/storage/SiStorage.js +4 -9
- package/storage/SiStorage.js.map +1 -1
- package/storage/SiStorage.test.js +32 -67
- package/storage/SiStorage.test.js.map +1 -1
- package/storage/index.js +11 -28
- package/storage/index.js.map +1 -1
- package/storage/index.test.js +93 -128
- package/storage/index.test.js.map +1 -1
- package/storage/interfaces.js +3 -41
- package/storage/interfaces.js.map +1 -1
- package/storage/siStringEncoding.js +1 -5
- package/storage/siStringEncoding.js.map +1 -1
- package/testUtils.js +16 -28
- package/testUtils.js.map +1 -1
- package/testUtils.test.js +65 -100
- package/testUtils.test.js.map +1 -1
- package/utils/NumberRange.js +2 -6
- package/utils/NumberRange.js.map +1 -1
- package/utils/NumberRange.test.js +54 -56
- package/utils/NumberRange.test.js.map +1 -1
- package/utils/NumberRangeRegistry.js +5 -42
- package/utils/NumberRangeRegistry.js.map +1 -1
- package/utils/NumberRangeRegistry.test.js +35 -37
- package/utils/NumberRangeRegistry.test.js.map +1 -1
- package/utils/bytes.js +11 -22
- package/utils/bytes.js.map +1 -1
- package/utils/bytes.test.js +98 -133
- package/utils/bytes.test.js.map +1 -1
- package/utils/errors.js +4 -11
- package/utils/errors.js.map +1 -1
- package/utils/errors.test.js +16 -51
- package/utils/errors.test.js.map +1 -1
- package/utils/events.js +3 -41
- package/utils/events.js.map +1 -1
- package/utils/events.test.js +21 -56
- package/utils/events.test.js.map +1 -1
- package/utils/general.js +4 -11
- package/utils/general.js.map +1 -1
- package/utils/general.test.js +77 -112
- package/utils/general.test.js.map +1 -1
- package/utils/index.js +8 -24
- package/utils/index.js.map +1 -1
- package/utils/mixins.js +1 -5
- package/utils/mixins.js.map +1 -1
- package/utils/mixins.test.js +13 -48
- package/utils/mixins.test.js.map +1 -1
- package/utils/typed.js +1 -4
- package/utils/typed.js.map +1 -1
package/SiCard/BaseSiCard.js
CHANGED
|
@@ -1,44 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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.BaseSiCard = void 0;
|
|
37
|
-
const constants_1 = require("../constants");
|
|
38
|
-
const utils = __importStar(require("../utils"));
|
|
39
|
-
const raceResultTools_1 = require("./raceResultTools");
|
|
1
|
+
import { proto } from '../constants';
|
|
2
|
+
import * as utils from '../utils';
|
|
3
|
+
import { makeStartZeroTime, monotonizeRaceResult, prettyRaceResult } from './raceResultTools';
|
|
40
4
|
const initialRegistry = new utils.NumberRangeRegistry();
|
|
41
|
-
class BaseSiCard {
|
|
5
|
+
export class BaseSiCard {
|
|
42
6
|
static resetNumberRangeRegistry() {
|
|
43
7
|
this.cardNumberRangeRegistry = new utils.NumberRangeRegistry();
|
|
44
8
|
}
|
|
@@ -72,27 +36,26 @@ class BaseSiCard {
|
|
|
72
36
|
return this.typeSpecificRead().then(() => this);
|
|
73
37
|
}
|
|
74
38
|
getNormalizedRaceResult() {
|
|
75
|
-
return
|
|
39
|
+
return makeStartZeroTime(this.getMonotonizedRaceResult());
|
|
76
40
|
}
|
|
77
41
|
getMonotonizedRaceResult() {
|
|
78
|
-
return
|
|
42
|
+
return monotonizeRaceResult(this.raceResult);
|
|
79
43
|
}
|
|
80
44
|
confirm() {
|
|
81
45
|
if (!this.mainStation) {
|
|
82
46
|
return Promise.reject(new Error('No main station'));
|
|
83
47
|
}
|
|
84
48
|
return this.mainStation.sendMessage({
|
|
85
|
-
mode:
|
|
49
|
+
mode: proto.ACK
|
|
86
50
|
}, 0);
|
|
87
51
|
}
|
|
88
52
|
toDict() {
|
|
89
53
|
return this.raceResult;
|
|
90
54
|
}
|
|
91
55
|
toString() {
|
|
92
|
-
return `${this.constructor.name}\n${
|
|
56
|
+
return `${this.constructor.name}\n${prettyRaceResult(this.raceResult)}`;
|
|
93
57
|
}
|
|
94
58
|
}
|
|
95
|
-
exports.BaseSiCard = BaseSiCard;
|
|
96
59
|
// abstract static maxNumPunches: number;
|
|
97
60
|
BaseSiCard.NumberRange = utils.NumberRange;
|
|
98
61
|
BaseSiCard.cardNumberRangeRegistry = initialRegistry;
|
package/SiCard/BaseSiCard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSiCard.js","sourceRoot":"","sources":["../../src/SiCard/BaseSiCard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseSiCard.js","sourceRoot":"","sources":["../../src/SiCard/BaseSiCard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAIlC,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAM9F,MAAM,eAAe,GAAsD,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;AAM3G,MAAM,OAAgB,UAAU;IAK/B,MAAM,CAAC,wBAAwB;QAC9B,IAAI,CAAC,uBAAuB,GAAG,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;IAChE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAuB,sBAA8B,EAAE,yBAAiC,EAAE,UAAyB;QAC5I,MAAM,eAAe,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,CAAC;QACjG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAuB,UAAkB;QAClE,OAAO,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,UAAU,CAA8B,CAAC;IAChG,CAAC;IAED,yDAAyD;IAEzD,MAAM,CAAC,cAAc,CAAC,UAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,OAA6B;QACrD,MAAM,aAAa,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC;QACpL,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAUD,YAAY,UAAkB;QAFvB,YAAO,GAAgC,EAAiC,CAAC;QAG/E,IAAI,CAAC,UAAU,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACnC,CAAC;IAED,IAAI;QACH,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB;QACtB,OAAO,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,wBAAwB;QACvB,OAAO,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAID,OAAO;QACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAClC;YACC,IAAI,EAAE,KAAK,CAAC,GAAG;SACf,EACD,CAAC,CACD,CAAC;IACH,CAAC;IAED,MAAM;QACL,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,QAAQ;QACP,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACzE,CAAC;;AAhFD,yCAAyC;AAClC,sBAAW,GAA6B,KAAK,CAAC,WAAW,AAA9C,CAA+C;AAC1D,kCAAuB,GAAsD,eAAe,AAArE,CAAsE"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
2
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
3
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -8,15 +7,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
8
|
});
|
|
10
9
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
BaseSiCard_1.BaseSiCard.resetNumberRangeRegistry();
|
|
10
|
+
import { beforeEach, describe, expect, test } from '@jest/globals';
|
|
11
|
+
import { proto } from '../constants';
|
|
12
|
+
import { BaseSiCard } from './BaseSiCard';
|
|
13
|
+
beforeEach(() => {
|
|
14
|
+
BaseSiCard.resetNumberRangeRegistry();
|
|
17
15
|
});
|
|
18
|
-
|
|
19
|
-
class FakeSiCard1 extends
|
|
16
|
+
describe('BaseSiCard', () => {
|
|
17
|
+
class FakeSiCard1 extends BaseSiCard {
|
|
20
18
|
static typeSpecificInstanceFromMessage(_message) {
|
|
21
19
|
return undefined;
|
|
22
20
|
}
|
|
@@ -24,7 +22,7 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
24
22
|
return Promise.resolve();
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
|
-
class FakeSiCard2 extends
|
|
25
|
+
class FakeSiCard2 extends BaseSiCard {
|
|
28
26
|
static typeSpecificInstanceFromMessage(_message) {
|
|
29
27
|
return undefined;
|
|
30
28
|
}
|
|
@@ -32,30 +30,30 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
32
30
|
return Promise.resolve();
|
|
33
31
|
}
|
|
34
32
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
33
|
+
test('registerNumberRange', () => {
|
|
34
|
+
BaseSiCard.registerNumberRange(100, 1000, FakeSiCard1);
|
|
35
|
+
BaseSiCard.registerNumberRange(0, 100, FakeSiCard2);
|
|
36
|
+
BaseSiCard.registerNumberRange(1000, 2000, FakeSiCard2);
|
|
37
|
+
expect(BaseSiCard.getTypeByCardNumber(-1)).toEqual(undefined);
|
|
38
|
+
expect(BaseSiCard.getTypeByCardNumber(0)).toEqual(FakeSiCard2);
|
|
39
|
+
expect(BaseSiCard.getTypeByCardNumber(99)).toEqual(FakeSiCard2);
|
|
40
|
+
expect(BaseSiCard.getTypeByCardNumber(100)).toEqual(FakeSiCard1);
|
|
41
|
+
expect(BaseSiCard.getTypeByCardNumber(999)).toEqual(FakeSiCard1);
|
|
42
|
+
expect(BaseSiCard.getTypeByCardNumber(1000)).toEqual(FakeSiCard2);
|
|
43
|
+
expect(BaseSiCard.getTypeByCardNumber(1999)).toEqual(FakeSiCard2);
|
|
44
|
+
expect(BaseSiCard.getTypeByCardNumber(2000)).toEqual(undefined);
|
|
47
45
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const siCard500 =
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const siCard5000 =
|
|
54
|
-
|
|
46
|
+
test('fromCardNumber', () => {
|
|
47
|
+
BaseSiCard.registerNumberRange(100, 1000, FakeSiCard1);
|
|
48
|
+
const siCard500 = BaseSiCard.fromCardNumber(500);
|
|
49
|
+
expect(siCard500 instanceof BaseSiCard).toBe(true);
|
|
50
|
+
expect(siCard500 instanceof FakeSiCard1).toBe(true);
|
|
51
|
+
const siCard5000 = BaseSiCard.fromCardNumber(5000);
|
|
52
|
+
expect(siCard5000).toBe(undefined);
|
|
55
53
|
});
|
|
56
|
-
|
|
54
|
+
describe('detectFromMessage', () => {
|
|
57
55
|
let triedToGetInstance = false;
|
|
58
|
-
class SiCard1 extends
|
|
56
|
+
class SiCard1 extends BaseSiCard {
|
|
59
57
|
static typeSpecificInstanceFromMessage(message) {
|
|
60
58
|
triedToGetInstance = true;
|
|
61
59
|
if (message.mode !== undefined) {
|
|
@@ -67,29 +65,29 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
67
65
|
return Promise.resolve();
|
|
68
66
|
}
|
|
69
67
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
68
|
+
beforeEach(() => {
|
|
69
|
+
BaseSiCard.registerNumberRange(1000, 10000, SiCard1);
|
|
70
|
+
BaseSiCard.registerNumberRange(10000, 20000, FakeSiCard2);
|
|
73
71
|
});
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const siCard500 =
|
|
77
|
-
command:
|
|
72
|
+
test('detects card from valid message', () => {
|
|
73
|
+
expect(triedToGetInstance).toBe(false);
|
|
74
|
+
const siCard500 = BaseSiCard.detectFromMessage({
|
|
75
|
+
command: proto.cmd.SI5_DET,
|
|
78
76
|
parameters: []
|
|
79
77
|
});
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
expect(triedToGetInstance).toBe(true);
|
|
79
|
+
expect(siCard500 instanceof SiCard1).toBe(true);
|
|
80
|
+
expect(siCard500 === null || siCard500 === void 0 ? void 0 : siCard500.cardNumber).toBe(1);
|
|
83
81
|
});
|
|
84
|
-
|
|
85
|
-
const nakMessage =
|
|
86
|
-
mode:
|
|
82
|
+
test('does not detect from NAK message', () => {
|
|
83
|
+
const nakMessage = BaseSiCard.detectFromMessage({
|
|
84
|
+
mode: proto.NAK
|
|
87
85
|
});
|
|
88
|
-
|
|
86
|
+
expect(nakMessage).toBe(undefined);
|
|
89
87
|
});
|
|
90
88
|
});
|
|
91
|
-
|
|
92
|
-
class SiCard1 extends
|
|
89
|
+
test('read', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
+
class SiCard1 extends BaseSiCard {
|
|
93
91
|
typeSpecificRead() {
|
|
94
92
|
this.raceResult.startTime = { time: 1 };
|
|
95
93
|
return Promise.resolve();
|
|
@@ -98,7 +96,7 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
98
96
|
const siCard500 = new SiCard1(500);
|
|
99
97
|
try {
|
|
100
98
|
yield siCard500.confirm();
|
|
101
|
-
|
|
99
|
+
expect({ canConfirm: true }).toEqual({ canConfirm: false });
|
|
102
100
|
}
|
|
103
101
|
catch (err) {
|
|
104
102
|
// ignore
|
|
@@ -107,8 +105,8 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
107
105
|
sendMessage: (_message, _numResponses) => Promise.resolve([])
|
|
108
106
|
};
|
|
109
107
|
const result = yield siCard500.read();
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
expect(result).toBe(siCard500);
|
|
109
|
+
expect(JSON.stringify(siCard500.raceResult.startTime)).toBe(JSON.stringify({ time: 1 }));
|
|
112
110
|
yield siCard500.confirm();
|
|
113
111
|
}));
|
|
114
112
|
const emptySiCard = new FakeSiCard1(501);
|
|
@@ -122,8 +120,8 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
122
120
|
finishTime: { time: 1 },
|
|
123
121
|
cardHolder: { firstName: 'John' }
|
|
124
122
|
};
|
|
125
|
-
|
|
126
|
-
|
|
123
|
+
test('Empty SiCard toDict', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
124
|
+
expect(emptySiCard.toDict()).toEqual({
|
|
127
125
|
cardNumber: 501,
|
|
128
126
|
clearTime: undefined,
|
|
129
127
|
checkTime: undefined,
|
|
@@ -133,8 +131,8 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
133
131
|
cardHolder: undefined
|
|
134
132
|
});
|
|
135
133
|
}));
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
test('Non-empty SiCard toDict', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
135
|
+
expect(nonemptySiCard.toDict()).toEqual({
|
|
138
136
|
cardNumber: 502,
|
|
139
137
|
clearTime: { time: 1 },
|
|
140
138
|
checkTime: { time: 2 },
|
|
@@ -144,14 +142,14 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
144
142
|
cardHolder: { firstName: 'John' }
|
|
145
143
|
});
|
|
146
144
|
}));
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
test('Empty SiCard toString', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
expect(emptySiCard.toString()).toEqual('FakeSiCard1\nCard Number: 501\nClear: ?\nCheck: ?\nStart: ?\nFinish: ?\n? Punches\nCard Holder:\n?\n');
|
|
149
147
|
}));
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
test('Non-empty SiCard toString', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
149
|
+
expect(nonemptySiCard.toString()).toEqual('FakeSiCard1\nCard Number: 502\nClear: 1\nCheck: 2\nStart: 1\nFinish: 1\n31: 2\nCard Holder:\nfirstName: John\n');
|
|
152
150
|
}));
|
|
153
|
-
|
|
154
|
-
|
|
151
|
+
test('Empty SiCard getMonotonizedRaceResult', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
152
|
+
expect(emptySiCard.getMonotonizedRaceResult()).toEqual({
|
|
155
153
|
cardNumber: 501,
|
|
156
154
|
clearTime: undefined,
|
|
157
155
|
checkTime: undefined,
|
|
@@ -161,8 +159,8 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
161
159
|
cardHolder: undefined
|
|
162
160
|
});
|
|
163
161
|
}));
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
test('Non-empty SiCard getMonotonizedRaceResult', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
163
|
+
expect(nonemptySiCard.getMonotonizedRaceResult()).toEqual({
|
|
166
164
|
cardNumber: 502,
|
|
167
165
|
clearTime: { time: 1 },
|
|
168
166
|
checkTime: { time: 2 },
|
|
@@ -172,11 +170,11 @@ const BaseSiCard_1 = require("./BaseSiCard");
|
|
|
172
170
|
cardHolder: { firstName: 'John' }
|
|
173
171
|
});
|
|
174
172
|
}));
|
|
175
|
-
|
|
176
|
-
|
|
173
|
+
test('Empty SiCard getNormalizedRaceResult', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
174
|
+
expect(() => emptySiCard.getNormalizedRaceResult()).toThrow();
|
|
177
175
|
}));
|
|
178
|
-
|
|
179
|
-
|
|
176
|
+
test('Non-empty SiCard getNormalizedRaceResult', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
177
|
+
expect(nonemptySiCard.getNormalizedRaceResult()).toEqual({
|
|
180
178
|
cardNumber: 502,
|
|
181
179
|
clearTime: { time: -43200 },
|
|
182
180
|
checkTime: { time: -43199 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseSiCard.test.js","sourceRoot":"","sources":["../../src/SiCard/BaseSiCard.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseSiCard.test.js","sourceRoot":"","sources":["../../src/SiCard/BaseSiCard.test.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,UAAU,CAAC,GAAG,EAAE;IACf,UAAU,CAAC,wBAAwB,EAAE,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,MAAM,WAAY,SAAQ,UAAU;QACnC,MAAM,CAAC,+BAA+B,CAAC,QAA8B;YACpE,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,gBAAgB;YACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;KACD;IACD,MAAM,WAAY,SAAQ,UAAU;QACnC,MAAM,CAAC,+BAA+B,CAAC,QAA8B;YACpE,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,gBAAgB;YACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;KACD;IAED,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;QAChC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,UAAU,CAAC,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACxD,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/D,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACjE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC3B,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,CAAC,SAAS,YAAY,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,YAAY,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAClC,IAAI,kBAAkB,GAAG,KAAK,CAAC;QAC/B,MAAM,OAAQ,SAAQ,UAAU;YAC/B,MAAM,CAAC,+BAA+B,CAAC,OAA6B;gBACnE,kBAAkB,GAAG,IAAI,CAAC;gBAC1B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAChC,OAAO,SAAS,CAAC;gBAClB,CAAC;gBACD,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;YAED,gBAAgB;gBACf,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;SACD;QAED,UAAU,CAAC,GAAG,EAAE;YACf,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YACrD,UAAU,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,iCAAiC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,UAAU,CAAC,iBAAiB,CAAC;gBAC9C,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO;gBAC1B,UAAU,EAAE,EAAE;aACd,CAAC,CAAC;YACH,MAAM,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,CAAC,SAAS,YAAY,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChD,MAAM,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC7C,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC;gBAC/C,IAAI,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,EAAE,GAAS,EAAE;QACvB,MAAM,OAAQ,SAAQ,UAAU;YAC/B,gBAAgB;gBACf,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC;gBACrC,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;SACD;QACD,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC;YACJ,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;YAC1B,MAAM,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,SAAS;QACV,CAAC;QACD,SAAS,CAAC,WAAW,GAAG;YACvB,WAAW,EAAE,CAAC,QAA8B,EAAE,aAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;SAC5F,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;QACtF,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC,CAAA,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5C,cAAc,CAAC,UAAU,GAAG;QAC3B,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;QACnB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;QACnB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;QACnB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,EAAE,CAAC;QACvC,UAAU,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;QACpB,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;KACjC,CAAC;IACF,IAAI,CAAC,qBAAqB,EAAE,GAAS,EAAE;QACtC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YACpC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACrB,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,yBAAyB,EAAE,GAAS,EAAE;QAC1C,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC;YACvC,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,UAAU,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACpB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,EAAE,CAAC;YACvC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACxC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,sGAAsG,CAAC,CAAC;IAChJ,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,2BAA2B,EAAE,GAAS,EAAE;QAC5C,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,gHAAgH,CAAC,CAAC;IAC7J,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,uCAAuC,EAAE,GAAS,EAAE;QACxD,MAAM,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC;YACtD,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,SAAS;YACpB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,SAAS;YAClB,UAAU,EAAE,SAAS;SACrB,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,2CAA2C,EAAE,GAAS,EAAE;QAC5D,MAAM,CAAC,cAAc,CAAC,wBAAwB,EAAE,CAAC,CAAC,OAAO,CAAC;YACzD,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,SAAS,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC;YACvB,UAAU,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC;YACxB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,EAAE,CAAC;YAC3C,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,sCAAsC,EAAE,GAAS,EAAE;QACvD,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/D,CAAC,CAAA,CAAC,CAAC;IACH,IAAI,CAAC,0CAA0C,EAAE,GAAS,EAAE;QAC3D,MAAM,CAAC,cAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC,OAAO,CAAC;YACxD,UAAU,EAAE,GAAG;YACf,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,KAAK,EAAC;YACxB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,KAAK,EAAC;YACxB,SAAS,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC;YACnB,UAAU,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC;YACxB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,EAAE,CAAC;YACvC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;SACjC,CAAC,CAAC;IACJ,CAAC,CAAA,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/SiCard/ISiCard.js
CHANGED
package/SiCard/index.js
CHANGED
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.BaseSiCard = void 0;
|
|
18
|
-
var BaseSiCard_1 = require("./BaseSiCard");
|
|
19
|
-
Object.defineProperty(exports, "BaseSiCard", { enumerable: true, get: function () { return BaseSiCard_1.BaseSiCard; } });
|
|
20
|
-
__exportStar(require("./types"), exports);
|
|
1
|
+
export { BaseSiCard } from './BaseSiCard';
|
|
2
|
+
export * from './types';
|
|
21
3
|
//# sourceMappingURL=index.js.map
|
package/SiCard/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SiCard/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/SiCard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,cAAc,SAAS,CAAC"}
|
|
@@ -1,41 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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.makeStartZeroTime = exports.monotonizeRaceResult = exports.monotonizeOrderedRaceResult = exports.getRaceResultFromOrdered = exports.getOrderedRaceResult = exports.prettyRaceResult = void 0;
|
|
37
|
-
const siProtocol = __importStar(require("../siProtocol"));
|
|
38
|
-
const prettyRaceResult = (result) => {
|
|
1
|
+
import * as siProtocol from '../siProtocol';
|
|
2
|
+
export const prettyRaceResult = (result) => {
|
|
39
3
|
var _a, _b, _c, _d;
|
|
40
4
|
const punchesString = result.punches ? (result.punches.length > 0 ? result.punches.map((punch) => { var _a, _b; return `${punch.code}: ${(_b = (_a = punch.time) === null || _a === void 0 ? void 0 : _a.time) !== null && _b !== void 0 ? _b : "?"}`; }).join('\n') : 'No Punches') : '? Punches';
|
|
41
5
|
const cardHolderString = result.cardHolder
|
|
@@ -54,8 +18,7 @@ const prettyRaceResult = (result) => {
|
|
|
54
18
|
'Card Holder:\n' +
|
|
55
19
|
`${cardHolderString}\n`);
|
|
56
20
|
};
|
|
57
|
-
|
|
58
|
-
const getOrderedRaceResult = (result) => {
|
|
21
|
+
export const getOrderedRaceResult = (result) => {
|
|
59
22
|
const orderedResult = {
|
|
60
23
|
cardNumber: result.cardNumber,
|
|
61
24
|
cardHolder: result.cardHolder,
|
|
@@ -98,8 +61,7 @@ const getOrderedRaceResult = (result) => {
|
|
|
98
61
|
}
|
|
99
62
|
return orderedResult;
|
|
100
63
|
};
|
|
101
|
-
|
|
102
|
-
const getRaceResultFromOrdered = (orderedResult) => {
|
|
64
|
+
export const getRaceResultFromOrdered = (orderedResult) => {
|
|
103
65
|
const getOrderedTimeIndexIfSet = (index) => (index === null ? null : orderedResult.orderedTimes[index]);
|
|
104
66
|
const getOrderedTimeIndexIfSetAndDefined = (index) => (index === undefined || index === null ? index : orderedResult.orderedTimes[index]);
|
|
105
67
|
return {
|
|
@@ -117,8 +79,7 @@ const getRaceResultFromOrdered = (orderedResult) => {
|
|
|
117
79
|
}))
|
|
118
80
|
};
|
|
119
81
|
};
|
|
120
|
-
|
|
121
|
-
const monotonizeOrderedRaceResult = (orderedData) => {
|
|
82
|
+
export const monotonizeOrderedRaceResult = (orderedData) => {
|
|
122
83
|
let currentCarry = 0;
|
|
123
84
|
let lastTime = 0;
|
|
124
85
|
const newOrderedTimes = orderedData.orderedTimes.map((ts) => {
|
|
@@ -133,14 +94,12 @@ const monotonizeOrderedRaceResult = (orderedData) => {
|
|
|
133
94
|
});
|
|
134
95
|
return Object.assign(Object.assign({}, orderedData), { orderedTimes: newOrderedTimes });
|
|
135
96
|
};
|
|
136
|
-
|
|
137
|
-
const
|
|
138
|
-
const
|
|
139
|
-
|
|
140
|
-
return (0, exports.getRaceResultFromOrdered)(monotonizedOrderedResult);
|
|
97
|
+
export const monotonizeRaceResult = (result) => {
|
|
98
|
+
const orderedResult = getOrderedRaceResult(result);
|
|
99
|
+
const monotonizedOrderedResult = monotonizeOrderedRaceResult(orderedResult);
|
|
100
|
+
return getRaceResultFromOrdered(monotonizedOrderedResult);
|
|
141
101
|
};
|
|
142
|
-
|
|
143
|
-
const makeStartZeroTime = (result) => {
|
|
102
|
+
export const makeStartZeroTime = (result) => {
|
|
144
103
|
const zeroTime = result.startTime;
|
|
145
104
|
if (zeroTime === undefined || zeroTime === null) {
|
|
146
105
|
throw new Error('start time must be known');
|
|
@@ -151,5 +110,4 @@ const makeStartZeroTime = (result) => {
|
|
|
151
110
|
? undefined
|
|
152
111
|
: result.punches.map((punch) => (Object.assign(Object.assign({}, punch), { time: deductZeroTimeIfSet(punch.time) }))) });
|
|
153
112
|
};
|
|
154
|
-
exports.makeStartZeroTime = makeStartZeroTime;
|
|
155
113
|
//# sourceMappingURL=raceResultTools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raceResultTools.js","sourceRoot":"","sources":["../../src/SiCard/raceResultTools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"raceResultTools.js","sourceRoot":"","sources":["../../src/SiCard/raceResultTools.ts"],"names":[],"mappings":"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"}
|