oss-developer-platform
/
dev-ui
/node_modules
/@internationalized
/date
/dist
/IndianCalendar.module.js
| import {CalendarDate as $35ea8db9cb2ccb90$export$99faa760c7908e4f} from "./CalendarDate.module.js"; | |
| import {fromExtendedYear as $3b62074eb05584b2$export$4475b7e617eb123c, GregorianCalendar as $3b62074eb05584b2$export$80ee6245ec4f29ec, gregorianToJulianDay as $3b62074eb05584b2$export$f297eb839006d339, isLeapYear as $3b62074eb05584b2$export$553d7fa8e3805fc0} from "./GregorianCalendar.module.js"; | |
| /* | |
| * Copyright 2020 Adobe. All rights reserved. | |
| * This file is licensed to you under the Apache License, Version 2.0 (the "License"); | |
| * you may not use this file except in compliance with the License. You may obtain a copy | |
| * of the License at http://www.apache.org/licenses/LICENSE-2.0 | |
| * | |
| * Unless required by applicable law or agreed to in writing, software distributed under | |
| * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS | |
| * OF ANY KIND, either express or implied. See the License for the specific language | |
| * governing permissions and limitations under the License. | |
| */ // Portions of the code in this file are based on code from ICU. | |
| // Original licensing can be found in the NOTICE file in the root directory of this source tree. | |
| // Starts in 78 AD, | |
| const $82c358003bdda0a8$var$INDIAN_ERA_START = 78; | |
| // The Indian year starts 80 days later than the Gregorian year. | |
| const $82c358003bdda0a8$var$INDIAN_YEAR_START = 80; | |
| class $82c358003bdda0a8$export$39f31c639fa15726 extends (0, $3b62074eb05584b2$export$80ee6245ec4f29ec) { | |
| fromJulianDay(jd) { | |
| // Gregorian date for Julian day | |
| let date = super.fromJulianDay(jd); | |
| // Year in Saka era | |
| let indianYear = date.year - $82c358003bdda0a8$var$INDIAN_ERA_START; | |
| // Day number in Gregorian year (starting from 0) | |
| let yDay = jd - (0, $3b62074eb05584b2$export$f297eb839006d339)(date.era, date.year, 1, 1); | |
| let leapMonth; | |
| if (yDay < $82c358003bdda0a8$var$INDIAN_YEAR_START) { | |
| // Day is at the end of the preceding Saka year | |
| indianYear--; | |
| // Days in leapMonth this year, previous Gregorian year | |
| leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year - 1) ? 31 : 30; | |
| yDay += leapMonth + 155 + 90 + 10; | |
| } else { | |
| // Days in leapMonth this year | |
| leapMonth = (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year) ? 31 : 30; | |
| yDay -= $82c358003bdda0a8$var$INDIAN_YEAR_START; | |
| } | |
| let indianMonth; | |
| let indianDay; | |
| if (yDay < leapMonth) { | |
| indianMonth = 1; | |
| indianDay = yDay + 1; | |
| } else { | |
| let mDay = yDay - leapMonth; | |
| if (mDay < 155) { | |
| indianMonth = Math.floor(mDay / 31) + 2; | |
| indianDay = mDay % 31 + 1; | |
| } else { | |
| mDay -= 155; | |
| indianMonth = Math.floor(mDay / 30) + 7; | |
| indianDay = mDay % 30 + 1; | |
| } | |
| } | |
| return new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)(this, indianYear, indianMonth, indianDay); | |
| } | |
| toJulianDay(date) { | |
| let extendedYear = date.year + $82c358003bdda0a8$var$INDIAN_ERA_START; | |
| let [era, year] = (0, $3b62074eb05584b2$export$4475b7e617eb123c)(extendedYear); | |
| let leapMonth; | |
| let jd; | |
| if ((0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(year)) { | |
| leapMonth = 31; | |
| jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 21); | |
| } else { | |
| leapMonth = 30; | |
| jd = (0, $3b62074eb05584b2$export$f297eb839006d339)(era, year, 3, 22); | |
| } | |
| if (date.month === 1) return jd + date.day - 1; | |
| jd += leapMonth + Math.min(date.month - 2, 5) * 31; | |
| if (date.month >= 8) jd += (date.month - 7) * 30; | |
| jd += date.day - 1; | |
| return jd; | |
| } | |
| getDaysInMonth(date) { | |
| if (date.month === 1 && (0, $3b62074eb05584b2$export$553d7fa8e3805fc0)(date.year + $82c358003bdda0a8$var$INDIAN_ERA_START)) return 31; | |
| if (date.month >= 2 && date.month <= 6) return 31; | |
| return 30; | |
| } | |
| getYearsInEra() { | |
| // 9999-12-31 gregorian is 9920-10-10 indian. | |
| // Round down to 9919 for the last full year. | |
| return 9919; | |
| } | |
| getEras() { | |
| return [ | |
| 'saka' | |
| ]; | |
| } | |
| balanceDate() {} | |
| constructor(...args){ | |
| super(...args), this.identifier = 'indian'; | |
| } | |
| } | |
| export {$82c358003bdda0a8$export$39f31c639fa15726 as IndianCalendar}; | |
| //# sourceMappingURL=IndianCalendar.module.js.map | |