UNPKG

foop

Version:

interfaces that describe their intentions.

46 lines (44 loc) 3.67 kB
var curry = require('../fp/curry') /** * return a negated function * A function wrapping a call to the given function in a `!` operation. * It will: * - return `true` when the underlying function would return a false-y value, * - and `false` when it would return a truth-y one. * @since 4.0.1 * * {@link https://github.com/facebook/immutable-js/blob/master/src/CollectionImpl.js#L771 immutable-js-not} * {@link https://github.com/ramda/ramda/blob/master/src/not.js ramda-not} * {@link https://github.com/lodash/lodash/blob/master/negate.js lodash-negate} * {@link http://documentcloud.github.io/underscore-contrib/#not-1 underscore-not} * {@link https://github.com/jashkenas/underscore/blob/master/underscore.js#L916 underscore-negate} * @see {@link underscore-negate} * @see {@link underscore-not} * @see {@link lodash-negate} * @see {@link ramda-not} * @see {@link immutable-js-not} * * @alias negate * @name not * @memberOf conditional * @func * * @param {Function} fn any function * @param {*} x value to pass to function * @return {Function} !Function(x) * * @example * * const falsed = not(x => true) * const trued = not(x => false) * * trued() * //=> true * * falsed() * //=> false * */ var not = function (fn, x) { return !fn(x); } module.exports = curry(2, not) //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LmpzIiwic291cmNlcyI6WyJub3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgY3VycnkgPSByZXF1aXJlKCcuLi9mcC9jdXJyeScpXG5cbi8qKlxuICogcmV0dXJuIGEgbmVnYXRlZCBmdW5jdGlvblxuICogQSBmdW5jdGlvbiB3cmFwcGluZyBhIGNhbGwgdG8gdGhlIGdpdmVuIGZ1bmN0aW9uIGluIGEgYCFgIG9wZXJhdGlvbi5cbiAqIEl0IHdpbGw6XG4gKiAtIHJldHVybiBgdHJ1ZWAgd2hlbiB0aGUgdW5kZXJseWluZyBmdW5jdGlvbiB3b3VsZCByZXR1cm4gYSBmYWxzZS15IHZhbHVlLFxuICogLSBhbmQgYGZhbHNlYCB3aGVuIGl0IHdvdWxkIHJldHVybiBhIHRydXRoLXkgb25lLlxuICogQHNpbmNlIDQuMC4xXG4gKlxuICoge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9pbW11dGFibGUtanMvYmxvYi9tYXN0ZXIvc3JjL0NvbGxlY3Rpb25JbXBsLmpzI0w3NzEgaW1tdXRhYmxlLWpzLW5vdH1cbiAqIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vcmFtZGEvcmFtZGEvYmxvYi9tYXN0ZXIvc3JjL25vdC5qcyByYW1kYS1ub3R9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2xvZGFzaC9sb2Rhc2gvYmxvYi9tYXN0ZXIvbmVnYXRlLmpzIGxvZGFzaC1uZWdhdGV9XG4gKiB7QGxpbmsgaHR0cDovL2RvY3VtZW50Y2xvdWQuZ2l0aHViLmlvL3VuZGVyc2NvcmUtY29udHJpYi8jbm90LTEgdW5kZXJzY29yZS1ub3R9XG4gKiB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2phc2hrZW5hcy91bmRlcnNjb3JlL2Jsb2IvbWFzdGVyL3VuZGVyc2NvcmUuanMjTDkxNiB1bmRlcnNjb3JlLW5lZ2F0ZX1cbiAqIEBzZWUge0BsaW5rIHVuZGVyc2NvcmUtbmVnYXRlfVxuICogQHNlZSB7QGxpbmsgdW5kZXJzY29yZS1ub3R9XG4gKiBAc2VlIHtAbGluayBsb2Rhc2gtbmVnYXRlfVxuICogQHNlZSB7QGxpbmsgcmFtZGEtbm90fVxuICogQHNlZSB7QGxpbmsgaW1tdXRhYmxlLWpzLW5vdH1cbiAqXG4gKiBAYWxpYXMgbmVnYXRlXG4gKiBAbmFtZSBub3RcbiAqIEBtZW1iZXJPZiBjb25kaXRpb25hbFxuICogQGZ1bmNcbiAqXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gZm4gYW55IGZ1bmN0aW9uXG4gKiBAcGFyYW0gIHsqfSB4IHZhbHVlIHRvIHBhc3MgdG8gZnVuY3Rpb25cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSAhRnVuY3Rpb24oeClcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqICAgIGNvbnN0IGZhbHNlZCA9IG5vdCh4ID0+IHRydWUpXG4gKiAgICBjb25zdCB0cnVlZCA9IG5vdCh4ID0+IGZhbHNlKVxuICpcbiAqICAgIHRydWVkKClcbiAqICAgIC8vPT4gdHJ1ZVxuICpcbiAqICAgIGZhbHNlZCgpXG4gKiAgICAvLz0+IGZhbHNlXG4gKlxuICovXG5jb25zdCBub3QgPSAoZm4sIHgpID0+ICFmbih4KVxubW9kdWxlLmV4cG9ydHMgPSBjdXJyeSgyLCBub3QpXG4iXSwibmFtZXMiOlsiY29uc3QiXSwibWFwcGluZ3MiOiJBQUFBQSxHQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDcENBLEdBQUssQ0FBQyxHQUFHLEdBQUcsU0FBQSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQUFBRyxTQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFBO0FBQzdCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7In0=