Nirvana Playing Madonna

    array.prototype.flatmap
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/array.prototype.flatmap package

    1.3.0 • Public • Published

    array.prototype.flatmap Version Badge

    github actions coverage dependency status dev dependency status License Downloads

    npm badge

    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 array.prototype.flatmap

    Usage/Examples

    var flatMap = require('array.prototype.flatmap');
    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('array.prototype.flatmap');
    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('array.prototype.flatmap');
    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

    Install

    npm i array.prototype.flatmap

    DownloadsWeekly Downloads

    12,266,872

    Version

    1.3.0

    License

    MIT

    Unpacked Size

    16.6 kB

    Total Files

    17

    Last publish

    Collaborators

    • ljharb