foop
Version:
interfaces that describe their intentions.
49 lines (48 loc) • 3.48 kB
JavaScript
/**
* Returns a function that always returns the given value. Note that for
* non-primitives the value returned is a reference to the original value.
*
* This function is known as `const`, `constant`, or `K` (for K combinator) in
* other languages and libraries.
*
* @icon ☝
* @alias always
* @alias constant
* @alias const
*
* @tests fp/always
*
* @func
* @memberOf fp
* @since v5.0.0
* @category Function
* @sig a -> (* -> a)
*
* @param {*} value The value to wrap in a function
* @return {Function} A Function :: * -> val.
*
* {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L1399 underscore-src-constant}
* {@link http://underscorejs.org/#constant underscore-constant}
* {@link https://github.com/lodash/lodash/issues/1010 lodash-constant}
* {@link https://github.com/ramda/ramda/issues/1038 ramda-constant-docs-issue}
* {@link https://github.com/ramda/ramda/blob/master/src/always.js ramda-always}
* @see {@link ramda-constant-docs-issue}
* @see {@link ramda-always}
* @see {@link lodash-constant}
* @see {@link underscore-constant}
*
* @types fp
* @tests fp/always
*
* @example
*
* var t = always('Tee')
* t() //=> 'Tee'
*
*/
module.exports = function constant(value) {
return function() {
return value
}
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx3YXlzLmpzIiwic291cmNlcyI6WyJhbHdheXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBhbHdheXMgcmV0dXJucyB0aGUgZ2l2ZW4gdmFsdWUuIE5vdGUgdGhhdCBmb3JcbiAqIG5vbi1wcmltaXRpdmVzIHRoZSB2YWx1ZSByZXR1cm5lZCBpcyBhIHJlZmVyZW5jZSB0byB0aGUgb3JpZ2luYWwgdmFsdWUuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBrbm93biBhcyBgY29uc3RgLCBgY29uc3RhbnRgLCBvciBgS2AgKGZvciBLIGNvbWJpbmF0b3IpIGluXG4gKiBvdGhlciBsYW5ndWFnZXMgYW5kIGxpYnJhcmllcy5cbiAqXG4gKiBAaWNvbiDimJ1cbiAqIEBhbGlhcyBhbHdheXNcbiAqIEBhbGlhcyBjb25zdGFudFxuICogQGFsaWFzIGNvbnN0XG4gKlxuICogQHRlc3RzIGZwL2Fsd2F5c1xuICpcbiAqIEBmdW5jXG4gKiBAbWVtYmVyT2YgZnBcbiAqIEBzaW5jZSB2NS4wLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHNpZyBhIC0+ICgqIC0+IGEpXG4gKlxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gd3JhcCBpbiBhIGZ1bmN0aW9uXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBGdW5jdGlvbiA6OiAqIC0+IHZhbC5cbiAqXG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDEzOTkgdW5kZXJzY29yZS1zcmMtY29uc3RhbnR9XG4gKiB7QGxpbmsgaHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvI2NvbnN0YW50IHVuZGVyc2NvcmUtY29uc3RhbnR9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvaXNzdWVzLzEwMTAgbG9kYXNoLWNvbnN0YW50fVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9pc3N1ZXMvMTAzOCByYW1kYS1jb25zdGFudC1kb2NzLWlzc3VlfVxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9yYW1kYS9yYW1kYS9ibG9iL21hc3Rlci9zcmMvYWx3YXlzLmpzIHJhbWRhLWFsd2F5c31cbiAqIEBzZWUge0BsaW5rIHJhbWRhLWNvbnN0YW50LWRvY3MtaXNzdWV9XG4gKiBAc2VlIHtAbGluayByYW1kYS1hbHdheXN9XG4gKiBAc2VlIHtAbGluayBsb2Rhc2gtY29uc3RhbnR9XG4gKiBAc2VlIHtAbGluayB1bmRlcnNjb3JlLWNvbnN0YW50fVxuICpcbiAqIEB0eXBlcyBmcFxuICogQHRlc3RzIGZwL2Fsd2F5c1xuICpcbiAqIEBleGFtcGxlXG4gKlxuICogICAgICB2YXIgdCA9IGFsd2F5cygnVGVlJylcbiAqICAgICAgdCgpIC8vPT4gJ1RlZSdcbiAqXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gY29uc3RhbnQodmFsdWUpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDQSxNQUFNLENBQUMsT0FBTyxHQUFHLFNBQVMsUUFBUSxDQUFDLEtBQUssRUFBRTtFQUN4QyxPQUFPLFdBQVc7SUFDaEIsT0FBTyxLQUFLO0dBQ2I7Q0FDRjsifQ==