@harmoniclabs/plu-ts-onchain
Version:
An embedded DSL for Cardano smart contracts creation coupled with a library for Cardano transactions, all in Typescript
16 lines (15 loc) • 546 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var IRVar_1 = require("../../IRNodes/IRVar.js");
var iterTree_1 = require("../_internal/iterTree.js");
function hasAtLeastNVarsAtDbn(term, baseDbn) {
if (baseDbn === void 0) { baseDbn = 0; }
var n = 0;
(0, iterTree_1.iterTree)(term, function (node, dbn) {
if (node instanceof IRVar_1.IRVar && node.dbn === baseDbn + dbn)
n++;
}, undefined, // shouldSkipNode
function () { return n > 1; } // shouldExit
);
return n > 1;
}