@aliceplex/core
Version:
[![License][license_badge]][license] [![Pipelines][pipelines_badge]][pipelines] [![Coverage][coverage_badge]][pipelines] [![NPM][npm_badge]][npm] [![semantic-release][semantic_release_badge]][semantic_release]
40 lines • 2.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeTrailingSpace = (value) => value.replace(/[^\S\n]+$/gm, "").replace(/\s+$/g, "");
exports.removeLeadingSpace = (value) => value.replace(/^[^\S\n]+/gm, "");
exports.replaceContinuousNewlines = (value) => value.replace(/\n{3,}/g, "\n\n");
exports.replaceContinuousSpace = (value) => value.replace(/[^\S\n]{2,}/g, " ");
exports.replaceTilde = (value) => value.replace(/[~˜⁓∼∽∿〜~]/g, "〜");
exports.replaceDot = (value) => value
.replace(/[..、・]{3}(?)|[..、・]{2}/g, "…")
.replace(/[。、]{3}(?)|[。、]{2}/g, "…");
exports.replaceFullStop = (value) => value.replace(".", "・");
exports.replaceArrowBrackets = (value) => value.replace(/[<<](.*)[>>]/g, "〈$1〉");
exports.replaceEndingSpace = (value) => value.replace(/([?!。])[^\S\n]+/g, "$1");
exports.removeSingleLinkBreak = (value) => value.replace(/(?<!\n)\n(?!\n)/g, "");
exports.normalize = (value) => {
let result = value.normalize("NFKC");
result = exports.removeTrailingSpace(result);
result = exports.removeLeadingSpace(result);
result = exports.replaceContinuousNewlines(result);
result = exports.replaceContinuousSpace(result);
result = exports.replaceEndingSpace(result);
result = exports.removeSingleLinkBreak(result);
result = exports.replaceTilde(result);
result = exports.replaceDot(result);
result = exports.replaceArrowBrackets(result);
return result.trim();
};
exports.normalizeTitle = (value) => {
let result = value.normalize("NFKC");
result = exports.removeTrailingSpace(result);
result = exports.removeLeadingSpace(result);
result = exports.replaceContinuousNewlines(result);
result = exports.replaceContinuousSpace(result);
result = exports.removeSingleLinkBreak(result);
result = exports.replaceTilde(result);
result = exports.replaceDot(result);
result = exports.replaceArrowBrackets(result);
return result.trim();
};
//# sourceMappingURL=format.js.map