@constructorfleet/ultimate-govee
Version:
Library for interacting with Govee devices written in Typescript.
247 lines • 10.4 kB
JavaScript
;
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.EffectListResponse = exports.EffectData = exports.EffectCategory = exports.EffectScene = exports.LightEffect = exports.EffectSceneRule = exports.LightEffectSpecialEffect = exports.SpeedInfo = void 0;
const class_transformer_1 = require("class-transformer");
const _ultimate_govee_common_1 = require("../../../../common");
const govee_api_models_1 = require("../../govee-api.models");
const op_code_1 = require("./op-code");
class SpeedInfo {
}
exports.SpeedInfo = SpeedInfo;
__decorate([
(0, class_transformer_1.Expose)({ name: 'speedIndex' }),
__metadata("design:type", Number)
], SpeedInfo.prototype, "index", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'supSpeed' }),
__metadata("design:type", Boolean)
], SpeedInfo.prototype, "supportsSpeed", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'config' }),
__metadata("design:type", Object)
], SpeedInfo.prototype, "config", void 0);
class LightEffectSpecialEffect {
opCode(code) {
return (0, op_code_1.rebuildOpCode)(code, this.opCodeBase64);
}
}
exports.LightEffectSpecialEffect = LightEffectSpecialEffect;
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenceParamId' }),
__metadata("design:type", Number)
], LightEffectSpecialEffect.prototype, "parameterId", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneParam' }),
__metadata("design:type", String)
], LightEffectSpecialEffect.prototype, "opCodeBase64", void 0);
__decorate([
(0, class_transformer_1.Exclude)(),
__metadata("design:type", Function),
__metadata("design:paramtypes", [Number]),
__metadata("design:returntype", Object)
], LightEffectSpecialEffect.prototype, "opCode", null);
__decorate([
(0, class_transformer_1.Expose)({ name: 'cmdVersion' }),
__metadata("design:type", Number)
], LightEffectSpecialEffect.prototype, "cmdVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'supportSku' }),
__metadata("design:type", Array)
], LightEffectSpecialEffect.prototype, "supportedModels", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'speedInfo' }),
__metadata("design:type", SpeedInfo)
], LightEffectSpecialEffect.prototype, "speedInfo", void 0);
class EffectSceneRule {
}
exports.EffectSceneRule = EffectSceneRule;
__decorate([
(0, class_transformer_1.Expose)({ name: 'maxSoftVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "maxSoftwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'minSoftVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "minSoftwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'maxHardVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "maxHardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'minHardVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "minHardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'maxWifiSoftVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "maxWiFiSoftwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'minWifiSoftVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "minWiFiSoftwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'maxWifiHardVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "maxWiFiHardwareVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'minWifiHardVersion' }),
__metadata("design:type", String)
], EffectSceneRule.prototype, "minWiFiHardwareVersion", void 0);
class LightEffect {
get opCode() {
return (0, op_code_1.rebuildOpCode)(this.code, this.opCodeBase64);
}
get diyEffect() {
if (this.diyOpCodeBase64 === undefined) {
return undefined;
}
// Probably wrong
return this.diyOpCodeBase64.split('/').map(_ultimate_govee_common_1.base64ToHex);
}
}
exports.LightEffect = LightEffect;
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenceParamId' }),
__metadata("design:type", Number)
], LightEffect.prototype, "parameterId", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenceName' }),
__metadata("design:type", String)
], LightEffect.prototype, "name", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenceParam' }),
__metadata("design:type", String)
], LightEffect.prototype, "opCodeBase64", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenceOpCode' }),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], LightEffect.prototype, "opCode", null);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneCode' }),
__metadata("design:type", Number)
], LightEffect.prototype, "code", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'specialEffect' }),
__metadata("design:type", Array)
], LightEffect.prototype, "specialEffect", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'cmdVersion' }),
__metadata("design:type", Number)
], LightEffect.prototype, "cmdVersion", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneType' }),
__metadata("design:type", Number)
], LightEffect.prototype, "sceneType", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'diyEffectCode' }),
__metadata("design:type", Array)
], LightEffect.prototype, "diyOpCode", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'diyEffectStr' }),
__metadata("design:type", String)
], LightEffect.prototype, "diyOpCodeBase64", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'diyEffect', toPlainOnly: true }),
__metadata("design:type", Object),
__metadata("design:paramtypes", [])
], LightEffect.prototype, "diyEffect", null);
__decorate([
(0, class_transformer_1.Expose)({ name: 'rules' }),
__metadata("design:type", Array)
], LightEffect.prototype, "rules", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'speedInfo' }),
__metadata("design:type", SpeedInfo)
], LightEffect.prototype, "speedInfo", void 0);
class EffectScene {
}
exports.EffectScene = EffectScene;
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneId' }),
__metadata("design:type", Number)
], EffectScene.prototype, "id", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'iconUrls' }),
__metadata("design:type", Array)
], EffectScene.prototype, "urls", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneName' }),
__metadata("design:type", String)
], EffectScene.prototype, "name", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneType' }),
__metadata("design:type", Number)
], EffectScene.prototype, "type", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneCode' }),
__metadata("design:type", Number)
], EffectScene.prototype, "code", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'sceneCategoryId' }),
__metadata("design:type", Number)
], EffectScene.prototype, "categoryId", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'rule' }),
__metadata("design:type", EffectSceneRule)
], EffectScene.prototype, "rule", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'lightEffects' }),
(0, class_transformer_1.Type)(() => LightEffect),
__metadata("design:type", Array)
], EffectScene.prototype, "lightEffects", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'voiceUrl' }),
__metadata("design:type", String)
], EffectScene.prototype, "voiceUrl", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'createTime' }),
__metadata("design:type", Number)
], EffectScene.prototype, "createTimestamp", void 0);
class EffectCategory {
}
exports.EffectCategory = EffectCategory;
__decorate([
(0, class_transformer_1.Expose)({ name: 'categoryId' }),
__metadata("design:type", Number)
], EffectCategory.prototype, "id", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'name' }),
__metadata("design:type", String)
], EffectCategory.prototype, "name", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'scenes' }),
(0, class_transformer_1.Type)(() => EffectScene),
__metadata("design:type", Array)
], EffectCategory.prototype, "scenes", void 0);
class EffectData {
}
exports.EffectData = EffectData;
__decorate([
(0, class_transformer_1.Expose)({ name: 'supportSpeed' }),
(0, class_transformer_1.Transform)(({ value }) => value === 1, { toClassOnly: true }),
__metadata("design:type", Boolean)
], EffectData.prototype, "supportSpeed", void 0);
__decorate([
(0, class_transformer_1.Expose)({ name: 'categories' }),
(0, class_transformer_1.Type)(() => EffectCategory),
__metadata("design:type", Array)
], EffectData.prototype, "categories", void 0);
class EffectListResponse extends govee_api_models_1.GoveeAPIResponse {
}
exports.EffectListResponse = EffectListResponse;
__decorate([
(0, class_transformer_1.Expose)({ name: 'data' }),
(0, class_transformer_1.Type)(() => EffectData),
__metadata("design:type", EffectData)
], EffectListResponse.prototype, "effectData", void 0);
//# sourceMappingURL=effect-list.response.js.map