sportident.js 1.1.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/LICENSE +1 -1
- 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 +8 -7
- package/SiDevice/WebSerialSiDeviceDriver.d.ts.map +1 -1
- package/SiDevice/WebSerialSiDeviceDriver.js +117 -77
- package/SiDevice/WebSerialSiDeviceDriver.js.map +1 -1
- package/SiDevice/WebUsbSiDeviceDriver.d.ts +5 -6
- package/SiDevice/WebUsbSiDeviceDriver.d.ts.map +1 -1
- package/SiDevice/WebUsbSiDeviceDriver.js +36 -89
- 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/SiDevice/INavigatorWebSerial.d.ts +0 -62
- package/SiDevice/INavigatorWebSerial.d.ts.map +0 -1
- package/SiDevice/INavigatorWebSerial.js +0 -3
- package/SiDevice/INavigatorWebSerial.js.map +0 -1
- package/SiDevice/INavigatorWebUsb.d.ts +0 -55
- package/SiDevice/INavigatorWebUsb.d.ts.map +0 -1
- package/SiDevice/INavigatorWebUsb.js +0 -3
- package/SiDevice/INavigatorWebUsb.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiBool.test.js","sourceRoot":"","sources":["../../src/storage/SiBool.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiBool.test.js","sourceRoot":"","sources":["../../src/storage/SiBool.test.ts"],"names":[],"mappings":"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"}
|
package/storage/SiDataType.js
CHANGED
|
@@ -1,33 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const interfaces_1 = require("./interfaces");
|
|
5
|
-
const SiFieldValue_1 = require("./SiFieldValue");
|
|
6
|
-
class ModifyUndefinedException {
|
|
1
|
+
import { ValueToStringError, ValueFromStringError } from './interfaces';
|
|
2
|
+
import { SiFieldValue } from './SiFieldValue';
|
|
3
|
+
export class ModifyUndefinedException {
|
|
7
4
|
// eslint-disable-next-line no-useless-constructor
|
|
8
5
|
constructor(message = '' // eslint-disable-next-line no-empty-function
|
|
9
6
|
) {
|
|
10
7
|
this.message = message;
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
|
|
14
|
-
class SiDataType {
|
|
10
|
+
export class SiDataType {
|
|
15
11
|
isValueValid(value) {
|
|
16
12
|
return this.typeSpecificIsValueValid(value);
|
|
17
13
|
}
|
|
18
14
|
valueToString(value) {
|
|
19
15
|
if (!this.isValueValid(value)) {
|
|
20
|
-
return new
|
|
16
|
+
return new ValueToStringError(`Value "${value}" is invalid`);
|
|
21
17
|
}
|
|
22
18
|
return this.typeSpecificValueToString(value);
|
|
23
19
|
}
|
|
24
20
|
valueFromString(string) {
|
|
25
21
|
const value = this.typeSpecificValueFromString(string);
|
|
26
|
-
if (value instanceof
|
|
22
|
+
if (value instanceof ValueFromStringError) {
|
|
27
23
|
return value;
|
|
28
24
|
}
|
|
29
25
|
if (!this.isValueValid(value)) {
|
|
30
|
-
return new
|
|
26
|
+
return new ValueFromStringError(`Value "${value}" is invalid`);
|
|
31
27
|
}
|
|
32
28
|
return value;
|
|
33
29
|
}
|
|
@@ -36,15 +32,14 @@ class SiDataType {
|
|
|
36
32
|
if (extractedValue === undefined) {
|
|
37
33
|
return undefined;
|
|
38
34
|
}
|
|
39
|
-
return new
|
|
35
|
+
return new SiFieldValue(this, extractedValue);
|
|
40
36
|
}
|
|
41
37
|
updateData(data, newValue) {
|
|
42
|
-
const valueForUpdate = newValue instanceof
|
|
38
|
+
const valueForUpdate = newValue instanceof SiFieldValue ? newValue.value : newValue;
|
|
43
39
|
if (!this.typeSpecificIsValueValid(valueForUpdate)) {
|
|
44
40
|
throw new TypeError();
|
|
45
41
|
}
|
|
46
42
|
return this.typeSpecificUpdateData(data, valueForUpdate);
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
|
-
exports.SiDataType = SiDataType;
|
|
50
45
|
//# sourceMappingURL=SiDataType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiDataType.js","sourceRoot":"","sources":["../../src/storage/SiDataType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiDataType.js","sourceRoot":"","sources":["../../src/storage/SiDataType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,OAAO,wBAAwB;IACpC,kDAAkD;IAClD,YACQ,UAAkB,EAAE,CAAC,6CAA6C;;QAAlE,YAAO,GAAP,OAAO,CAAa;IACzB,CAAC;CACJ;AAED,MAAM,OAAgB,UAAU;IAC/B,YAAY,CAAC,KAAQ;QACpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAID,aAAa,CAAC,KAAQ;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,kBAAkB,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAID,eAAe,CAAC,MAAc;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,KAAK,YAAY,oBAAoB,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACd,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,oBAAoB,CAAC,UAAU,KAAK,cAAc,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAID,eAAe,CAAC,IAAoB;QACnC,MAAM,cAAc,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC9D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC/C,CAAC;IAID,UAAU,CAAC,IAAoB,EAAE,QAA6B;QAC7D,MAAM,cAAc,GAAG,QAAQ,YAAY,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QACpF,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAmB,CAAC,EAAE,CAAC;YACzD,MAAM,IAAI,SAAS,EAAE,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,cAAmB,CAAC,CAAC;IAC/D,CAAC;CAGD"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(0, globals_1.describe)('SiDataType', () => {
|
|
9
|
-
class MyType extends SiDataType_1.SiDataType {
|
|
1
|
+
import { describe, expect, test } from '@jest/globals';
|
|
2
|
+
import { List } from 'immutable';
|
|
3
|
+
import { ValueFromStringError } from './interfaces';
|
|
4
|
+
import { SiFieldValue } from './SiFieldValue';
|
|
5
|
+
import { SiDataType } from './SiDataType';
|
|
6
|
+
describe('SiDataType', () => {
|
|
7
|
+
class MyType extends SiDataType {
|
|
10
8
|
typeSpecificIsValueValid(value) {
|
|
11
9
|
return Number.isInteger(value);
|
|
12
10
|
}
|
|
@@ -16,7 +14,7 @@ const SiDataType_1 = require("./SiDataType");
|
|
|
16
14
|
typeSpecificValueFromString(string) {
|
|
17
15
|
const res = /^->(.*)<-$/.exec(string);
|
|
18
16
|
if (!res) {
|
|
19
|
-
return new
|
|
17
|
+
return new ValueFromStringError();
|
|
20
18
|
}
|
|
21
19
|
return parseInt(res[1], 10);
|
|
22
20
|
}
|
|
@@ -32,24 +30,24 @@ const SiDataType_1 = require("./SiDataType");
|
|
|
32
30
|
}
|
|
33
31
|
}
|
|
34
32
|
const myField = new MyType();
|
|
35
|
-
const fieldValueOf = (intValue) => new
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
const fieldValueOf = (intValue) => new SiFieldValue(myField, intValue);
|
|
34
|
+
test('valueToString', () => {
|
|
35
|
+
expect(myField.valueToString(41)).toBe('->41<-');
|
|
38
36
|
});
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
37
|
+
test('valueFromString', () => {
|
|
38
|
+
expect(myField.valueFromString('->41<-')).toBe(41);
|
|
39
|
+
expect(myField.valueFromString('41') instanceof ValueFromStringError).toBe(true);
|
|
42
40
|
});
|
|
43
|
-
|
|
44
|
-
const getExtractedFieldValue = (field, bytes) => field.extractFromData(
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
test('extractFromData', () => {
|
|
42
|
+
const getExtractedFieldValue = (field, bytes) => field.extractFromData(List(bytes));
|
|
43
|
+
expect(getExtractedFieldValue(myField, [0x61]).value).toBe(0x61);
|
|
44
|
+
expect(getExtractedFieldValue(myField, [undefined])).toBe(undefined);
|
|
45
|
+
expect(getExtractedFieldValue(myField, [])).toBe(undefined);
|
|
48
46
|
});
|
|
49
|
-
|
|
50
|
-
const updateData = (field, data, newValue) => field.updateData(
|
|
51
|
-
|
|
52
|
-
|
|
47
|
+
test('updateData', () => {
|
|
48
|
+
const updateData = (field, data, newValue) => field.updateData(List(data), newValue).toJS();
|
|
49
|
+
expect(updateData(myField, [0x00], 0x61)).toEqual([0x61]);
|
|
50
|
+
expect(updateData(myField, [0x00], fieldValueOf(0x61))).toEqual([0x61]);
|
|
53
51
|
});
|
|
54
52
|
//
|
|
55
53
|
// test('SiStorage plain SiDataType', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiDataType.test.js","sourceRoot":"","sources":["../../src/storage/SiDataType.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiDataType.test.js","sourceRoot":"","sources":["../../src/storage/SiDataType.test.ts"],"names":[],"mappings":"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"}
|
package/storage/SiDict.js
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const interfaces_1 = require("./interfaces");
|
|
5
|
-
const SiDataType_1 = require("./SiDataType");
|
|
6
|
-
class SiDict extends SiDataType_1.SiDataType {
|
|
1
|
+
import { ValueFromStringError } from './interfaces';
|
|
2
|
+
import { SiDataType } from './SiDataType';
|
|
3
|
+
export class SiDict extends SiDataType {
|
|
7
4
|
constructor(definitionDict) {
|
|
8
5
|
super();
|
|
9
6
|
this.definitionDict = definitionDict;
|
|
@@ -26,7 +23,7 @@ class SiDict extends SiDataType_1.SiDataType {
|
|
|
26
23
|
.join(', ');
|
|
27
24
|
}
|
|
28
25
|
typeSpecificValueFromString(_string) {
|
|
29
|
-
return new
|
|
26
|
+
return new ValueFromStringError(`${this.constructor.name} does not support string parsing`);
|
|
30
27
|
}
|
|
31
28
|
typeSpecificExtractFromData(data) {
|
|
32
29
|
const dictValue = {};
|
|
@@ -52,5 +49,4 @@ class SiDict extends SiDataType_1.SiDataType {
|
|
|
52
49
|
return Object.keys(this.definitionDict);
|
|
53
50
|
}
|
|
54
51
|
}
|
|
55
|
-
exports.SiDict = SiDict;
|
|
56
52
|
//# sourceMappingURL=SiDict.js.map
|
package/storage/SiDict.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiDict.js","sourceRoot":"","sources":["../../src/storage/SiDict.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiDict.js","sourceRoot":"","sources":["../../src/storage/SiDict.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK1C,MAAM,OAAO,MAAU,SAAQ,UAA0B;IACxD,YAA4B,cAAyD;QACpF,KAAK,EAAE,CAAC;QADmB,mBAAc,GAAd,cAAc,CAA2C;IAErF,CAAC;IAED,wBAAwB,CAAC,KAAqB;QAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,yBAAyB,CAAC,KAAqB;QAC9C,OAAO,IAAI,CAAC,OAAO;aACjB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YAC5B,CAAC;YACD,aAAa;YACb,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC5D,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,eAAe,EAAE,CAAC;QAC7C,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,CAAC;IAED,2BAA2B,CAAC,OAAe;QAC1C,OAAO,IAAI,oBAAoB,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,kCAAkC,CAAC,CAAC;IAC7F,CAAC;IAED,2BAA2B,CAAC,IAAoB;QAC/C,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO;YACR,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,SAA2B,CAAC;IACpC,CAAC;IAED,sBAAsB,CAAC,IAAoB,EAAE,QAAwB;QACpE,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC5B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC5C,QAAQ,GAAG,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,IAAI,OAAO;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAgB,CAAC;IACxD,CAAC;CACD"}
|
package/storage/SiDict.test.js
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
(0, globals_1.describe)('SiDict', () => {
|
|
10
|
-
class FakeDataType extends SiDataType_1.SiDataType {
|
|
1
|
+
import { describe, expect, test } from '@jest/globals';
|
|
2
|
+
import { List } from 'immutable';
|
|
3
|
+
import { ValueToStringError, ValueFromStringError } from './interfaces';
|
|
4
|
+
import { ModifyUndefinedException, SiDataType } from './SiDataType';
|
|
5
|
+
import { SiFieldValue } from './SiFieldValue';
|
|
6
|
+
import { SiDict } from './SiDict';
|
|
7
|
+
describe('SiDict', () => {
|
|
8
|
+
class FakeDataType extends SiDataType {
|
|
11
9
|
constructor(index) {
|
|
12
10
|
super();
|
|
13
11
|
this.index = index;
|
|
@@ -31,74 +29,74 @@ const SiDict_1 = require("./SiDict");
|
|
|
31
29
|
typeSpecificUpdateData(data, newValue) {
|
|
32
30
|
const byte = data.get(this.index);
|
|
33
31
|
if (byte === undefined) {
|
|
34
|
-
throw new
|
|
32
|
+
throw new ModifyUndefinedException();
|
|
35
33
|
}
|
|
36
34
|
return data.set(this.index, newValue.charCodeAt(0));
|
|
37
35
|
}
|
|
38
36
|
}
|
|
39
|
-
const mySiDict = new
|
|
37
|
+
const mySiDict = new SiDict({
|
|
40
38
|
One: new FakeDataType(0x00),
|
|
41
39
|
Other: new FakeDataType(0x01)
|
|
42
40
|
});
|
|
43
|
-
const fieldValueOf = (value) => new
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
const fieldValueOf = (value) => new SiFieldValue(mySiDict, value);
|
|
42
|
+
test('typeCheckValue', () => {
|
|
43
|
+
expect(mySiDict.isValueValid({ One: 'A', Other: 'B' })).toBe(true);
|
|
44
|
+
expect(mySiDict.isValueValid({ One: 'A', Other: undefined })).toBe(false);
|
|
47
45
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
test('valueToString', () => {
|
|
47
|
+
expect(mySiDict.valueToString({ One: 'A', Other: 'B' })).toBe('One: ->A<-, Other: ->B<-');
|
|
48
|
+
expect(mySiDict.valueToString({ One: 'Y', Other: 'Z' })).toBe('One: ->Y<-, Other: ->Z<-');
|
|
49
|
+
expect(mySiDict.valueToString({ One: 'Y', Other: undefined }) instanceof ValueToStringError).toBe(true);
|
|
52
50
|
});
|
|
53
|
-
|
|
54
|
-
|
|
51
|
+
test('typeSpecificValueToString handles edge case', () => {
|
|
52
|
+
expect(mySiDict.typeSpecificValueToString({ One: 'Y', Other: undefined })).toBe('One: ->Y<-, Other: ?');
|
|
55
53
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
test('valueFromString', () => {
|
|
55
|
+
expect(mySiDict.valueFromString('One: ->A<-, Other: ->B<-') instanceof ValueFromStringError).toBe(true);
|
|
56
|
+
expect(mySiDict.valueFromString('One: ->Y<-, Other: ->Z<-') instanceof ValueFromStringError).toBe(true);
|
|
57
|
+
expect(mySiDict.valueFromString('test') instanceof ValueFromStringError).toBe(true);
|
|
60
58
|
});
|
|
61
|
-
|
|
62
|
-
const data =
|
|
59
|
+
test('extractFromData gives field value', () => {
|
|
60
|
+
const data = List([0x41, 0x42]);
|
|
63
61
|
const fieldValue = mySiDict.extractFromData(data);
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
expect(fieldValue instanceof SiFieldValue).toBe(true);
|
|
63
|
+
expect(fieldValue.field).toBe(mySiDict);
|
|
64
|
+
expect(fieldValue.value).toEqual({ One: 'A', Other: 'B' });
|
|
67
65
|
});
|
|
68
|
-
|
|
69
|
-
const getExtractedFieldValue = (bytes) => mySiDict.extractFromData(
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
test('extractFromData', () => {
|
|
67
|
+
const getExtractedFieldValue = (bytes) => mySiDict.extractFromData(List(bytes));
|
|
68
|
+
expect(getExtractedFieldValue([0x61, 0x62]).value).toEqual({ One: 'a', Other: 'b' });
|
|
69
|
+
expect(getExtractedFieldValue([undefined, 0x62]).value).toEqual({
|
|
72
70
|
One: undefined,
|
|
73
71
|
Other: 'b'
|
|
74
72
|
});
|
|
75
|
-
|
|
73
|
+
expect(getExtractedFieldValue([0x61, undefined]).value).toEqual({
|
|
76
74
|
One: 'a',
|
|
77
75
|
Other: undefined
|
|
78
76
|
});
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
expect(getExtractedFieldValue([0x61]).value).toEqual({ One: 'a', Other: undefined });
|
|
78
|
+
expect(getExtractedFieldValue([]).value).toEqual({ One: undefined, Other: undefined });
|
|
81
79
|
});
|
|
82
|
-
|
|
83
|
-
const initialData =
|
|
80
|
+
test('updateData', () => {
|
|
81
|
+
const initialData = List([0x00, 0x00]);
|
|
84
82
|
const updateInitialData = (newValue) => mySiDict.updateData(initialData, newValue).toJS();
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
expect(updateInitialData({ One: 'a', Other: 'b' })).toEqual([0x61, 0x62]);
|
|
84
|
+
expect(updateInitialData({ One: 'y', Other: 'z' })).toEqual([0x79, 0x7a]);
|
|
85
|
+
expect(updateInitialData(fieldValueOf({ One: 'a', Other: 'b' }))).toEqual([0x61, 0x62]);
|
|
88
86
|
});
|
|
89
|
-
|
|
90
|
-
const updateData = (data, newValue) => mySiDict.updateData(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
87
|
+
test('updateData modify undefined', () => {
|
|
88
|
+
const updateData = (data, newValue) => mySiDict.updateData(List(data), newValue).toJS();
|
|
89
|
+
expect(() => updateData([], { One: 'a', Other: 'b' })).toThrow(ModifyUndefinedException);
|
|
90
|
+
expect(() => updateData([], { One: 'a', Other: 'b' })).toThrow(ModifyUndefinedException);
|
|
91
|
+
expect(() => updateData([], fieldValueOf({ One: 'a', Other: 'b' }))).toThrow(ModifyUndefinedException);
|
|
92
|
+
expect(() => updateData([undefined, 0x00], { One: 'a', Other: 'b' })).toThrow(ModifyUndefinedException);
|
|
93
|
+
expect(() => updateData([0x00, undefined], { One: 'a', Other: 'b' })).toThrow(ModifyUndefinedException);
|
|
94
|
+
expect(() => updateData([0x00], fieldValueOf({ One: 'a', Other: 'b' }))).toThrow(ModifyUndefinedException);
|
|
97
95
|
});
|
|
98
|
-
|
|
99
|
-
const initialData =
|
|
96
|
+
test('updateData wrong type', () => {
|
|
97
|
+
const initialData = List([0x00, 0x00]);
|
|
100
98
|
const updatingInitialData = (newValue) => () => mySiDict.updateData(initialData, newValue);
|
|
101
|
-
|
|
99
|
+
expect(updatingInitialData({ One: undefined, Other: 'A' })).toThrow(TypeError);
|
|
102
100
|
});
|
|
103
101
|
});
|
|
104
102
|
//# sourceMappingURL=SiDict.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiDict.test.js","sourceRoot":"","sources":["../../src/storage/SiDict.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiDict.test.js","sourceRoot":"","sources":["../../src/storage/SiDict.test.ts"],"names":[],"mappings":"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"}
|
package/storage/SiEnum.js
CHANGED
|
@@ -1,49 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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.SiEnum = void 0;
|
|
37
|
-
const utils = __importStar(require("../utils"));
|
|
38
|
-
const interfaces_1 = require("./interfaces");
|
|
39
|
-
const SiDataType_1 = require("./SiDataType");
|
|
40
|
-
const SiInt_1 = require("./SiInt");
|
|
41
|
-
class SiEnum extends SiDataType_1.SiDataType {
|
|
1
|
+
import * as utils from '../utils';
|
|
2
|
+
import { ValueFromStringError } from './interfaces';
|
|
3
|
+
import { SiDataType } from './SiDataType';
|
|
4
|
+
import { SiInt } from './SiInt';
|
|
5
|
+
export class SiEnum extends SiDataType {
|
|
42
6
|
constructor(parts, dict, getIntValue = (value) => value) {
|
|
43
7
|
super();
|
|
44
8
|
this.dict = dict;
|
|
45
9
|
this.getIntValue = getIntValue;
|
|
46
|
-
this.intField = new
|
|
10
|
+
this.intField = new SiInt(parts);
|
|
47
11
|
}
|
|
48
12
|
getLookupDict() {
|
|
49
13
|
return utils.getLookup(this.dict, (value) => `${this.getIntValue(value)}`);
|
|
@@ -56,7 +20,7 @@ class SiEnum extends SiDataType_1.SiDataType {
|
|
|
56
20
|
}
|
|
57
21
|
typeSpecificValueFromString(string) {
|
|
58
22
|
if (this.dict[string] === undefined) {
|
|
59
|
-
return new
|
|
23
|
+
return new ValueFromStringError(`Value for ${this.constructor.name} must be an enum option, not "${string}"`);
|
|
60
24
|
}
|
|
61
25
|
return string;
|
|
62
26
|
}
|
|
@@ -72,5 +36,4 @@ class SiEnum extends SiDataType_1.SiDataType {
|
|
|
72
36
|
return this.intField.typeSpecificUpdateData(data, newIntValue);
|
|
73
37
|
}
|
|
74
38
|
}
|
|
75
|
-
exports.SiEnum = SiEnum;
|
|
76
39
|
//# sourceMappingURL=SiEnum.js.map
|
package/storage/SiEnum.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SiEnum.js","sourceRoot":"","sources":["../../src/storage/SiEnum.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SiEnum.js","sourceRoot":"","sources":["../../src/storage/SiEnum.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAgC,MAAM,SAAS,CAAC;AAE9D,MAAM,OAAO,MAA4C,SAAQ,UAAmB;IAGnF,YAAY,KAAgC,EAAkB,IAAO,EAAkB,cAAc,CAAC,KAAc,EAAsB,EAAE,CAAC,KAAe;QAC3J,KAAK,EAAE,CAAC;QADqD,SAAI,GAAJ,IAAI,CAAG;QAAkB,gBAAW,GAAX,WAAW,CAA0D;QAE3J,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,aAAa;QACZ,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,wBAAwB,CAAC,KAAc;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IACvC,CAAC;IAED,yBAAyB,CAAC,KAAc;QACvC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,2BAA2B,CAAC,MAAc;QACzC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,IAAI,oBAAoB,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,IAAI,iCAAiC,MAAM,GAAG,CAAC,CAAC;QAC/G,CAAC;QACD,OAAO,MAAiB,CAAC;IAC1B,CAAC;IAED,2BAA2B,CAAC,IAAoB;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,GAAG,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,sBAAsB,CAAC,IAAoB,EAAE,QAAiB;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAChE,CAAC;CACD"}
|