UNPKG

eightsleep

Version:
44 lines 1.95 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Features = void 0; const baseerr_1 = __importDefault(require("baseerr")); class InvalidDeviceError extends baseerr_1.default { } var Features; (function (Features) { Features["WARMING"] = "warming"; Features["COOLING"] = "cooling"; })(Features = exports.Features || (exports.Features = {})); function validateDevice(device) { if (typeof device != 'object') { throw new InvalidDeviceError('invalid device', { device }); } let { lastHeard, lastLowWater, lastPrime, sensorInfo } = device; lastHeard = new Date(lastHeard); if (lastHeard != null && isNaN(lastHeard.valueOf())) { throw new InvalidDeviceError('invalid lastHeard', { device }); } lastLowWater = new Date(lastLowWater); if (lastLowWater != null && isNaN(lastLowWater.valueOf())) { throw new InvalidDeviceError('invalid lastLowWater', { device }); } lastPrime = new Date(lastPrime); if (lastPrime != null && isNaN(lastPrime.valueOf())) { throw new InvalidDeviceError('invalid lastPrime', { device }); } sensorInfo = Object.assign(Object.assign({}, sensorInfo), { lastConnected: (sensorInfo === null || sensorInfo === void 0 ? void 0 : sensorInfo.lastConnected) ? new Date(sensorInfo.lastConnected) : null }); if ((sensorInfo === null || sensorInfo === void 0 ? void 0 : sensorInfo.lastConnected) != null && isNaN(sensorInfo.lastConnected.valueOf())) { throw new InvalidDeviceError('invalid sensorInfo.lastConnected', { device }); } return Object.assign(Object.assign({}, device), { lastHeard, lastLowWater, lastPrime, sensorInfo }); } exports.default = validateDevice; //# sourceMappingURL=validateDevice.js.map