PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@celo/contractkit/node_modules/fp-ts/lib
Просмотр файла: TaskEither.js
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
var E = require("./Either");
var EitherT_1 = require("./EitherT");
var pipeable_1 = require("./pipeable");
var Task_1 = require("./Task");
var ValidationT_1 = require("./ValidationT");
var Filterable_1 = require("./Filterable");
var T = EitherT_1.getEitherM(Task_1.task);
/**
* @since 2.0.0
*/
exports.URI = 'TaskEither';
/**
* @since 2.0.0
*/
exports.left = T.left;
/**
* @since 2.0.0
*/
exports.right = T.of;
/**
* @since 2.0.0
*/
function rightIO(ma) {
return exports.rightTask(Task_1.task.fromIO(ma));
}
exports.rightIO = rightIO;
/**
* @since 2.0.0
*/
function leftIO(me) {
return exports.leftTask(Task_1.task.fromIO(me));
}
exports.leftIO = leftIO;
/**
* @since 2.0.0
*/
exports.rightTask = T.rightM;
/**
* @since 2.0.0
*/
exports.leftTask = T.leftM;
/**
* @since 2.0.0
*/
exports.fromIOEither = Task_1.task.fromIO;
/**
* @since 2.0.0
*/
function fold(onLeft, onRight) {
return function (ma) { return T.fold(ma, onLeft, onRight); };
}
exports.fold = fold;
/**
* @since 2.0.0
*/
function getOrElse(onLeft) {
return function (ma) { return T.getOrElse(ma, onLeft); };
}
exports.getOrElse = getOrElse;
/**
* @since 2.0.0
*/
function orElse(onLeft) {
return function (ma) { return T.orElse(ma, onLeft); };
}
exports.orElse = orElse;
/**
* @since 2.0.0
*/
exports.swap = T.swap;
/**
* @since 2.0.0
*/
function getSemigroup(S) {
return Task_1.getSemigroup(E.getSemigroup(S));
}
exports.getSemigroup = getSemigroup;
/**
* @since 2.0.0
*/
function getApplySemigroup(S) {
return Task_1.getSemigroup(E.getApplySemigroup(S));
}
exports.getApplySemigroup = getApplySemigroup;
/**
* @since 2.0.0
*/
function getApplyMonoid(M) {
return {
concat: getApplySemigroup(M).concat,
empty: exports.right(M.empty)
};
}
exports.getApplyMonoid = getApplyMonoid;
/**
* @since 2.0.0
*/
function tryCatch(f, onRejected) {
return function () { return f().then(function (a) { return E.right(a); }, function (reason) { return E.left(onRejected(reason)); }); };
}
exports.tryCatch = tryCatch;
/**
* Make sure that a resource is cleaned up in the event of an exception. The
* release action is called regardless of whether the body action throws or
* returns.
*
* @since 2.0.0
*/
function bracket(acquire, use, release) {
return T.chain(acquire, function (a) {
return T.chain(Task_1.task.map(use(a), E.right), function (e) {
return T.chain(release(a, e), function () { return (E.isLeft(e) ? T.left(e.left) : T.of(e.right)); });
});
});
}
exports.bracket = bracket;
function taskify(f) {
return function () {
var args = Array.prototype.slice.call(arguments);
return function () {
return new Promise(function (resolve) {
var cbResolver = function (e, r) { return (e != null ? resolve(E.left(e)) : resolve(E.right(r))); };
f.apply(null, args.concat(cbResolver));
});
};
};
}
exports.taskify = taskify;
/**
* @since 2.0.0
*/
function getTaskValidation(S) {
var T = ValidationT_1.getValidationM(S, Task_1.task);
return __assign({ URI: exports.URI, _E: undefined }, T);
}
exports.getTaskValidation = getTaskValidation;
var phantom = undefined;
/**
* @since 2.1.0
*/
function getFilterable(M) {
var F = E.getWitherable(M);
return __assign({ URI: exports.URI, _E: phantom }, Filterable_1.getFilterableComposition(Task_1.task, F));
}
exports.getFilterable = getFilterable;
/**
* @since 2.0.0
*/
exports.taskEither = {
URI: exports.URI,
bimap: T.bimap,
mapLeft: T.mapLeft,
map: T.map,
of: T.of,
ap: T.ap,
chain: T.chain,
alt: T.alt,
fromIO: rightIO,
fromTask: exports.rightTask,
throwError: exports.left
};
/**
* Like `TaskEither` but `ap` is sequential
*
* @since 2.0.0
*/
exports.taskEitherSeq = __assign(__assign({}, exports.taskEither), { ap: function (mab, ma) { return T.chain(mab, function (f) { return T.map(ma, f); }); } });
var _a = pipeable_1.pipeable(exports.taskEither), alt = _a.alt, ap = _a.ap, apFirst = _a.apFirst, apSecond = _a.apSecond, bimap = _a.bimap, chain = _a.chain, chainFirst = _a.chainFirst, flatten = _a.flatten, map = _a.map, mapLeft = _a.mapLeft, fromEither = _a.fromEither, fromOption = _a.fromOption, fromPredicate = _a.fromPredicate, filterOrElse = _a.filterOrElse;
exports.alt = alt;
exports.ap = ap;
exports.apFirst = apFirst;
exports.apSecond = apSecond;
exports.bimap = bimap;
exports.chain = chain;
exports.chainFirst = chainFirst;
exports.flatten = flatten;
exports.map = map;
exports.mapLeft = mapLeft;
exports.fromEither = fromEither;
exports.fromOption = fromOption;
exports.fromPredicate = fromPredicate;
exports.filterOrElse = filterOrElse;
Выполнить команду
Для локальной разработки. Не используйте в интернете!