solidity-docgen
Version:
Solidity API documentation automatic generator.
34 lines • 1.36 kB
JavaScript
// 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
;