homebridge-easy-mqtt 1.1.0 → 1.2.0-beta.1
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/CHANGELOG.md +14 -1
- package/README.md +18 -2
- package/config.schema.json +167 -78
- package/dist/accessory/abstract/base.d.ts +32 -0
- package/dist/accessory/abstract/base.js +129 -0
- package/dist/accessory/abstract/base.js.map +1 -0
- package/dist/accessory/abstract/statusActive.d.ts +10 -0
- package/dist/accessory/abstract/statusActive.js +30 -0
- package/dist/accessory/abstract/statusActive.js.map +1 -0
- package/dist/accessory/lock.d.ts +6 -10
- package/dist/accessory/lock.js +41 -67
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +21 -0
- package/dist/accessory/onoff/lightbulb.js +87 -0
- package/dist/accessory/onoff/lightbulb.js.map +1 -0
- package/dist/accessory/onoff/onoff.d.ts +13 -0
- package/dist/accessory/onoff/onoff.js +54 -0
- package/dist/accessory/onoff/onoff.js.map +1 -0
- package/dist/accessory/onoff/outlet.d.ts +13 -0
- package/dist/accessory/onoff/outlet.js +44 -0
- package/dist/accessory/onoff/outlet.js.map +1 -0
- package/dist/accessory/{switch.d.ts → onoff/switch.d.ts} +4 -4
- package/dist/accessory/{switch.js → onoff/switch.js} +2 -2
- package/dist/accessory/onoff/switch.js.map +1 -0
- package/dist/accessory/security.d.ts +22 -0
- package/dist/accessory/security.js +143 -0
- package/dist/accessory/security.js.map +1 -0
- package/dist/accessory/temperatureSensor.d.ts +4 -6
- package/dist/accessory/temperatureSensor.js +11 -15
- package/dist/accessory/temperatureSensor.js.map +1 -1
- package/dist/homebridge/platform.js +13 -8
- package/dist/homebridge/platform.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +2 -2
- package/dist/i18n/en.d.ts +40 -2
- package/dist/i18n/en.js +73 -35
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +40 -2
- package/dist/i18n/template.d.ts +40 -2
- package/dist/model/enums.d.ts +23 -0
- package/dist/model/enums.js +25 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/mqtt.d.ts +3 -3
- package/dist/model/mqtt.js +17 -10
- package/dist/model/mqtt.js.map +1 -1
- package/dist/model/types.d.ts +16 -2
- package/dist/tools/primitive.d.ts +3 -3
- package/dist/tools/primitive.js.map +1 -1
- package/package.json +1 -1
- package/dist/accessory/base.d.ts +0 -25
- package/dist/accessory/base.js +0 -59
- package/dist/accessory/base.js.map +0 -1
- package/dist/accessory/lightbulb.d.ts +0 -30
- package/dist/accessory/lightbulb.js +0 -106
- package/dist/accessory/lightbulb.js.map +0 -1
- package/dist/accessory/onoff.d.ts +0 -15
- package/dist/accessory/onoff.js +0 -57
- package/dist/accessory/onoff.js.map +0 -1
- package/dist/accessory/outlet.d.ts +0 -16
- package/dist/accessory/outlet.js +0 -59
- package/dist/accessory/outlet.js.map +0 -1
- package/dist/accessory/statusActive.d.ts +0 -14
- package/dist/accessory/statusActive.js +0 -41
- package/dist/accessory/statusActive.js.map +0 -1
- package/dist/accessory/switch.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../src/accessory/lightbulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { PlatformAccessory } from 'homebridge';
|
|
2
|
-
import { TopicHandler } from './base.js';
|
|
3
|
-
import { StatusActiveAccessory } from './statusActive.js';
|
|
4
|
-
import { CharacteristicType, OnOffConfig, ServiceType } from '../model/types.js';
|
|
5
|
-
import { Log } from '../tools/log.js';
|
|
6
|
-
export declare abstract class OnOffAccessory extends StatusActiveAccessory {
|
|
7
|
-
private readonly onOffConfig;
|
|
8
|
-
private on;
|
|
9
|
-
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, onOffConfig: OnOffConfig, log: Log, className: string);
|
|
10
|
-
protected get topicHandlers(): TopicHandler[];
|
|
11
|
-
private onOnUpdate;
|
|
12
|
-
private getOn;
|
|
13
|
-
private setOn;
|
|
14
|
-
private stringForState;
|
|
15
|
-
}
|
package/dist/accessory/onoff.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { makeHandler } from './base.js';
|
|
2
|
-
import { StatusActiveAccessory } from './statusActive.js';
|
|
3
|
-
import { strings } from '../i18n/i18n.js';
|
|
4
|
-
import { toPrimitive } from '../tools/primitive.js';
|
|
5
|
-
export class OnOffAccessory extends StatusActiveAccessory {
|
|
6
|
-
onOffConfig;
|
|
7
|
-
on = false;
|
|
8
|
-
constructor(Service, Characteristic, accessory, onOffConfig, log, className) {
|
|
9
|
-
super(Service, Characteristic, accessory, onOffConfig, log, className);
|
|
10
|
-
this.onOffConfig = onOffConfig;
|
|
11
|
-
this.accessoryService.getCharacteristic(Characteristic.On)
|
|
12
|
-
.onGet(this.getOn.bind(this))
|
|
13
|
-
.onSet(this.setOn.bind(this));
|
|
14
|
-
}
|
|
15
|
-
get topicHandlers() {
|
|
16
|
-
const topicHandlers = super.topicHandlers;
|
|
17
|
-
if (!this.assert('topicGetOn')) {
|
|
18
|
-
return topicHandlers;
|
|
19
|
-
}
|
|
20
|
-
topicHandlers.push(makeHandler(this.onOffConfig.topicGetOn, this.onOnUpdate.bind(this)));
|
|
21
|
-
return topicHandlers;
|
|
22
|
-
}
|
|
23
|
-
async onOnUpdate(topic, value) {
|
|
24
|
-
if (!this.assert('valueOn')) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const on = value === toPrimitive(this.onOffConfig.valueOn);
|
|
28
|
-
if (on === this.on) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
this.on = on;
|
|
32
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.On, this.on);
|
|
33
|
-
this.logIfDesired(this.stringForState(this.on), this.name);
|
|
34
|
-
}
|
|
35
|
-
async getOn() {
|
|
36
|
-
return this.on;
|
|
37
|
-
}
|
|
38
|
-
async setOn(value) {
|
|
39
|
-
if (!this.assert('topicSetOn', 'valueOn', 'valueOff')) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
const on = value ? this.onOffConfig.valueOn : this.onOffConfig.valueOff;
|
|
43
|
-
this.on = value;
|
|
44
|
-
this.logIfDesired(this.stringForState(this.on, true), this.name);
|
|
45
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.On, this.on);
|
|
46
|
-
this.publish(this.onOffConfig.topicSetOn, on);
|
|
47
|
-
}
|
|
48
|
-
stringForState(on, future = false) {
|
|
49
|
-
if (on) {
|
|
50
|
-
return future ? strings.onOff.stateFutureOn : strings.onOff.stateOn;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
return future ? strings.onOff.stateFutureOff : strings.onOff.stateOff;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=onoff.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../src/accessory/onoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
-
import { TopicHandler } from './base.js';
|
|
3
|
-
import { OnOffAccessory } from './onoff.js';
|
|
4
|
-
import { CharacteristicType, OutletConfig, ServiceType } from '../model/types.js';
|
|
5
|
-
import { Log } from '../tools/log.js';
|
|
6
|
-
export declare class OutletAccessory extends OnOffAccessory {
|
|
7
|
-
private readonly outletConfig;
|
|
8
|
-
private inUse;
|
|
9
|
-
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, outletConfig: OutletConfig, log: Log);
|
|
10
|
-
protected getAccessoryService(): Service;
|
|
11
|
-
protected get topicHandlers(): TopicHandler[];
|
|
12
|
-
private getInUse;
|
|
13
|
-
private onInUseUpdate;
|
|
14
|
-
private setInUse;
|
|
15
|
-
private stringForInUse;
|
|
16
|
-
}
|
package/dist/accessory/outlet.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { makeHandler } from './base.js';
|
|
2
|
-
import { OnOffAccessory } from './onoff.js';
|
|
3
|
-
import { strings } from '../i18n/i18n.js';
|
|
4
|
-
import { toPrimitive } from '../tools/primitive.js';
|
|
5
|
-
export class OutletAccessory extends OnOffAccessory {
|
|
6
|
-
outletConfig;
|
|
7
|
-
inUse = false;
|
|
8
|
-
constructor(Service, Characteristic, accessory, outletConfig, log) {
|
|
9
|
-
super(Service, Characteristic, accessory, outletConfig, log, OutletAccessory.name);
|
|
10
|
-
this.outletConfig = outletConfig;
|
|
11
|
-
this.accessoryService.getCharacteristic(this.Characteristic.OutletInUse)
|
|
12
|
-
.onGet(this.getInUse.bind(this))
|
|
13
|
-
.onSet(this.setInUse.bind(this));
|
|
14
|
-
}
|
|
15
|
-
getAccessoryService() {
|
|
16
|
-
return this.accessory.getService(this.Service.Outlet) || this.accessory.addService(this.Service.Outlet);
|
|
17
|
-
}
|
|
18
|
-
get topicHandlers() {
|
|
19
|
-
const topicHandlers = super.topicHandlers;
|
|
20
|
-
if (this.outletConfig.topicGetOutletInUse) {
|
|
21
|
-
topicHandlers.push(makeHandler(this.outletConfig.topicGetOutletInUse, this.onInUseUpdate.bind(this)));
|
|
22
|
-
}
|
|
23
|
-
return topicHandlers;
|
|
24
|
-
}
|
|
25
|
-
async getInUse() {
|
|
26
|
-
return this.inUse;
|
|
27
|
-
}
|
|
28
|
-
async onInUseUpdate(topic, value) {
|
|
29
|
-
if (!this.assert('valueOutletInUse')) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const inUse = value === toPrimitive(this.outletConfig.valueOutletInUse);
|
|
33
|
-
if (inUse === this.inUse) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.inUse = inUse;
|
|
37
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.OutletInUse, this.inUse);
|
|
38
|
-
this.logIfDesired(this.stringForInUse(this.inUse), this.name);
|
|
39
|
-
}
|
|
40
|
-
async setInUse(value) {
|
|
41
|
-
if (!this.assert('topicSetOutletInUse', 'valueOutletInUse', 'valueOutletNotInUse')) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const inUse = value ? this.outletConfig.valueOutletInUse : this.outletConfig.valueOutletNotInUse;
|
|
45
|
-
this.inUse = value;
|
|
46
|
-
this.logIfDesired(this.stringForInUse(this.inUse, true), this.name);
|
|
47
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.OutletInUse, this.inUse);
|
|
48
|
-
this.publish(this.outletConfig.topicSetOutletInUse, inUse);
|
|
49
|
-
}
|
|
50
|
-
stringForInUse(inUse, future = false) {
|
|
51
|
-
if (inUse) {
|
|
52
|
-
return future ? strings.outlet.futureInUse : strings.outlet.inUse;
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
return future ? strings.outlet.futureNotInUse : strings.outlet.notInUse;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=outlet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../../src/accessory/outlet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAgB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1C,OAAO,EAAa,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAQ9B;IANX,KAAK,GAAwB,KAAK,CAAC;IAE3C,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EACX,YAA0B,EAC3C,GAAQ;QAER,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAHlE,iBAAY,GAAZ,YAAY,CAAc;QAK3C,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;aACrE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrC,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1G,CAAC;IAED,IAAc,aAAa;QACzB,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;QAE1C,IAAI,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;YAC1C,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxG,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAgB;QAEzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrC,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACxE,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAExF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAA0B;QAE/C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,CAAC,EAAE,CAAC;YACnF,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAEjG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEpE,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAExF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,mBAAoB,EAAE,KAAM,CAAC,CAAC;IAC/D,CAAC;IAEO,cAAc,CAAC,KAA0B,EAAE,SAAkB,KAAK;QACxE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC1E,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
|
-
import { MQTTAccessory, TopicHandler } from './base.js';
|
|
3
|
-
import { CharacteristicType, StatusActiveConfig, ServiceType } from '../model/types.js';
|
|
4
|
-
import { Log } from '../tools/log.js';
|
|
5
|
-
export declare abstract class StatusActiveAccessory extends MQTTAccessory {
|
|
6
|
-
private readonly statusActiveConfig;
|
|
7
|
-
protected readonly accessoryService: Service;
|
|
8
|
-
private statusActive;
|
|
9
|
-
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, statusActiveConfig: StatusActiveConfig, log: Log, className: string);
|
|
10
|
-
protected abstract getAccessoryService(): Service;
|
|
11
|
-
protected get topicHandlers(): TopicHandler[];
|
|
12
|
-
private onStatusActiveUpdate;
|
|
13
|
-
private getStatusActive;
|
|
14
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { makeHandler, MQTTAccessory } from './base.js';
|
|
2
|
-
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import { toPrimitive } from '../tools/primitive.js';
|
|
4
|
-
export class StatusActiveAccessory extends MQTTAccessory {
|
|
5
|
-
statusActiveConfig;
|
|
6
|
-
accessoryService;
|
|
7
|
-
statusActive = true;
|
|
8
|
-
constructor(Service, Characteristic, accessory, statusActiveConfig, log, className) {
|
|
9
|
-
super(Service, Characteristic, accessory, statusActiveConfig, log, className);
|
|
10
|
-
this.statusActiveConfig = statusActiveConfig;
|
|
11
|
-
this.accessoryService = this.getAccessoryService();
|
|
12
|
-
this.accessoryService.getCharacteristic(Characteristic.StatusActive)
|
|
13
|
-
.onGet(this.getStatusActive.bind(this));
|
|
14
|
-
}
|
|
15
|
-
get topicHandlers() {
|
|
16
|
-
return [
|
|
17
|
-
...(this.statusActiveConfig.topicGetStatusActive ? [makeHandler(this.statusActiveConfig.topicGetStatusActive, this.onStatusActiveUpdate.bind(this))] : []),
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
async onStatusActiveUpdate(topic, value) {
|
|
21
|
-
if (!this.assert('valueStatusActive')) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
const statusActive = value === toPrimitive(this.statusActiveConfig.valueStatusActive);
|
|
25
|
-
if (statusActive === this.statusActive) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.statusActive = statusActive;
|
|
29
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.StatusActive, this.statusActive);
|
|
30
|
-
if (this.statusActive) {
|
|
31
|
-
this.logIfDesired(strings.accessory.statusActive, this.name);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
this.log.warning(strings.accessory.statusInactive, this.name);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
async getStatusActive() {
|
|
38
|
-
return this.statusActive;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=statusActive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"statusActive.js","sourceRoot":"","sources":["../../src/accessory/statusActive.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAgB,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAK1C,OAAO,EAAa,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/D,MAAM,OAAgB,qBAAsB,SAAQ,aAAa;IAS5C;IARA,gBAAgB,CAAU;IAErC,YAAY,GAAwB,IAAI,CAAC;IAEjD,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EACX,kBAAsC,EACvD,GAAQ,EACR,SAAiB;QAEjB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAJ7D,uBAAkB,GAAlB,kBAAkB,CAAoB;QAMvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEnD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,YAAY,CAAC;aACjE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IAID,IAAc,aAAa;QACzB,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC;SAC1J,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAgB;QAEhE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,KAAK,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACtF,IAAI,YAAY,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAEhG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/accessory/switch.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAM5C,MAAM,OAAO,eAAgB,SAAQ,cAAc;IAEjD,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,YAA0B,EAC1B,GAAQ;QAER,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACrF,CAAC;IAES,mBAAmB;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1G,CAAC;CACF"}
|