index.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.upperCase = exports.localeUpperCase = void 0;
  4. /**
  5. * Source: ftp://ftp.unicode.org/Public/UCD/latest/ucd/SpecialCasing.txt
  6. */
  7. var SUPPORTED_LOCALE = {
  8. tr: {
  9. regexp: /[\u0069]/g,
  10. map: {
  11. i: "\u0130",
  12. },
  13. },
  14. az: {
  15. regexp: /[\u0069]/g,
  16. map: {
  17. i: "\u0130",
  18. },
  19. },
  20. lt: {
  21. regexp: /[\u0069\u006A\u012F]\u0307|\u0069\u0307[\u0300\u0301\u0303]/g,
  22. map: {
  23. i̇: "\u0049",
  24. j̇: "\u004A",
  25. į̇: "\u012E",
  26. i̇̀: "\u00CC",
  27. i̇́: "\u00CD",
  28. i̇̃: "\u0128",
  29. },
  30. },
  31. };
  32. /**
  33. * Localized upper case.
  34. */
  35. function localeUpperCase(str, locale) {
  36. var lang = SUPPORTED_LOCALE[locale.toLowerCase()];
  37. if (lang)
  38. return upperCase(str.replace(lang.regexp, function (m) { return lang.map[m]; }));
  39. return upperCase(str);
  40. }
  41. exports.localeUpperCase = localeUpperCase;
  42. /**
  43. * Upper case as a function.
  44. */
  45. function upperCase(str) {
  46. return str.toUpperCase();
  47. }
  48. exports.upperCase = upperCase;
  49. //# sourceMappingURL=index.js.map