homebridge-virtual-accessories
Version:
Virtual HomeKit accessories for Homebridge.
41 lines • 1.63 kB
JavaScript
/* eslint-disable curly */
import { LockState, WalletKeyColor } from '../schema.js';
import { Utils } from '../../utils/utils.js';
/**
*
*/
export class LockConfiguration {
defaultState;
autoSecurityTimeout;
// walletKeyColor: string = 'tan';
walletKeyColor;
errorFields = [];
fieldNames = Utils.proxiedPropertiesOf(this);
isValid(prefix) {
const isValidDefaultState = (Utils.required(this.defaultState) &&
LockState.States.includes(this.defaultState));
const isValidAutoSecurityTimeout = (Utils.required(this.autoSecurityTimeout) &&
Utils.isValidTimeout(this.autoSecurityTimeout));
// const isValidWalletKeyColor: boolean = (
// Utils.required(this.walletKeyColor) &&
// WalletKeyColor.Colors.includes(this.walletKeyColor)
// );
const isValidWalletKeyColor = (this.walletKeyColor !== undefined ?
WalletKeyColor.Colors.includes(this.walletKeyColor) :
true);
// Store fields failing validation
if (!isValidDefaultState)
this.errorFields.push(prefix + '.' + this.fieldNames.defaultState);
if (!isValidAutoSecurityTimeout)
this.errorFields.push(prefix + '.' + this.fieldNames.autoSecurityTimeout);
if (!isValidWalletKeyColor)
this.errorFields.push(prefix + '.' + this.fieldNames.walletKeyColor);
return [
(isValidDefaultState &&
isValidAutoSecurityTimeout &&
isValidWalletKeyColor),
this.errorFields,
];
}
}
//# sourceMappingURL=configurationLock.js.map