UNPKG

homebridge-virtual-accessories

Version:
41 lines 1.63 kB
/* 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