Package Exports
- value-or-function
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 (value-or-function) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
value-or-function
Normalize a value or function, applying extra args to the function
Example
var normalize = require('value-of-function');
// Values matching type are returned
var isEnabled = normalize('boolean', true);
// isEnabled === true
// Values not matching type return null
var isEnabled = normalize('boolean', 1);
// isEnabled === null
// Functions are called
var isEnabled = normalize('boolean', function() {
return false;
});
// isEnabled === false
// Extra arguments are applied to function
var count = normalize('number', function(a, b) {
return a + b;
}, 1, 2);
// count === 3
// Convenience methods are available
var result = normalize.object({});
var result = normalize.number(1);
var result = normalize.string('');
var result = normalize.symbol(Symbol());
var result = normalize.boolean(true);
var result = normalize.function(function() {});
var result = normalize.undefined(undefined);API
normalize(type, value[, ...appliedArguments])
Takes a string of the type to match and a value to compare with typeof. Also optionally takes any extra arguments to apply to value if value is a function.
If the results of typeof value === type is true, the value is returned. If false and value is a function, the function is called with any extra arguments supplied to normalize.
If value is neither a type match or a function, null is returned.
If value is a function and the result of calling the function does not match the type, null is returned.
normalize.object(value[, ...appliedArguments])
Convenience method for normalize('object', ...).
normalize.number(value[, ...appliedArguments])
Convenience method for normalize('number', ...).
normalize.string(value[, ...appliedArguments])
Convenience method for normalize('string', ...).
normalize.symbol(value[, ...appliedArguments])
Convenience method for normalize('symbol', ...).
normalize.boolean(value[, ...appliedArguments])
Convenience method for normalize('boolean', ...).
normalize.function(value[, ...appliedArguments])
Convenience method for normalize('function', ...).
normalize.undefined(value[, ...appliedArguments])
Convenience method for normalize('undefined', ...).
License
MIT
