0.2.0 • Published 8 years ago

ai-lodash-extensions v0.2.0

Weekly downloads
4
License
Apache-2.0
Repository
github
Last release
8 years ago

AI Extensions for Lodash library

travis build Apache license

A set of JavaScript utility functions that can be used on their own or as an extension to Lo-Dash.

Dependencies

This module uses a couple of light weight lodash functions minimizing amount of duplicated code when creating distribution files using browserify.

Motivation

To avoid subtle bugs associated with checking for truthy/falsy values we want to use explicit conditional checks. To make the code more readable we want to have inverse of functions to avoid using !. We also want to have a couple of useful type specific value checking functions instead of using ternary operators.

Usage

Install from bower

bower install ai-lodash-extensions
Include 'ai.lodash.extensions.js' or 'ai.lodash.extensions.min.js'  in your HTML file.  
The library exposes 'ai.lodashExtensions' as a global variable.  If you wish you can include 'configureLodashMinimal.js'  in your HTML file to add '_.ai' to host the extension library, or 'configureLodash.js' to also mixin all non-conflicting functions onto lodash (_).

Install from npm

npm install ai-lodash-extensions
Example:
var ai = require('lodashExtensions');
var foo = ai.valueOrDefault(someVariable, () => { return 'foobar'; });

Documentation

hasValue(value)

Checks if value is not null and not undefined and not an empty string. Useful for validating forms.

isDefined(value)

Returns true if value is not undefined, false otherwise.

isNotEmptyString(value)

Returns negation of isEmptyString().

isNotNullOrUndefined(value)

Returns negation of isNullOrUndefined().

isNullOrUndefined(value)

Returns true if value is either null or undefined

isStringWithValue(value)

Returns true if value is a string of non zero length.

isValueMissing(value)

returns negation of hasValue().

numberOrDefault(value, defaultValue, ...)

Returns value if value is a finite number (not NaN/Infinity/-Infinity) otherwise, if defaultValue is a function it will return the result of calling it with remainder of arguments or defaultValue.

stringOrDefault(value, defaultValue, ...)

Returns value if value is a non empty string otherwise, if defaultValue is a function it will return the result of calling it with remainder of arguments or defaultValue.

valueOrDefault(value, defaultValue, ...)

Return value if value is not null or undefined otherwise, if defaultValue is a function it will return the result of calling it with remainder of arguments or defaultValue.