UNPKG

@constructorfleet/ultimate-govee

Version:

Library for interacting with Govee devices written in Typescript.

92 lines 4.36 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.IceMakerFactory = exports.IceMakerDevice = exports.IceMakerType = void 0; const device_1 = require("../../../device"); const device_factory_1 = require("../../../device.factory"); const ice_maker_nugget_size_1 = require("./ice-maker.nugget-size"); const common_1 = require("@nestjs/common"); const ice_maker_basket_full_1 = require("./ice-maker.basket-full"); const ice_maker_water_empty_1 = require("./ice-maker.water-empty"); const ice_maker_status_1 = require("./ice-maker.status"); const ice_maker_scheduled_start_1 = require("./ice-maker.scheduled-start"); const states_1 = require("../../../states"); const ice_maker_make_ice_1 = require("./ice-maker.make-ice"); const types_1 = require("./types"); const ice_maker_temperature_1 = require("./ice-maker.temperature"); const stateFactories = [ (device) => new states_1.PowerState(device), (device) => new states_1.ConnectedState(device), (device) => new states_1.ActiveState(device), (device) => new ice_maker_nugget_size_1.IceMakerNuggetSizeState(device), (device) => new ice_maker_basket_full_1.IceMakerBasketFull(device), (device) => new ice_maker_water_empty_1.IceMakerWaterEmpty(device), (device) => new ice_maker_status_1.IceMakerStatusState(device), (device) => new ice_maker_scheduled_start_1.IceMakerScheduledStart(device), (device) => new ice_maker_temperature_1.IceMakerTemperatureState(device), ]; exports.IceMakerType = 'ice-maker'; class IceMakerDevice extends device_1.Device { get deviceType() { return IceMakerDevice.deviceType; } get NuggetSize() { return types_1.NuggetSize; } constructor(device, eventBus, commandBus) { super(device, eventBus, commandBus, stateFactories); this.addState(new ice_maker_make_ice_1.IceMakerMakingIceState(device, this.state(ice_maker_status_1.IceMakerStatusStateName))); } get [ice_maker_basket_full_1.BasketFullStateName]() { return this.state(ice_maker_basket_full_1.BasketFullStateName); } get [ice_maker_make_ice_1.MakingIceStateName]() { return this.state(ice_maker_make_ice_1.MakingIceStateName); } get [ice_maker_nugget_size_1.NuggetSizeStateName]() { return this.state(ice_maker_nugget_size_1.NuggetSizeStateName); } get [ice_maker_scheduled_start_1.ScheduledStartStateName]() { return this.state(ice_maker_scheduled_start_1.ScheduledStartStateName); } get [ice_maker_status_1.IceMakerStatusStateName]() { return this.state(ice_maker_status_1.IceMakerStatusStateName); } get [states_1.PowerStateName]() { return this.state(states_1.PowerStateName); } get [states_1.ConnectedStateName]() { return this.state(states_1.ConnectedStateName); } get [states_1.ActiveStateName]() { return this.state(states_1.ActiveStateName); } get [states_1.TemperatureStateName]() { return this.state(states_1.TemperatureStateName); } } exports.IceMakerDevice = IceMakerDevice; IceMakerDevice.deviceType = exports.IceMakerType; let IceMakerFactory = class IceMakerFactory extends device_factory_1.DeviceFactory { constructor() { super(IceMakerDevice, { 'Home Appliances': { Kitchen: /ice maker/i, }, }); } }; exports.IceMakerFactory = IceMakerFactory; exports.IceMakerFactory = IceMakerFactory = __decorate([ (0, common_1.Injectable)(), __metadata("design:paramtypes", []) ], IceMakerFactory); //# sourceMappingURL=ice-maker.js.map