UNPKG

normalize-text

Version:

Provides a simple API to normalize texts, white-spaces, paragraphs & diacritics.

1 lines 8.63 kB
{"version":3,"file":"index.mjs","sources":["../src/capitalizeFirstLetter.js","../src/normalizeDiacritics.js","../src/normalizeWhiteSpaces.js","../src/normalizeName.js","../src/normalizeParagraph.js","../src/normalizeText.js"],"sourcesContent":["/**\n * Capitalize first character of received text.\n * @example\n * capitalizeFirstLetter('karl Marx');\n * //=> \"Karl Marx\"\n * @param {string} text - A `string` value.\n * @returns {string}\n */\nvar capitalizeFirstLetter = function (text) {\n return text.charAt(0).toLocaleUpperCase() + text.substring(1);\n};\nexport default capitalizeFirstLetter;\n//# sourceMappingURL=capitalizeFirstLetter.js.map","/**\n * If `String.prototype.normalize` is supported it normalizes diacritics by\n * replacing them with \"clean\" character from received text.\n * @example\n * normalizeDiacritics('Olá, você aí');\n * //=> 'Ola, voce ai'\n * @param {string} text - A `string` value.\n * @returns {string}\n */\nvar normalizeDiacritics = function (text) {\n return !!String.prototype.normalize\n ? text.normalize('NFKD').replace(/[\\u0300-\\u036F]/g, '')\n : text;\n};\nexport default normalizeDiacritics;\n//# sourceMappingURL=normalizeDiacritics.js.map","/**\n * Normalize all white-space characters and remove trailing ones received text.\n * @example\n * normalizeWhiteSpaces(' What exactly is it? ');\n * //=> \"What exactly is it?\"\n *\n * normalizeWhiteSpaces('Hi, how is \\r\\n everything \\t?');\n * //=> 'Hi, how is everything ?'\n *\n * normalizeWhiteSpaces`It is ${temperature}\\n degree\\r outside. `\n * //=> 'It is 25 degree outside.'\n * ```\n * @returns {string}\n * @param parts - A `string` or `tagged template` value\n * @param {unknown[]} values\n */\nexport var normalizeWhiteSpaces = function (parts) {\n var values = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n if (typeof parts === 'string')\n return parts.replace(/\\s+/g, ' ').trim();\n return parts\n .reduce(function (accumulator, part, index) {\n return accumulator + values[index - 1] + part;\n })\n .replace(/\\s+/g, ' ')\n .trim();\n};\nexport default normalizeWhiteSpaces;\n//# sourceMappingURL=normalizeWhiteSpaces.js.map","import normalizeWhiteSpaces from './normalizeWhiteSpaces';\nimport capitalizeFirstLetter from './capitalizeFirstLetter';\n/**\n * Split text into words.\n * @param {string} text - A `string` value.\n * @returns {string[]}\n */\nvar splitWords = function (text) {\n return normalizeWhiteSpaces(text.toLocaleLowerCase()).split(' ');\n};\n/**\n * Capitalize word if it isn't an exception.\n * @param {string[]} exceptions - A list of exceptions in lower-case.\n * @returns {(word: string) => string}\n */\nvar capitalizeWordExcept = function (exceptions) { return function (word) {\n return exceptions.indexOf(word) > -1 ? word : capitalizeFirstLetter(word);\n}; };\n/**\n * Normalize received name by normalizing it's white-spaces and capitalizing\n * first letter of every word but exceptions (received in lower-case).\n * @example\n * normalizeName(' fernanDA MONTENEGRO');\n * //=> \"Fernanda Montenegro\"\n *\n * normalizeName(' wilson da costa', ['da']);\n * //=> \"Wilson da Costa\"\n * @param {string} name - A `string` value.\n * @param {string[]} [exceptions] - A list of exceptions in lower-case.\n * @returns {string}\n */\nvar normalizeName = function (name, exceptions) {\n if (exceptions === void 0) { exceptions = []; }\n return splitWords(name).map(capitalizeWordExcept(exceptions)).join(' ');\n};\nexport default normalizeName;\n//# sourceMappingURL=normalizeName.js.map","import pipe from '@bitty/pipe';\nimport capitalizeFirstLetter from './capitalizeFirstLetter';\nimport normalizeWhiteSpaces from './normalizeWhiteSpaces';\n/**\n * Get the last character of received text.\n * @param {string} text - A `string` value.\n * @returns {string}\n */\nvar getLastChar = function (text) { return text.charAt(text.length - 1); };\n/**\n * Add a period at end of a text, if you don't already have one.\n * @param {string} text - A `string` value.\n */\nvar addPeriodAtEnd = function (text) {\n return getLastChar(text) === '.' ? text : text + '.';\n};\n/**\n * Normalize a paragraph by normalizing its white-spaces, capitalizing first\n * letter and putting a period at end.\n * @example\n * normalizeParagraph(' once upon a time');\n * //=> \"Once upon a time.\"\n * @param {string} value\n * @returns {string}\n */\nvar normalizeParagraph = /*#__PURE__*/ pipe(normalizeWhiteSpaces, addPeriodAtEnd, capitalizeFirstLetter);\nexport default normalizeParagraph;\n//# sourceMappingURL=normalizeParagraph.js.map","import pipe from '@bitty/pipe';\nimport normalizeDiacritics from './normalizeDiacritics';\nimport normalizeWhiteSpaces from './normalizeWhiteSpaces';\n/**\n * Resolve one or multiple texts into a single one.\n * @param {string | string[]} values - A `string` or an array of `string` values.\n * @returns {string}\n */\nvar resolveToText = function (values) {\n return Array.isArray(values) ? values.join(' ') : values;\n};\n/**\n * Transforms a text to lower case.\n * @param {string} text - A `string` value.\n * @returns {string}\n */\nvar transformToLowerCase = function (text) { return text.toLocaleLowerCase(); };\n/**\n * Resolve received texts (when receives an `Array`) by normalizing its\n * white-spaces and its diacritics and transforming to lower-case.\n * @example\n * normalizeText(' so there\\'s a Way to NORMALIZE ');\n * //=> \"so there\\'s a way to normalize\"\n *\n * normalizeText(['Olá\\r\\n', 'como está a senhorita?']);\n * //=> \"ola como esta a senhorita?\"\n * @param {string | string[]} values - A `string` or an array of `string` values.\n * @returns {string}\n */\nvar normalizeText = /*#__PURE__*/ pipe(resolveToText, normalizeDiacritics, normalizeWhiteSpaces, transformToLowerCase);\nexport default normalizeText;\n//# sourceMappingURL=normalizeText.js.map"],"names":[],"mappings":"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"}