@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
27 lines (26 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pshowList = void 0;
var types_1 = require("../../type_system/types.js");
var pshow_1 = require("./pshow.js");
var phoist_1 = require("../phoist.js");
var pfn_1 = require("../pfn.js");
var pfoldl_1 = require("../std/list/pfoldl.js");
var uint8array_utils_1 = require("@harmoniclabs/uint8array-utils");
function pshowList(elems_t) {
return (0, phoist_1.phoist)((0, pfn_1.pfn)([
(0, types_1.lam)(elems_t, types_1.bs),
(0, types_1.list)(elems_t)
], types_1.bs)(function (pshowElem, lst) {
return (0, pfoldl_1.pfoldl)(elems_t, types_1.bs)
.$(function (accum, elem) {
return accum
.concat(pshowElem.$(elem))
.concat((0, uint8array_utils_1.fromAscii)(","));
})
.$((0, uint8array_utils_1.fromAscii)("["))
.$(lst)
.concat((0, uint8array_utils_1.fromAscii)("]"));
})).$((0, pshow_1.pshow)(elems_t));
}
exports.pshowList = pshowList;