UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

21 lines (20 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._pnil = void 0; var _1 = require("./index.js"); var IRConst_1 = require("../../../../../IR/IRNodes/IRConst.js"); var Term_1 = require("../../../../Term/index.js"); var type_system_1 = require("../../../../type_system/index.js"); var data_1 = require("../../../builtins/data/index.js"); var minimal_1 = require("../../../punsafeConvertType/minimal.js"); function _pnil(elemsT) { (0, _1.assertValidListType)(elemsT); if ((0, type_system_1.typeExtends)(elemsT, (0, type_system_1.pair)(type_system_1.data, type_system_1.data))) { return (0, minimal_1._punsafeConvertType)(data_1.pnilPairData, (0, type_system_1.list)(elemsT)); } if ((0, type_system_1.typeExtends)(elemsT, type_system_1.data)) { return (0, minimal_1._punsafeConvertType)(data_1.pnilData, (0, type_system_1.list)(elemsT)); } return new Term_1.Term((0, type_system_1.list)(elemsT), function (_dbn) { return IRConst_1.IRConst.listOf(elemsT)([]); }, true); } exports._pnil = _pnil;