@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
JavaScript
;
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;