@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
22 lines (21 loc) • 1.03 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.peqPair = void 0;
var type_system_1 = require("../../../type_system/index.js");
var getDirectFstT_1 = require("../../../type_system/tyArgs/getDirectFstT.js");
var getDirectSndT_1 = require("../../../type_system/tyArgs/getDirectSndT.js");
var pfn_1 = require("../../pfn.js");
var noUnwrap_1 = require("../../builtins/pair/noUnwrap.js");
var pstdEq_1 = require("../stdEq/pstdEq.js");
var phoist_1 = require("../../phoist.js");
function peqPair(t) {
var fstT = (0, getDirectFstT_1.getDirectFstT)(t);
var sndT = (0, getDirectSndT_1.getDirectSndT)(t);
var pfst = (0, noUnwrap_1.pfstPairNoUnwrap)(fstT, sndT);
var psnd = (0, noUnwrap_1.psndPairNoUnwrap)(fstT, sndT);
return (0, phoist_1.phoist)((0, pfn_1.pfn)([t, t], type_system_1.bool)(function (a, b) {
return (0, pstdEq_1.pstdEq)(fstT).$(pfst.$(a)).$(pfst.$(b))
.and((0, pstdEq_1.pstdEq)(sndT).$(psnd.$(a)).$(psnd.$(b)));
}));
}
exports.peqPair = peqPair;