UNPKG

@harmoniclabs/plu-ts-onchain

Version:

An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript

20 lines (19 loc) 1.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._ptail = exports._phead = exports._pstrictChooseList = void 0; 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"); function _pstrictChooseList(listElemT, returnT) { return new Term_1.Term((0, type_system_1.fn)([(0, type_system_1.list)(listElemT), returnT, returnT], returnT), function (_dbn) { return IRNative_1.IRNative.strictChooseList; }); } exports._pstrictChooseList = _pstrictChooseList; function _phead(listElemType) { var listElemT = listElemType; return new Term_1.Term((0, type_system_1.lam)((0, type_system_1.list)(listElemT), listElemT), function (_dbn) { return IRNative_1.IRNative.headList; }); } exports._phead = _phead; function _ptail(listElemT) { return new Term_1.Term((0, type_system_1.lam)((0, type_system_1.list)(listElemT), (0, type_system_1.list)(listElemT)), function (_dbn) { return IRNative_1.IRNative.tailList; }); } exports._ptail = _ptail;