@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
31 lines (30 loc) • 1.32 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.psndPairNoUnwrap = exports.pfstPairNoUnwrap = void 0;
var obj_utils_1 = require("@harmoniclabs/obj-utils");
var IRNative_1 = require("../../../../IR/IRNodes/IRNative/index.js");
var Term_1 = require("../../../Term/index.js");
var type_system_1 = require("../../../type_system/index.js");
var papp_1 = require("../../papp.js");
function pfstPairNoUnwrap(fstType, sndType) {
var a = fstType;
var b = sndType;
var outT = a;
var bnTerm = new Term_1.Term((0, type_system_1.lam)((0, type_system_1.pair)(a, b), outT), function (_dbn) { return IRNative_1.IRNative.fstPair; });
(0, obj_utils_1.defineReadOnlyProperty)(bnTerm, "$", function (_pair) {
return (0, papp_1.papp)(bnTerm, _pair);
});
return bnTerm;
}
exports.pfstPairNoUnwrap = pfstPairNoUnwrap;
function psndPairNoUnwrap(fstType, sndType) {
var a = fstType;
var b = sndType;
var outT = b;
var bnTerm = new Term_1.Term((0, type_system_1.lam)((0, type_system_1.pair)(a, b), outT), function (_dbn) { return IRNative_1.IRNative.sndPair; });
(0, obj_utils_1.defineReadOnlyProperty)(bnTerm, "$", function (_pair) {
return (0, papp_1.papp)(bnTerm, _pair);
});
return bnTerm;
}
exports.psndPairNoUnwrap = psndPairNoUnwrap;