UNPKG

@matterlabs/hardhat-zksync-solc

Version:
59 lines 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isMultiSolcUserConfig = exports.isSolcUserConfig = exports.SolcStringUserConfigExtractor = exports.SolcMultiUserConfigExtractor = exports.SolcSoloUserConfigExtractor = void 0; class SolcSoloUserConfigExtractor { suitable(_solidityConfig) { if (!_solidityConfig) { return false; } return isSolcUserConfig(_solidityConfig); } extract(_solidityConfig) { return { compilers: [_solidityConfig], }; } } exports.SolcSoloUserConfigExtractor = SolcSoloUserConfigExtractor; class SolcMultiUserConfigExtractor { suitable(_solidityConfig) { if (!_solidityConfig) { return false; } return isMultiSolcUserConfig(_solidityConfig); } extract(_solidityConfig) { const overrides = new Map(); for (const [file, compiler] of Object.entries(_solidityConfig.overrides ?? {})) { overrides.set(file, compiler); } return { compilers: _solidityConfig.compilers, overides: overrides, }; } } exports.SolcMultiUserConfigExtractor = SolcMultiUserConfigExtractor; class SolcStringUserConfigExtractor { suitable(_solidityConfig) { if (!_solidityConfig) { return false; } return typeof _solidityConfig === 'string'; } extract(_solidityConfig) { return { compilers: [], }; } } exports.SolcStringUserConfigExtractor = SolcStringUserConfigExtractor; function isSolcUserConfig(object) { return 'version' in object; } exports.isSolcUserConfig = isSolcUserConfig; function isMultiSolcUserConfig(object) { return 'compilers' in object; } exports.isMultiSolcUserConfig = isMultiSolcUserConfig; //# sourceMappingURL=config-extractor.js.map