Skip to content

nicolaisueper/array-smoosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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!'

Related

#SmooshGate 🙀

License

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