Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
object.fromentries
Advanced tools
The object.fromentries npm package is a polyfill for the Object.fromEntries() method, which transforms a list of key-value pairs into an object. This is particularly useful for converting Map objects or arrays of arrays into object literals, allowing for easy manipulation and access of data structures.
Converting Map to Object
This feature allows for the conversion of Map objects to plain objects, making it easier to work with and access data stored in Maps.
const map = new Map([['foo', 'bar'], ['baz', 42]]);
const obj = Object.fromEntries(map);
console.log(obj); // Output: { foo: 'bar', baz: 42 }
Converting Array of Arrays to Object
This feature enables the transformation of an array of arrays (each inner array representing a key-value pair) into an object, simplifying the process of creating objects from structured data arrays.
const entries = [['foo', 'bar'], ['baz', 42]];
const obj = Object.fromEntries(entries);
console.log(obj); // Output: { foo: 'bar', baz: 42 }
Lodash's _.fromPairs() method offers similar functionality to Object.fromEntries by converting an array of key-value pairs into an object. While lodash.frompairs provides this as part of a larger utility library, object.fromentries focuses solely on this conversion feature.
Ramda's R.fromPairs function also converts an array of key-value pairs into an object. Compared to object.fromentries, Ramda offers this functionality within a functional programming context, providing a broader set of tools for data transformation and manipulation.
An ES spec-proposal-compliant Object.fromEntries
shim. Invoke its "shim" method to shim Object.fromEntries
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 proposed spec.
Most common usage:
var assert = require('assert');
var fromEntries = require('object.fromentries');
var obj = { a: 1, b: 2, c: 3 };
var actual = fromEntries(Object.entries(obj));
assert.deepEqual(obj, actual);
if (!Object.fromEntries) {
fromEntries.shim();
}
assert.deepEqual(Object.fromEntries(Object.entries(obj)), obj);
Simply clone the repo, npm install
, and run npm test
FAQs
ES proposal-spec-compliant Object.fromEntries shim.
We found that object.fromentries 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.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.