{"version":3,"file":"string-deburr.mjs","names":[],"sources":["../../../src/common/data/string-deburr.ts"],"sourcesContent":["// Via lodash, MIT, https://github.com/lodash/lodash/blob/4.17.15/lodash.js#L14181\n\n/**\n * The base implementation of `propertyOf` without support for deep paths.\n */\nfunction basePropertyOf(object: any): any {\n  return (key: any) => object == null ? undefined : object[key]\n}\n\n/** Used to map Latin Unicode letters to basic Latin letters. */\nconst deburredLetters = {\n  // Latin-1 Supplement block.\n  À: 'A',\n  Á: 'A',\n  Â: 'A',\n  Ã: 'A',\n  Ä: 'A',\n  Å: 'A',\n  à: 'a',\n  á: 'a',\n  â: 'a',\n  ã: 'a',\n  ä: 'a',\n  å: 'a',\n  Ç: 'C',\n  ç: 'c',\n  Ð: 'D',\n  ð: 'd',\n  È: 'E',\n  É: 'E',\n  Ê: 'E',\n  Ë: 'E',\n  è: 'e',\n  é: 'e',\n  ê: 'e',\n  ë: 'e',\n  Ì: 'I',\n  Í: 'I',\n  Î: 'I',\n  Ï: 'I',\n  ì: 'i',\n  í: 'i',\n  î: 'i',\n  ï: 'i',\n  Ñ: 'N',\n  ñ: 'n',\n  Ò: 'O',\n  Ó: 'O',\n  Ô: 'O',\n  Õ: 'O',\n  Ö: 'O',\n  Ø: 'O',\n  ò: 'o',\n  ó: 'o',\n  ô: 'o',\n  õ: 'o',\n  ö: 'o',\n  ø: 'o',\n  Ù: 'U',\n  Ú: 'U',\n  Û: 'U',\n  Ü: 'U',\n  ù: 'u',\n  ú: 'u',\n  û: 'u',\n  ü: 'u',\n  Ý: 'Y',\n  ý: 'y',\n  ÿ: 'y',\n  Æ: 'Ae',\n  æ: 'ae',\n  Þ: 'Th',\n  þ: 'th',\n  ß: 'ss',\n  // Latin Extended-A block.\n  Ā: 'A',\n  Ă: 'A',\n  Ą: 'A',\n  ā: 'a',\n  ă: 'a',\n  ą: 'a',\n  Ć: 'C',\n  Ĉ: 'C',\n  Ċ: 'C',\n  Č: 'C',\n  ć: 'c',\n  ĉ: 'c',\n  ċ: 'c',\n  č: 'c',\n  Ď: 'D',\n  Đ: 'D',\n  ď: 'd',\n  đ: 'd',\n  Ē: 'E',\n  Ĕ: 'E',\n  Ė: 'E',\n  Ę: 'E',\n  Ě: 'E',\n  ē: 'e',\n  ĕ: 'e',\n  ė: 'e',\n  ę: 'e',\n  ě: 'e',\n  Ĝ: 'G',\n  Ğ: 'G',\n  Ġ: 'G',\n  Ģ: 'G',\n  ĝ: 'g',\n  ğ: 'g',\n  ġ: 'g',\n  ģ: 'g',\n  Ĥ: 'H',\n  Ħ: 'H',\n  ĥ: 'h',\n  ħ: 'h',\n  Ĩ: 'I',\n  Ī: 'I',\n  Ĭ: 'I',\n  Į: 'I',\n  İ: 'I',\n  ĩ: 'i',\n  ī: 'i',\n  ĭ: 'i',\n  į: 'i',\n  ı: 'i',\n  Ĵ: 'J',\n  ĵ: 'j',\n  Ķ: 'K',\n  ķ: 'k',\n  ĸ: 'k',\n  Ĺ: 'L',\n  Ļ: 'L',\n  Ľ: 'L',\n  Ŀ: 'L',\n  Ł: 'L',\n  ĺ: 'l',\n  ļ: 'l',\n  ľ: 'l',\n  ŀ: 'l',\n  ł: 'l',\n  Ń: 'N',\n  Ņ: 'N',\n  Ň: 'N',\n  Ŋ: 'N',\n  ń: 'n',\n  ņ: 'n',\n  ň: 'n',\n  ŋ: 'n',\n  Ō: 'O',\n  Ŏ: 'O',\n  Ő: 'O',\n  ō: 'o',\n  ŏ: 'o',\n  ő: 'o',\n  Ŕ: 'R',\n  Ŗ: 'R',\n  Ř: 'R',\n  ŕ: 'r',\n  ŗ: 'r',\n  ř: 'r',\n  Ś: 'S',\n  Ŝ: 'S',\n  Ş: 'S',\n  Š: 'S',\n  ś: 's',\n  ŝ: 's',\n  ş: 's',\n  š: 's',\n  Ţ: 'T',\n  Ť: 'T',\n  Ŧ: 'T',\n  ţ: 't',\n  ť: 't',\n  ŧ: 't',\n  Ũ: 'U',\n  Ū: 'U',\n  Ŭ: 'U',\n  Ů: 'U',\n  Ű: 'U',\n  Ų: 'U',\n  ũ: 'u',\n  ū: 'u',\n  ŭ: 'u',\n  ů: 'u',\n  ű: 'u',\n  ų: 'u',\n  Ŵ: 'W',\n  ŵ: 'w',\n  Ŷ: 'Y',\n  ŷ: 'y',\n  Ÿ: 'Y',\n  Ź: 'Z',\n  Ż: 'Z',\n  Ž: 'Z',\n  ź: 'z',\n  ż: 'z',\n  ž: 'z',\n  Ĳ: 'IJ',\n  ĳ: 'ij',\n  Œ: 'Oe',\n  œ: 'oe',\n  ŉ: '\\'n',\n  ſ: 's',\n}\n\n/**\n * Used by `deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\nlet deburrLetter: any\n\n/** Used to match Latin Unicode letters (excluding mathematical operators). */\nconst reLatin = /[\\xD8-\\xF6\\u0100-\\u017F]/gi\n\n/**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n\nlet reComboMark: RegExp | undefined\n\n/**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @param {string} string The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * deburr('déjà vu')\n * // => 'deja vu'\n */\nexport function deburr(string: string): string {\n  if (reComboMark == null) {\n    /** Used to compose unicode character classes. */\n    const rsComboMarksRange = '\\\\u0300-\\\\u036f'\n    const reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f'\n    const rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff'\n    const rsComboMarksExtendedRange = '\\\\u1ab0-\\\\u1aff'\n    const rsComboMarksSupplementRange = '\\\\u1dc0-\\\\u1dff'\n    const rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange + rsComboMarksExtendedRange + rsComboMarksSupplementRange\n\n    /** Used to compose unicode capture groups. */\n    const rsCombo = `[${rsComboRange}]`\n    // eslint-disable-next-line no-misleading-character-class\n    reComboMark = RegExp(rsCombo, 'g')\n  }\n  if (deburrLetter == null)\n    deburrLetter = basePropertyOf(deburredLetters)\n  return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '')\n}\n"],"mappings":";;;;AAKA,SAAS,eAAe,QAAkB;AACxC,SAAQ,QAAa,UAAU,OAAO,SAAY,OAAO;;;AAI3D,MAAM,kBAAkB;CAEtB,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CAEH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACJ;;;;;;;;;AAUD,IAAI;;AAGJ,MAAM,UAAU;;;;;AAOhB,IAAI;;;;;;;;;;;;;;;AAgBJ,SAAgB,OAAO,QAAwB;AAC7C,KAAI,eAAe,KAYjB,eAAc,OAFE,iFAEc,IAAI;AAEpC,KAAI,gBAAgB,KAClB,gBAAe,eAAe,gBAAgB;AAChD,QAAO,UAAU,OAAO,QAAQ,SAAS,aAAa,CAAC,QAAQ,aAAa,GAAG"}