UNPKG

@sasjs/lint

Version:

Linting and formatting for SAS code

43 lines 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.processLine = exports.processFile = exports.processText = void 0; const utils_1 = require("../utils"); const utils_2 = require("../utils"); const processText = (text, config) => { const lines = (0, utils_1.splitText)(text, config); const headerLinesCount = (0, utils_1.getHeaderLinesCount)(text, config); const dataSections = (0, utils_2.getDataSectionsDetail)(text, config); const diagnostics = []; diagnostics.push(...processContent(config, text)); lines.forEach((line, index) => { const isHeaderLine = index + 1 <= headerLinesCount; const isDataLine = (0, utils_2.checkIsDataLine)(dataSections, index); diagnostics.push(...(0, exports.processLine)(config, line, index + 1, { isHeaderLine, isDataLine })); }); return diagnostics; }; exports.processText = processText; const processFile = (filePath, config) => { const diagnostics = []; config.pathLintRules.forEach((rule) => { diagnostics.push(...rule.test(filePath, config)); }); return diagnostics; }; exports.processFile = processFile; const processContent = (config, content) => { const diagnostics = []; config.fileLintRules.forEach((rule) => { diagnostics.push(...rule.test(content, config)); }); return diagnostics; }; const processLine = (config, line, lineNumber, options) => { const diagnostics = []; config.lineLintRules.forEach((rule) => { diagnostics.push(...rule.test(line, lineNumber, config, options)); }); return diagnostics; }; exports.processLine = processLine; //# sourceMappingURL=shared.js.map