nanoleaf-cove
Version:
Simple NanoLeaf Api for Node.js
48 lines (47 loc) • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createRandomRgb = void 0;
var tslib_1 = require("tslib");
var axios_1 = tslib_1.__importDefault(require("axios"));
function checkHost(host) {
if (host && host.indexOf('http') === -1) {
return 'http://' + host;
}
else {
return host;
}
}
var setStreamingMode = function (hostname, username) {
var payload = { write: { command: 'display', animType: 'extControl', extControlVersion: 'v2' } };
return axios_1.default.put(hostname + '/api/v1/' + username + '/effects', payload);
};
var getRandomNumber = function (min, max) {
return Math.floor(Math.random() * (max - min + 1) + min);
};
var createRandomRgb = function (min, max) {
return [
getRandomNumber(min, max),
getRandomNumber(min, max),
getRandomNumber(min, max),
];
};
exports.createRandomRgb = createRandomRgb;
var brightnessConvert = function (color, brightness) {
if (brightness === null || brightness === undefined || typeof brightness !== 'number') {
brightness = 100;
}
var r = parseInt((color[0] * (brightness / 100)).toString());
var g = parseInt((color[1] * (brightness / 100)).toString());
var b = parseInt((color[2] * (brightness / 100)).toString());
return [r, g, b];
};
var isTruly = function (value) {
return value !== undefined && value !== null;
};
exports.default = {
checkHost: checkHost,
setStreamingMode: setStreamingMode,
createRandomRgb: exports.createRandomRgb,
brightnessConvert: brightnessConvert,
isTruly: isTruly,
};