Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
object.hasown
Advanced tools
Package description
The object.hasown npm package is a polyfill for the `Object.hasOwn` method, which is a standardized way of checking if an object has a property as its own (not inherited from its prototype chain). This package provides a reliable way to perform this check across different JavaScript environments, including those that do not support the `Object.hasOwn` method natively.
Checking for own property
This feature allows you to check if an object has a specific property as its own. The code sample demonstrates checking for the existence of properties 'a' and 'b' on an object.
const hasOwn = require('object.hasown');
const object = { a: 1 };
const hasA = hasOwn(object, 'a'); // true
const hasB = hasOwn(object, 'b'); // false
The 'has' package is a similar function that checks for the existence of a property in an object. It is similar to object.hasown but does not specifically check for own properties, meaning it could return true for inherited properties as well.
Lodash's 'has' function is part of the larger lodash utility library. It checks if `path` is a direct property of `object`. While similar, lodash's implementation allows checking deep paths, not just top-level properties, which is not a feature of object.hasown.
Changelog
v1.1.1 - 2022-05-05
4ca5814
e265a2f
npmignore
to autogenerate an npmignore file 4f54d5e
shim
: properly install when already present f580b50
eslint
, @ljharb/eslint-config
, aud
, auto-changelog
, functions-have-names
, has-symbols
, tape
335d3c1
eslint
, @ljharb/eslint-config
, @es-shims/api
, safe-publish-latest
, tape
c040e94
723dd15
define-properties
, es-abstract
4fb99f9
@ljharb/eslint-config
9a5e992
Readme
An ES spec-compliant Object.hasOwn
shim. Invoke its "shim" method to shim Object.hasOwn
if it is unavailable or noncompliant.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.
Most common usage:
var assert = require('assert');
var hasOwn = require('object.hasown');
var obj = { a: 1, b: 2 };
assert(hasOwn(obj, 'a'));
assert(hasOwn(obj, 'b'));
assert('toString' in obj && !hasOwn(obj, 'toString'));
if (!Object.hasOwn) {
hasOwn.shim();
}
assert.deepEqual(Object.hasOwn(obj, 'a'), hasOwn(obj, 'a'));
Simply clone the repo, npm install
, and run npm test
FAQs
ES spec-compliant shim for Object.hasOwn
The npm package object.hasown receives a total of 14,442,559 weekly downloads. As such, object.hasown popularity was classified as popular.
We found that object.hasown demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.