@sasjs/lint
Version:
Linting and formatting for SAS code
35 lines • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.processLine = exports.processText = void 0;
const LineEndings_1 = require("../types/LineEndings");
const splitText_1 = require("../utils/splitText");
const processText = (text, config) => {
const processedText = processContent(config, text);
const lines = (0, splitText_1.splitText)(processedText, config);
const formattedLines = lines.map((line) => {
return (0, exports.processLine)(config, line);
});
const configuredLineEnding = config.lineEndings === LineEndings_1.LineEndings.LF ? '\n' : '\r\n';
return formattedLines.join(configuredLineEnding);
};
exports.processText = processText;
const processContent = (config, content) => {
let processedContent = content;
config.fileLintRules
.filter((r) => !!r.fix)
.forEach((rule) => {
processedContent = rule.fix(processedContent, config);
});
return processedContent;
};
const processLine = (config, line) => {
let processedLine = line;
config.lineLintRules
.filter((r) => !!r.fix)
.forEach((rule) => {
processedLine = rule.fix(processedLine, config);
});
return processedLine;
};
exports.processLine = processLine;
//# sourceMappingURL=shared.js.map