UNPKG

1.35 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = command;
7
8var _bluebird = require('bluebird');
9
10var _bluebird2 = _interopRequireDefault(_bluebird);
11
12function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
14function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
15
16function command(emulate) {
17 return function () {
18 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
19 args[_key] = arguments[_key];
20 }
21
22 var lastArgIndex = args.length - 1;
23 var callback = args[lastArgIndex];
24 if (typeof callback !== 'function') {
25 callback = undefined;
26 } else {
27 args.length = lastArgIndex; // eslint-disable-line no-param-reassign
28 }
29
30 // transform non-buffer arguments to strings to simulate real ioredis behavior
31 var stringArgs = args.map(function (arg) {
32 return (// eslint-disable-line no-confusing-arrow
33 arg instanceof Buffer ? arg : arg.toString()
34 );
35 });
36
37 return new _bluebird2.default(function (resolve) {
38 return resolve(emulate.apply(undefined, _toConsumableArray(stringArgs)));
39 }).asCallback(callback);
40 };
41}
\No newline at end of file