@zwave-js/config 9.0.3 → 9.0.4
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/build/CompatConfig.d.ts +2 -2
- package/build/CompatConfig.d.ts.map +1 -1
- package/build/CompatConfig.js +51 -51
- package/build/CompatConfig.js.map +1 -1
- package/build/ConfigManager.d.ts.map +1 -1
- package/build/ConfigManager.js +239 -7
- package/build/ConfigManager.js.map +1 -1
- package/build/DeviceClasses.d.ts +2 -2
- package/build/DeviceClasses.d.ts.map +1 -1
- package/build/DeviceClasses.js +30 -82
- package/build/DeviceClasses.js.map +1 -1
- package/build/Devices.d.ts.map +1 -1
- package/build/Devices.js +44 -43
- package/build/Devices.js.map +1 -1
- package/build/Indicators.d.ts +2 -2
- package/build/Indicators.d.ts.map +1 -1
- package/build/Indicators.js +9 -64
- package/build/Indicators.js.map +1 -1
- package/build/JsonTemplate.js +10 -10
- package/build/JsonTemplate.js.map +1 -1
- package/build/Logger.d.ts +2 -3
- package/build/Logger.d.ts.map +1 -1
- package/build/Logger.js +4 -5
- package/build/Logger.js.map +1 -1
- package/build/Logger_safe.d.ts +5 -0
- package/build/Logger_safe.d.ts.map +1 -0
- package/build/Logger_safe.js +6 -0
- package/build/Logger_safe.js.map +1 -0
- package/build/Manufacturers.d.ts.map +1 -1
- package/build/Manufacturers.js +6 -5
- package/build/Manufacturers.js.map +1 -1
- package/build/Meters.d.ts +1 -1
- package/build/Meters.d.ts.map +1 -1
- package/build/Meters.js +7 -46
- package/build/Meters.js.map +1 -1
- package/build/Notifications.d.ts +1 -1
- package/build/Notifications.d.ts.map +1 -1
- package/build/Notifications.js +15 -54
- package/build/Notifications.js.map +1 -1
- package/build/Scales.d.ts +1 -1
- package/build/Scales.d.ts.map +1 -1
- package/build/Scales.js +6 -55
- package/build/Scales.js.map +1 -1
- package/build/SensorTypes.d.ts +1 -1
- package/build/SensorTypes.d.ts.map +1 -1
- package/build/SensorTypes.js +9 -47
- package/build/SensorTypes.js.map +1 -1
- package/build/index.d.ts +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/index_safe.d.ts +8 -0
- package/build/index_safe.d.ts.map +1 -0
- package/build/index_safe.js +25 -0
- package/build/index_safe.js.map +1 -0
- package/build/utils.d.ts +0 -4
- package/build/utils.d.ts.map +1 -1
- package/build/utils.js +1 -10
- package/build/utils.js.map +1 -1
- package/build/utils_safe.d.ts +5 -0
- package/build/utils_safe.d.ts.map +1 -0
- package/build/utils_safe.js +13 -0
- package/build/utils_safe.js.map +1 -0
- package/package.json +16 -4
package/build/ConfigManager.js
CHANGED
|
@@ -3,10 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ConfigManager = void 0;
|
|
6
|
+
exports.loadSensorTypesInternal = exports.loadNamedScalesInternal = exports.loadNotificationsInternal = exports.loadMetersInternal = exports.loadIndicatorsInternal = exports.loadDeviceClassesInternal = exports.ConfigManager = void 0;
|
|
7
7
|
const core_1 = require("@zwave-js/core");
|
|
8
8
|
const shared_1 = require("@zwave-js/shared");
|
|
9
|
+
const objects_1 = require("alcalzone-shared/objects");
|
|
10
|
+
const typeguards_1 = require("alcalzone-shared/typeguards");
|
|
9
11
|
const fs_extra_1 = require("fs-extra");
|
|
12
|
+
const json5_1 = __importDefault(require("json5"));
|
|
10
13
|
const path_1 = __importDefault(require("path"));
|
|
11
14
|
const DeviceClasses_1 = require("./DeviceClasses");
|
|
12
15
|
const Devices_1 = require("./Devices");
|
|
@@ -18,6 +21,7 @@ const Notifications_1 = require("./Notifications");
|
|
|
18
21
|
const Scales_1 = require("./Scales");
|
|
19
22
|
const SensorTypes_1 = require("./SensorTypes");
|
|
20
23
|
const utils_1 = require("./utils");
|
|
24
|
+
const utils_safe_1 = require("./utils_safe");
|
|
21
25
|
class ConfigManager {
|
|
22
26
|
constructor(options = {}) {
|
|
23
27
|
var _a;
|
|
@@ -159,7 +163,7 @@ class ConfigManager {
|
|
|
159
163
|
}
|
|
160
164
|
async loadIndicators() {
|
|
161
165
|
try {
|
|
162
|
-
const config = await
|
|
166
|
+
const config = await loadIndicatorsInternal(this._useExternalConfig);
|
|
163
167
|
this._indicators = config.indicators;
|
|
164
168
|
this._indicatorProperties = config.properties;
|
|
165
169
|
}
|
|
@@ -200,7 +204,7 @@ class ConfigManager {
|
|
|
200
204
|
}
|
|
201
205
|
async loadNamedScales() {
|
|
202
206
|
try {
|
|
203
|
-
this._namedScales = await
|
|
207
|
+
this._namedScales = await loadNamedScalesInternal(this._useExternalConfig);
|
|
204
208
|
}
|
|
205
209
|
catch (e) {
|
|
206
210
|
// If the config file is missing or invalid, don't try to find it again
|
|
@@ -234,7 +238,7 @@ class ConfigManager {
|
|
|
234
238
|
}
|
|
235
239
|
async loadSensorTypes() {
|
|
236
240
|
try {
|
|
237
|
-
this._sensorTypes = await
|
|
241
|
+
this._sensorTypes = await loadSensorTypesInternal(this, this._useExternalConfig);
|
|
238
242
|
}
|
|
239
243
|
catch (e) {
|
|
240
244
|
// If the config file is missing or invalid, don't try to find it again
|
|
@@ -274,7 +278,7 @@ class ConfigManager {
|
|
|
274
278
|
}
|
|
275
279
|
async loadMeters() {
|
|
276
280
|
try {
|
|
277
|
-
this._meters = await
|
|
281
|
+
this._meters = await loadMetersInternal(this._useExternalConfig);
|
|
278
282
|
}
|
|
279
283
|
catch (e) {
|
|
280
284
|
// If the config file is missing or invalid, don't try to find it again
|
|
@@ -313,7 +317,7 @@ class ConfigManager {
|
|
|
313
317
|
}
|
|
314
318
|
async loadDeviceClasses() {
|
|
315
319
|
try {
|
|
316
|
-
const config = await
|
|
320
|
+
const config = await loadDeviceClassesInternal(this._useExternalConfig);
|
|
317
321
|
this._basicDeviceClasses = config.basicDeviceClasses;
|
|
318
322
|
this._genericDeviceClasses = config.genericDeviceClasses;
|
|
319
323
|
}
|
|
@@ -458,7 +462,7 @@ class ConfigManager {
|
|
|
458
462
|
}
|
|
459
463
|
async loadNotifications() {
|
|
460
464
|
try {
|
|
461
|
-
this._notifications = await
|
|
465
|
+
this._notifications = await loadNotificationsInternal(this._useExternalConfig);
|
|
462
466
|
}
|
|
463
467
|
catch (e) {
|
|
464
468
|
// If the config file is missing or invalid, don't try to find it again
|
|
@@ -497,4 +501,232 @@ class ConfigManager {
|
|
|
497
501
|
}
|
|
498
502
|
}
|
|
499
503
|
exports.ConfigManager = ConfigManager;
|
|
504
|
+
/** @internal */
|
|
505
|
+
async function loadDeviceClassesInternal(externalConfig) {
|
|
506
|
+
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "deviceClasses.json");
|
|
507
|
+
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
508
|
+
throw new core_1.ZWaveError("The device classes config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
509
|
+
}
|
|
510
|
+
try {
|
|
511
|
+
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
512
|
+
const definition = json5_1.default.parse(fileContents);
|
|
513
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
514
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `the dictionary is not an object`);
|
|
515
|
+
}
|
|
516
|
+
if (!(0, typeguards_1.isObject)(definition.basic)) {
|
|
517
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The "basic" property is not an object`);
|
|
518
|
+
}
|
|
519
|
+
if (!(0, typeguards_1.isObject)(definition.generic)) {
|
|
520
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The "generic" property is not an object`);
|
|
521
|
+
}
|
|
522
|
+
const basicDeviceClasses = new Map();
|
|
523
|
+
for (const [key, basicClass] of (0, objects_1.entries)(definition.basic)) {
|
|
524
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(key)) {
|
|
525
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `found invalid key "${key}" in the basic device class definition. Device classes must have lowercase hexadecimal IDs.`);
|
|
526
|
+
}
|
|
527
|
+
const keyNum = parseInt(key.slice(2), 16);
|
|
528
|
+
basicDeviceClasses.set(keyNum, basicClass);
|
|
529
|
+
}
|
|
530
|
+
const genericDeviceClasses = new Map();
|
|
531
|
+
for (const [key, genericDefinition] of (0, objects_1.entries)(definition.generic)) {
|
|
532
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(key)) {
|
|
533
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `found invalid key "${key}" in the generic device class definition. Device classes must have lowercase hexadecimal IDs.`);
|
|
534
|
+
}
|
|
535
|
+
const keyNum = parseInt(key.slice(2), 16);
|
|
536
|
+
genericDeviceClasses.set(keyNum, new DeviceClasses_1.GenericDeviceClass(keyNum, genericDefinition));
|
|
537
|
+
}
|
|
538
|
+
return { basicDeviceClasses, genericDeviceClasses };
|
|
539
|
+
}
|
|
540
|
+
catch (e) {
|
|
541
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
542
|
+
throw e;
|
|
543
|
+
}
|
|
544
|
+
else {
|
|
545
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes");
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
exports.loadDeviceClassesInternal = loadDeviceClassesInternal;
|
|
550
|
+
/** @internal */
|
|
551
|
+
async function loadIndicatorsInternal(externalConfig) {
|
|
552
|
+
const indicatorsConfigPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "indicators.json");
|
|
553
|
+
if (!(await (0, fs_extra_1.pathExists)(indicatorsConfigPath))) {
|
|
554
|
+
throw new core_1.ZWaveError("The config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
555
|
+
}
|
|
556
|
+
try {
|
|
557
|
+
const fileContents = await (0, fs_extra_1.readFile)(indicatorsConfigPath, "utf8");
|
|
558
|
+
const definition = json5_1.default.parse(fileContents);
|
|
559
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
560
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators", "the database is not an object");
|
|
561
|
+
}
|
|
562
|
+
if (!("indicators" in definition)) {
|
|
563
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators", `the required key "indicators" is missing`);
|
|
564
|
+
}
|
|
565
|
+
if (!("properties" in definition)) {
|
|
566
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators", `the required key "properties" is missing`);
|
|
567
|
+
}
|
|
568
|
+
const indicators = new Map();
|
|
569
|
+
for (const [id, label] of (0, objects_1.entries)(definition.indicators)) {
|
|
570
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(id)) {
|
|
571
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators", `found invalid key "${id}" in "indicators". Indicators must have lowercase hexadecimal IDs.`);
|
|
572
|
+
}
|
|
573
|
+
const idNum = parseInt(id.slice(2), 16);
|
|
574
|
+
indicators.set(idNum, label);
|
|
575
|
+
}
|
|
576
|
+
const properties = new Map();
|
|
577
|
+
for (const [id, propDefinition] of (0, objects_1.entries)(definition.properties)) {
|
|
578
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(id)) {
|
|
579
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators", `found invalid key "${id}" in "properties". Indicator properties must have lowercase hexadecimal IDs.`);
|
|
580
|
+
}
|
|
581
|
+
const idNum = parseInt(id.slice(2), 16);
|
|
582
|
+
properties.set(idNum, new Indicators_1.IndicatorProperty(idNum, propDefinition));
|
|
583
|
+
}
|
|
584
|
+
return { indicators, properties };
|
|
585
|
+
}
|
|
586
|
+
catch (e) {
|
|
587
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
588
|
+
throw e;
|
|
589
|
+
}
|
|
590
|
+
else {
|
|
591
|
+
(0, utils_safe_1.throwInvalidConfig)("indicators");
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
exports.loadIndicatorsInternal = loadIndicatorsInternal;
|
|
596
|
+
/** @internal */
|
|
597
|
+
async function loadMetersInternal(externalConfig) {
|
|
598
|
+
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "meters.json");
|
|
599
|
+
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
600
|
+
throw new core_1.ZWaveError("The config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
601
|
+
}
|
|
602
|
+
try {
|
|
603
|
+
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
604
|
+
const definition = json5_1.default.parse(fileContents);
|
|
605
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
606
|
+
(0, utils_safe_1.throwInvalidConfig)("meters", "the database is not an object");
|
|
607
|
+
}
|
|
608
|
+
const meters = new Map();
|
|
609
|
+
for (const [id, meterDefinition] of (0, objects_1.entries)(definition)) {
|
|
610
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(id)) {
|
|
611
|
+
(0, utils_safe_1.throwInvalidConfig)("meters", `found invalid key "${id}" at the root. Meters must have lowercase hexadecimal IDs.`);
|
|
612
|
+
}
|
|
613
|
+
const idNum = parseInt(id.slice(2), 16);
|
|
614
|
+
meters.set(idNum, new Meters_1.Meter(idNum, meterDefinition));
|
|
615
|
+
}
|
|
616
|
+
return meters;
|
|
617
|
+
}
|
|
618
|
+
catch (e) {
|
|
619
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
620
|
+
throw e;
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
(0, utils_safe_1.throwInvalidConfig)("meters");
|
|
624
|
+
}
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
exports.loadMetersInternal = loadMetersInternal;
|
|
628
|
+
/** @internal */
|
|
629
|
+
async function loadNotificationsInternal(externalConfig) {
|
|
630
|
+
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "notifications.json");
|
|
631
|
+
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
632
|
+
throw new core_1.ZWaveError("The config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
633
|
+
}
|
|
634
|
+
try {
|
|
635
|
+
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
636
|
+
const definition = json5_1.default.parse(fileContents);
|
|
637
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
638
|
+
(0, utils_safe_1.throwInvalidConfig)("notifications", "the database is not an object");
|
|
639
|
+
}
|
|
640
|
+
const notifications = new Map();
|
|
641
|
+
for (const [id, ntfcnDefinition] of (0, objects_1.entries)(definition)) {
|
|
642
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(id)) {
|
|
643
|
+
(0, utils_safe_1.throwInvalidConfig)("notifications", `found invalid key "${id}" at the root. Notifications must have lowercase hexadecimal IDs.`);
|
|
644
|
+
}
|
|
645
|
+
const idNum = parseInt(id.slice(2), 16);
|
|
646
|
+
notifications.set(idNum, new Notifications_1.Notification(idNum, ntfcnDefinition));
|
|
647
|
+
}
|
|
648
|
+
return notifications;
|
|
649
|
+
}
|
|
650
|
+
catch (e) {
|
|
651
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
652
|
+
throw e;
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
(0, utils_safe_1.throwInvalidConfig)("notifications");
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
exports.loadNotificationsInternal = loadNotificationsInternal;
|
|
660
|
+
/** @internal */
|
|
661
|
+
async function loadNamedScalesInternal(externalConfig) {
|
|
662
|
+
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "scales.json");
|
|
663
|
+
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
664
|
+
throw new core_1.ZWaveError("The named scales config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
665
|
+
}
|
|
666
|
+
try {
|
|
667
|
+
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
668
|
+
const definition = json5_1.default.parse(fileContents);
|
|
669
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
670
|
+
(0, utils_safe_1.throwInvalidConfig)("named scales", `the dictionary is not an object`);
|
|
671
|
+
}
|
|
672
|
+
const namedScales = new Map();
|
|
673
|
+
for (const [name, scales] of (0, objects_1.entries)(definition)) {
|
|
674
|
+
if (!/[\w\d]+/.test(name)) {
|
|
675
|
+
(0, utils_safe_1.throwInvalidConfig)("named scales", `Name ${name} contains other characters than letters and numbers`);
|
|
676
|
+
}
|
|
677
|
+
const named = new Map();
|
|
678
|
+
named.name = name;
|
|
679
|
+
for (const [key, scaleDefinition] of (0, objects_1.entries)(scales)) {
|
|
680
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(key)) {
|
|
681
|
+
(0, utils_safe_1.throwInvalidConfig)("named scales", `found invalid key "${key}" in the definition for "${name}". Scales must have lowercase hexadecimal IDs.`);
|
|
682
|
+
}
|
|
683
|
+
const keyNum = parseInt(key.slice(2), 16);
|
|
684
|
+
named.set(keyNum, new Scales_1.Scale(keyNum, scaleDefinition));
|
|
685
|
+
}
|
|
686
|
+
namedScales.set(name, named);
|
|
687
|
+
}
|
|
688
|
+
return namedScales;
|
|
689
|
+
}
|
|
690
|
+
catch (e) {
|
|
691
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
692
|
+
throw e;
|
|
693
|
+
}
|
|
694
|
+
else {
|
|
695
|
+
(0, utils_safe_1.throwInvalidConfig)("named scales");
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
}
|
|
699
|
+
exports.loadNamedScalesInternal = loadNamedScalesInternal;
|
|
700
|
+
/** @internal */
|
|
701
|
+
async function loadSensorTypesInternal(manager, externalConfig) {
|
|
702
|
+
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "sensorTypes.json");
|
|
703
|
+
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
704
|
+
throw new core_1.ZWaveError("The sensor types config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
705
|
+
}
|
|
706
|
+
try {
|
|
707
|
+
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
708
|
+
const definition = json5_1.default.parse(fileContents);
|
|
709
|
+
if (!(0, typeguards_1.isObject)(definition)) {
|
|
710
|
+
(0, utils_safe_1.throwInvalidConfig)("sensor types", `the dictionary is not an object`);
|
|
711
|
+
}
|
|
712
|
+
const sensorTypes = new Map();
|
|
713
|
+
for (const [key, sensorDefinition] of (0, objects_1.entries)(definition)) {
|
|
714
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(key)) {
|
|
715
|
+
(0, utils_safe_1.throwInvalidConfig)("sensor types", `found invalid key "${key}" at the root. Sensor types must have lowercase hexadecimal IDs.`);
|
|
716
|
+
}
|
|
717
|
+
const keyNum = parseInt(key.slice(2), 16);
|
|
718
|
+
sensorTypes.set(keyNum, new SensorTypes_1.SensorType(manager, keyNum, sensorDefinition));
|
|
719
|
+
}
|
|
720
|
+
return sensorTypes;
|
|
721
|
+
}
|
|
722
|
+
catch (e) {
|
|
723
|
+
if ((0, core_1.isZWaveError)(e)) {
|
|
724
|
+
throw e;
|
|
725
|
+
}
|
|
726
|
+
else {
|
|
727
|
+
(0, utils_safe_1.throwInvalidConfig)("sensor types");
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
exports.loadSensorTypesInternal = loadSensorTypesInternal;
|
|
500
732
|
//# sourceMappingURL=ConfigManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":";;;;;;AAAA,yCAKwB;AACxB,6CAA4D;AAC5D,uCAAsC;AACtC,gDAAwB;AACxB,mDASyB;AACzB,uCASmB;AACnB,6CAKsB;AACtB,qCAAwC;AACxC,mDAIyB;AACzB,qCAMkB;AAClB,mDAIyB;AACzB,qCAMkB;AAClB,+CAIuB;AACvB,mCAMiB;AAOjB,MAAa,aAAa;IACzB,YAAmB,UAAgC,EAAE;;QAwH7C,uBAAkB,GAAY,KAAK,CAAC;QAvH3C,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAY,CAC7B,MAAA,OAAO,CAAC,YAAY,mCAAI,IAAI,wBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CACjE,CAAC;QACF,IAAI,CAAC,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;QAC/D,IAAI,CAAC,cAAc;YAClB,8DAA8D;YAC9D,OAAO,CAAC,+BAA+B,CAAC,CAAC,OAAO,CAAC;IACnD,CAAC;IAGD,IAAW,aAAa;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAKD,IAAW,UAAU;QACpB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAGD,IAAW,mBAAmB;QAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC/B,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAGD,IAAW,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAGD,IAAW,WAAW;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAGD,IAAW,WAAW;QACrB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAGD,IAAW,MAAM;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAGD,IAAW,kBAAkB;QAC5B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9B,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACjC,CAAC;IAGD,IAAW,oBAAoB;QAC9B,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAChC,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACnC,CAAC;IAOD,IAAW,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAGD,IAAW,iBAAiB;QAC3B,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,OAAO;QACnB,8DAA8D;QAC9D,iCAAiC;QACjC,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAqB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,UAAU,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,oCAAoC,IAAA,yBAAiB,GAAE,EAAE,CACzD,CAAC;YACF,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;SACzC;aAAM;YACN,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,cAAc,GAAG,MAAM,IAAA,gCAAwB,GAAE,CAAC;SACvD;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;QAE5D,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,IAAI;YACH,IAAI,CAAC,cAAc,GAAG,MAAM,IAAA,yCAAyB,EACpD,IAAI,CAAC,kBAAkB,CACvB,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,wCAAwC,CAAC,CAAC,OAAO,EAAE,EACnD,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,cAAc;oBAAE,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;aAC1D;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,MAAM,IAAA,yCAAyB,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,kBAAkB,CAAC,cAAsB;QAC/C,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACI,eAAe,CACrB,cAAsB,EACtB,gBAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,cAAc;QAC1B,IAAI;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,mCAAsB,EAC1C,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;YACrC,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,UAAU,CAAC;SAC9C;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qCAAqC,CAAC,CAAC,OAAO,EAAE,EAChD,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW;oBAAE,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,oBAAoB;oBAC7B,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,EAAE,CAAC;aACvC;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,WAAmB;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACtB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,UAAkB;QACvC,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC/B,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC3B,IAAI;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,IAAA,gCAAuB,EAChD,IAAI,CAAC,kBAAkB,CACvB,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iCAAiC,CAAC,CAAC,OAAO,EAAE,EAC5C,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;aACtD;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAED;;OAEG;IACI,qBAAqB,CAAC,IAAY;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,yDAAyD;IAClD,gBAAgB,CAAC,IAAY,EAAE,KAAa;;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,CAAC,KAAK,CAAC,mCAAI,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,eAAe;QAC3B,IAAI;YACH,IAAI,CAAC,YAAY,GAAG,MAAM,IAAA,qCAAuB,EAChD,IAAI,EACJ,IAAI,CAAC,kBAAkB,CACvB,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,uCAAuC,CAAC,CAAC,OAAO,EAAE,EAClD,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,YAAY;oBAAE,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC;aACtD;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,UAAkB;QACzC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,0DAA0D;IACnD,iBAAiB,CAAC,UAAkB,EAAE,KAAa;;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACjD,OAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAEM,iBAAiB,CAAC,UAAkB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QACjD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,KAAK,CAAC;QAChC,OAAO,YAAY,IAAA,gBAAO,EAAC,UAAU,CAAC,GAAG,CAAC;IAC3C,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,IAAI;YACH,IAAI,CAAC,OAAO,GAAG,MAAM,IAAA,2BAAkB,EAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;SACjE;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,4BAA4B,CAAC,CAAC,OAAO,EAAE,EACvC,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;aAC5C;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAED;;OAEG;IACI,WAAW,CAAC,SAAiB;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAClB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAEM,YAAY,CAAC,SAAiB;;QACpC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,mCAAI,YAAY,IAAA,gBAAO,EAAC,SAAS,CAAC,GAAG,CAAC;IACzD,CAAC;IAED,yDAAyD;IAClD,gBAAgB,CAAC,IAAY,EAAE,KAAa;;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,mCAAI,IAAA,6BAAoB,EAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,IAAI;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,yCAAyB,EAC7C,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACF,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,kBAAkB,CAAC;YACrD,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC;SACzD;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,iCAAiC,CAAC,CAAC,OAAO,EAAE,EAC5C,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,IAAI,CAAC,mBAAmB;oBAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,GAAG,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,qBAAqB;oBAC9B,IAAI,CAAC,qBAAqB,GAAG,IAAI,GAAG,EAAE,CAAC;aACxC;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAEM,sBAAsB,CAAC,KAAa;;QAC1C,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9B,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO;YACN,GAAG,EAAE,KAAK;YACV,KAAK,EACJ,MAAA,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,mCACnC,YAAY,IAAA,gBAAO,EAAC,KAAK,CAAC,GAAG;SAC9B,CAAC;IACH,CAAC;IAEM,wBAAwB,CAAC,OAAe;;QAC9C,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;YAChC,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,CACN,MAAA,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,mCACvC,IAAA,4CAA4B,EAAC,OAAO,CAAC,CACrC,CAAC;IACH,CAAC;IAEM,yBAAyB,CAC/B,OAAe,EACf,QAAgB;;QAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAC5D,OAAO,CACN,MAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,mCACnC,IAAA,6CAA6B,EAAC,YAAY,EAAE,QAAQ,CAAC,CACrD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe;QAC3B,IAAI;YACH,qDAAqD;YACrD,MAAM,aAAa,GAAG,MAAM,IAAA,iCAAuB,EAClD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,kBAAkB,CACvB,CAAC;YACF,mEAAmE;YACnE,MAAM,aAAa,GAAsB,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBACjC,IAAI,MAAM,IAAA,qBAAU,EAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;oBACnD,aAAa,CAAC,IAAI,CACjB,GAAG,CAAC,MAAM,IAAA,qCAA2B,EACpC,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,MAAM,CACX,CAAC,CACF,CAAC;iBACF;qBAAM;oBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,2CAA2C,IAAI,CAAC,uBAAuB,YAAY,EACnF,MAAM,CACN,CAAC;iBACF;aACD;YACD,mEAAmE;YACnE,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,EAAE,GAAG,aAAa,CAAC,CAAC;SAClD;QAAC,OAAO,CAAC,EAAE;YACX,sEAAsE;YACtE,IACC,CAAC,CAAC,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC;gBACxC,CAAC,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,CAAC,EAC7D;gBACD,8CAA8C;gBAC9C,IAAI,CAAC,IAAI,CAAC,KAAK;oBAAE,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,qDAAqD,CAAC,CAAC,OAAO,EAAE,EAChE,OAAO,CACP,CAAC;oBACF,kBAAkB;oBAClB,OAAO;iBACP;gBACD,yBAAyB;gBACzB,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAEM,QAAQ;QACd,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC,aAAa,GAAG,MAAM,IAAA,yCAA+B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzE,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,8BAA8B,CAC1C,cAAsB,EACtB,WAAmB,EACnB,SAAiB,EACjB,eAAwB;;QAExB,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,kCAAkC;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAM,CAAC,IAAI,CAClC,IAAA,+BAAuB,EACtB,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,CACf,CACD,CAAC;QAEF,IAAI,UAAU,EAAE;YACf,MAAM,UAAU,GAAG,IAAA,yBAAe,EACjC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAA,yBAAiB,GAAG,CAAC,CAAC,CAAC,iBAAS,CAC1D,CAAC,UAAU,CAAC;YACb,MAAM,QAAQ,GAAG,cAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACpD,CAAC,CAAC,UAAU,CAAC,QAAQ;gBACrB,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;gBAAE,OAAO;YAE1C,4FAA4F;YAC5F,6BAA6B;YAC7B,MAAM,UAAU,GAAG,CAAC,cAAI;iBACtB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;iBAC9B,UAAU,CAAC,IAAI,CAAC,CAAC;YAEnB,IAAI;gBACH,OAAO,MAAM,iCAAuB,CAAC,IAAI,CACxC,QAAQ,EACR,UAAU,EACV;oBACC,sEAAsE;oBACtE,OAAO,EAAE,MAAA,UAAU,CAAC,OAAO,mCAAI,UAAU;iBACzC,CACD,CAAC;aACF;YAAC,OAAO,CAAC,EAAE;gBACX,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,+BAA+B,QAAQ,KAAK,IAAA,wBAAe,EAC1D,CAAC,EACD,IAAI,CACJ,EAAE,EACH,OAAO,CACP,CAAC;iBACF;aACD;SACD;IACF,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,YAAY,CACxB,cAAsB,EACtB,WAAmB,EACnB,SAAiB,EACjB,eAAwB;QAExB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,8BAA8B,CACpD,cAAc,EACd,WAAW,EACX,SAAS,EACT,eAAe,CACf,CAAC;QACF,OAAO,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC;YACpB,cAAc;YACd,WAAW;YACX,SAAS;YACT,eAAe;SACf,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC7B,IAAI;YACH,IAAI,CAAC,cAAc,GAAG,MAAM,IAAA,yCAAyB,EACpD,IAAI,CAAC,kBAAkB,CACvB,CAAC;SACF;QAAC,OAAO,CAAC,EAAE;YACX,uEAAuE;YACvE,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,sBAAe,CAAC,cAAc,EAAE;gBACjE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAChB,wCAAwC,CAAC,CAAC,OAAO,EAAE,EACnD,OAAO,CACP,CAAC;iBACF;gBACD,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;aAChC;iBAAM;gBACN,8BAA8B;gBAC9B,MAAM,CAAC,CAAC;aACR;SACD;IACF,CAAC;IAED;;OAEG;IACI,kBAAkB,CACxB,gBAAwB;QAExB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,iBAAU,CACnB,qCAAqC,EACrC,sBAAe,CAAC,eAAe,CAC/B,CAAC;SACF;QAED,OAAO,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACK,wBAAwB,CAC/B,gBAAwB;;QAExB,OAAO,MAAA,IAAI,CAAC,cAAc,0CAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACnD,CAAC;IAEM,mBAAmB,CAAC,gBAAwB;;QAClD,OAAO,CACN,MAAA,MAAA,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,0CAAE,IAAI,mCACrD,YAAY,IAAA,gBAAO,EAAC,gBAAgB,CAAC,GAAG,CACxC,CAAC;IACH,CAAC;CACD;AA5qBD,sCA4qBC"}
|
|
1
|
+
{"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":"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"}
|
package/build/DeviceClasses.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { CommandClasses } from "@zwave-js/core";
|
|
2
|
-
import { JSONObject } from "@zwave-js/shared";
|
|
1
|
+
import { CommandClasses } from "@zwave-js/core/safe";
|
|
2
|
+
import { JSONObject } from "@zwave-js/shared/safe";
|
|
3
3
|
export declare type BasicDeviceClassMap = ReadonlyMap<number, string>;
|
|
4
4
|
export declare type GenericDeviceClassMap = ReadonlyMap<number, GenericDeviceClass>;
|
|
5
5
|
export declare function getDefaultGenericDeviceClass(key: number): GenericDeviceClass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeviceClasses.d.ts","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DeviceClasses.d.ts","sourceRoot":"","sources":["../src/DeviceClasses.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAW,MAAM,uBAAuB,CAAC;AAM5D,oBAAY,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,oBAAY,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAE5E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAI5E;AAED,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,MAAM,GACT,mBAAmB,CAgBrB;AAED,MAAM,WAAW,gBAAgB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,kBAAkB;gBACX,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAiItD,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAG9B,SAAgB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAgB,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxD,SAAgB,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;IACzD,SAAgB,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CACnE;AAED,qBAAa,mBAAmB;gBAE9B,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,kBAAkB;IAmH5B,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,KAAK,EAAE,MAAM,CAAC;IAC9B,SAAgB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7C,SAAgB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3C,SAAgB,YAAY,EAAE,SAAS,cAAc,EAAE,CAAC;IACxD,SAAgB,aAAa,EAAE,SAAS,cAAc,EAAE,CAAC;CACzD"}
|
package/build/DeviceClasses.js
CHANGED
|
@@ -1,67 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SpecificDeviceClass = exports.GenericDeviceClass = exports.getDefaultSpecificDeviceClass = exports.getDefaultGenericDeviceClass =
|
|
7
|
-
const
|
|
8
|
-
const
|
|
3
|
+
exports.SpecificDeviceClass = exports.GenericDeviceClass = exports.getDefaultSpecificDeviceClass = exports.getDefaultGenericDeviceClass = void 0;
|
|
4
|
+
const safe_1 = require("@zwave-js/core/safe");
|
|
5
|
+
const safe_2 = require("@zwave-js/shared/safe");
|
|
9
6
|
const arrays_1 = require("alcalzone-shared/arrays");
|
|
10
7
|
const objects_1 = require("alcalzone-shared/objects");
|
|
11
8
|
const typeguards_1 = require("alcalzone-shared/typeguards");
|
|
12
|
-
const
|
|
13
|
-
const json5_1 = __importDefault(require("json5"));
|
|
14
|
-
const path_1 = __importDefault(require("path"));
|
|
15
|
-
const utils_1 = require("./utils");
|
|
16
|
-
/** @internal */
|
|
17
|
-
async function loadDeviceClassesInternal(externalConfig) {
|
|
18
|
-
const configPath = path_1.default.join((externalConfig && (0, utils_1.externalConfigDir)()) || utils_1.configDir, "deviceClasses.json");
|
|
19
|
-
if (!(await (0, fs_extra_1.pathExists)(configPath))) {
|
|
20
|
-
throw new core_1.ZWaveError("The device classes config file does not exist!", core_1.ZWaveErrorCodes.Config_Invalid);
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const fileContents = await (0, fs_extra_1.readFile)(configPath, "utf8");
|
|
24
|
-
const definition = json5_1.default.parse(fileContents);
|
|
25
|
-
if (!(0, typeguards_1.isObject)(definition)) {
|
|
26
|
-
(0, utils_1.throwInvalidConfig)("device classes", `the dictionary is not an object`);
|
|
27
|
-
}
|
|
28
|
-
if (!(0, typeguards_1.isObject)(definition.basic)) {
|
|
29
|
-
(0, utils_1.throwInvalidConfig)("device classes", `The "basic" property is not an object`);
|
|
30
|
-
}
|
|
31
|
-
if (!(0, typeguards_1.isObject)(definition.generic)) {
|
|
32
|
-
(0, utils_1.throwInvalidConfig)("device classes", `The "generic" property is not an object`);
|
|
33
|
-
}
|
|
34
|
-
const basicDeviceClasses = new Map();
|
|
35
|
-
for (const [key, basicClass] of (0, objects_1.entries)(definition.basic)) {
|
|
36
|
-
if (!utils_1.hexKeyRegexNDigits.test(key)) {
|
|
37
|
-
(0, utils_1.throwInvalidConfig)("device classes", `found invalid key "${key}" in the basic device class definition. Device classes must have lowercase hexadecimal IDs.`);
|
|
38
|
-
}
|
|
39
|
-
const keyNum = parseInt(key.slice(2), 16);
|
|
40
|
-
basicDeviceClasses.set(keyNum, basicClass);
|
|
41
|
-
}
|
|
42
|
-
const genericDeviceClasses = new Map();
|
|
43
|
-
for (const [key, genericDefinition] of (0, objects_1.entries)(definition.generic)) {
|
|
44
|
-
if (!utils_1.hexKeyRegexNDigits.test(key)) {
|
|
45
|
-
(0, utils_1.throwInvalidConfig)("device classes", `found invalid key "${key}" in the generic device class definition. Device classes must have lowercase hexadecimal IDs.`);
|
|
46
|
-
}
|
|
47
|
-
const keyNum = parseInt(key.slice(2), 16);
|
|
48
|
-
genericDeviceClasses.set(keyNum, new GenericDeviceClass(keyNum, genericDefinition));
|
|
49
|
-
}
|
|
50
|
-
return { basicDeviceClasses, genericDeviceClasses };
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
if ((0, core_1.isZWaveError)(e)) {
|
|
54
|
-
throw e;
|
|
55
|
-
}
|
|
56
|
-
else {
|
|
57
|
-
(0, utils_1.throwInvalidConfig)("device classes");
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
exports.loadDeviceClassesInternal = loadDeviceClassesInternal;
|
|
9
|
+
const utils_safe_1 = require("./utils_safe");
|
|
62
10
|
function getDefaultGenericDeviceClass(key) {
|
|
63
11
|
return new GenericDeviceClass(key, {
|
|
64
|
-
label: `UNKNOWN (${(0,
|
|
12
|
+
label: `UNKNOWN (${(0, safe_2.num2hex)(key)})`,
|
|
65
13
|
});
|
|
66
14
|
}
|
|
67
15
|
exports.getDefaultGenericDeviceClass = getDefaultGenericDeviceClass;
|
|
@@ -71,7 +19,7 @@ function getDefaultSpecificDeviceClass(generic, key) {
|
|
|
71
19
|
label: "Unused",
|
|
72
20
|
}, generic);
|
|
73
21
|
return new SpecificDeviceClass(key, {
|
|
74
|
-
label: `UNKNOWN (${(0,
|
|
22
|
+
label: `UNKNOWN (${(0, safe_2.num2hex)(key)})`,
|
|
75
23
|
}, generic);
|
|
76
24
|
}
|
|
77
25
|
exports.getDefaultSpecificDeviceClass = getDefaultSpecificDeviceClass;
|
|
@@ -79,12 +27,12 @@ class GenericDeviceClass {
|
|
|
79
27
|
constructor(key, definition) {
|
|
80
28
|
this.key = key;
|
|
81
29
|
if (typeof definition.label !== "string") {
|
|
82
|
-
(0,
|
|
30
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for generic device class ${(0, safe_2.num2hex)(key)} is not a string!`);
|
|
83
31
|
}
|
|
84
32
|
this.label = definition.label;
|
|
85
33
|
if (definition.zwavePlusDeviceType != undefined) {
|
|
86
34
|
if (typeof definition.zwavePlusDeviceType !== "string") {
|
|
87
|
-
(0,
|
|
35
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for generic device class ${(0, safe_2.num2hex)(key)} is not a string!`);
|
|
88
36
|
}
|
|
89
37
|
else {
|
|
90
38
|
this.zwavePlusDeviceType = definition.zwavePlusDeviceType;
|
|
@@ -92,7 +40,7 @@ class GenericDeviceClass {
|
|
|
92
40
|
}
|
|
93
41
|
if (definition.requiresSecurity != undefined) {
|
|
94
42
|
if (typeof definition.requiresSecurity !== "boolean") {
|
|
95
|
-
(0,
|
|
43
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for generic device class ${(0, safe_2.num2hex)(key)} is not a boolean!`);
|
|
96
44
|
}
|
|
97
45
|
else {
|
|
98
46
|
this.requiresSecurity = definition.requiresSecurity;
|
|
@@ -101,14 +49,14 @@ class GenericDeviceClass {
|
|
|
101
49
|
if (definition.supportedCCs != undefined) {
|
|
102
50
|
if (!(0, typeguards_1.isArray)(definition.supportedCCs) ||
|
|
103
51
|
!definition.supportedCCs.every((cc) => typeof cc === "string")) {
|
|
104
|
-
(0,
|
|
52
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
105
53
|
}
|
|
106
54
|
const supportedCCs = [];
|
|
107
55
|
for (const ccName of definition.supportedCCs) {
|
|
108
|
-
if (!(ccName in
|
|
109
|
-
(0,
|
|
56
|
+
if (!(ccName in safe_1.CommandClasses)) {
|
|
57
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
110
58
|
}
|
|
111
|
-
supportedCCs.push(
|
|
59
|
+
supportedCCs.push(safe_1.CommandClasses[ccName]);
|
|
112
60
|
}
|
|
113
61
|
this.supportedCCs = supportedCCs;
|
|
114
62
|
}
|
|
@@ -118,14 +66,14 @@ class GenericDeviceClass {
|
|
|
118
66
|
if (definition.controlledCCs != undefined) {
|
|
119
67
|
if (!(0, typeguards_1.isArray)(definition.controlledCCs) ||
|
|
120
68
|
!definition.controlledCCs.every((cc) => typeof cc === "string")) {
|
|
121
|
-
(0,
|
|
69
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
122
70
|
}
|
|
123
71
|
const controlledCCs = [];
|
|
124
72
|
for (const ccName of definition.controlledCCs) {
|
|
125
|
-
if (!(ccName in
|
|
126
|
-
(0,
|
|
73
|
+
if (!(ccName in safe_1.CommandClasses)) {
|
|
74
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
127
75
|
}
|
|
128
|
-
controlledCCs.push(
|
|
76
|
+
controlledCCs.push(safe_1.CommandClasses[ccName]);
|
|
129
77
|
}
|
|
130
78
|
this.controlledCCs = controlledCCs;
|
|
131
79
|
}
|
|
@@ -135,8 +83,8 @@ class GenericDeviceClass {
|
|
|
135
83
|
const specific = new Map();
|
|
136
84
|
if ((0, typeguards_1.isObject)(definition.specific)) {
|
|
137
85
|
for (const [specificKey, specificDefinition] of (0, objects_1.entries)(definition.specific)) {
|
|
138
|
-
if (!
|
|
139
|
-
(0,
|
|
86
|
+
if (!utils_safe_1.hexKeyRegexNDigits.test(specificKey))
|
|
87
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `found invalid key "${specificKey}" in device class ${this.label} (${(0, safe_2.num2hex)(this.key)}). Device classes must have lowercase hexadecimal IDs.`);
|
|
140
88
|
const specificKeyNum = parseInt(specificKey.slice(2), 16);
|
|
141
89
|
specific.set(specificKeyNum, new SpecificDeviceClass(specificKeyNum, specificDefinition, this));
|
|
142
90
|
}
|
|
@@ -149,12 +97,12 @@ class SpecificDeviceClass {
|
|
|
149
97
|
constructor(key, definition, generic) {
|
|
150
98
|
this.key = key;
|
|
151
99
|
if (typeof definition.label !== "string") {
|
|
152
|
-
(0,
|
|
100
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The label for device class ${generic.label} -> ${(0, safe_2.num2hex)(key)} is not a string!`);
|
|
153
101
|
}
|
|
154
102
|
this.label = definition.label;
|
|
155
103
|
if (definition.zwavePlusDeviceType != undefined) {
|
|
156
104
|
if (typeof definition.zwavePlusDeviceType !== "string") {
|
|
157
|
-
(0,
|
|
105
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for device class ${generic.label} -> ${(0, safe_2.num2hex)(key)} is not a string!`);
|
|
158
106
|
}
|
|
159
107
|
else {
|
|
160
108
|
this.zwavePlusDeviceType = definition.zwavePlusDeviceType;
|
|
@@ -165,7 +113,7 @@ class SpecificDeviceClass {
|
|
|
165
113
|
}
|
|
166
114
|
if (definition.requiresSecurity != undefined) {
|
|
167
115
|
if (typeof definition.requiresSecurity !== "boolean") {
|
|
168
|
-
(0,
|
|
116
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `The requiresSecurity property for device class ${generic.label} -> ${(0, safe_2.num2hex)(key)} is not a string!`);
|
|
169
117
|
}
|
|
170
118
|
else {
|
|
171
119
|
this.requiresSecurity = definition.requiresSecurity;
|
|
@@ -177,14 +125,14 @@ class SpecificDeviceClass {
|
|
|
177
125
|
if (definition.supportedCCs != undefined) {
|
|
178
126
|
if (!(0, typeguards_1.isArray)(definition.supportedCCs) ||
|
|
179
127
|
!definition.supportedCCs.every((cc) => typeof cc === "string")) {
|
|
180
|
-
(0,
|
|
128
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
181
129
|
}
|
|
182
130
|
const supportedCCs = [];
|
|
183
131
|
for (const ccName of definition.supportedCCs) {
|
|
184
|
-
if (!(ccName in
|
|
185
|
-
(0,
|
|
132
|
+
if (!(ccName in safe_1.CommandClasses)) {
|
|
133
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
186
134
|
}
|
|
187
|
-
supportedCCs.push(
|
|
135
|
+
supportedCCs.push(safe_1.CommandClasses[ccName]);
|
|
188
136
|
}
|
|
189
137
|
this.supportedCCs = supportedCCs;
|
|
190
138
|
}
|
|
@@ -198,14 +146,14 @@ class SpecificDeviceClass {
|
|
|
198
146
|
if (definition.controlledCCs != undefined) {
|
|
199
147
|
if (!(0, typeguards_1.isArray)(definition.controlledCCs) ||
|
|
200
148
|
!definition.controlledCCs.every((cc) => typeof cc === "string")) {
|
|
201
|
-
(0,
|
|
149
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)}) is not a string array!`);
|
|
202
150
|
}
|
|
203
151
|
const controlledCCs = [];
|
|
204
152
|
for (const ccName of definition.controlledCCs) {
|
|
205
|
-
if (!(ccName in
|
|
206
|
-
(0,
|
|
153
|
+
if (!(ccName in safe_1.CommandClasses)) {
|
|
154
|
+
(0, utils_safe_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${generic.label} -> ${this.label} (${(0, safe_2.num2hex)(this.key)})!`);
|
|
207
155
|
}
|
|
208
|
-
controlledCCs.push(
|
|
156
|
+
controlledCCs.push(safe_1.CommandClasses[ccName]);
|
|
209
157
|
}
|
|
210
158
|
this.controlledCCs = controlledCCs;
|
|
211
159
|
}
|