UNPKG

@reacture-io/iso-locale

Version:

Provide ISO standards for handling countries & languages. Fully written in typescript.

420 lines (416 loc) 5.95 kB
import { languages, isValidBCP47, getLanguageByCode, getDialectsByCode, getDialectByCode, dialects } from './chunk-OV5MZISJ.mjs'; import { __export } from './chunk-7P6ASYW6.mjs'; import { z } from 'zod'; // src/languages/index.ts var languages_exports = {}; __export(languages_exports, { dialect: () => dialect, dialects: () => dialects, getDialectByCode: () => getDialectByCode, getDialectsByCode: () => getDialectsByCode, getLanguageByCode: () => getLanguageByCode, isValidBCP47: () => isValidBCP47, isValidDialect: () => isValidDialect, isValidISO639_1: () => isValidISO639_1, isValidISO639_3: () => isValidISO639_3, isValidLanguage: () => isValidLanguage, isValidLanguageName: () => isValidLanguageName, iso639_1: () => iso639_1, iso639_3: () => iso639_3, language: () => language, languageName: () => languageName, languages: () => languages }); var iso639_1 = z.enum([ "aa", "ab", "ae", "af", "ak", "am", "an", "ar", "as", "av", "ay", "az", "ba", "be", "bg", "bh", "bi", "bm", "bn", "bo", "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cu", "cv", "cy", "da", "de", "dv", "dz", "ee", "el", "en", "eo", "es", "et", "eu", "fa", "ff", "fi", "fj", "fo", "fr", "fy", "ga", "gd", "gl", "gn", "gu", "gv", "ha", "he", "hi", "ho", "hr", "ht", "hu", "hy", "hz", "ia", "id", "ie", "ig", "ii", "ik", "io", "is", "it", "iu", "ja", "jv", "ka", "kg", "ki", "kj", "kk", "kl", "km", "kn", "ko", "kr", "ks", "ku", "kv", "kw", "ky", "la", "lb", "lg", "li", "ln", "lo", "lt", "lu", "lv", "mg", "mh", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "na", "nb", "nd", "ne", "ng", "nl", "nn", "no", "nr", "nv", "ny", "oc", "oj", "om", "or", "os", "pa", "pi", "pl", "ps", "pt", "qu", "rm", "rn", "ro", "ru", "rw", "sa", "sc", "sd", "se", "sg", "si", "sk", "sl", "sm", "sn", "so", "sq", "sr", "ss", "st", "su", "sv", "sw", "ta", "te", "tg", "th", "ti", "tk", "tl", "tn", "to", "tr", "ts", "tt", "tw", "ty", "ug", "uk", "ur", "uz", "ve", "vi", "vo", "wa", "wo", "xh", "yi", "yo", "za", "zh", "zu" ]); var isValidISO639_1 = (_iso639_1) => iso639_1.safeParse(_iso639_1).success; var iso639_3 = z.string().regex(/^[a-z]{3}$/); var isValidISO639_3 = (object) => iso639_3.safeParse(object).success; // src/languages/types/dialect.ts var dialect = z.object({ dialect: z.string(), native: z.string(), iso639_1: z.custom((value) => isValidISO639_1(value)).optional(), iso639_3: z.custom((value) => isValidISO639_3(value)).optional(), bcp47: z.custom(isValidBCP47) }); var isValidDialect = (object) => dialect.safeParse(object).success; var languageName = z.enum([ "Afar", "Abkhazian", "Avestan", "Afrikaans", "Akan", "Amharic", "Aragonese", "Arabic", "Assamese", "Avaric", "Aymara", "Azerbaijani", "Bashkir", "Belarusian", "Bulgarian", "Bihari languages", "Bislama", "Bambara", "Bengali", "Tibetan", "Breton", "Bosnian", "Catalan", "Chechen", "Chamorro", "Corsican", "Cree", "Czech", "Church Slavic", "Chuvash", "Welsh", "Danish", "German", "Divehi", "Dzongkha", "Ewe", "Greek", "English", "Esperanto", "Spanish", "Estonian", "Basque", "Persian", "Fulah", "Finnish", "Fijian", "Faroese", "French", "Western Frisian", "Irish", "Gaelic", "Galician", "Guarani", "Gujarati", "Manx", "Hausa", "Hebrew", "Hindi", "Hiri Motu", "Croatian", "Haitian", "Hungarian", "Armenian", "Herero", "Interlingua", "Indonesian", "Interlingue", "Igbo", "Sichuan Yi", "Inupiaq", "Ido", "Icelandic", "Italian", "Inuktitut", "Japanese", "Javanese", "Georgian", "Kongo", "Kikuyu", "Kuanyama", "Kazakh", "Kalaallisut", "Central Khmer", "Kannada", "Korean", "Kanuri", "Kashmiri", "Kurdish", "Komi", "Cornish", "Kirghiz", "Latin", "Luxembourgish", "Ganda", "Limburgan", "Lingala", "Lao", "Lithuanian", "Luba-Katanga", "Latvian", "Malagasy", "Marshallese", "Maori", "Macedonian", "Malayalam", "Mongolian", "Marathi", "Malay", "Maltese", "Burmese", "Nauru", "Norwegian Bokmal", "North Ndebele", "Nepali", "Ndonga", "Dutch", "Norwegian Nynorsk", "Norwegian", "South Ndebele", "Navajo", "Chichewa", "Occitan", "Ojibwa", "Oromo", "Oriya", "Ossetian", "Panjabi", "Pali", "Polish", "Pushto", "Portuguese", "Quechua", "Romansh", "Rundi", "Romanian", "Russian", "Kinyarwanda", "Sanskrit", "Sardinian", "Sindhi", "Northern Sami", "Sango", "Sinhala", "Slovak", "Slovenian", "Samoan", "Shona", "Somali", "Albanian", "Serbian", "Swati", "Southern Sotho", "Sundanese", "Swedish", "Swahili", "Tamil", "Telugu", "Tajik", "Thai", "Tigrinya", "Turkmen", "Tagalog", "Tswana", "Tonga", "Turkish", "Tsonga", "Tatar", "Twi", "Tahitian", "Uighur", "Ukrainian", "Urdu", "Uzbek", "Venda", "Vietnamese", "Volapuk", "Walloon", "Wolof", "Xhosa", "Yiddish", "Yoruba", "Zhuang", "Chinese", "Zulu" ]); var isValidLanguageName = (_languageName) => languageName.safeParse(_languageName).success; var language = z.object({ language: z.custom((value) => isValidLanguageName(value)), native: z.string(), iso639_1: z.custom((value) => isValidISO639_1(value)), iso639_3: z.custom((value) => isValidISO639_3(value)) }); var isValidLanguage = (object) => language.safeParse(object).success; export { dialect, isValidDialect, isValidISO639_1, isValidISO639_3, isValidLanguage, isValidLanguageName, iso639_1, iso639_3, language, languageName, languages_exports };