You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
louisafriederike b00d9f80ed copying eixogen 10 months ago
..
.github copying eixogen 10 months ago
test copying eixogen 10 months ago
.eslintignore copying eixogen 10 months ago
.eslintrc copying eixogen 10 months ago
.nycrc copying eixogen 10 months ago
CHANGELOG.md copying eixogen 10 months ago
LICENSE copying eixogen 10 months ago
README.md copying eixogen 10 months ago
callBound.js copying eixogen 10 months ago
index.js copying eixogen 10 months ago
package.json copying eixogen 10 months ago

README.md

call-bind Version Badge

github actions coverage dependency status dev dependency status License Downloads

npm badge

Robustly .call.bind() a function.

Getting started

npm install --save call-bind

Usage/Examples

const assert = require('assert');
const callBind = require('call-bind');
const callBound = require('call-bind/callBound');

function f(a, b) {
	assert.equal(this, 1);
	assert.equal(a, 2);
	assert.equal(b, 3);
	assert.equal(arguments.length, 2);
}

const fBound = callBind(f);

const slice = callBound('Array.prototype.slice');

delete Function.prototype.call;
delete Function.prototype.bind;

fBound(1, 2, 3);

assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]);

Tests

Clone the repo, npm install, and run npm test