UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

25 lines (24 loc) 1.47 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pmap = void 0; var type_system_1 = require("../../../../type_system/index.js"); var pprepend_1 = require("../../../builtins/pprepend/index.js"); var papp_1 = require("../../../papp.js"); var phoist_1 = require("../../../phoist.js"); var plam_1 = require("../../../plam.js"); var minimal_common_1 = require("../../data/conversion/minimal_common.js"); var const_1 = require("../const/index.js"); var pfoldr_1 = require("../pfoldr/index.js"); function pmap(fromT, toT) { return (0, phoist_1.phoist)((0, plam_1.plam)((0, type_system_1.lam)(fromT, toT), (0, type_system_1.lam)((0, type_system_1.list)(fromT), (0, type_system_1.list)(toT)))(function (f) { return (0, minimal_common_1._papp)((0, phoist_1.phoist)((0, plam_1.plam)((0, type_system_1.lam)(fromT, toT), (0, type_system_1.fn)([(0, type_system_1.list)(toT), (0, type_system_1.list)(fromT)], (0, type_system_1.list)(toT)))(function (mapFunc) { return (0, pfoldr_1.pfoldr)(fromT, (0, type_system_1.list)(toT)) .$((0, plam_1.plam)(fromT, (0, type_system_1.lam)((0, type_system_1.list)(toT), (0, type_system_1.list)(toT)))(function (elem) { return (0, minimal_common_1._papp)((0, pprepend_1.pprepend)(toT), (0, papp_1.papp)(mapFunc, elem)); })); })) .$(f), (0, const_1.pnil)(toT)); // .$( _list ) }, "pmap")); } exports.pmap = pmap;