@di-zed/yandex-smart-home
Version:
The Yandex Smart Home skills for the different device types.
45 lines (44 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Device Helper.
*/
class DeviceHelper {
/**
* Get Device Capability.
*
* @param device
* @param capabilityType
* @param capabilityStateInstance
* @returns Capability | undefined
*/
getDeviceCapability(device, capabilityType, capabilityStateInstance) {
var _a;
let result = undefined;
for (const capability of device.capabilities || []) {
if (capability.type === capabilityType && ((_a = capability.state) === null || _a === void 0 ? void 0 : _a.instance) === capabilityStateInstance) {
result = JSON.parse(JSON.stringify(capability));
}
}
return result;
}
/**
* Get Device Property.
*
* @param device
* @param propertyType
* @param propertyStateInstance
* @returns Property | undefined
*/
getDeviceProperty(device, propertyType, propertyStateInstance) {
var _a;
let result = undefined;
for (const property of device.properties || []) {
if (property.type === propertyType && ((_a = property.state) === null || _a === void 0 ? void 0 : _a.instance) === propertyStateInstance) {
result = JSON.parse(JSON.stringify(property));
}
}
return result;
}
}
exports.default = new DeviceHelper();