
Security News
/Research
Wallet-Draining npm Package Impersonates Nodemailer to Hijack Crypto Transactions
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
reverse-iterable-array
Advanced tools
A reverse-iterable array implementation based on the built-in Array object
The ReverseIterableArray
object is a reverse-iterable array implementation based on the built-in Array object.
Links:
See also:
ReverseIterableMap
: reverse-iterable-mapReverseIterableSet
: reverse-iterable-setDownload only the ES module file:
curl -O https://raw.githubusercontent.com/kleinfreund/reverse-iterable-array/master/src/reverse-iterable-array.mjs
(Requires Node version 8.5 or higher for ES module support)
Installs the node package as a dependency. It doesn’t have any dependencies itself.
npm install --save reverse-iterable-array
Note, that Node.js version 8.5 or higher is required, as it comes with experimental support for ES modules. If you don’t want to use it as an ES module, you will need to transpile the package yourself.
import { ReverseIterableArray } from './src/reverse-iterable-array.mjs';
const array = new ReverseIterableArray();
For more usage examples, have a look at kleinfreund.github.io/reverse-iterable-array.
You can also run the examples locally after cloning the repository:
npm install && npm run examples
… with Node’s experimental ES module feature:
npm test
A ReverseIterableArray
object iterates its elements in insertion or reverse-insertion order — a for...of
loop returns the array’s elements for each iteration.
new ReverseIterableArray([iterable])
Parameters:
iterable
: An iterable object.const array = new ReverseIterableArray();
Array
const array = new ReverseIterableArray([1, 2, 3]);
NodeList
const array = new ReverseIterableArray(...document.querySelectorAll('div'));
entries()
Returns an iterator containing the [index, element]
pairs for each element in the ReverseIterableArray
object in insertion order.
An iterator containing the same pairs in reverse-insertion order can be obtained with entries().reverseIterator()
.
array.entries();
Return value:
A new ReverseIterableArray
iterator object.
forEachReverse()
The forEachReverse()
method executes a provided function once per each [index, element]
pair in the ReverseIterableArray
object, in reverse-insertion order.
array.forEachReverse(callback[, thisArg]);
Parameters:
this
when executing callback
.keys()
Returns an iterator containing the indices for each element in the ReverseIterableArray
object in insertion order.
An iterator containing the same indices in reverse-insertion order can be obtained with keys().reverseIterator()
.
array.keys();
Return value:
A new ReverseIterableArray
iterator object.
reverseIterator()
In theory, following the semantics of [Symbol.iterator]()
, this should be [Symbol.reverseIterator]()
. However, as a developer, I cannot define a well-known symbol myself and make use of it. In the future, the a proposal like The ReverseIterable Interface, by Lee Byron might make it’s way into the specification. For the time being, the reverseIterator()
function serves the same purpose.
array.reverseIterator();
Return value:
The array reverse-iterator function, which is the values().reverseIterator()
function by default.
values()
Returns an iterator containing the elements in the ReverseIterableArray
object in insertion order.
An iterator containing the same elements in reverse-insertion order can be obtained with values().reverseIterator()
.
array.values();
Return value:
A new ReverseIterableArray
iterator object.
[Symbol.iterator]()
Returns the array iterator function. By default, this is the values()
function.
array[Symbol.iterator]();
Return value:
The array iterator function, which is the entries()
function by default.
const array = new ReverseIterableArray(1, 2, 4);
const iterator = array[Symbol.iterator]();
iterator.next().value;
//> 1
iterator.next().value;
//> 2
iterator.next().value;
//> 4
iterator.next().value;
//> undefined
[Symbol.toStringTag]()
The well-known symbol Symbol.toStringTag
is accessed internally when callig Object.prototype.toString()
.
iteratorFor()
Returns an iterator containing the [index, element]
pairs for each element in the ReverseIterableArray
object in insertion order starting with the pair specified by the index
parameter.
This allows starting iteration at a specific element in the array.
An iterator containing the same pairs in reverse-insertion order can be obtained with iteratorFor(index).reverseIterator()
.
array.iteratorFor(index);
Parameters:
Return value:
A new ReverseIterableArray
iterator object.
FAQs
A reverse-iterable array implementation based on the built-in Array object
We found that reverse-iterable-array demonstrated a not healthy version release cadence and project activity because the last version was released 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
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.
Security News
/Research
Malicious Nx npm versions stole secrets and wallet info using AI CLI tools; Socket’s AI scanner detected the supply chain attack and flagged the malware.