call-bound
npmv1.0.4TypeScriptRobust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`.
Adopt with care
call-bound is usable, with caveats. Last published 555 days ago. 4 releases in the last 2 years.
- ?Adoption: grade ?, Not reported by this registry.
No download data reported for this package yet.
- CMaintenance: grade C, Fair — worth a look.
Last published 555 days ago. 4 releases in the last 2 years.
- BWeight: grade B, Good.
Pulls in 11 transitive packages, about 179 KB installed (at least — some of the tree is still being crawled).
- BSupply chain: grade B, Good.
This package has a single maintainer (bus factor of 1).
- ALicense: grade A, Excellent.
MIT — permissive, with no copyleft found in the dependency tree.
Grades are computed deterministically from registry metadata collected by PackageGraph — downloads, dependents, publish dates, the resolved dependency tree, maintainer count, and declared licenses. No third-party scores are used.
Install cost
What you actually take on by adding call-bound to a project.
Runtime packages this one declares itself.
Distinct packages in the full runtime tree, deduplicated the way a package manager would.
Unpacked size of this package plus its entire runtime tree.
Longest resolved dependency chain below this package.
Part of this dependency tree has not been crawled yet, so these figures are a lower bound rather than a final total.
Licenses in the dependency tree
Every license you inherit by installing call-bound, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >= 0.4
- Module format
- CommonJS only
- TypeScript
- Types included
- Install scripts
- None
Quick start
A usage example from the call-bound README.
const assert = require('assert');
const callBound = require('call-bound');
const slice = callBound('Array.prototype.slice');
delete Function.prototype.call;
delete Function.prototype.bind;
delete Array.prototype.slice;
assert.deepEqual(slice([1, 2, 3, 4], 1, -1), [2, 3]);call-bound vs the alternatives
Packages solving a similar problem in the npm ecosystem, compared on the signals that drive an adoption decision.
| Package | Weekly downloads | Dependents | License | Last release |
|---|---|---|---|---|
| call-boundthis page | 0 | 7 | MIT | 1 year ago |
| call-bind | 80.7M | 5 | MIT | 1 day ago |
| get-intrinsic | 0 | 8 | MIT | 1 day ago |
| set-function-length | 0 | 1 | MIT | 1 day ago |
| eslint | 138.4M | 279 | MIT | 1 day ago |
| es-define-property | 131.3M | 4 | MIT | 1 day ago |
Dependencies
Declared by call-bound v1.0.4. Runtime dependencies are installed with the package; dev dependencies are not.
Dev (21)
Used by
Popular packages that depend on call-bound.
Store information about any JS value in a side channel. Uses WeakMap if available.
Is this value a JS regex? Works cross-realm/iframe, and despite ES6 @@toStringTag
Is this an arguments object? It's a harder question than you think.
Is this value a JS SharedArrayBuffer?
Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.
Get and robustly cache all JS language-level intrinsics at first require time
Store information about any JS value in a side channel, using a Map
Relationship graph
Dependencies (left) and dependents (right) of call-bound.
Frequently installed together
An AST-based pattern checker for JavaScript.
string representations of objects in node and the browser
A simple cache for a few of the JS Error constructors.
Get and robustly cache all JS language-level intrinsics at first require time
A robust, ES3 compatible, "has own property" predicate.
Determine if the JS environment has `Symbol.toStringTag` support. Supports spec, or shams.
`Object.getOwnPropertyDescriptor`, but accounts for IE's broken implementation.
ES Math-related intrinsics and helpers, robustly cached.
`Object.defineProperty`, but not IE 8's broken one.
Implementation of Function.prototype.bind
Store information about any JS value in a side channel, using a Map
Helper functions around Function call/apply/bind, for use in `call-bind`
Release history
4 releases in the last two years, typically about 5 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 1.0.4latest | 1 year ago | 17 KB | MIT |
| 1.0.3 | 1 year ago | 12 KB | MIT |
| 1.0.2 | 1 year ago | 11 KB | MIT |
| 1.0.1 | 1 year ago | 10 KB | MIT |
Overview
call-bound is an npm package that robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic`. It has 7 known dependents in the graph. The latest version is 1.0.4, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need robust call-bound JavaScript intrinsics, using `call-bind` and `get-intrinsic` and value a focused solution.
When not to use it
Consider an alternative if you need to minimize your dependency tree, or if a more actively-maintained option better fits your npm stack.
Pros
- Ships TypeScript type definitions.
- Clear open-source license (MIT).
Cons
- Large dependency tree (23 direct dependencies) increases install size and audit surface.
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Funding
Frequently asked questions
Should I use call-bound?
call-bound is usable, with caveats. Last published 555 days ago. 4 releases in the last 2 years.
How do I install call-bound?
Run `npm install call-bound` to add call-bound to your npm project.
How many dependencies does call-bound have?
call-bound declares 23 direct dependencies and pulls in 11 packages in total once its runtime tree is resolved totalling about 179 KB on disk.
What license is call-bound released under?
call-bound is distributed under the MIT license.
How popular is call-bound?
npm does not publish download counts. Within PackageGraph's crawl, 7 known packages depend on call-bound.
Is call-bound still maintained?
The most recent release of call-bound (v1.0.4) was published 1 year ago.
Does call-bound run install scripts?
No. call-bound does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.