UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

22 lines (21 loc) 1.14 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.plength = void 0; var type_system_1 = require("../../../type_system/index.js"); var papp_1 = require("../../papp.js"); var pdelay_1 = require("../../pdelay.js"); var pfn_1 = require("../../pfn.js"); var phoist_1 = require("../../phoist.js"); var plam_1 = require("../../plam.js"); var pInt_1 = require("../int/pInt.js"); var precursiveList_1 = require("./precursiveList/index.js"); var plength = function (elemsT) { return (0, phoist_1.phoist)((0, precursiveList_1.precursiveList)(type_system_1.int, elemsT) .$((0, plam_1.plam)((0, type_system_1.lam)((0, type_system_1.list)(elemsT), type_system_1.int), (0, type_system_1.delayed)(type_system_1.int))(function (_self) { return (0, pdelay_1.pdelay)((0, pInt_1.pInt)(0)); })) .$((0, pfn_1.pfn)([ (0, type_system_1.lam)((0, type_system_1.list)(elemsT), type_system_1.int), elemsT, (0, type_system_1.list)(elemsT) ], type_system_1.int)(function (self, _x, xs) { return (0, pInt_1.pInt)(1).add((0, papp_1.papp)(self, xs)); }))); }; exports.plength = plength;