UNPKG

1.85 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3const getSmartContractInfo_1 = require("./getSmartContractInfo");
4const helper_1 = require("./helper");
5const sb_1 = require("./sb");
6exports.compileForDiagnostics = ({ context, sourceFile }) => {
7 const helpers = helper_1.createHelpers();
8 const { contractInfo } = getSmartContractInfo_1.getSmartContractInfo(context, sourceFile);
9 const scriptBuilder = new sb_1.DiagnosticScriptBuilder(context, helpers, sourceFile, contractInfo);
10 scriptBuilder.process();
11};
12exports.compile = ({ context, sourceFile, linked = {}, sourceMaps = {} }) => {
13 const helpers = helper_1.createHelpers();
14 const { contractInfo, abi, contract } = getSmartContractInfo_1.getSmartContractInfo(context, sourceFile);
15 const helperScriptBuilder = new sb_1.HelperCapturingScriptBuilder(context, helper_1.createHelpers(helpers), sourceFile, contractInfo, linked);
16 helperScriptBuilder.process();
17 const scopeScriptBuilder = new sb_1.ScopeCapturingScriptBuilder(context, helper_1.createHelpers(helpers), sourceFile, contractInfo, linked, helperScriptBuilder.getHelpers());
18 scopeScriptBuilder.process();
19 const emittingScriptBuilder = new sb_1.EmittingScriptBuilder({
20 context,
21 scopes: scopeScriptBuilder.getScopes(),
22 sourceFile,
23 helpers: helper_1.createHelpers(helpers),
24 linked,
25 allHelpers: helperScriptBuilder.getHelpers(),
26 contractInfo,
27 });
28 emittingScriptBuilder.process();
29 const finalResult = emittingScriptBuilder.getFinalResult(sourceMaps);
30 return {
31 contract: Object.assign(Object.assign({ script: finalResult.code.toString('hex') }, contract), finalResult.features),
32 abi,
33 context,
34 sourceMap: finalResult.sourceMap,
35 };
36};
37
38//# sourceMappingURL=compile.js.map