UNPKG

homebridge-eq3ble

Version:

Homebridge plugin to control EQ3 bluetooth thermostats

38 lines (32 loc) 984 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = callbackify; // copied from https://github.com/nfarina/homebridge-tesla/blob/247b5584cc77b79e2aea6b48e265a60e27ad9a80/src/util/callbackify.ts function callbackify(func) { return function () { for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } var onlyArgs = []; var maybeCallback = null; args.forEach(function (arg) { if (typeof maybeCallback === 'function') return; if (typeof arg === 'function') { maybeCallback = arg; return; } onlyArgs.push(arg); }); if (!maybeCallback) { throw new Error('Missing callback parameter!'); } var callback = maybeCallback; func.apply(undefined, onlyArgs).then(function (data) { return callback(null, data); }).catch(function (err) { return callback(err); }); }; }