GitHunt
NI

nicolaisueper/array-smoosh

Array.prototype.smoosh and smooshMap for all!

Build Status
Coverage
Zero Dependencies
smooshGate
Blazing Fast
For Humans
Enterprise Grade
Production Ready
Future proof
Modern
Extremely Lightweight
Totally Secure
Bug Free
Just Works

array-smoosh

Array.prototype.smoosh and smooshMap polyfill for all!

Install

$ npm install --save array-smoosh

Then import 'array-smoosh' once, anywhere early inside your application, and you're good to go.

Features

  • Works on older browsers with no own map implementation
  • No conditional monkey patching, so the web will never break your website 😱

API

Array.prototype.smoosh(level?): Array

Smooshes the Array. If no level is given, the Array gets smooshed recursively.

[1, [2, [3]]].smoosh(1); // => [1, 2, [3]]

['I', ['love', ['funny', ['method', ['names']]]]]
  .smoosh()
  .join(' '); // => 'I love funny method names'

Array.prototype.smooshMap(projectionFunction): Array

Smooshes the Array recursively and applies the given projection function to each element.

[1, [2, [3]]].smooshMap(n => n * 3); // => [3, 6, 9]

['smoosh', ['all', ['the', ['things']]]]
  .smooshMap(s => s.toUpperCase() + '!')
  .join(' ') // => 'SMOOSH! ALL! THE! THINGS!'

#SmooshGate 🙀

License

MIT © Nicolai Süper (nico@k40s.net)

Languages

JavaScript100.0%

Contributors

MIT License
Created March 23, 2018
Updated November 18, 2024