Call a method on all items in an iterable by calling it on the iterable itself
Uses the Proxy
API.
$ npm install magic-iterable
import magicIterable from 'magic-iterable';
const x = {
index: 0,
increment(value) {
this.index += value;
return this.index;
}
};
const array = [x, x, x, x];
const magicArray = magicIterable(array);
Array.isArray(magicArray);
//=> true
magicArray.increment(2);
//=> [2, 4, 6, 8];
x.index;
//=> 8
import magicIterable from 'magic-iterable';
// Subscribes to click events for all `<a>` elements
magicIterable(document.querySelectorAll('a')).addEventListener('click', () => {
console.log('Click');
});
Returns a version of iterable
that when you call a method on it, it will call that method on all items in the iterable and return an array with the result.
Type: Iterable
(For example, an Array
)
Iterable where all the items has the method you want to call.
- on-change - Watch an object or array for changes (Uses
Proxy
too) - negative-array - Negative array index support (Uses
Proxy
too) - known - Allow only access to known object properties (Uses
Proxy
too)