Skip to content

helion3/lodash-addons

Repository files navigation

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L664 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L72 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L50 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L630 "View in source") [Ⓣ][1]

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

Arguments

  1. val (string): Value to be parsed

“Lang” Methods

_.getArray(value, replacement)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L165 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L186 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L210 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L228 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L242 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L119 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L260 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L278 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L325 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L343 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L361 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L379 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L447 "View in source") [Ⓣ][1]

Checks if value is iterable.

Arguments

  1. object (object): An object

Example

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

_.isNonEmptyString(string)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L464 "View in source") [Ⓣ][1]

Checks if value is a non-empty string.

Arguments

  1. string (object): String

Example

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

_.toBool(value)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L430 "View in source") [Ⓣ][1]

Converts a value to a boolean.

Arguments

  1. value (*): Source value

Example

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

“Math” Methods

_.sign(value)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L588 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L394 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L413 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L536 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L562 "View in source") [Ⓣ][1]

Parses query string into key/value object.

Arguments

  1. string (string): Query string.

Example

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

_.toQueryString(object)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L647 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L23 "View in source") [Ⓣ][1]

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

Arguments

  1. value (mixed): Value

“String” Methods

_.generateKey(length)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L136 "View in source") [Ⓣ][1]

Generates a random alphanumeric string with length n.

Arguments

  1. length (int): Desired length.

Example

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

_.slugify(string)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L617 "View in source") [Ⓣ][1]

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)

[Ⓢ](https://github.com/helion3/lodash-addons/blob/master/dist/lodash-addons.js#L295 "View in source") [Ⓣ][1]

Gets the prototype for the given value.

Arguments

  1. value (*): Source value

Example

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