UNPKG

homebridge-wideq

Version:
45 lines (44 loc) 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var ac_1 = require("../devices/ac"); var default_1 = require("../devices/default"); var refrigerator_1 = require("../devices/refrigerator"); var tv_1 = require("../devices/tv"); var washer_1 = require("./../devices/washer"); var ParseUtil = /** @class */ (function () { function ParseUtil(platform) { this.platform = platform; this.parsers = {}; this.loadParsers(); } ParseUtil.prototype.loadParsers = function () { this.parsers = { 'REFRIGERATOR': new refrigerator_1.RefrigeratorParser(this.platform, 'REFRIGERATOR'), 'AC': new ac_1.ACParser(this.platform, 'AC'), 'WASHER': new washer_1.WasherParser(this.platform, 'WASHER'), 'TV': new tv_1.TVParser(this.platform, 'TV'), 'DEFAULT': new default_1.DefaultParser(this.platform, 'UNKNOWN'), }; }; ParseUtil.prototype.getByModel = function (model) { return (model in this.parsers) ? this.parsers[model] : this.parsers['DEFAULT']; }; ParseUtil.prototype.getCreateAccessories = function (device) { var result = []; var parser = this.getByModel(device.device.type); if (parser) { result = parser.getCreateAccessories(device); } return result; }; ParseUtil.prototype.parserAccessories = function (device, status) { var result = []; var parser = this.getByModel(device.device.type); if (parser) { result = parser.parserAccessories(device, status); } return result; }; return ParseUtil; }()); exports.default = ParseUtil;