@vortex.so/cli
Version:
CLI to interact with Vortex.
30 lines (26 loc) • 890 B
JavaScript
;
const string_strip = require('./string.strip.cjs');
function line(string, perLine) {
const lines = String(string_strip.strip(string) || "").split(/\r?\n/);
if (!perLine)
return lines.length;
return lines.map((l) => Math.ceil(l.length / perLine)).reduce((a, b) => a + b);
}
function detectNewline(string) {
if (typeof string !== "string") {
throw new TypeError("Expected a string");
}
const newlines = string.match(/\r?\n/g) || [];
if (newlines.length === 0) {
return;
}
const crlf = newlines.filter((newline) => newline === "\r\n").length;
const lf = newlines.length - crlf;
return crlf > lf ? "\r\n" : "\n";
}
function detectNewlineGraceful(string) {
return typeof string === "string" && detectNewline(string) || "\n";
}
exports.detectNewline = detectNewline;
exports.detectNewlineGraceful = detectNewlineGraceful;
exports.line = line;