swc/crates/swc_bundler/tests/.cache/deno/cde3d856c31882977158cb69c3ef16a5b80fd976.ts
2021-11-09 20:42:49 +09:00

49 lines
868 B
TypeScript

// Loaded from https://deno.land/x/case@v2.1.0/upperCase.ts
import { LanguageSpecific } from "./types.ts";
const LANGUAGES: LanguageSpecific = {
tr: {
regexp: /[\u0069]/g,
map: {
i: "\u0130",
},
},
az: {
regexp: /[\u0069]/g,
map: {
i: "\u0130",
},
},
lt: {
regexp: /[\u0069\u006A\u012F]\u0307|\u0069\u0307[\u0300\u0301\u0303]/g,
map: {
: "\u0049",
: "\u004A",
į̇: "\u012E",
i̇̀: "\u00CC",
i̇́: "\u00CD",
i̇̃: "\u0128",
},
},
};
export default function (str: string, locale?: string): string {
str = str == null ? "" : String(str);
if (!locale) {
return str.toUpperCase();
}
const lang = LANGUAGES[locale];
if (lang) {
str = str.replace(lang.regexp, function (m) {
return lang.map[m];
});
}
return str.toUpperCase();
}