UNPKG

@ton-contests/tact-utils

Version:
21 lines (20 loc) 1.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.precompileWithAst = precompileWithAst; const context_js_1 = require("@tact-lang/compiler/dist/context/context.js"); const precompile_js_1 = require("@tact-lang/compiler/dist/pipeline/precompile.js"); const store_js_1 = require("@tact-lang/compiler/dist/context/store.js"); const compiler_1 = require("@tact-lang/compiler"); const removeStdlibEntries_js_1 = require("./removeStdlibEntries.js"); function precompileWithAst({ ctx, project, stdlib, entrypoint, parser, ast, parsedModules, options, }) { ctx ??= new context_js_1.CompilerContext(); ast ??= (0, compiler_1.getAstFactory)(); parser ??= (0, compiler_1.getParser)(ast); ctx = (0, precompile_js_1.precompile)(ctx, project, stdlib, entrypoint, parser, ast, parsedModules); let rawAst = (0, store_js_1.getRawAST)(ctx); /** Remove stdlib entries from AST */ if (!options?.includeStdlib) { rawAst = (0, removeStdlibEntries_js_1.removeStdlibEntries)(rawAst); } return rawAst; }