UNPKG

codacy-seed

Version:
30 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.withDefaultParameters = void 0; const _1 = require("."); function withDefaultParameters(codacyrc, specification) { if (codacyrc.tools === undefined || (specification === null || specification === void 0 ? void 0 : specification.patterns) === undefined) return codacyrc; const toolsWithDefaults = codacyrc.tools.map((tool) => { if (tool.patterns === undefined) return tool; const patternsWithDefaults = tool.patterns.map((pattern) => withDefaultParamentersForPattern(pattern, specification.patterns)); return new _1.Tool(tool.name, patternsWithDefaults); }); return new _1.Codacyrc(codacyrc.files, toolsWithDefaults, codacyrc.options); } exports.withDefaultParameters = withDefaultParameters; function withDefaultParamentersForPattern(pattern, specificationPatterns) { const specificationPattern = specificationPatterns.find((specPattern) => specPattern.patternId === pattern.patternId); const parameters = specificationPattern ? missingParameters(pattern, specificationPattern) : pattern.parameters; return new _1.Pattern(pattern.patternId, parameters); } function missingParameters(pattern, specificationPattern) { return specificationPattern.parameters.map((specParameter) => { const overrideParameter = pattern.parameters.find((param) => param.name === specParameter.name); return (overrideParameter !== null && overrideParameter !== void 0 ? overrideParameter : new _1.Parameter(specParameter.name, specParameter.default)); }); } //# sourceMappingURL=withDefaultParameters.js.map