UNPKG

@contract-case/case-core

Version:

Core functionality for the ContractCase contract testing suite

33 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.downloadCaseContracts = void 0; const downloadContractsFromUrls = (contractUrls, broker, context) => Promise.all(contractUrls.map((contractUrl) => { context.logger.debug(`Downloading contract for '${contractUrl.name}' from ${contractUrl.href}`); return broker .downloadContract(contractUrl.href, context) .then((contractData) => ({ contractData, name: contractUrl.name, })); })); const filterNonCaseContracts = (contracts, context) => { const nonCaseContracts = contracts.filter((c) => !('contractType' in c.contractData && c.contractData.contractType === 'case::contract')); nonCaseContracts.forEach((c) => { context.logger.debug(`Skipping contract '${c.name}' as it does not appear to be a ContractCase Contract`); }); return nonCaseContracts; }; const downloadCaseContracts = async (contractUrls, broker, context) => { const contracts = await downloadContractsFromUrls(contractUrls, broker, context); const nonCaseContracts = filterNonCaseContracts(contracts, context); const caseContracts = contracts.filter((c) => 'contractType' in c.contractData && c.contractData.contractType === 'case::contract'); if (caseContracts.length === 0) { context.logger.warn(`No ContractCase contracts to verify. There were ${nonCaseContracts.length} non-case contracts.`); context.logger.warn('You can see more information by re-running this task with logLevel: debug or lower'); } return caseContracts; }; exports.downloadCaseContracts = downloadCaseContracts; //# sourceMappingURL=downloadCaseContracts.js.map