diff --git a/index.js b/index.js index 935d4f3..f939e6d 100644 --- a/index.js +++ b/index.js @@ -207,16 +207,16 @@ class Fuse extends Nanoresource { return handlers function makeHandler (name, op, defaults, nativeSignal) { - return function () { - const boundSignal = signal.bind(null, arguments[0]) + return function (nativeHandler, opCode, ...args) { + const boundSignal = signal.bind(null, nativeHandler) const funcName = `_op_${name}` if (!self[funcName] || !self._implemented.has(op)) return boundSignal(-1, ...defaults) - return self[funcName].apply(self, [boundSignal, ...[...arguments].slice(2)]) + return self[funcName].apply(self, [boundSignal, ...args]) } function signal (nativeHandler, err, ...args) { var arr = [nativeHandler, err, ...args] - if (defaults && (!args || !args.length)) arr = arr.concat(defaults) + if (defaults && (!args.length)) arr = arr.concat(defaults) return process.nextTick(nativeSignal, ...arr) } }