@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
52 lines • 2.85 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.OpenApiChannelConfigProvider = exports.InjectOpenAPIConfig = exports.OpenAPIConfigKey = exports.OpenApiTopicProvider = exports.InjectOpenApiTopic = exports.OpenApiTopicKey = exports.OpenAPIChannelConfigCredentialsProvider = exports.InjectOpenAPICredentials = exports.OpenAPIChannelConfigCredentialsKey = exports.OpenAPIChannelConfigTopicProvider = exports.InjectOpenAPITopic = exports.OpenAPIChannelConfigTopicKey = exports.OpenAPIChannelConfigEnabledProvider = exports.InjectEnabled = exports.OpenAPIChannelConfigEnabledKey = void 0;
const common_1 = require("@nestjs/common");
const openapi_channel_types_1 = require("./openapi-channel.types");
exports.OpenAPIChannelConfigEnabledKey = 'Config.OpenAPIChannel.Enabled';
exports.InjectEnabled = (0, common_1.Inject)(exports.OpenAPIChannelConfigEnabledKey);
exports.OpenAPIChannelConfigEnabledProvider = {
provide: exports.OpenAPIChannelConfigEnabledKey,
inject: [openapi_channel_types_1.MODULE_OPTIONS_TOKEN],
useFactory: (options) => options.enabled ?? false,
};
exports.OpenAPIChannelConfigTopicKey = 'Config.OpenAPIChannel.Topic';
exports.InjectOpenAPITopic = (0, common_1.Inject)(exports.OpenAPIChannelConfigTopicKey);
exports.OpenAPIChannelConfigTopicProvider = {
provide: exports.OpenAPIChannelConfigTopicKey,
inject: [openapi_channel_types_1.MODULE_OPTIONS_TOKEN],
useFactory: (options) => options.apiKey !== undefined ? `GA/${options.apiKey}` : undefined,
};
exports.OpenAPIChannelConfigCredentialsKey = 'Config.OpenAPIChannel.Credentials';
exports.InjectOpenAPICredentials = (0, common_1.Inject)(exports.OpenAPIChannelConfigCredentialsKey);
exports.OpenAPIChannelConfigCredentialsProvider = {
provide: exports.OpenAPIChannelConfigCredentialsKey,
inject: [openapi_channel_types_1.MODULE_OPTIONS_TOKEN],
useFactory: (options) => ({
username: options.apiKey,
password: options.apiKey,
}),
};
exports.OpenApiTopicKey = 'Config.OpenAPIChannel.Topic';
exports.InjectOpenApiTopic = (0, common_1.Inject)(exports.OpenApiTopicKey);
exports.OpenApiTopicProvider = {
provide: exports.OpenApiTopicKey,
inject: [openapi_channel_types_1.MODULE_OPTIONS_TOKEN],
useFactory: (options) => `GA/${options.apiKey}`,
};
exports.OpenAPIConfigKey = 'Config.OpenAPIChannel';
exports.InjectOpenAPIConfig = (0, common_1.Inject)(exports.OpenAPIConfigKey);
exports.OpenApiChannelConfigProvider = {
provide: exports.OpenAPIConfigKey,
inject: [
exports.OpenAPIChannelConfigTopicKey,
exports.OpenAPIChannelConfigCredentialsKey,
exports.OpenAPIChannelConfigEnabledKey,
],
useFactory: (topic, credentials, enabled) => ({
topic,
credentials,
enabled,
}),
};
//# sourceMappingURL=openapi-channel.providers.js.map