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) 879 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.replaceNativesAndReturnRoot = void 0; var IRNative_1 = require("../../../IRNodes/IRNative/index.js"); var _modifyChildFromTo_1 = require("../../_internal/_modifyChildFromTo.js"); var iterTree_1 = require("../../_internal/iterTree.js"); var nativeToIR_1 = require("./nativeToIR.js"); function replaceNativesAndReturnRoot(tree) { if (tree instanceof IRNative_1.IRNative) { return (0, nativeToIR_1.nativeToIR)(tree); } (0, iterTree_1.iterTree)(tree, function (elem) { if (elem instanceof IRNative_1.IRNative && elem.tag < 0) { (0, _modifyChildFromTo_1._modifyChildFromTo)(elem.parent, elem, (0, nativeToIR_1.nativeToIR)(elem)); return true; } }); return tree; } exports.replaceNativesAndReturnRoot = replaceNativesAndReturnRoot;