UNPKG

@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
"use strict"; 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;