object-is
npmv1.1.6ES2015-compliant shim for Object.is - differentiates between -0 and +0
Adopt with care
object-is is usable, with caveats. Last published 925 days ago.
- AAdoption: grade A, Excellent.
21.5M downloads per week and 1 known dependents.
- DMaintenance: grade D, Poor — a real concern.
Last published 925 days ago.
- BWeight: grade B, Good.
Pulls in 16 transitive packages, about 257 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 object-is 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 object-is, not just its own. Check this before a legal review, not after.
Compatibility
- Node.js
- node >= 0.4
- Module format
- CommonJS only
- TypeScript
- No bundled types
- Install scripts
- None
Quick start
A usage example from the object-is README.
Object.is = require('object-is');
var assert = require('assert');
assert.ok(Object.is());
assert.ok(Object.is(undefined));
assert.ok(Object.is(undefined, undefined));
assert.ok(Object.is(null, null));
assert.ok(Object.is(true, true));
assert.ok(Object.is(false, false));
assert.ok(Object.is('foo', 'foo'));
var arr = [1, 2];
assert.ok(Object.is(arr, arr));
assert.equal(Object.is(arr, [1, 2]), false);object-is 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 |
|---|---|---|---|---|
| object-isthis page | 21.5M | 1 | MIT | 2 years ago |
| regexp.prototype.flags | 0 | 1 | MIT | 1 day ago |
| array-buffer-byte-length | 0 | 1 | MIT | 1 day ago |
| rxjs | 90.9M | 6 | Apache-2.0 | 1 day ago |
| path-parse | 0 | 1 | MIT | 1 day ago |
| is-glob | 137.4M | 3 | MIT | 1 day ago |
Dependencies
Declared by object-is v1.1.6. Runtime dependencies are installed with the package; dev dependencies are not.
Runtime (2)
Dev (12)
Used by
Popular packages that depend on object-is.
Relationship graph
Dependencies (left) and dependents (right) of object-is.
Frequently installed together
Array#isArray for older browsers
An AST-based pattern checker for JavaScript.
Robustly `.call.bind()` a function
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.
Get the byte length of an ArrayBuffer, even in engines without a `.byteLength` method.
Get an iterator for any JS language value. Works robustly across all environments, all versions.
Store information about any JS value in a side channel. Uses WeakMap if available.
Is this value a JS SharedArrayBuffer?
The semantic version parser used by npm.
Get and robustly cache all JS language-level intrinsics at first require time
ES6 spec-compliant RegExp.prototype.flags shim.
Release history
No releases in the last two years, typically about 120 days apart.
| Version | Published | Size | License |
|---|---|---|---|
| 1.1.6latest | 2 years ago | 26 KB | MIT |
| 1.1.5 | 5 years ago | 23 KB | MIT |
| 1.1.4 | 5 years ago | 27 KB | MIT |
| 1.1.3 | 6 years ago | 19 KB | MIT |
| 1.1.2 | 6 years ago | 25 KB | MIT |
| 1.1.1 | 6 years ago | 25 KB | MIT |
| 1.1.0 | 6 years ago | 18 KB | MIT |
| 1.0.2 | 6 years ago | 16 KB | MIT |
| 1.0.1 | 12 years ago | — | MIT |
| 1.0.0 | 12 years ago | — | MIT |
| 0.0.0 | 12 years ago | — | MIT |
Overview
object-is is an npm package that eS2015-compliant shim for Object.is - differentiates between -0 and +0. It is extremely widely used, with about 21.5M downloads per week and 1 known dependents in the graph. The latest version is 1.1.6, released under the MIT license.
Who should use it
Teams working in the npm ecosystem who need eS2015-compliant shim for Object.is - differentiates between -0 and +0 and value a battle-tested, widely-adopted solution.
When not to use it
Consider an alternative if you need to have first-class TypeScript types out of the box, or if a more actively-maintained option better fits your npm stack.
Pros
- Large, well-established user base (21.5M weekly downloads).
- Clear open-source license (MIT).
Cons
- No bundled TypeScript types (may require a separate @types package).
Auto-generated from collected registry metadata. No external claims are inferred.
Maintainers
Funding
Frequently asked questions
Should I use object-is?
object-is is usable, with caveats. Last published 925 days ago.
How do I install object-is?
Run `npm install object-is` to add object-is to your npm project.
How many dependencies does object-is have?
object-is declares 14 direct dependencies and pulls in 16 packages in total once its runtime tree is resolved totalling about 257 KB on disk.
What license is object-is released under?
object-is is distributed under the MIT license.
How popular is object-is?
object-is has approximately 21,525,221 downloads per week and 1 known dependent packages.
Is object-is still maintained?
The most recent release of object-is (v1.1.6) was published 2 years ago.
Does object-is run install scripts?
No. object-is does not define preinstall, install, or postinstall scripts, so installing it does not execute publisher-supplied code.