@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.
Files changed (64) hide show
  1. package/build/CompatConfig.d.ts +2 -2
  2. package/build/CompatConfig.d.ts.map +1 -1
  3. package/build/CompatConfig.js +51 -51
  4. package/build/CompatConfig.js.map +1 -1
  5. package/build/ConfigManager.d.ts.map +1 -1
  6. package/build/ConfigManager.js +239 -7
  7. package/build/ConfigManager.js.map +1 -1
  8. package/build/DeviceClasses.d.ts +2 -2
  9. package/build/DeviceClasses.d.ts.map +1 -1
  10. package/build/DeviceClasses.js +30 -82
  11. package/build/DeviceClasses.js.map +1 -1
  12. package/build/Devices.d.ts.map +1 -1
  13. package/build/Devices.js +44 -43
  14. package/build/Devices.js.map +1 -1
  15. package/build/Indicators.d.ts +2 -2
  16. package/build/Indicators.d.ts.map +1 -1
  17. package/build/Indicators.js +9 -64
  18. package/build/Indicators.js.map +1 -1
  19. package/build/JsonTemplate.js +10 -10
  20. package/build/JsonTemplate.js.map +1 -1
  21. package/build/Logger.d.ts +2 -3
  22. package/build/Logger.d.ts.map +1 -1
  23. package/build/Logger.js +4 -5
  24. package/build/Logger.js.map +1 -1
  25. package/build/Logger_safe.d.ts +5 -0
  26. package/build/Logger_safe.d.ts.map +1 -0
  27. package/build/Logger_safe.js +6 -0
  28. package/build/Logger_safe.js.map +1 -0
  29. package/build/Manufacturers.d.ts.map +1 -1
  30. package/build/Manufacturers.js +6 -5
  31. package/build/Manufacturers.js.map +1 -1
  32. package/build/Meters.d.ts +1 -1
  33. package/build/Meters.d.ts.map +1 -1
  34. package/build/Meters.js +7 -46
  35. package/build/Meters.js.map +1 -1
  36. package/build/Notifications.d.ts +1 -1
  37. package/build/Notifications.d.ts.map +1 -1
  38. package/build/Notifications.js +15 -54
  39. package/build/Notifications.js.map +1 -1
  40. package/build/Scales.d.ts +1 -1
  41. package/build/Scales.d.ts.map +1 -1
  42. package/build/Scales.js +6 -55
  43. package/build/Scales.js.map +1 -1
  44. package/build/SensorTypes.d.ts +1 -1
  45. package/build/SensorTypes.d.ts.map +1 -1
  46. package/build/SensorTypes.js +9 -47
  47. package/build/SensorTypes.js.map +1 -1
  48. package/build/index.d.ts +1 -1
  49. package/build/index.d.ts.map +1 -1
  50. package/build/index.js +1 -1
  51. package/build/index.js.map +1 -1
  52. package/build/index_safe.d.ts +8 -0
  53. package/build/index_safe.d.ts.map +1 -0
  54. package/build/index_safe.js +25 -0
  55. package/build/index_safe.js.map +1 -0
  56. package/build/utils.d.ts +0 -4
  57. package/build/utils.d.ts.map +1 -1
  58. package/build/utils.js +1 -10
  59. package/build/utils.js.map +1 -1
  60. package/build/utils_safe.d.ts +5 -0
  61. package/build/utils_safe.d.ts.map +1 -0
  62. package/build/utils_safe.js +13 -0
  63. package/build/utils_safe.js.map +1 -0
  64. package/package.json +16 -4
@@ -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 (0, Indicators_1.loadIndicatorsInternal)(this._useExternalConfig);
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 (0, Scales_1.loadNamedScalesInternal)(this._useExternalConfig);
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 (0, SensorTypes_1.loadSensorTypesInternal)(this, this._useExternalConfig);
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 (0, Meters_1.loadMetersInternal)(this._useExternalConfig);
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 (0, DeviceClasses_1.loadDeviceClassesInternal)(this._useExternalConfig);
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 (0, Notifications_1.loadNotificationsInternal)(this._useExternalConfig);
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":"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"}
1
+ {"version":3,"file":"ConfigManager.js","sourceRoot":"","sources":["../src/ConfigManager.ts"],"names":[],"mappings":";;;;;;AAAA,yCAKwB;AACxB,6CAAwE;AACxE,sDAAmD;AACnD,4DAAuD;AACvD,uCAAgD;AAChD,kDAA0B;AAC1B,gDAAwB;AACxB,mDAQyB;AACzB,uCASmB;AACnB,6CAIsB;AACtB,qCAAwC;AACxC,mDAIyB;AACzB,qCAA6E;AAC7E,mDAAgE;AAChE,qCAKkB;AAClB,+CAA0D;AAC1D,mCAMiB;AACjB,6CAAsE;AAOtE,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,sBAAsB,CAC1C,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,uBAAuB,CAChD,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,uBAAuB,CAChD,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,kBAAkB,CAAC,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,yBAAyB,CAC7C,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,yBAAyB,CACpD,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;AAED,gBAAgB;AACT,KAAK,UAAU,yBAAyB,CAC9C,cAAwB;IAKxB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,oBAAoB,CACpB,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,iBAAU,CACnB,gDAAgD,EAChD,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EACjB,gBAAgB,EAChB,iCAAiC,CACjC,CAAC;SACF;QAED,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAChC,IAAA,+BAAkB,EACjB,gBAAgB,EAChB,uCAAuC,CACvC,CAAC;SACF;QACD,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YAClC,IAAA,+BAAkB,EACjB,gBAAgB,EAChB,yCAAyC,CACzC,CAAC;SACF;QAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACrD,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClC,IAAA,+BAAkB,EACjB,gBAAgB,EAChB,sBAAsB,GAAG,6FAA6F,CACtH,CAAC;aACF;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,kBAAkB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;SAC3C;QAED,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA8B,CAAC;QACnE,KAAK,MAAM,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE;YACnE,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClC,IAAA,+BAAkB,EACjB,gBAAgB,EAChB,sBAAsB,GAAG,+FAA+F,CACxH,CAAC;aACF;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,oBAAoB,CAAC,GAAG,CACvB,MAAM,EACN,IAAI,kCAAkB,CAAC,MAAM,EAAE,iBAAiB,CAAC,CACjD,CAAC;SACF;QAED,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,CAAC;KACpD;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,gBAAgB,CAAC,CAAC;SACrC;KACD;AACF,CAAC;AA5ED,8DA4EC;AAED,gBAAgB;AACT,KAAK,UAAU,sBAAsB,CAC3C,cAAwB;IAKxB,MAAM,oBAAoB,GAAG,cAAI,CAAC,IAAI,CACrC,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,iBAAiB,CACjB,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,oBAAoB,CAAC,CAAC,EAAE;QAC9C,MAAM,IAAI,iBAAU,CACnB,iCAAiC,EACjC,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;SAClE;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC,EAAE;YAClC,IAAA,+BAAkB,EACjB,YAAY,EACZ,0CAA0C,CAC1C,CAAC;SACF;QACD,IAAI,CAAC,CAAC,YAAY,IAAI,UAAU,CAAC,EAAE;YAClC,IAAA,+BAAkB,EACjB,YAAY,EACZ,0CAA0C,CAC1C,CAAC;SACF;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YACzD,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACjC,IAAA,+BAAkB,EACjB,YAAY,EACZ,sBAAsB,EAAE,oEAAoE,CAC5F,CAAC;aACF;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SAC7B;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAA6B,CAAC;QACxD,KAAK,MAAM,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,UAAU,CAAC,EAAE;YAClE,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACjC,IAAA,+BAAkB,EACjB,YAAY,EACZ,sBAAsB,EAAE,8EAA8E,CACtG,CAAC;aACF;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,8BAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC;SACpE;QAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,YAAY,CAAC,CAAC;SACjC;KACD;AACF,CAAC;AArED,wDAqEC;AAED,gBAAgB;AACT,KAAK,UAAU,kBAAkB,CACvC,cAAwB;IAExB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,aAAa,CACb,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,iBAAU,CACnB,iCAAiC,EACjC,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EAAC,QAAQ,EAAE,+BAA+B,CAAC,CAAC;SAC9D;QAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,EAAE;YACxD,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACjC,IAAA,+BAAkB,EACjB,QAAQ,EACR,sBAAsB,EAAE,4DAA4D,CACpF,CAAC;aACF;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,cAAK,CAAC,KAAK,EAAE,eAA6B,CAAC,CAAC,CAAC;SACnE;QACD,OAAO,MAAM,CAAC;KACd;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,QAAQ,CAAC,CAAC;SAC7B;KACD;AACF,CAAC;AAzCD,gDAyCC;AAED,gBAAgB;AACT,KAAK,UAAU,yBAAyB,CAC9C,cAAwB;IAExB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,oBAAoB,CACpB,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,iBAAU,CACnB,iCAAiC,EACjC,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EACjB,eAAe,EACf,+BAA+B,CAC/B,CAAC;SACF;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,EAAE,EAAE,eAAe,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,EAAE;YACxD,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACjC,IAAA,+BAAkB,EACjB,eAAe,EACf,sBAAsB,EAAE,mEAAmE,CAC3F,CAAC;aACF;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACxC,aAAa,CAAC,GAAG,CAChB,KAAK,EACL,IAAI,4BAAY,CAAC,KAAK,EAAE,eAA6B,CAAC,CACtD,CAAC;SACF;QACD,OAAO,aAAa,CAAC;KACrB;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,eAAe,CAAC,CAAC;SACpC;KACD;AACF,CAAC;AA/CD,8DA+CC;AAED,gBAAgB;AACT,KAAK,UAAU,uBAAuB,CAC5C,cAAwB;IAExB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,aAAa,CACb,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,iBAAU,CACnB,8CAA8C,EAC9C,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EACjB,cAAc,EACd,iCAAiC,CACjC,CAAC;SACF;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsB,CAAC;QAClD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,EAAE;YACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC1B,IAAA,+BAAkB,EACjB,cAAc,EACd,QAAQ,IAAI,qDAAqD,CACjE,CAAC;aACF;YACD,MAAM,KAAK,GAA2C,IAAI,GAAG,EAG1D,CAAC;YACJ,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;YAClB,KAAK,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,IAAI,IAAA,iBAAO,EAC3C,MAAoB,CACpB,EAAE;gBACF,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAClC,IAAA,+BAAkB,EACjB,cAAc,EACd,sBAAsB,GAAG,4BAA4B,IAAI,gDAAgD,CACzG,CAAC;iBACF;gBACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC1C,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,cAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;aACtD;YACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SAC7B;QACD,OAAO,WAAW,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,cAAc,CAAC,CAAC;SACnC;KACD;AACF,CAAC;AA5DD,0DA4DC;AAED,gBAAgB;AACT,KAAK,UAAU,uBAAuB,CAC5C,OAAsB,EACtB,cAAwB;IAExB,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,CAAC,cAAc,IAAI,IAAA,yBAAiB,GAAE,CAAC,IAAI,iBAAS,EACpD,kBAAkB,CAClB,CAAC;IAEF,IAAI,CAAC,CAAC,MAAM,IAAA,qBAAU,EAAC,UAAU,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,iBAAU,CACnB,8CAA8C,EAC9C,sBAAe,CAAC,cAAc,CAC9B,CAAC;KACF;IAED,IAAI;QACH,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAQ,EAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,IAAA,qBAAQ,EAAC,UAAU,CAAC,EAAE;YAC1B,IAAA,+BAAkB,EACjB,cAAc,EACd,iCAAiC,CACjC,CAAC;SACF;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,IAAA,iBAAO,EAAC,UAAU,CAAC,EAAE;YAC1D,IAAI,CAAC,+BAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBAClC,IAAA,+BAAkB,EACjB,cAAc,EACd,sBAAsB,GAAG,kEAAkE,CAC3F,CAAC;aACF;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,WAAW,CAAC,GAAG,CACd,MAAM,EACN,IAAI,wBAAU,CAAC,OAAO,EAAE,MAAM,EAAE,gBAA8B,CAAC,CAC/D,CAAC;SACF;QACD,OAAO,WAAW,CAAC;KACnB;IAAC,OAAO,CAAC,EAAE;QACX,IAAI,IAAA,mBAAY,EAAC,CAAC,CAAC,EAAE;YACpB,MAAM,CAAC,CAAC;SACR;aAAM;YACN,IAAA,+BAAkB,EAAC,cAAc,CAAC,CAAC;SACnC;KACD;AACF,CAAC;AAhDD,0DAgDC"}
@@ -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,EACN,cAAc,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAW,MAAM,kBAAkB,CAAC;AAcvD,oBAAY,mBAAmB,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,oBAAY,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAiF5E,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"}
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"}
@@ -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 = exports.loadDeviceClassesInternal = void 0;
7
- const core_1 = require("@zwave-js/core");
8
- const shared_1 = require("@zwave-js/shared");
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 fs_extra_1 = require("fs-extra");
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, shared_1.num2hex)(key)})`,
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, shared_1.num2hex)(key)})`,
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, utils_1.throwInvalidConfig)("device classes", `The label for generic device class ${(0, shared_1.num2hex)(key)} is not a string!`);
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, utils_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for generic device class ${(0, shared_1.num2hex)(key)} is not a string!`);
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, utils_1.throwInvalidConfig)("device classes", `The requiresSecurity property for generic device class ${(0, shared_1.num2hex)(key)} is not a boolean!`);
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, utils_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${this.label} (${(0, shared_1.num2hex)(this.key)}) is not a string array!`);
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 core_1.CommandClasses)) {
109
- (0, utils_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${this.label} (${(0, shared_1.num2hex)(this.key)})!`);
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(core_1.CommandClasses[ccName]);
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, utils_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${this.label} (${(0, shared_1.num2hex)(this.key)}) is not a string array!`);
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 core_1.CommandClasses)) {
126
- (0, utils_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${this.label} (${(0, shared_1.num2hex)(this.key)})!`);
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(core_1.CommandClasses[ccName]);
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 (!utils_1.hexKeyRegexNDigits.test(specificKey))
139
- (0, utils_1.throwInvalidConfig)("device classes", `found invalid key "${specificKey}" in device class ${this.label} (${(0, shared_1.num2hex)(this.key)}). Device classes must have lowercase hexadecimal IDs.`);
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, utils_1.throwInvalidConfig)("device classes", `The label for device class ${generic.label} -> ${(0, shared_1.num2hex)(key)} is not a string!`);
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, utils_1.throwInvalidConfig)("device classes", `The zwavePlusDeviceType for device class ${generic.label} -> ${(0, shared_1.num2hex)(key)} is not a string!`);
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, utils_1.throwInvalidConfig)("device classes", `The requiresSecurity property for device class ${generic.label} -> ${(0, shared_1.num2hex)(key)} is not a string!`);
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, utils_1.throwInvalidConfig)("device classes", `supportedCCs in device class ${generic.label} -> ${this.label} (${(0, shared_1.num2hex)(this.key)}) is not a string array!`);
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 core_1.CommandClasses)) {
185
- (0, utils_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in supportedCCs of device class ${generic.label} -> ${this.label} (${(0, shared_1.num2hex)(this.key)})!`);
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(core_1.CommandClasses[ccName]);
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, utils_1.throwInvalidConfig)("device classes", `controlledCCs in device class ${generic.label} -> ${this.label} (${(0, shared_1.num2hex)(this.key)}) is not a string array!`);
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 core_1.CommandClasses)) {
206
- (0, utils_1.throwInvalidConfig)("device classes", `Found unknown CC "${ccName}" in controlledCCs of device class ${generic.label} -> ${this.label} (${(0, shared_1.num2hex)(this.key)})!`);
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(core_1.CommandClasses[ccName]);
156
+ controlledCCs.push(safe_1.CommandClasses[ccName]);
209
157
  }
210
158
  this.controlledCCs = controlledCCs;
211
159
  }