Innovenergy_trunk/frontend/node_modules/fp-ts/lib/Predicate.js

96 lines
2.4 KiB
JavaScript
Raw Permalink Normal View History

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.and = exports.or = exports.not = exports.Contravariant = exports.getMonoidAll = exports.getSemigroupAll = exports.getMonoidAny = exports.getSemigroupAny = exports.URI = exports.contramap = void 0;
var function_1 = require("./function");
var contramap_ = function (predicate, f) { return (0, function_1.pipe)(predicate, (0, exports.contramap)(f)); };
/**
* @since 2.11.0
*/
var contramap = function (f) {
return function (predicate) {
return (0, function_1.flow)(f, predicate);
};
};
exports.contramap = contramap;
/**
* @category type lambdas
* @since 2.11.0
*/
exports.URI = 'Predicate';
/**
* @category instances
* @since 2.11.0
*/
var getSemigroupAny = function () { return ({
concat: function (first, second) { return (0, function_1.pipe)(first, (0, exports.or)(second)); }
}); };
exports.getSemigroupAny = getSemigroupAny;
/**
* @category instances
* @since 2.11.0
*/
var getMonoidAny = function () { return ({
concat: (0, exports.getSemigroupAny)().concat,
empty: function_1.constFalse
}); };
exports.getMonoidAny = getMonoidAny;
/**
* @category instances
* @since 2.11.0
*/
var getSemigroupAll = function () { return ({
concat: function (first, second) { return (0, function_1.pipe)(first, (0, exports.and)(second)); }
}); };
exports.getSemigroupAll = getSemigroupAll;
/**
* @category instances
* @since 2.11.0
*/
var getMonoidAll = function () { return ({
concat: (0, exports.getSemigroupAll)().concat,
empty: function_1.constTrue
}); };
exports.getMonoidAll = getMonoidAll;
/**
* @category instances
* @since 2.11.0
*/
exports.Contravariant = {
URI: exports.URI,
contramap: contramap_
};
// -------------------------------------------------------------------------------------
// utils
// -------------------------------------------------------------------------------------
/**
* @since 2.11.0
*/
var not = function (predicate) {
return function (a) {
return !predicate(a);
};
};
exports.not = not;
/**
* @since 2.11.0
*/
var or = function (second) {
return function (first) {
return function (a) {
return first(a) || second(a);
};
};
};
exports.or = or;
/**
* @since 2.11.0
*/
var and = function (second) {
return function (first) {
return function (a) {
return first(a) && second(a);
};
};
};
exports.and = and;