| 'use strict'; | |
| var bind = require('function-bind'); | |
| var $TypeError = require('es-errors/type'); | |
| var $call = require('./functionCall'); | |
| var $actualApply = require('./actualApply'); | |
| /** @type {(args: [Function, thisArg?: unknown, ...args: unknown[]]) => Function} TODO FIXME, find a way to use import('.') */ | |
| module.exports = function callBindBasic(args) { | |
| if (args.length < 1 || typeof args[0] !== 'function') { | |
| throw new $TypeError('a function is required'); | |
| } | |
| return $actualApply(bind, $call, args); | |
| }; |