@widergy/web-utils
Version:
Utility GO! Web utils
57 lines (56 loc) • 2.98 kB
JavaScript
;
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;