@dillonkearns/elm-graphql
Version:
<img src="https://cdn.jsdelivr.net/gh/martimatix/logo-graphqelm/logo.svg" alt="dillonearns/elm-graphql logo" width="40%" align="right">
70 lines (56 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.extract = undefined;
exports.inj = inj;
exports.prj = prj;
exports.fst = fst;
exports.snd = snd;
exports.compose = compose;
exports.map = map;
exports.bimap = bimap;
exports.extend = extend;
var _HKT = require('./HKT');
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var IsTuple = function IsTuple() {
_classCallCheck(this, IsTuple);
};
function inj(t) {
return t;
}
function prj(ft) {
return ft;
}
function fst(t) {
return prj(t)[0];
}
function snd(t) {
return prj(t)[1];
}
function compose(x, y) {
return inj([fst(y), snd(x)]);
}
function map(f, fa) {
var a = prj(fa);
return inj([a[0], f(a[1])]);
}
function bimap(f, g, fac) {
var ac = prj(fac);
return inj([f(ac[0]), g(ac[1])]);
}
function extend(f, ea) {
var t = prj(ea);
return inj([t[0], f(ea)]);
}
var extract = exports.extract = snd;
if (false) {
// eslint-disable-line
({
map: map,
compose: compose,
bimap: bimap,
extend: extend,
extract: extract
});
}