| 1 |
- {"version":3,"file":"badiDate-locales.min.m.js","sources":["../src/locale/en.ts","../src/locale/ar.ts","../src/badiLocale.ts","../src/locale/de.ts","../src/locale/es.ts","../src/locale/fa.ts","../src/locale/fr.ts","../src/locale/lv.ts","../src/locale/nl.ts","../src/locale/pt.ts","../src/locale/ru.ts","../src/locale/sv.ts","../src/locale/zh.ts","../src/locale/en-us.ts","../src/formatter.ts","../src/badiYears.ts","../src/badiDate.ts"],"sourcesContent":["const month = {\n 1: 'Bahá',\n 2: 'Jalál',\n 3: 'Jamál',\n 4: '‘Aẓamat',\n 5: 'Núr',\n 6: 'Raḥmat',\n 7: 'Kalimát',\n 8: 'Kamál',\n 9: 'Asmá’',\n 10: '‘Izzat',\n 11: 'Ma_sh_íyyat',\n 12: '‘Ilm',\n 13: 'Qudrat',\n 14: 'Qawl',\n 15: 'Masá’il',\n 16: '_Sh_araf',\n 17: 'Sulṭán',\n 18: 'Mulk',\n 19: '‘Alá’',\n 20: 'Ayyám-i-Há',\n};\n\nconst monthL = {\n 1: 'Splendour',\n 2: 'Glory',\n 3: 'Beauty',\n 4: 'Grandeur',\n 5: 'Light',\n 6: 'Mercy',\n 7: 'Words',\n 8: 'Perfection',\n 9: 'Names',\n 10: 'Might',\n 11: 'Will',\n 12: 'Knowledge',\n 13: 'Power',\n 14: 'Speech',\n 15: 'Questions',\n 16: 'Honour',\n 17: 'Sovereignty',\n 18: 'Dominion',\n 19: 'Loftiness',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'First day of Riḍván',\n 3: 'Ninth day of Riḍván',\n 4: 'Twelfth day of Riḍván',\n 5: 'Declaration of the Báb',\n 6: 'Ascension of Bahá’u’lláh',\n 7: 'Martyrdom of the Báb',\n 8: 'Birth of the Báb',\n 9: 'Birth of Bahá’u’lláh',\n 10: 'Day of the Covenant',\n 11: 'Ascension of ‘Abdu’l-Bahá',\n};\n\n// CAREFUL: Numbering corresponds to Badí' week, i.e. 1 is Jalál (-> Saturday)\nconst weekday = {\n 1: 'Jalál',\n 2: 'Jamál',\n 3: 'Kamál',\n 4: 'Fiḍál',\n 5: '‘Idál',\n 6: 'Istijlál',\n 7: 'Istiqlál',\n};\n\nconst weekdayAbbr3 = {\n 1: 'Jal',\n 2: 'Jam',\n 3: 'Kam',\n 4: 'Fiḍ',\n 5: '‘Idá',\n 6: 'Isj',\n 7: 'Isq',\n};\n\nconst weekdayAbbr2 = {\n 1: 'Jl',\n 2: 'Jm',\n 3: 'Ka',\n 4: 'Fi',\n 5: '‘Id',\n 6: 'Ij',\n 7: 'Iq',\n};\n\nconst weekdayL = {\n 1: 'Glory',\n 2: 'Beauty',\n 3: 'Perfection',\n 4: 'Grace',\n 5: 'Justice',\n 6: 'Majesty',\n 7: 'Independence',\n};\n\nconst yearInVahid = {\n 1: 'Alif',\n 2: 'Bá’',\n 3: 'Ab',\n 4: 'Dál',\n 5: 'Báb',\n 6: 'Váv',\n 7: 'Abad',\n 8: 'Jád',\n 9: 'Bahá',\n 10: 'Ḥubb',\n 11: 'Bahháj',\n 12: 'Javáb',\n 13: 'Aḥad',\n 14: 'Vahháb',\n 15: 'Vidád',\n 16: 'Badí‘',\n 17: 'Bahí',\n 18: 'Abhá',\n 19: 'Váḥid',\n};\n\nconst vahid = 'Váḥid';\nconst kulliShay = 'Kull-i-_Sh_ay’';\nconst BE = 'B.E.';\nconst badiCalendar = 'Badí‘ Calendar';\nconst unicodeCharForZero = '0';\nconst defaultFormat = 'd MM+ y BE';\n\nexport { month, monthL, holyDay, weekday, weekdayAbbr3, weekdayAbbr2, weekdayL, yearInVahid, vahid, kulliShay, BE,\n badiCalendar, unicodeCharForZero, defaultFormat };\n","const month = {\n 1: 'البهاء',\n 2: 'الجلال',\n 3: 'الجمال',\n 4: 'العظمة',\n 5: 'النور',\n 6: 'الرحمة',\n 7: 'الكلمات',\n 8: 'الكمال',\n 9: 'الأسماء',\n 10: 'العزّة',\n 11: 'المشية',\n 12: 'العلم',\n 13: 'القدرة',\n 14: 'القول',\n 15: 'المسائل',\n 16: 'الشرف',\n 17: 'السلطان',\n 18: 'الملك',\n 19: 'العلاء',\n 20: 'ايام الهاء',\n};\n\nconst monthL = month;\n\nconst holyDay = {\n 1: 'عيد النَّيروز',\n 2: 'اليوم الأول من عيد الرِّضوان',\n 3: 'اليوم التاسع من عيد الرِّضوان',\n 4: 'اليوم الثاني عشر من عيد الرِّضوان',\n 5: 'يوم إعلان دعوة حضرة الباب',\n 6: 'يوم صعود حضرة بهاء الله',\n 7: 'يوم استشهاد حضرة الباب',\n 8: 'يوم ولادة حضرة الباب',\n 9: 'يوم ولادة حضرة بهاء الله',\n 10: 'يوم الميثاق',\n 11: 'يوم صعود حضرة عبد البهاء',\n};\n\nconst weekday = {\n 1: 'الجلال',\n 2: 'الجمال',\n 3: 'الكمال',\n 4: 'الفضّال',\n 5: 'العدّال',\n 6: 'الأستجلال',\n 7: 'الاستقلال',\n};\n\nconst weekdayAbbr3 = {\n 1: 'جلا',\n 2: 'جما',\n 3: 'كما',\n 4: 'فضّا',\n 5: 'عدّا',\n 6: 'اسج',\n 7: 'اسق',\n};\n\nconst weekdayAbbr2 = {\n 1: 'جل',\n 2: 'جم',\n 3: 'كم',\n 4: 'فض',\n 5: 'عد',\n 6: 'اج',\n 7: 'اق',\n};\n\nconst weekdayL = {\n 1: 'الجلال',\n 2: 'الجمال',\n 3: 'الكمال',\n 4: 'الفضّال',\n 5: 'العدّال',\n 6: 'الأستجلال',\n 7: 'أستقلال',\n};\n\nconst yearInVahid = {\n 1: 'ألف',\n 2: 'باء',\n 3: 'أب',\n 4: 'دﺍﻝ',\n 5: 'باب',\n 6: 'وﺍو',\n 7: 'أبد',\n 8: 'جاد',\n 9: 'بهاء',\n 10: 'حب',\n 11: 'بهاج',\n 12: 'جواب',\n 13: 'احد',\n 14: 'وﻫﺎب',\n 15: 'وداد',\n 16: 'بدیع',\n 17: 'بهي',\n 18: 'ابهى',\n 19: 'واحد',\n};\n\nconst vahid = 'واحد';\nconst kulliShay = 'كل شيء';\nconst BE = 'بديع';\nconst badiCalendar = 'تقويم بديع';\nconst unicodeCharForZero = '٠';\nconst defaultFormat = '‏d MM y BE‏';\n\nexport { month, monthL, holyDay, weekday, weekdayAbbr3, weekdayAbbr2, weekdayL, yearInVahid, vahid, kulliShay, BE,\n badiCalendar, unicodeCharForZero, defaultFormat };\n","/* eslint-disable dot-notation, line-comment-position, camelcase, sort-imports */\nimport * as en from './locale/en';\nimport * as ar from './locale/ar';\nimport * as de from './locale/de';\nimport * as es from './locale/es';\nimport * as fa from './locale/fa';\nimport * as fr from './locale/fr';\nimport * as lv from './locale/lv';\nimport * as nl from './locale/nl';\nimport * as pt from './locale/pt';\nimport * as ru from './locale/ru';\nimport * as sv from './locale/sv';\nimport * as zh from './locale/zh';\nimport * as en_us from './locale/en-us';\nimport { UnderlineFormat } from './types';\n\nconst badiLocale = { en, ar, de, es, fa, fr, lv, nl, pt, ru, sv, zh, 'en-us': en_us, default: en };\n\nconst setDefaultLanguage = (language: string) => {\n if (badiLocale[language] === undefined) {\n // eslint-disable-next-line no-console\n console.log('Chosen language does not exist. Setting has not been changed.');\n } else {\n badiLocale['default'] = badiLocale[language];\n }\n};\n\nlet underlineFormat = 'css';\n\nconst setUnderlineFormat = (format: UnderlineFormat) => {\n if (['css', 'u', 'diacritic', 'none'].includes(format)) {\n underlineFormat = format;\n } else {\n // eslint-disable-next-line no-console\n console.log('Invalid underline format. Choose one of [\"css\", \"u\", \"diacritic\", \"none\"]. ' +\n 'Setting has not been changed.');\n }\n};\n\nexport { badiLocale, setDefaultLanguage, setUnderlineFormat, underlineFormat };\n","const monthL = {\n 1: 'Herrlichkeit',\n 2: 'Ruhm',\n 3: 'Schönheit',\n 4: 'Größe',\n 5: 'Licht',\n 6: 'Barmherzigkeit',\n 7: 'Worte',\n 8: 'Vollkommenheit',\n 9: 'Namen',\n 10: 'Macht',\n 11: 'Wille',\n 12: 'Wissen',\n 13: 'Kraft',\n 14: 'Sprache',\n 15: 'Fragen',\n 16: 'Ehre',\n 17: 'Souveränität',\n 18: 'Herrschaft',\n 19: 'Erhabenheit',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Erster Riḍván-Tag',\n 3: 'Neunter Riḍván-Tag',\n 4: 'Zwölfter Riḍván-Tag',\n 5: 'Erklärung des Báb',\n 6: 'Hinscheiden Bahá’u’lláhs',\n 7: 'Märtyrertod des Báb',\n 8: 'Geburt des Báb',\n 9: 'Geburt Bahá’u’lláhs',\n 10: 'Tag des Bundes',\n 11: 'Hinscheiden ‘Abdu’l-Bahás',\n};\n\nconst weekdayL = {\n 1: 'Ruhm',\n 2: 'Schönheit',\n 3: 'Vollkommenheit',\n 4: 'Gnade',\n 5: 'Gerechtigkeit',\n 6: 'Majestät',\n 7: 'Unabhängigkeit',\n};\n\nconst BE = 'B.E.';\nconst badiCalendar = 'Badí‘ Kalender';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const monthL = {\n 1: 'Esplendor',\n 2: 'Gloria',\n 3: 'Belleza',\n 4: 'Grandeza',\n 5: 'Luz',\n 6: 'Misericordia',\n 7: 'Palabras',\n 8: 'Perfección',\n 9: 'Nombres',\n 10: 'Fuerza',\n 11: 'Voluntad',\n 12: 'Conocimiento',\n 13: 'Poder',\n 14: 'Discurso',\n 15: 'Preguntas',\n 16: 'Honor',\n 17: 'Soberanía',\n 18: 'Dominio',\n 19: 'Sublimidad',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Primer día de Riḍván',\n 3: 'Noveno día de Riḍván',\n 4: 'Duodécimo día de Riḍván',\n 5: 'Declaración del Báb',\n 6: 'Ascensión de Bahá’u’lláh',\n 7: 'Martirio del Báb',\n 8: 'Nacimiento del Báb',\n 9: 'Nacimiento de Bahá’u’lláh',\n 10: 'Día de la Alianza',\n 11: 'Fallecimiento de ‘Abdu’l-Bahá',\n};\n\nconst weekdayL = {\n 1: 'Gloria',\n 2: 'Belleza',\n 3: 'Perfección',\n 4: 'Gracia',\n 5: 'Justicia',\n 6: 'Majestuosidad',\n 7: 'Independencia',\n};\n\nconst BE = 'E.B.';\nconst badiCalendar = 'Calendario Badí‘';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const month = {\n 1: 'البهاء',\n 2: 'الجلال',\n 3: 'الجمال',\n 4: 'العظمة',\n 5: 'النور',\n 6: 'الرحمة',\n 7: 'الكلمات',\n 8: 'الكمال',\n 9: 'الأسماء',\n 10: 'العزّة',\n 11: 'المشية',\n 12: 'العلم',\n 13: 'القدرة',\n 14: 'القول',\n 15: 'المسائل',\n 16: 'الشرف',\n 17: 'السلطان',\n 18: 'الملك',\n 19: 'العلاء',\n 20: 'ايام الهاء',\n};\n\nconst monthL = {\n 1: 'بهاء',\n 2: 'جلال',\n 3: 'جمال',\n 4: 'عظمت',\n 5: 'نور',\n 6: 'رحمت',\n 7: 'كلمات',\n 8: 'كمال',\n 9: 'أسماء',\n 10: 'عزّت',\n 11: 'مشيت',\n 12: 'علم',\n 13: 'قدرت',\n 14: 'قول',\n 15: 'مسائل',\n 16: 'شرف',\n 17: 'سلطان',\n 18: 'ملك',\n 19: 'علاء',\n 20: 'ايام ها',\n};\n\nconst holyDay = {\n 1: 'عید نوروز',\n 2: 'روز اوّل عید رضوان',\n 3: 'روز نهم عید رضوان',\n 4: 'روز دوازدهم عید رضوان',\n 5: 'بعثت حضرت باب',\n 6: 'صعود حضرت بهاالله',\n 7: 'شهادت حضرت اعلی',\n 8: 'تولّد حضرت اعلی',\n 9: 'تولّد حضرت بهالله',\n 10: 'روز عهد و میثاق',\n 11: 'صعود حضرت عبدالبها',\n};\n\nconst weekday = {\n 1: 'یوم الجلال',\n 2: 'یوم الجمال',\n 3: 'یوم الكمال',\n 4: 'یوم الفضّال',\n 5: 'یوم العدّال',\n 6: 'یوم الأستجلال',\n 7: 'یوم الاستقلال',\n};\n\nconst weekdayAbbr3 = {\n 1: 'جلا',\n 2: 'جما',\n 3: 'كما',\n 4: 'فضّا',\n 5: 'عدّا',\n 6: 'اسج',\n 7: 'اسق',\n};\n\nconst weekdayAbbr2 = {\n 1: 'جل',\n 2: 'جم',\n 3: 'كم',\n 4: 'فض',\n 5: 'عد',\n 6: 'اج',\n 7: 'اق',\n};\n\nconst weekdayL = {\n 1: 'جلال',\n 2: 'جمال',\n 3: 'كمال',\n 4: 'فضّال',\n 5: 'عدّال',\n 6: 'استجلال',\n 7: 'استقلال',\n};\n\nconst yearInVahid = {\n 1: 'ألف',\n 2: 'باء',\n 3: 'أب',\n 4: 'دﺍﻝ',\n 5: 'باب',\n 6: 'وﺍو',\n 7: 'أبد',\n 8: 'جاد',\n 9: 'بهاء',\n 10: 'حب',\n 11: 'بهاج',\n 12: 'جواب',\n 13: 'احد',\n 14: 'وﻫﺎب',\n 15: 'وداد',\n 16: 'بدیع',\n 17: 'بهي',\n 18: 'ابهى',\n 19: 'واحد',\n};\n\nconst vahid = 'واحد';\nconst kulliShay = 'كل شيء';\nconst BE = 'بديع';\nconst badiCalendar = 'تقويم بديع';\nconst unicodeCharForZero = '۰';\nconst defaultFormat = '‏d MML y BE‏';\n\nexport { month, monthL, holyDay, weekday, weekdayAbbr3, weekdayAbbr2, weekdayL, yearInVahid, vahid, kulliShay, BE,\n badiCalendar, unicodeCharForZero, defaultFormat };\n","const monthL = {\n 1: 'Splendeur',\n 2: 'Gloire',\n 3: 'Beauté',\n 4: 'Grandeur',\n 5: 'Lumière',\n 6: 'Miséricorde',\n 7: 'Paroles',\n 8: 'Perfection',\n 9: 'Noms',\n 10: 'Puissance',\n 11: 'Volonté',\n 12: 'Connaissance',\n 13: 'Pouvoir',\n 14: 'Discours',\n 15: 'Questions',\n 16: 'Honneur',\n 17: 'Souveraineté',\n 18: 'Empire',\n 19: 'Élévation',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Premier jour de Riḍván',\n 3: 'Neuvième jour de Riḍván',\n 4: 'Douzième jour de Riḍván',\n 5: 'Déclaration du Báb',\n 6: 'Ascension de Bahá’u’lláh',\n 7: 'Martyre du Báb',\n 8: 'Naissance du Báb',\n 9: 'Naissance de Bahá’u’lláh',\n 10: 'Jour de l’Alliance',\n 11: 'Ascension de ‘Abdu’l-Bahá',\n};\n\nconst weekdayL = {\n 1: 'Gloire',\n 2: 'Beauté',\n 3: 'Perfection',\n 4: 'Grâce',\n 5: 'Justice',\n 6: 'Majesté',\n 7: 'Indépendance',\n};\n\nconst BE = 'E.B.';\nconst badiCalendar = 'Calendrier Badí‘';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const monthL = {\n 1: 'Spožums',\n 2: 'Slava',\n 3: 'Skaistums',\n 4: 'Dižums',\n 5: 'Gaisma',\n 6: 'Žēlastība',\n 7: 'Vārdi',\n 8: 'Pilnība',\n 9: 'Nosaukumi',\n 10: 'Varenība',\n 11: 'Griba',\n 12: 'Zināšanas',\n 13: 'Vara',\n 14: 'Runa',\n 15: 'Jautājumi',\n 16: 'Gods',\n 17: 'Suverenitāte',\n 18: 'Valdīšana',\n 19: 'Cēlums',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Riḍván pirmā diena',\n 3: 'Riḍván devītā diena',\n 4: 'Riḍván divpadsmitā diena',\n 5: 'Bába paziņojums',\n 6: 'Bahá’u’lláh Debessbraukšana',\n 7: 'Bába mocekļa nāve',\n 8: 'Bába dzimšanas diena',\n 9: 'Bahá’u’lláh dzimšanas diena',\n 10: 'Derības diena',\n 11: '‘Abdu’l-Bahá Debessbraukšana',\n};\n\nconst weekdayL = {\n 1: 'Slava',\n 2: 'Skaistums',\n 3: 'Pilnība',\n 4: 'Žēlastība',\n 5: 'Taisnīgums',\n 6: 'Majestātiskums',\n 7: 'Neatkarība',\n};\n\nconst BE = 'B.Ē.';\nconst badiCalendar = 'Badí‘ kalendārs';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const monthL = {\n 1: 'Pracht',\n 2: 'Heerlijkheid',\n 3: 'Schoonheid',\n 4: 'Grootheid',\n 5: 'Licht',\n 6: 'Barmhartigheid',\n 7: 'Woorden',\n 8: 'Volmaaktheid',\n 9: 'Namen',\n 10: 'Macht',\n 11: 'Wil',\n 12: 'Kennis',\n 13: 'Kracht',\n 14: 'Spraak',\n 15: 'Vragen',\n 16: 'Eer',\n 17: 'Soevereiniteit',\n 18: 'Heerschappij',\n 19: 'Verhevenheid',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Eerste dag van Riḍván',\n 3: 'Negende dag van Riḍván',\n 4: 'Twaalfde dag van Riḍván',\n 5: 'Verkondiging van de Báb',\n 6: 'Heengaan van Bahá’u’lláh',\n 7: 'Marteldood van de Báb',\n 8: 'Geboortedag van de Báb',\n 9: 'Geboortedag van Bahá’u’lláh',\n 10: 'Dag van het Verbond',\n 11: 'Heengaan van ‘Abdu’l-Bahá',\n};\n\nconst weekdayL = {\n 1: 'Heerlijkheid',\n 2: 'Schoonheid',\n 3: 'Volmaaktheid',\n 4: 'Genade',\n 5: 'Gerechtigheid',\n 6: 'Majesteit',\n 7: 'Onafhankelijkheid',\n};\n\nconst BE = 'B.E.';\nconst badiCalendar = 'Badí‘-Kalender';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const monthL = {\n 1: 'Esplendor',\n 2: 'Glória',\n 3: 'Beleza',\n 4: 'Grandeza',\n 5: 'Luz',\n 6: 'Miséricórdia',\n 7: 'Palavras',\n 8: 'Perfeição',\n 9: 'Nomes',\n 10: 'Potência',\n 11: 'Vontade',\n 12: 'Conhecimento',\n 13: 'Poder',\n 14: 'Discurso',\n 15: 'Perguntas',\n 16: 'Honra',\n 17: 'Soberania',\n 18: 'Domínio',\n 19: 'Sublimidade',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: '1º dia do Riḍván',\n 3: '9º dia do Riḍván',\n 4: '12º dia do Riḍván',\n 5: 'Declaração do Báb',\n 6: 'Ascensão de Bahá’u’lláh',\n 7: 'Martírio do Báb',\n 8: 'Aniversário do Báb',\n 9: 'Aniversário de Bahá’u’lláh',\n 10: 'Dia do Convênio',\n 11: 'Ascensão de ‘Abdu’l-Bahá',\n};\n\nconst weekdayL = {\n 1: 'Glória',\n 2: 'Beleza',\n 3: 'Perfeição',\n 4: 'Graça',\n 5: 'Justiça',\n 6: 'Majestade',\n 7: 'Independência',\n};\n\nconst BE = 'E.B.';\nconst badiCalendar = 'Calendário Badí‘';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const month = {\n 1: 'Бахā',\n 2: 'Джалāл',\n 3: 'Джамāл',\n 4: '‘Аз̣амат',\n 5: 'Нӯр',\n 6: 'Рах̣мат',\n 7: 'Калимāт',\n 8: 'Камāл',\n 9: 'Асмā’',\n 10: '‘Иззат',\n 11: 'Машӣййат',\n 12: '‘Илм',\n 13: 'К̣удрат',\n 14: 'К̣аул',\n 15: 'Масā’ил',\n 16: 'Шараф',\n 17: 'Султ̣ан',\n 18: 'Мулк',\n 19: '‘Алā’',\n 20: 'Аййāм-и Хā',\n};\n\nconst monthL = {\n 1: 'Великолепие',\n 2: 'Слава',\n 3: 'Красота',\n 4: 'Величие',\n 5: 'Свет',\n 6: 'Милость',\n 7: 'Слова',\n 8: 'Совершенство',\n 9: 'Имена',\n 10: 'Мощь',\n 11: 'Воля',\n 12: 'Знание',\n 13: 'Могущество',\n 14: 'Речь',\n 15: 'Вопросы',\n 16: 'Честь',\n 17: 'Владычество',\n 18: 'Господство',\n 19: 'Возвышенность',\n 20: 'Аййāм-и Хā',\n};\n\nconst holyDay = {\n 1: 'Нау-Рӯз',\n 2: '1-й день Рид̣вāна',\n 3: '9-й день Рид̣вāна',\n 4: '12-й день Рид̣вāна',\n 5: 'Возвещение Баба',\n 6: 'Вознесение Бахауллы',\n 7: 'Мученическая Баба',\n 8: 'рождения Баба',\n 9: 'рождения Бахауллы',\n 10: 'День Завета',\n 11: 'Вознесение Абдул-Баха',\n};\n\nconst weekday = {\n 1: 'Джалāл',\n 2: 'Джамāл',\n 3: 'Камāл',\n 4: 'Фид̣āл',\n 5: '‘Идāл',\n 6: 'Истиджлāл',\n 7: 'Истик̣лāл',\n};\n\nconst weekdayAbbr3 = {\n 1: 'Джл',\n 2: 'Джм',\n 3: 'Кам',\n 4: 'Фид̣',\n 5: '‘Идā',\n 6: 'Исд',\n 7: 'Иск̣',\n};\n\nconst weekdayAbbr2 = {\n 1: 'Дл',\n 2: 'Дм',\n 3: 'Ка',\n 4: 'Фи',\n 5: '‘Ид',\n 6: 'Ид',\n 7: 'Ик̣',\n};\n\nconst weekdayL = {\n 1: 'Слава',\n 2: 'Красота',\n 3: 'Совершенство',\n 4: 'Благодать',\n 5: 'Справедливость',\n 6: 'Величие',\n 7: 'Независимость',\n};\n\nconst yearInVahid = {\n 1: 'Алиф',\n 2: 'Бā’',\n 3: 'Аб',\n 4: 'Дāл',\n 5: 'Бāб',\n 6: 'Вāв',\n 7: 'Абад',\n 8: 'Джāд',\n 9: 'Бахā',\n 10: 'Х̣убб',\n 11: 'Баххāдж',\n 12: 'Джавāб',\n 13: 'Ах̣ад',\n 14: 'Ваххāб',\n 15: 'Видāд',\n 16: 'Бадӣ‘',\n 17: 'Бахӣ',\n 18: 'Абхā',\n 19: 'Вāх̣ид',\n};\n\nconst vahid = 'Вāх̣ид';\nconst kulliShay = 'кулл-и шай’';\nconst BE = 'Э.Б.';\nconst badiCalendar = 'Календарь Бадӣ‘';\n\nexport { month, monthL, holyDay, weekday, weekdayAbbr3, weekdayAbbr2, weekdayL, yearInVahid, vahid, kulliShay, BE,\n badiCalendar };\n","const monthL = {\n 1: 'Praktfullhet',\n 2: 'Härlighet',\n 3: 'Skönhet',\n 4: 'Storhet',\n 5: 'Ljus',\n 6: 'Barmhärtighet',\n 7: 'Ord',\n 8: 'Fullkomlighet',\n 9: 'Namn',\n 10: 'Makt',\n 11: 'Vilja',\n 12: 'Kunskap',\n 13: 'Kraft',\n 14: 'Tal',\n 15: 'Frågor',\n 16: 'Ära',\n 17: 'Överhöghet',\n 18: 'Herravälde',\n 19: 'Upphöjdhet',\n 20: 'Ayyám-i-Há',\n};\n\nconst holyDay = {\n 1: 'Naw-Rúz',\n 2: 'Första Riḍván',\n 3: 'Nionde Riḍván',\n 4: 'Tolfte Riḍván',\n 5: 'Bábs Deklaration',\n 6: 'Bahá’u’lláhs Bortgång',\n 7: 'Bábs Martyrskap',\n 8: 'Bábs Födelse',\n 9: 'Bahá’u’lláhs Födelse',\n 10: 'Förbundets dag',\n 11: '‘Abdu’l-Bahás Bortgång',\n};\n\nconst weekdayL = {\n 1: 'Härlighet',\n 2: 'Skönhet',\n 3: 'Fullkomlighet',\n 4: 'Nåd',\n 5: 'Rättvisa',\n 6: 'Majestät',\n 7: 'Oberoende',\n};\n\nconst BE = 'B.E.';\nconst badiCalendar = 'Badí‘kalendern';\n\nexport { monthL, holyDay, weekdayL, BE, badiCalendar };\n","const month = {\n 1: '巴哈',\n 2: '贾拉勒',\n 3: '贾迈勒',\n 4: '阿泽迈特',\n 5: '努尔',\n 6: '拉赫迈特',\n 7: '凯利马特',\n 8: '卡迈勒',\n 9: '艾斯玛',\n 10: '伊扎特',\n 11: '迈希耶特',\n 12: '伊勒姆',\n 13: '古德雷特',\n 14: '高勒',\n 15: '迈萨伊勒',\n 16: '谢拉夫',\n 17: '苏丹',\n 18: '穆勒克',\n 19: '阿拉',\n 20: '阿亚米哈',\n};\n\nconst monthL = {\n 1: '耀',\n 2: '辉',\n 3: '美',\n 4: '宏',\n 5: '光',\n 6: '仁',\n 7: '言',\n 8: '完',\n 9: '名',\n 10: '能',\n 11: '意',\n 12: '知',\n 13: '力',\n 14: '语',\n 15: '问',\n 16: '尊',\n 17: '权',\n 18: '统',\n 19: '崇',\n 20: '哈之日',\n};\n\nconst holyDay = {\n 1: '诺鲁孜节',\n 2: '里兹万节第一日',\n 3: '里兹万节第九日',\n 4: '里兹万节第十二日',\n 5: '巴孛宣示日',\n 6: '巴哈欧拉升天日',\n 7: '巴孛殉道日',\n 8: '巴孛诞辰',\n 9: '巴哈欧拉诞辰',\n 10: '圣约日',\n 11: '阿博都-巴哈升天日',\n};\n\nconst weekday = {\n 1: '贾拉勒',\n 2: '贾迈勒',\n 3: '卡迈勒',\n 4: '菲达勒',\n 5: '伊达勒',\n 6: '伊斯提杰拉勒',\n 7: '伊斯提格拉勒',\n};\n\nconst weekdayAbbr3 = {\n 1: '贾拉勒',\n 2: '贾迈勒',\n 3: '卡迈勒',\n 4: '菲达勒',\n 5: '伊达勒',\n 6: '伊斯杰',\n 7: '伊斯格',\n};\n\nconst weekdayAbbr2 = {\n 1: '贾拉',\n 2: '贾迈',\n 3: '卡迈',\n 4: '菲达',\n 5: '伊达',\n 6: '伊杰',\n 7: '伊格',\n};\n\nconst weekdayL = {\n 1: '辉日',\n 2: '美日',\n 3: '完日',\n 4: '恩日',\n 5: '正日',\n 6: '威日',\n 7: '独日',\n};\n\nconst yearInVahid = {\n 1: '艾利夫',\n 2: '巴',\n 3: '艾卜',\n 4: '达勒',\n 5: '巴卜',\n 6: '瓦乌',\n 7: '阿巴德',\n 8: '贾德',\n 9: '巴哈',\n 10: '胡卜',\n 11: '巴哈杰',\n 12: '贾瓦卜',\n 13: '阿哈德',\n 14: '瓦哈卜',\n 15: '维达德',\n 16: '巴迪',\n 17: '巴希',\n 18: '阿卜哈',\n 19: '瓦希德',\n};\n\nconst vahid = '瓦希德';\nconst kulliShay = '库里沙伊';\nconst BE = 'BE';\nconst badiCalendar = '巴迪历';\n\nexport { month, monthL, holyDay, weekday, weekdayAbbr3, weekdayAbbr2, weekdayL, yearInVahid, vahid, kulliShay, BE,\n badiCalendar };\n","const monthL = {\n 1: 'Splendor',\n 16: 'Honor',\n};\n\nexport { monthL };\n","import { badiLocale, underlineFormat } from './badiLocale';\nimport { BadiDate } from './badiDate';\n\nconst formatTokens: Array<Array<string>> = [\n ['DDL', 'DD+', 'MML', 'MM+', 'WWL', 'yyv', 'KiS'],\n ['dd', 'DD', 'mm', 'MM', 'ww', 'WW', 'yv', 'YV', 'vv', 'kk', 'yy', 'BE', 'BC', 'Va'],\n ['d', 'D', 'm', 'M', 'W', 'v', 'k', 'y']];\n\n// eslint-disable-next-line complexity\nconst formatBadiDate = (badiDate: BadiDate, formatString?: string, language?: string): string => {\n if (!badiDate.isValid) {\n return 'Not a valid Badí‘ date';\n }\n if (typeof language === 'string' && badiLocale[language] === undefined && language.includes('-')) {\n language = language.split('-')[0];\n }\n if (language === undefined || badiLocale[language] === undefined) {\n language = 'default';\n }\n formatString = formatString ?? formatItemFallback(language, 'defaultFormat');\n let formattedDate = '';\n const length = formatString.length;\n for (let i = 0; i < length; i++) {\n // Text wrapped in {} is output as-is. A '{' without a matching '}'\n // results in invalid input\n if (formatString[i] === '{' && i < length - 1) {\n for (let j = i + 1; j <= length; j++) {\n if (j === length) {\n return 'Invalid formatting string.';\n }\n if (formatString[j] === '}') {\n i = j;\n break;\n }\n formattedDate += formatString[j];\n }\n } else {\n const next1 = formatString[i];\n const next2 = next1 + formatString[i + 1];\n const next3 = next2 + formatString[i + 2];\n if (formatTokens[0].includes(next3)) {\n formattedDate += getFormatItem(badiDate, next3, language);\n i += 2;\n } else if (formatTokens[1].includes(next2)) {\n formattedDate += getFormatItem(badiDate, next2, language);\n i += 1;\n } else if (formatTokens[2].includes(next1)) {\n formattedDate += getFormatItem(badiDate, next1, language);\n } else {\n formattedDate += next1;\n }\n }\n }\n return formattedDate;\n};\n\n// eslint-disable-next-line complexity\nconst getFormatItem = (badiDate: BadiDate, token: string, language: string): string => {\n switch (token) {\n // Single character tokens\n case 'd':\n return digitRewrite(badiDate.day, language);\n case 'D':\n return postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.day), 3);\n case 'm':\n return digitRewrite(badiDate.month, language);\n case 'M':\n return postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.month), 3);\n case 'W':\n return formatItemFallback(language, 'weekdayAbbr3', (badiDate.gregorianDate.weekday + 1) % 7 + 1);\n case 'y':\n return digitRewrite(badiDate.year, language);\n case 'v':\n return digitRewrite((Math.floor((badiDate.year - 1) / 19) % 19) + 1, language);\n case 'k':\n return digitRewrite(Math.floor((badiDate.year - 1) / 361) + 1, language);\n // Two character tokens\n case 'dd':\n return digitRewrite((`0${String(badiDate.day)}`).slice(-2), language);\n case 'DD':\n return postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.day));\n case 'mm':\n return digitRewrite((`0${String(badiDate.month)}`).slice(-2), language);\n case 'MM':\n return postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.month));\n case 'ww':\n return formatItemFallback(language, 'weekdayAbbr2', (badiDate.gregorianDate.weekday + 1) % 7 + 1);\n case 'WW':\n return formatItemFallback(language, 'weekday', (badiDate.gregorianDate.weekday + 1) % 7 + 1);\n case 'yy':\n return digitRewrite((`00${String(badiDate.year)}`).slice(-3), language);\n case 'yv':\n return digitRewrite((badiDate.year - 1) % 19 + 1, language);\n case 'YV':\n return formatItemFallback(language, 'yearInVahid', (badiDate.year - 1) % 19 + 1);\n case 'vv':\n return digitRewrite(\n (`0${String((Math.floor((badiDate.year - 1) / 19) + 2) % 19 - 1)}`).slice(-2), language);\n case 'kk':\n return digitRewrite((`0${String(Math.floor((badiDate.year - 1) / 361) + 1)}`).slice(-2), language);\n case 'Va':\n return formatItemFallback(language, 'vahid');\n case 'BE':\n return formatItemFallback(language, 'BE');\n case 'BC':\n return formatItemFallback(language, 'badiCalendar');\n // Three character tokens\n case 'DDL':\n return formatItemFallback(language, 'monthL', badiDate.day);\n case 'DD+': {\n const day = postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.day));\n const dayL = formatItemFallback(language, 'monthL', badiDate.day);\n if (day === dayL) {\n return day;\n }\n if (badiLocale[language] === badiLocale.fa) {\n return `<span dir=\"rtl\">${day} (${dayL})</span>`;\n }\n return `${day} (${dayL})`;\n }\n case 'MML':\n return formatItemFallback(language, 'monthL', badiDate.month);\n case 'MM+': {\n const month = postProcessLocaleItem(formatItemFallback(language, 'month', badiDate.month));\n const monthL = formatItemFallback(language, 'monthL', badiDate.month);\n if (month === monthL) {\n return month;\n }\n if (badiLocale[language] === badiLocale.fa) {\n return `<span dir=\"rtl\">${month} (${monthL})</span>`;\n }\n return `${month} (${monthL})`;\n }\n case 'WWL':\n return formatItemFallback(language, 'weekdayL', (badiDate.gregorianDate.weekday + 1) % 7 + 1);\n case 'yyv':\n return digitRewrite((`0${String((badiDate.year - 1) % 19 + 1)}`).slice(-2), language);\n case 'KiS':\n return postProcessLocaleItem(formatItemFallback(language, 'kulliShay'));\n // istanbul ignore next\n default:\n return '';\n }\n};\n\nconst postProcessLocaleItem = (item: string, crop?: number): string => {\n if (crop && crop < item.length) {\n let char = 0;\n let counter = 0;\n while (counter < crop) {\n if (!'_’‘'.includes(item[char])) {\n counter++;\n }\n char++;\n }\n if ('_’‘'.includes(item[char])) {\n char++;\n }\n item = item.slice(0, char);\n if (item.split('_').length % 2 === 0) {\n item += '_';\n }\n }\n const stringComponents = item.split('_');\n for (let i = 1; i < stringComponents.length; i += 2) {\n stringComponents[i] = underlineString(stringComponents[i]);\n }\n return stringComponents.join('');\n};\n\nconst underlineString = (str: string): string => {\n switch (underlineFormat) {\n case 'css':\n return `<span style=\"text-decoration:underline\">${str}</span>`;\n case 'diacritic':\n return str.split('').map(char => `${char}\\u0332`).join('');\n case 'u':\n return `<u>${str}</u>`;\n case 'none':\n return str;\n // istanbul ignore next\n default:\n throw new TypeError('Unexpected underlineFormat');\n }\n};\n\nconst digitRewrite = (number: number | string, language: string): string => {\n number = String(number);\n const unicodeOffset = formatItemFallback(language, 'unicodeCharForZero').charCodeAt(0) - '0'.charCodeAt(0);\n if (unicodeOffset === 0) {\n return number;\n }\n const codePoints = [...number].map(num => num.charCodeAt(0) + unicodeOffset);\n return String.fromCharCode(...codePoints);\n};\n\nconst formatItemFallback = (language: string, category: string, index?: number): string => {\n if (index === undefined) {\n while (badiLocale[language][category] === undefined) {\n language = languageFallback(language);\n }\n return badiLocale[language][category];\n }\n while (badiLocale[language][category]?.[index] === undefined) {\n language = languageFallback(language);\n }\n return badiLocale[language][category][index];\n};\n\nconst languageFallback = (languageCode: string): string => {\n if (languageCode.includes('-')) {\n return languageCode.split('-')[0];\n // eslint-disable-next-line no-negated-condition\n } else if (languageCode !== 'default') {\n return 'default';\n }\n return 'en';\n};\n\nexport { formatBadiDate, formatItemFallback };\n","const badiYears = [\n 'l4da', 'k4ci', 'k5c7', 'l4d6', 'l4ce', 'k4c4', 'k5d4', 'l4cb', 'l4c1', 'k4cj', 'k5c8', 'l4d7', 'l4cf', 'k4c5',\n 'k4d5', 'k5ce', 'l4c2', 'k4d2', 'k4ca', 'k5da', 'l4ch', 'k4c6', 'k4d6', 'k5cf', 'l4c4', 'k4d4', 'k4cc', 'k5c1',\n 'l4cj', 'k4c8', 'k4d8', 'k5cg', 'l4c5', 'k4d5', 'k4ce', 'k5c3', 'l4d2', 'k4ca', 'k4d9', 'k5ci', 'l4c6', 'k4d6',\n 'k4cf', 'k4c4', 'k5d4', 'k4cb', 'k4bj', 'k4cj', 'k5c9', 'k4d8', 'k4cg', 'k4c6', 'k5d6', 'k4cd', 'k4c2', 'k4d2',\n 'k5ca', 'k4d9', 'k4ci', 'k4c7', 'k5d7', 'k4cf', 'k4c4', 'k4d4', 'k5cc', 'k4bj', 'k4cj', 'k4c9', 'k5d9', 'k4cg',\n 'k4c6', 'k4d5', 'k5cd', 'k4c2', 'k4d1', 'k4ca', 'k4da', 'j5cj', 'k4c7', 'k4d7', 'k4cf', 'j5c4', 'k4d3', 'k4cb',\n 'k4c1', 'k5d1', 'l4c9', 'l4d9', 'l4ch', 'k5c6', 'l4d5', 'l4cd', 'l4c2', 'k5d2', 'l4ca', 'l4da', 'l4cj', 'k5c8',\n 'l4d7', 'l4cf', 'l4c4', 'k5d4', 'l4cb', 'l4c1', 'l4d1', 'k5c9', 'l4d8', 'l4cg', 'l4c5', 'k4d5', 'k5ce', 'l4c2',\n 'l4d2', 'k4cb', 'k5db', 'l4ci', 'l4c7', 'k4d7', 'k5cf', 'l4c4', 'l4d4', 'k4cc', 'k5c2', 'l4d1', 'l4c9', 'k4d9',\n 'k5ch', 'l4c5', 'l4d5', 'k4ce', 'k5c3', 'l4d2', 'l4cb', 'k4da', 'k5ci', 'l4c6', 'l4d6', 'k4cf', 'k5c5', 'l4d4',\n 'l4cc', 'k4c1', 'k4d1', 'k5c9', 'l4d8', 'k4cg', 'k4c6', 'k5d6', 'l4ce', 'k4c3', 'k4d3', 'k5cb', 'l4da', 'k4ci',\n 'k4c7', 'k5d7', 'l4cf', 'k4c5', 'k4d5', 'k5cd', 'l4c1', 'k4cj', 'k4c9', 'k5d9', 'l4cg', 'k4c6', 'k4d6', 'k5ce',\n 'l4c3', 'k4d2', 'k4ca', 'k5bj', 'l4ci', 'k4c7', 'k4d7', 'k4cg', 'k5c5', 'k4d4', 'k4cc', 'k4c1', 'k5d1', 'k4c9',\n 'k4d9', 'k4ch', 'k5c7', 'l4d6', 'l4ce', 'l4c3', 'l5d3', 'l4ca', 'l4da', 'l4cj', 'l5c8', 'l4d7', 'l4cg', 'l4c5',\n 'l5d4', 'l4cb', 'l4c1', 'l4d1', 'l5ca', 'l4d9', 'l4ch', 'l4c6', 'l5d6', 'l4cd', 'l4c2', 'l4d2', 'l4cb', 'k5c1',\n 'l4cj', 'l4c8', 'l4d8', 'k5cg', 'l4c4', 'l4d4', 'l4cc', 'k5c2', 'l4d1', 'l4ca', 'l4da', 'k5ci', 'l4c6', 'l4d5',\n 'l4ce', 'k5c3', 'l4d2', 'l4cb', 'l4db', 'k5cj', 'l4c8', 'l4d7', 'l4cf', 'k5c5', 'l4d4', 'l4cc', 'l4c2', 'k5d2',\n 'l4c9', 'l4d9', 'l4ch', 'k4c6', 'k5d6', 'l4ce', 'l4c3', 'k4d3', 'k5cc', 'l4db', 'l4cj', 'k4c8', 'k5d8', 'l4cf',\n 'l4c4', 'k4d5', 'k5cd', 'l4c2', 'l4d2', 'k4ca', 'k5d9', 'l4cg', 'l4c6', 'k4d6', 'k5cf', 'l4c3', 'l4d3', 'k4cb',\n 'k5bj', 'l4ci', 'l4c7', 'k4d7', 'k5cg', 'l4c5', 'l4d5', 'k4cd', 'k4c2', 'k5d2', 'l4c9', 'k4d9', 'k4ch', 'k5c7',\n 'l4d6', 'k4cf', 'k4c4', 'k5d4', 'l4cb', 'l4bj', 'l4cj', 'l5c8', 'm4d7', 'l4cg', 'l4c5', 'l5d5', 'm4cc', 'l4c1',\n 'l4d1', 'l5ca', 'm4d9', 'l4ch', 'l4c7', 'l5d7', 'm4ce', 'l4c3', 'l4d3', 'l5cb', 'm4bi', 'l4ci', 'l4c8', 'l4d8',\n 'l5ch', 'l4c5', 'l4d5', 'l4cd', 'l5c2', 'l4d1', 'l4c9', 'l4da', 'l5ci', 'l4c7', 'l4d7', 'l4cf', 'l5c4', 'l4d2',\n 'l4cb', 'l4bj', 'l5d1', 'l4c8', 'l4d8', 'l4cg', 'l5c5', 'l4d4', 'l4cc', 'l4c2', 'l5d2', 'l4c9', 'l4da', 'l4ci',\n];\n\nexport { badiYears };\n","import * as luxon from 'luxon';\nimport { badiLocale, setDefaultLanguage, setUnderlineFormat } from './badiLocale';\nimport { formatBadiDate, formatItemFallback } from './formatter';\nimport { BadiDateSettings, BadiYearInfo, HolyDay, InputDate, YearHolyDayNumber, YearMonthDay } from './types';\nimport { badiYears } from './badiYears';\n\nclass BadiDate {\n private _gregorianDate: luxon.DateTime;\n private _year: number;\n private _month: number;\n private _day: number;\n private _nawRuz: luxon.DateTime;\n private _ayyamiHaLength: number;\n private _yearTwinBirthdays: Array<number>;\n private _holyDay?: HolyDay = undefined;\n private _valid: boolean = true;\n private _invalidReason: string = undefined;\n\n constructor(date: InputDate) {\n try {\n if (this._isDateObject(date)) {\n this._gregorianDate = luxon.DateTime.fromObject(\n { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate(), zone: 'UTC' });\n } else if (luxon.DateTime.isDateTime(date)) {\n this._gregorianDate = luxon.DateTime.fromObject(\n { year: date.year, month: date.month, day: date.day, zone: 'UTC' });\n } else if (this._isYearMonthDay(date) || this._isYearHolyDayNumber(date)) {\n this._setFromBadiDate(date);\n } else {\n throw new TypeError('Unrecognized input format');\n }\n if (this._year === undefined) {\n // We haven't set the Badí' date yet\n this._setFromGregorianDate();\n }\n this._setHolyDay();\n } catch (err) {\n this._setInvalid(err);\n }\n Object.freeze(this);\n }\n\n format(formatString?: string, language?: string): string {\n return formatBadiDate(this, formatString, language);\n }\n\n _isDateObject(arg: any): arg is Date {\n return Object.prototype.toString.call(arg) === '[object Date]';\n }\n\n _isYearMonthDay(arg: any): arg is YearMonthDay {\n return typeof arg.year === 'number' && typeof arg.month === 'number' &&\n typeof arg.day === 'number';\n }\n\n _isYearHolyDayNumber(arg: any): arg is YearHolyDayNumber {\n return typeof arg.year === 'number' && arg.month === undefined &&\n arg.day === undefined && typeof arg.holyDayNumber === 'number';\n }\n\n _notInValidGregorianDateRange(datetime: luxon.DateTime): boolean {\n const lowerBound = luxon.DateTime.fromObject({ year: 1844, month: 3, day: 21, zone: 'UTC' });\n const upperBound = luxon.DateTime.fromObject({ year: 2351, month: 3, day: 20, zone: 'UTC' });\n return datetime < lowerBound || datetime > upperBound;\n }\n\n _setFromGregorianDate() {\n if (this._notInValidGregorianDateRange(this._gregorianDate)) {\n throw new RangeError('Input date outside of valid range (1844-03-21 - 2351-03-20)');\n }\n const gregorianYear = this._gregorianDate.year;\n const oldImplementationCutoff = luxon.DateTime.fromObject({ year: 2015, month: 3, day: 21, zone: 'UTC' });\n if (this._gregorianDate < oldImplementationCutoff) {\n const { month, day } = this._gregorianDate;\n if (month < 3 || (month === 3 && day < 21)) {\n this._nawRuz = luxon.DateTime.fromObject({ year: gregorianYear - 1, month: 3, day: 21, zone: 'UTC' });\n this._year = gregorianYear - 1844;\n } else {\n this._nawRuz = luxon.DateTime.fromObject({ year: gregorianYear, month: 3, day: 21, zone: 'UTC' });\n this._year = gregorianYear - 1843;\n }\n this._setOldAyyamiHaLength();\n this._yearTwinBirthdays = [12, 5, 13, 9];\n } else {\n this._year = gregorianYear - 1843;\n this._setBadiYearInfo(true);\n }\n this._setBadiMonthAndDay();\n }\n\n /**\n * Set Badí' month and day from Gregorian date\n */\n _setBadiMonthAndDay() {\n const dayOfBadiYear = this._dayOfYear(this._gregorianDate);\n if (dayOfBadiYear < 343) {\n this._month = Math.floor((dayOfBadiYear - 1) / 19 + 1);\n this._day = (dayOfBadiYear - 1) % 19 + 1;\n } else if (dayOfBadiYear < 343 + this._ayyamiHaLength) {\n this._month = 20;\n this._day = dayOfBadiYear - 342;\n } else {\n this._month = 19;\n this._day = dayOfBadiYear - (342 + this._ayyamiHaLength);\n }\n }\n\n _setFromBadiDate(date: YearMonthDay | YearHolyDayNumber) { // eslint-disable-line complexity\n this._year = date.year;\n if (this._year < 1 || this._year > 507) {\n throw new RangeError('Input date outside of valid range (1 - 507 B.E.)');\n } else if (this._year < 172) {\n this._nawRuz = luxon.DateTime.fromObject({ year: 1843 + this._year, month: 3, day: 21, zone: 'UTC' });\n this._setOldAyyamiHaLength();\n this._yearTwinBirthdays = [12, 5, 13, 9];\n } else {\n this._setBadiYearInfo();\n }\n if (this._isYearMonthDay(date)) {\n this._month = date.month;\n this._day = date.day;\n if (this._month === 20 && this._day > this._ayyamiHaLength) {\n // If only off by one day, we'll bubble up so that 5th Ayyám-i-Há in a year with only 4 days of\n // Ayyám-i-Há can be salvaged\n if (this._day - this._ayyamiHaLength === 1) {\n this._month = 19;\n this._day = 1;\n } else {\n throw new TypeError('Input numbers do not designate a valid date');\n }\n }\n if (this._month < 1 || this._month > 20 || this._day < 1 || this.day > 19) {\n throw new TypeError('Input numbers do not designate a valid date');\n }\n } else {\n if (date.holyDayNumber < 1 || date.holyDayNumber > 11) {\n throw new TypeError('Input numbers do not designate a valid Holy Day');\n }\n this._holyDay = date.holyDayNumber;\n [this._month, this._day] = this._holyDayMapping()[this._holyDay];\n }\n this._gregorianDate = this._nawRuz.plus(luxon.Duration.fromObject(\n { days: this._dayOfYear([this._year, this._month, this._day]) - 1 }));\n }\n\n _setOldAyyamiHaLength() {\n if (luxon.DateTime.fromObject({ year: this._nawRuz.year + 1 }).isInLeapYear) {\n this._ayyamiHaLength = 5;\n } else {\n this._ayyamiHaLength = 4;\n }\n }\n\n _setBadiYearInfo(fromGregorianDate: boolean = false) {\n let yearData = this._extractBadiYearInfo();\n if (fromGregorianDate && this._gregorianDate < yearData.nawRuz) {\n this._year -= 1;\n yearData = this._extractBadiYearInfo();\n }\n this._nawRuz = yearData.nawRuz;\n this._ayyamiHaLength = yearData.ayyamiHaLength;\n this._yearTwinBirthdays = yearData.twinBirthdays;\n }\n\n _extractBadiYearInfo(): BadiYearInfo {\n let nawRuz, ayyamiHaLength, twinBirthdays;\n // Check whether data needs to be unpacked or exists in the verbose version\n // istanbul ignore else\n if (badiYears[0] === 'l4da') {\n const components = badiYears[this._year - 172].split('');\n nawRuz = luxon.DateTime.fromObject(\n { year: this._year - 172 + 2015, month: 3, day: parseInt(components[0], 36), zone: 'UTC' });\n ayyamiHaLength = parseInt(components[1], 36);\n const TB1 = [parseInt(components[2], 36), parseInt(components[3], 36)];\n const TB2 = TB1[1] < 19 ? [TB1[0], TB1[1] + 1] : [TB1[0] + 1, 1];\n twinBirthdays = [TB1[0], TB1[1], TB2[0], TB2[1]];\n } else {\n ({ nawRuz, ayyamiHaLength, twinBirthdays } = badiYears[this._year] as any);\n nawRuz = luxon.DateTime.fromISO(nawRuz, { zone: 'UTC' });\n }\n return { nawRuz, ayyamiHaLength, twinBirthdays };\n }\n\n _dayOfYear(date: Array<number> | luxon.DateTime): number {\n // Naw-Rúz is day 1\n if (Array.isArray(date)) {\n // We have a Badí' date\n if (date[1] < 19) {\n return 19 * (date[1] - 1) + date[2];\n } else if (date[1] === 20) {\n return 342 + date[2];\n }\n // date[1] === 19\n return 342 + this._ayyamiHaLength + date[2];\n }\n return (date as luxon.DateTime).diff(this._nawRuz).as('days') + 1;\n }\n\n _setInvalid(invalidReason: string) {\n this._gregorianDate = luxon.DateTime.invalid('Not a valid Badí‘ date');\n this._year = NaN;\n this._month = NaN;\n this._day = NaN;\n this._ayyamiHaLength = NaN;\n this._nawRuz = luxon.DateTime.invalid('Not a valid Badí‘ date');\n this._valid = false;\n this._invalidReason = invalidReason;\n }\n\n _setHolyDay() {\n const mapping = this._holyDayMapping();\n this._holyDay = parseInt(Object.keys(mapping)\n .find(key => mapping[key][0] === this._month && mapping[key][1] === this._day), 10);\n }\n\n _holyDayMapping(): object {\n return {\n [HolyDay.NawRuz]: [1, 1],\n [HolyDay.FirstRidvan]: [2, 13],\n [HolyDay.NinthRidvan]: [3, 2],\n [HolyDay.TwelfthRidvan]: [3, 5],\n [HolyDay.DeclarationOfTheBab]: [4, this._year < 172 ? 7 : 8],\n [HolyDay.AscensionOfBahaullah]: [4, 13],\n [HolyDay.MartyrdomOfTheBab]: [6, this._year < 172 ? 16 : 17],\n [HolyDay.BirthOfTheBab]: [this._yearTwinBirthdays[0], this._yearTwinBirthdays[1]],\n [HolyDay.BirthOfBahaullah]: [this._yearTwinBirthdays[2], this._yearTwinBirthdays[3]],\n [HolyDay.DayOfTheCovenant]: [14, 4],\n [HolyDay.AscensionOfAbdulBaha]: [14, 6],\n };\n }\n\n _leapYearsBefore(): number {\n let leapYearsBefore = Math.floor(Math.min(this.year - 1, 171) / 4);\n if (this.year > 172) {\n // istanbul ignore else\n if (badiYears[0] === 'l4da') {\n leapYearsBefore += badiYears.slice(0, this.year - 172).filter(entry => entry[1] === '5').length;\n } else {\n leapYearsBefore += Object.entries(badiYears)\n .filter(([year, data]) => parseInt(year, 10) < this.year &&\n (data as any).ayyamiHaLength === 5).length;\n }\n }\n return leapYearsBefore;\n }\n\n holyDay(language: string = undefined): string {\n if (!this._holyDay) {\n return '';\n }\n if (language === undefined || badiLocale[language] === undefined) {\n language = 'default';\n }\n return formatItemFallback(language, 'holyDay', this._holyDay);\n }\n\n valueOf() {\n return this._dayOfYear([this.year, this.month, this.day]) + this._leapYearsBefore() + (this.year - 1) * 365;\n }\n\n equals(other: BadiDate) {\n return this.isValid && other.isValid && this.valueOf() === other.valueOf();\n }\n\n get isValid(): boolean {\n return this._valid;\n }\n\n get invalidReason(): string | undefined {\n return this._invalidReason;\n }\n\n get day(): number {\n return this._day;\n }\n\n get month(): number {\n return this._month;\n }\n\n get year(): number {\n return this._year;\n }\n\n // number of the Badí' weekday between 1 (Jalál ~> Saturday) and 7 (Istiqlál ~> Friday).\n get weekday(): number {\n return (this._gregorianDate.weekday + 1) % 7 + 1;\n }\n\n get yearInVahid(): number {\n return (this._year - 1) % 19 + 1;\n }\n\n get vahid(): number {\n return (Math.floor((this._year - 1) / 19) % 19) + 1;\n }\n\n get kullIShay(): number {\n return Math.floor((this._year - 1) / 361) + 1;\n }\n\n // Gregorian date on whose sunset the Badí' date ends.\n get gregorianDate(): luxon.DateTime {\n return this._gregorianDate;\n }\n\n get ayyamiHaLength(): number {\n return this._ayyamiHaLength;\n }\n\n get holyDayNumber(): number | undefined {\n return this._holyDay ? this._holyDay : undefined;\n }\n\n get workSuspended(): boolean | undefined {\n return this._holyDay ? this.holyDayNumber < 10 : undefined;\n }\n\n get nextMonth(): BadiDate {\n let { year, month } = this;\n switch (month) {\n case 18:\n month = 20;\n break;\n case 19:\n month = 1;\n year += 1;\n break;\n case 20:\n month = 19;\n break;\n default:\n month += 1;\n }\n return new BadiDate({ year, month, day: 1 });\n }\n\n get previousMonth(): BadiDate {\n let { year, month } = this;\n switch (month) {\n case 1:\n month = 19;\n year -= 1;\n break;\n case 19:\n month = 20;\n break;\n case 20:\n month = 18;\n break;\n default:\n month -= 1;\n }\n return new BadiDate({ year, month, day: 1 });\n }\n\n get nextDay(): BadiDate {\n if (this._day === 19 || (this._month === 20 && this._day === this._ayyamiHaLength)) {\n return this.nextMonth;\n }\n return new BadiDate({ year: this._year, month: this._month, day: this._day + 1 });\n }\n\n get previousDay(): BadiDate {\n if (this._day === 1) {\n const { previousMonth } = this;\n let day = 19;\n if (this._month === 19) {\n day = this._ayyamiHaLength;\n }\n return new BadiDate({\n year: previousMonth.year,\n month: previousMonth.month,\n day,\n });\n }\n return new BadiDate({ year: this._year, month: this._month, day: this._day - 1 });\n }\n}\n\nconst badiDateSettings = (settings: BadiDateSettings) => {\n if (settings.defaultLanguage) {\n setDefaultLanguage(settings.defaultLanguage);\n }\n if (settings.underlineFormat) {\n setUnderlineFormat(settings.underlineFormat);\n }\n};\n\nexport { BadiDate, badiDateSettings };\n"],"names":["1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","month","monthL","badiLocale","en","ar","de","es","fa","fr","lv","nl","pt","ru","sv","zh","en-us","default","underlineFormat","formatTokens","getFormatItem","badiDate","token","language","digitRewrite","day","postProcessLocaleItem","formatItemFallback","gregorianDate","weekday","year","Math","floor","String","slice","dayL","item","crop","length","char","counter","includes","split","stringComponents","i","underlineString","join","str","map","TypeError","number","unicodeOffset","charCodeAt","codePoints","num","fromCharCode","category","index","undefined","languageFallback","languageCode","badiYears","BadiDate","[object Object]","date","this","_isDateObject","_gregorianDate","luxon.DateTime","fromObject","getFullYear","getMonth","getDate","zone","isDateTime","_isYearMonthDay","_isYearHolyDayNumber","_setFromBadiDate","_year","_setFromGregorianDate","_setHolyDay","err","_setInvalid","Object","freeze","formatString","isValid","formattedDate","j","next1","next2","next3","formatBadiDate","arg","prototype","toString","call","holyDayNumber","datetime","lowerBound","upperBound","_notInValidGregorianDateRange","RangeError","gregorianYear","oldImplementationCutoff","_nawRuz","_setOldAyyamiHaLength","_yearTwinBirthdays","_setBadiYearInfo","_setBadiMonthAndDay","dayOfBadiYear","_dayOfYear","_month","_day","_ayyamiHaLength","_holyDay","_holyDayMapping","plus","luxon.Duration","days","isInLeapYear","fromGregorianDate","yearData","_extractBadiYearInfo","nawRuz","ayyamiHaLength","twinBirthdays","components","parseInt","TB1","TB2","fromISO","Array","isArray","diff","as","invalidReason","invalid","NaN","_valid","_invalidReason","mapping","keys","find","key","leapYearsBefore","min","filter","entry","entries","data","_leapYearsBefore","other","valueOf","yearInVahid","vahid","kullIShay","workSuspended","nextMonth","previousMonth","nextDay","previousDay","badiDateSettings","settings","format","defaultLanguage","console","log"],"mappings":"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"}
|