UNPKG

@widergy/web-utils

Version:
57 lines (56 loc) 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.capitalize = exports.capitalizeWord = exports.toCamel = exports.addSign = exports.stringToCompareWithoutAccentsInclusive = exports.removeAccents = exports.stringToCompareInclusive = exports.stringCompare = exports.multilineEllipsis = exports.concatMessages = exports.hasOneWord = exports.getUrlBase = void 0; const getUrlBase = (url) => url.substring(0, url.indexOf('?')); exports.getUrlBase = getUrlBase; const hasOneWord = (string) => typeof string === 'string' && string.indexOf(' ') === -1; exports.hasOneWord = hasOneWord; const concatMessages = (messages) => typeof messages === 'string' ? messages : messages.length > 1 ? messages.join('-') : messages[0]; exports.concatMessages = concatMessages; const multilineEllipsis = (string, maxString) => { const newString = string.slice(0, maxString); return string.length <= maxString ? string : `${newString.trim()}...`; }; exports.multilineEllipsis = multilineEllipsis; const stringCompare = (string, stringToCompare) => { return string.toUpperCase() === stringToCompare.toUpperCase(); }; exports.stringCompare = stringCompare; const stringToCompareInclusive = (string, stringCompare) => { return string.toUpperCase().includes(stringCompare.toUpperCase()); }; exports.stringToCompareInclusive = stringToCompareInclusive; const removeAccents = (string) => { return string.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); }; exports.removeAccents = removeAccents; const stringToCompareWithoutAccentsInclusive = (string, stringToCompare) => { return (0, exports.stringToCompareInclusive)((0, exports.removeAccents)(string), (0, exports.removeAccents)(stringToCompare)); }; exports.stringToCompareWithoutAccentsInclusive = stringToCompareWithoutAccentsInclusive; const addSign = (sign) => (value) => { if (!value) return value; return `${sign}${value}`; }; exports.addSign = addSign; const toCamel = (string) => string.replace(/([-_][a-z])/gi, ($1) => $1.toUpperCase().replace('-', '').replace('_', '')); exports.toCamel = toCamel; const capitalizeWord = (string) => `${string.charAt(0).toUpperCase()}${string.toLowerCase().slice(1)}`; exports.capitalizeWord = capitalizeWord; const capitalize = (string) => string === null || string === void 0 ? void 0 : string.split(' ').map(exports.capitalizeWord).join(' '); exports.capitalize = capitalize; const STRING_UTILS = { getUrlBase: exports.getUrlBase, hasOneWord: exports.hasOneWord, concatMessages: exports.concatMessages, multilineEllipsis: exports.multilineEllipsis, stringCompare: exports.stringCompare, stringToCompareInclusive: exports.stringToCompareInclusive, removeAccents: exports.removeAccents, stringToCompareWithoutAccentsInclusive: exports.stringToCompareWithoutAccentsInclusive, addSign: exports.addSign, toCamel: exports.toCamel, capitalize: exports.capitalize, }; exports.default = STRING_UTILS;