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.
es-iterator-helpers
Advanced tools
An ESnext spec-compliant iterator helpers shim/polyfill/replacement that works as far down as ES3.
An ESnext spec-compliant sync iterator helpers shim/polyfill/replacement that works as far down as ES3.
This package implements the es-shim API “multi” interface. It works in an ES3-supported environment and complies with the iterator helpers spec and the iterator sequencing spec.
Because the Iterator.prototype
methods depend on a receiver (the this
value), the main export in each subdirectory takes the iterator to operate on as the first argument.
The main export of the package itself is simply an array of the available directory names. It’s sole intended use is for build tooling and testing.
Iterator
constructorIterator.prototype
Iterator.concat
Iterator.from
Iterator.zip
Iterator.zipKeyed
Iterator.prototype.constructor
Iterator.prototype.drop
Iterator.prototype.every
Iterator.prototype.filter
Iterator.prototype.find
Iterator.prototype.flatMap
Iterator.prototype.forEach
Iterator.prototype.map
Iterator.prototype.reduce
Iterator.prototype.some
Iterator.prototype.take
Iterator.prototype.toArray
npm install --save es-iterator-helpers
Using explicit imports:
const map = require('es-iterator-helpers/Iterator.prototype.map');
const toArray = require('es-iterator-helpers/Iterator.prototype.toArray');
const assert = require('assert');
const iterator = [1, 2, 3].values();
const mapped = map(iterator, (x) => x + 10);
assert.deepEqual(
mapped.next(),
{
done: false,
value: 11,
}
);
assert.deepEqual(
toArray(mapped),
[12, 13]
);
Shim using require
:
require('es-iterator-helpers/auto'); // shim all of the methods
require('es-iterator-helpers/Iterator.prototype.map/auto'); // shim the “map” method
Shim using import
syntax:
import 'es-iterator-helpers/auto'; // shim all of the methods
import 'es-iterator-helpers/Iterator.prototype.map/auto'; // shim the “map” method
Simply clone the repo, npm install
, and run npm test
v1.2.1 - 2024-12-20
Iterator.concat
: add most of the tests from https://github.com/tc39/test262/pull/4326 2e340da
Iterator.concat
: rewrite implementation to match updated spec text 1a70fd3
IteratorZip
AO: allow an empty list of iterators 265e566
3cc9db0
IteratorHelperPrototype
: in pre-proto envs, use same .return
impl da02ab6
call-bind
, es-abstract
, get-intrinsic
, gopd
, has-proto
, internal-slot
, iterator.prototype
, safe-array-concat
e9eefab
Iterator.zip
: nullish non-function Symbol.iterator does not throw c6b0705
call-bound
directly 92afc5a
gopd
, has-proto
, has-symbols
7f8a1c0
Iterator.zip
, Iterator.zipKeyed
dd80b2f
@es-shims/api
1e9857c
es-abstract
c8157da
es-abstract
256de0e
object-inspect
2f8544b
FAQs
An ESnext spec-compliant iterator helpers shim/polyfill/replacement that works as far down as ES3.
The npm package es-iterator-helpers receives a total of 10,659,556 weekly downloads. As such, es-iterator-helpers popularity was classified as popular.
We found that es-iterator-helpers 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.