4.1.14 • Published 4 days ago
@zitterorg/ratione-quasi-sint v4.1.14
@zitterorg/ratione-quasi-sint
An ES2019 spec-compliant Array.prototype.flatMap
shim/polyfill/replacement that works as far down as ES3.
This package implements the es-shim API interface. It works in an ES3-supported environment and complies with the spec.
Because Array.prototype.flatMap
depends on a receiver (the this
value), the main export takes the array to operate on as the first argument.
Getting started
npm install --save @zitterorg/ratione-quasi-sint
Usage/Examples
var flatMap = require('@zitterorg/ratione-quasi-sint');
var assert = require('assert');
var arr = [1, [2], [], 3];
var results = flatMap(arr, function (x, i) {
assert.equal(x, arr[i]);
return x;
});
assert.deepEqual(results, [1, 2, 3]);
var flatMap = require('@zitterorg/ratione-quasi-sint');
var assert = require('assert');
/* when Array#flatMap is not present */
delete Array.prototype.flatMap;
var shimmedFlatMap = flatMap.shim();
var mapper = function (x) { return [x, 1]; };
assert.equal(shimmedFlatMap, flatMap.getPolyfill());
assert.deepEqual(arr.flatMap(mapper), flatMap(arr, mapper));
var flatMap = require('@zitterorg/ratione-quasi-sint');
var assert = require('assert');
/* when Array#flatMap is present */
var shimmedIncludes = flatMap.shim();
var mapper = function (x) { return [x, 1]; };
assert.equal(shimmedIncludes, Array.prototype.flatMap);
assert.deepEqual(arr.flatMap(mapper), flatMap(arr, mapper));
Tests
Simply clone the repo, npm install
, and run npm test
3.1.11
8 days ago
4.1.11
7 days ago
4.1.12
6 days ago
4.1.13
5 days ago
4.1.14
4 days ago
3.0.11
17 days ago
3.0.10
18 days ago
2.0.9
20 days ago
2.0.8
21 days ago
3.0.9
19 days ago
1.0.8
22 days ago
1.0.7
23 days ago
1.0.6
24 days ago
1.0.5
25 days ago
1.0.4
26 days ago
1.0.3
27 days ago
1.0.2
28 days ago
1.0.1
29 days ago
1.0.0
1 month ago