homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
35 lines • 1.38 kB
JavaScript
/* eslint-disable curly */
import { PowerState, RotationDirection } from '../schema.js';
import { Utils } from '../../utils/utils.js';
/**
*
*/
export class FanConfiguration {
defaultState;
rotationDirection;
rotationSpeed;
errorFields = [];
fieldNames = Utils.proxiedPropertiesOf(this);
isValid(prefix) {
const isValidDefaultState = (Utils.required(this.defaultState) &&
PowerState.States.includes(this.defaultState));
const isValidRotationDirection = (Utils.required(this.rotationDirection) &&
RotationDirection.Directions.includes(this.rotationDirection));
const isValidRotationSpeed = (Utils.required(this.rotationSpeed) &&
Utils.isPercentage(this.rotationSpeed));
// Store fields failing validation
if (!isValidDefaultState)
this.errorFields.push(prefix + '.' + this.fieldNames.defaultState);
if (!isValidRotationDirection)
this.errorFields.push(prefix + '.' + this.fieldNames.rotationDirection);
if (!isValidRotationSpeed)
this.errorFields.push(prefix + '.' + this.fieldNames.rotationSpeed);
return [
(isValidDefaultState &&
isValidRotationDirection &&
isValidRotationSpeed),
this.errorFields,
];
}
}
//# sourceMappingURL=configurationFan.js.map