UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

28 lines (27 loc) 986 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.includesDynamicPairs = void 0; var tyArgs_1 = require("./tyArgs/index.js"); var types_1 = require("./types.js"); function includesDynamicPairs(t) { if (!Array.isArray(t)) return false; if (t[0] === types_1.PrimType.Alias) return includesDynamicPairs((0, tyArgs_1.unwrapAlias)(t)); if (t[0] === types_1.PrimType.AsData) return false; if (t[0] === types_1.PrimType.List) return includesDynamicPairs(t[1]); if (t[0] === types_1.PrimType.Delayed) return includesDynamicPairs(t[1]); if (t[0] === types_1.PrimType.Lambda) { return (includesDynamicPairs(t[1]) || includesDynamicPairs(t[2])); } if (t[0] === types_1.PrimType.Pair) { return (t[1][0] === types_1.PrimType.AsData || t[2][0] === types_1.PrimType.AsData); } return false; } exports.includesDynamicPairs = includesDynamicPairs;