UNPKG

@harmoniclabs/plu-ts-onchain

Version:

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

17 lines (16 loc) 781 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._makeAllNegativeNativesHoisted = void 0; var IRHoisted_1 = require("../../IRNodes/IRHoisted.js"); var IRNative_1 = require("../../IRNodes/IRNative/index.js"); var _modifyChildFromTo_1 = require("./_modifyChildFromTo.js"); var iterTree_1 = require("./iterTree.js"); function _makeAllNegativeNativesHoisted(term) { (0, iterTree_1.iterTree)(term, function (elem) { if (elem instanceof IRNative_1.IRNative && !(elem.parent instanceof IRHoisted_1.IRHoisted)) { (0, _modifyChildFromTo_1._modifyChildFromTo)(elem.parent, elem, new IRHoisted_1.IRHoisted(elem)); return true; } }); } exports._makeAllNegativeNativesHoisted = _makeAllNegativeNativesHoisted;