mfuntowicz's picture
mfuntowicz HF Staff
Upload folder using huggingface_hub
04ec17f verified
raw
history blame
4.45 kB
var $625ad1e1f4c43bc1$exports = require("./CalendarDate.main.js");
var $af14c9812fdceb33$exports = require("./GregorianCalendar.main.js");
function $parcel$export(e, n, v, s) {
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
}
$parcel$export(module.exports, "IndianCalendar", () => $5f1dfa5c67609fe6$export$39f31c639fa15726);
/*
* 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 $5f1dfa5c67609fe6$var$INDIAN_ERA_START = 78;
// The Indian year starts 80 days later than the Gregorian year.
const $5f1dfa5c67609fe6$var$INDIAN_YEAR_START = 80;
class $5f1dfa5c67609fe6$export$39f31c639fa15726 extends (0, $af14c9812fdceb33$exports.GregorianCalendar) {
fromJulianDay(jd) {
// Gregorian date for Julian day
let date = super.fromJulianDay(jd);
// Year in Saka era
let indianYear = date.year - $5f1dfa5c67609fe6$var$INDIAN_ERA_START;
// Day number in Gregorian year (starting from 0)
let yDay = jd - (0, $af14c9812fdceb33$exports.gregorianToJulianDay)(date.era, date.year, 1, 1);
let leapMonth;
if (yDay < $5f1dfa5c67609fe6$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, $af14c9812fdceb33$exports.isLeapYear)(date.year - 1) ? 31 : 30;
yDay += leapMonth + 155 + 90 + 10;
} else {
// Days in leapMonth this year
leapMonth = (0, $af14c9812fdceb33$exports.isLeapYear)(date.year) ? 31 : 30;
yDay -= $5f1dfa5c67609fe6$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, $625ad1e1f4c43bc1$exports.CalendarDate)(this, indianYear, indianMonth, indianDay);
}
toJulianDay(date) {
let extendedYear = date.year + $5f1dfa5c67609fe6$var$INDIAN_ERA_START;
let [era, year] = (0, $af14c9812fdceb33$exports.fromExtendedYear)(extendedYear);
let leapMonth;
let jd;
if ((0, $af14c9812fdceb33$exports.isLeapYear)(year)) {
leapMonth = 31;
jd = (0, $af14c9812fdceb33$exports.gregorianToJulianDay)(era, year, 3, 21);
} else {
leapMonth = 30;
jd = (0, $af14c9812fdceb33$exports.gregorianToJulianDay)(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, $af14c9812fdceb33$exports.isLeapYear)(date.year + $5f1dfa5c67609fe6$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';
}
}
//# sourceMappingURL=IndianCalendar.main.js.map