Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including lodash-addons with all npm packages installed. Try it out:

require("lodash/package.json"); // lodash is a peer dependency. var lodashAddons = require("lodash-addons")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

lodash-addons v2.0.1

Community mixins for lodash

Lodash Addons

Build Status Dependencies

A collection of utility mixins for lodash. Supports both CommonJS and AMD module formats (meaning, works well with module bundlers or RequireJS-based projects).

Installation

  • Yarn: yarn add --dev lodash-addons
  • NPM: npm install --save-dev lodash-addons

Array

Collection

Date

Lang

Math

Object

Preconditions

String

Util

“Array” Methods

_.transformValueMap(collection, path, transformer)

Transforms a value in each element of collection if the path is not undefined.

Arguments

  1. collection (Array): Array of objects
  2. path (string): The path of the value to transform
  3. transformer (function): Callback which returns the transformed value

“Collection” Methods

_.differenceKeys(first, second)

Gets indices for which elements differ between two arrays.

Arguments

  1. first (array): First array
  2. second (array): Second array

Example

_.differenceKeys([false, true], [false, false]);
// => [1]

_.filterKeys(collection, iteratee)

Iterates over keys of a collection, returning an array of all keys predicate returns truthy for. The predicate is invoked with three arguments: (value, index|key, collection).

Arguments

  1. collection (object): The object to iterate over.
  2. iteratee (function): The function invoked per iteration.

“Date” Methods

_.parseDate(val)

Parses a value by passing it to new Date().

Arguments

  1. val (string): Value to be parsed

“Lang” Methods

_.getArray(value, replacement)

Returns value if an array, otherwise a default.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getArray(null);
// => []

_.getArray(null, ['test']);
// => ['test']

_.getBoolean(value, replacement)

Returns value if a boolean, otherwise a default boolean.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getBoolean(null);
// => false

_.getBoolean(null, true);
// => true

_.getFinite(value, replacement)

Returns value if a finite number, otherwise a default number.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getFinite('');
// => 0

_.getFinite('', 100);
// => 100

_.getFinite(NaN, 25);
// => 25

_.getFunction(value, replacement)

Returns value if a function, otherwise a default function.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getFunction(null);
// => function () {}

_.getMap(value, replacement)

Returns value if a Map, otherwise a default map.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

_.getNumber(value, replacement)

Returns value if a number, otherwise a default number.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getNumber('');
// => 0

_.getNumber('', 100);
// => 100

_.getObject(value, replacement)

Returns value if a object, otherwise a default object.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getObject('');
// => {}

_.getPlainObject(value, replacement)

Returns value if a plain object, otherwise a default object.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getPlainObject('');
// => {}

_.getSet(value, replacement)

Returns value if a Set, otherwise a default set.

Arguments

  1. value (mixed): Source value
  2. replacement (set): Custom default if value is invalid type.

Example

_.getSet('');
// => Set()

_.getString(value, replacement)

Returns value if a string, otherwise a default string.

Arguments

  1. value (mixed): Source value
  2. replacement (number): Custom default if value is invalid type.

Example

_.getString(false);
// => ''

_.getWeakMap(value, replacement)

Returns value if a WeakMap, otherwise a default WeakMap.

Arguments

  1. value (mixed): Source value
  2. replacement (weakmap): Custom default if value is invalid type.

Example

_.getWeakMap(false);
// => ''

_.getWeakSet(value, replacement)

Returns value if a WeakSet, otherwise a default WeakSet.

Arguments

  1. value (mixed): Source value
  2. replacement (weakset): Custom default if value is invalid type.

Example

_.getWeakSet(false);
// => ''

_.isIterable(object)

Checks if value is iterable.

Arguments

  1. object (object): An object

Example

_.isIterable([]);
// => true

_.isNonEmptyString(string)

Checks if value is a non-empty string.

Arguments

  1. string (object): String

Example

_.isNonEmptyString('');
// => false

_.toBool(value)

Converts a value to a boolean.

Arguments

  1. value (*): Source value

Example

_.toBool(1);
// => true

“Math” Methods

_.sign(value)

Returns a number representing the sign of value.

If value is a positive number, negative number, positive zero or negative zero, the function will return 1, -1, 0 or -0 respectively. Otherwise, NaN is returned.

Arguments

  1. value (number): A number

Returns

(number): A number representing the sign

Example

_.sign(10);
// => 1

_.sign(-10);
// => -1

“Object” Methods

_.hasInOfType(value, path, validator)

If _.hasIn returns true, run a validator on value.

Arguments

  1. value (mixed): Collection for _.hasIn
  2. path (number|string): Path.
  3. validator (function): Function to validate value.

_.hasOfType(value, path, validator)

If _.has returns true, run a validator on value.

Arguments

  1. value (mixed): Collection for _.has
  2. path (string): Path
  3. validator (function): Function to validate value.

Example

_.hasOfType({ test: '' }, 'test', _.isString);
// => true

_.objectWith(object, path, value)

Shorthand object creation when sole property is a variable, or a path.

Arguments

  1. object (): Existing object *(optional)*
  2. path (number|string): Property
  3. value (mixed): Value

Example

// To create a new object:

_.objectWith('key', 'value');
// => { key: 'value' }

_.objectWith('a.deep.path', 'value');
// => {
  a: {
    deep: {
     path: 'value'
    }
  }
}

// Using existing:
_.objectWith({ a: 1 }, 'b', 2);
// => { a: 1, b: 2 }

_.parseQueryString(string)

Parses query string into key/value object.

Arguments

  1. string (string): Query string.

Example

_.parseQueryString('key=value');
// => { key: 'value' }

_.toQueryString(object)

Converts an object's key/values to a query string.

Arguments

  1. object (object): Source key/value collection

Example

_.toQueryString({ a: 1, b: 2 });
// => a=1&b=2

“Preconditions” Methods

_.check(value)

Throw a TypeError if value doesn't match one of any provided validation methods.

Arguments

  1. value (mixed): Value

“String” Methods

_.generateKey(length)

Generates a random alphanumeric string with length n.

Arguments

  1. length (int): Desired length.

Example

_.generateKey(5);
// => 'L7IpD'

_.slugify(string)

Generates a url-safe "slug" form of a string.

Arguments

  1. string (string): String value.

Example

_.slugify('A Test');
// => a-test

“Util” Methods

_.getPrototype(value)

Gets the prototype for the given value.

Arguments

  1. value (*): Source value

Example

_.getPrototype(5);
// => { toFixed: func(), ... }

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free