Package Exports
- default-val
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (default-val) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
default-value

Set default value with type check.
Install
$ npm i default-val --saveUsage
Load this mudule :
const defaultValue = require('default-val');
Get default value if the property is undefined or null :
defaultValue(undefined, true) // => true defaultValue(null, 123) // => 123
Get default property value if the number property is NaN :
defaultValue(NaN, 123) // => 123 defaultValue(Infinity, 123) // => Infinity
Get default property value if the type of the property value is invalid :
defaultValue(987, true) // => true defaultValue(987, 'ABC', 'string') // => 'ABC' defaultValue(987, 'ABC', '[object String]') // => 'ABC' defaultValue(987, 123, '[object String]') // => 123 defaultValue(987, new Date(0), '[object Date]') // => new Date(0)
And get value if it is invalid :
defaultValue(987, 0) // => 987 defaultValue(987, null, 'number') // => 987 defaultValue(987, 'ABC', '[object Number]') // => 987
API
defaultValue(value, defaultValue [, type]) => any
Returns the second argument when the first argument is null, undefined or NaN, or the type of the first argument is different from the type of the second argument.
When the third argument is specified, returns the second argument if the type of the first argument is different from the type represented by the third argument.
The third argument can be specified the result of typeof x or Object.prototype.toString.call(x).
Arguments:
- value [any] : a value to be evaluated.
- defaultValue [any] : a default value which is returned if value is invalid.
- type [string] : a type for a valid value. (optional)
Return [any] : value if value is valid, otherwise defaultValue.
License
Copyright (C) 2017 Takayuki Sato
This program is free software under MIT License. See the file LICENSE in this distribution for more details.