metal-soy-critic
Version:
A metal-soy code validation utility.
42 lines (41 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const chalk = require("chalk");
function combineResults(first, second) {
return toResult(first.status && second.status, ...first.messages.concat(second.messages));
}
exports.combineResults = combineResults;
function toResult(status, ...messages) {
return {
messages,
status
};
}
exports.toResult = toResult;
function difference(setA, setB) {
const difference = new Set();
for (const elem of setA) {
if (!setB.has(elem)) {
difference.add(elem);
}
}
return difference;
}
exports.difference = difference;
function joinErrors(lines) {
return lines
.map(line => chalk.red(line))
.join('\n');
}
exports.joinErrors = joinErrors;
function isSorted(items) {
const sortedItems = items
.concat()
.sort((a, b) => a.localeCompare(b));
return sortedItems.join() === items.join();
}
exports.isSorted = isSorted;
function includes(source, target) {
return source.toUpperCase().includes(target.toLocaleUpperCase());
}
exports.includes = includes;