@ton-contests/tact-utils
Version:
Tact utilities for TON Contests plaform
21 lines (20 loc) • 1.06 kB
JavaScript
;
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;
}