@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
JavaScript
;
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;