@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
17 lines (16 loc) • 746 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.preverse = void 0;
var type_system_1 = require("../../../type_system/index.js");
var pprepend_1 = require("../../builtins/pprepend/index.js");
var phoist_1 = require("../../phoist.js");
var pflip_1 = require("../combinators/pflip.js");
var const_1 = require("./const/index.js");
var pfoldl_1 = require("./pfoldl.js");
function preverse(elemsT) {
return (0, phoist_1.phoist)((0, pfoldl_1.pfoldl)(elemsT, (0, type_system_1.list)(elemsT))
.$((0, pflip_1.pflip)((0, type_system_1.list)(elemsT), elemsT, (0, type_system_1.list)(elemsT))
.$((0, pprepend_1.pprepend)(elemsT)))
.$((0, const_1.pnil)(elemsT)));
}
exports.preverse = preverse;