UNPKG

solidity-docgen

Version:

Solidity API documentation automatic generator.

34 lines 1.36 kB
"use strict"; // Test helper that runs SolcAdapter.compile in a separate process to avoid blocking. var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.solcCompile = void 0; const child_process_1 = __importDefault(require("child_process")); const events_1 = __importDefault(require("events")); const assert_1 = __importDefault(require("assert")); const util_1 = __importDefault(require("util")); const solc_1 = require("./solc"); async function solcCompile(solcModule, input) { const child = child_process_1.default.fork(__filename); child.send({ solcModule, input }); const [{ error, output }] = await events_1.default.once(child, 'message'); assert_1.default.ifError(error); return output; } exports.solcCompile = solcCompile; // When forked: if (process.send !== undefined) { process.once('message', async ({ solcModule, input }) => { try { const adapter = await solc_1.SolcAdapter.require(solcModule); const output = adapter.compile(input); process.send({ output }); } catch (error) { process.send({ error: util_1.default.inspect(error) }); } }); } //# sourceMappingURL=solc-fork.js.map