@contextjs/system
Version:
ContextJS - System
42 lines (41 loc) • 1.37 kB
JavaScript
import os from "node:os";
export class StringExtensions {
static lineBreaks = ['\r', '\n', '\u0085', '\u2028', '\u2029'];
static empty = "";
static newLine = os.EOL;
static isNullOrEmpty(value) {
return value === null || value === undefined || value === StringExtensions.empty;
}
static isNullOrUndefined(value) {
return value === null || value === undefined;
}
static isNullOrWhitespace(value) {
return this.isNullOrEmpty(value) || value?.trim() === StringExtensions.empty;
}
static removeWhitespace(value) {
return value.replace(/\s/g, "");
}
static isLineBreak(character) {
return this.lineBreaks.includes(character);
}
static isDigit(character) {
return /^\d$/.test(character);
}
static isLetter(character) {
return /^\p{L}$/u.test(character);
}
static isLetterOrDigit(character) {
return this.isLetter(character) || this.isDigit(character);
}
static isWhitespace(character) {
return /^\s$/.test(character);
}
static containsOnlyWhitespace(value) {
return value !== "" && /^\s+$/.test(value);
}
static format(template, ...args) {
return template.replace(/{(\d+)}/g, (match, index) => {
return typeof args[index] !== 'undefined' ? args[index] : match;
});
}
}