UNPKG

@constructorfleet/ultimate-govee

Version:

Library for interacting with Govee devices written in Typescript.

56 lines 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); /* eslint-disable func-names */ const core_1 = require("@nestjs/core"); const ultimate_govee_config_1 = require("./ultimate-govee.config"); const ultimate_govee_module_1 = require("./ultimate-govee.module"); const ultimate_govee_service_1 = require("./ultimate-govee.service"); const config_1 = require("@nestjs/config"); const goveeConfig = (0, config_1.registerAs)('Dev.Govee.Config', () => ({ enableBle: true, enableIoT: true, enableOpenAPI: false, persistDirectory: 'persisted', })); async function bootstrap() { const app = await core_1.NestFactory.create(ultimate_govee_module_1.UltimateGoveeModule.forRootAsync({ imports: [config_1.ConfigModule.forRoot({ load: [goveeConfig] })], inject: [goveeConfig.KEY], useFactory: (config) => ({ persist: { rootDirectory: config.persistDirectory, }, auth: {}, channels: { ble: { enabled: config.enableBle, }, iot: { enabled: config.enableIoT, }, rest: {}, openapi: { enabled: config.enableOpenAPI, }, }, }), }), { logger: ['warn', 'error', 'log', 'verbose', 'debug'], snapshot: true, }); app.enableShutdownHooks(); await app.listen(3000); const service = app.get(ultimate_govee_service_1.UltimateGoveeService); const config = app.get(ultimate_govee_config_1.UltimateGoveeConfiguration.provide); if (config?.username && config?.password) { await service.connect(config.username, config.password); } // service.channel('ble').setEnabled(config.connections?.ble === true); // service.channel('iot').setEnabled(config.connections?.iot === true); // service.channel('openapi').setEnabled(config.connections?.openApi === true); // if (config?.apikey) { // service.channel('openapi').setConfig({ apiKey: config.apikey }); // } } bootstrap(); //# sourceMappingURL=main.js.map