Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

eakwell

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

eakwell

Utility functions for arrays and objects alike

  • 0.2.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

eakwell.js

npm version Build Status Test Coverage Dependency Status

Utility functions for arrays and objects alike, as a CommonJS module.

Installation

npm install eakwell --save

Usage

var _ = require('eakwell');

// Iterate through arrays
_.each([1,2,3], function(value) {});

// ..with index if you like
_.each([5,6,7], function(value, index) {});

// Iterate objects in the same way
_.each({a: 'foo', b: 'bar'}, function(value, key) {});

// Map arrays
var doubles = _.map([1,2,3], function(n) { return n * 2 });

// Index available if needed
_.map([9,8,7], function(n, index) { return n });

// Objects welcome too
var ages = {
  Fred: 31,
  Anna: 24
};
var futureAges = _.map(ages, function(age) { return age + 20 });
//=> {Fred: 51, Anna: 44}

// When called with a string, we map directly to the items' members
var names = _.map(people, 'name');

// Call the given function <n> times
_.times(2, function() { console.log('Hip') });
console.log('Hooray');

// Select a subset of items, that satisfy the given function
var odds = _.select([1,2,3,4], function(n) { return n % 2 });

// Check if all items match the given condition
var doneDeal = _.all(books, function(book) { return book.price < 10 });

// Check if at least one item matches the given condition
var forbidden = _.any(people, function(person) { return person.age < 18 });

// Check if the given item is a member of the array, object or string
var hasFooInList = _.contains(['foo', 'bar'], 'foo');

// For objects, the actual key where the value was found is returned
var barKey = _.contains({foo: 1, bar: 2}, 2);

// Call the named method on each item
_.invoke(todos, 'delete');

// Further arguments will get passed to the invoked method
_.invoke(items, 'set', key, value);

// Invoke returns an array of return values, similar to map
var uppercased = _.invoke(['foo', 'bar'], 'toUpperCase');

// Interleave the items of two arrays, stop on the shorter list
var a = [1,2,3,7];
var b = [4,5,6];
_.zip(a, b); //=> [[1,4], [2,5], [3,6]]

// Zip can be also be used with a callback 
_.zip(a, b, function(fromA, fromB) {});

// Make a flat array from a hierarchy of nested arrays
_.flatten([1, [2, [3]], 4]); //=> [1,2,3,4]

// Return new object with the fields from both given objects
_.merge({a: 'foo'}, {b: 'bar'}); //=> {a: 'foo', b: 'bar'}

// Merge two arrays
var one2six = _.union([1,2,3], [4,5,6]); //=> [1,2,3,4,5,6]

License

MIT

Keywords

FAQs

Package last updated on 05 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc