@ajf/calendars 13.0.0-rc.1 → 13.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -5
- package/ajf-calendars.d.ts +5 -0
- package/esm2020/ajf-calendars.mjs +5 -0
- package/esm2020/ethiopian/ajf-calendars-ethiopian.mjs +5 -0
- package/esm2020/ethiopian/calendar-module.mjs +5 -5
- package/esm2020/ethiopian/calendar-service.mjs +4 -4
- package/esm2020/ethiopian/converter.mjs +1 -1
- package/esm2020/ethiopian/ethiopian-date-pipe.mjs +5 -5
- package/esm2020/ethiopian/ethiopian-date.mjs +5 -1
- package/esm2020/ethiopian/public_api.mjs +26 -0
- package/esm2020/ethiopian/utils.mjs +1 -1
- package/esm2020/public-api.mjs +3 -2
- package/ethiopian/ajf-calendars-ethiopian.d.ts +5 -0
- package/ethiopian/calendar-module.d.ts +0 -0
- package/ethiopian/calendar-service.d.ts +0 -0
- package/ethiopian/converter.d.ts +0 -0
- package/ethiopian/ethiopian-date-pipe.d.ts +0 -0
- package/ethiopian/ethiopian-date.d.ts +0 -0
- package/ethiopian/package.json +8 -7
- package/ethiopian/{public-api.d.ts → public_api.d.ts} +0 -0
- package/ethiopian/utils.d.ts +0 -0
- package/fesm2015/{ethiopian.mjs → ajf-calendars-ethiopian.mjs} +16 -34
- package/fesm2015/ajf-calendars-ethiopian.mjs.map +1 -0
- package/{ethiopian/index.d.ts → fesm2015/ajf-calendars.mjs} +7 -1
- package/fesm2015/ajf-calendars.mjs.map +1 -0
- package/fesm2020/{ethiopian.mjs → ajf-calendars-ethiopian.mjs} +16 -34
- package/fesm2020/ajf-calendars-ethiopian.mjs.map +1 -0
- package/{version.d.ts → fesm2020/ajf-calendars.mjs} +7 -3
- package/fesm2020/ajf-calendars.mjs.map +1 -0
- package/package.json +27 -24
- package/public-api.d.ts +2 -1
- package/LICENSE +0 -661
- package/esm2020/ethiopian/ethiopian_public_index.mjs +0 -5
- package/esm2020/ethiopian/index.mjs +0 -23
- package/esm2020/ethiopian/public-api.mjs +0 -26
- package/esm2020/index.mjs +0 -23
- package/esm2020/version.mjs +0 -25
- package/ethiopian/ethiopian_public_index.d.ts +0 -4
- package/fesm2015/calendars.mjs +0 -72
- package/fesm2015/calendars.mjs.map +0 -1
- package/fesm2015/ethiopian.mjs.map +0 -1
- package/fesm2020/calendars.mjs +0 -72
- package/fesm2020/calendars.mjs.map +0 -1
- package/fesm2020/ethiopian.mjs.map +0 -1
- package/index.d.ts +0 -22
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajf-calendars-ethiopian.mjs","sources":["../../../projects/calendars/ethiopian/src/converter.ts","../../../projects/calendars/ethiopian/src/utils.ts","../../../projects/calendars/ethiopian/src/ethiopian-date.ts","../../../projects/calendars/ethiopian/src/calendar-service.ts","../../../projects/calendars/ethiopian/src/ethiopian-date-pipe.ts","../../../projects/calendars/ethiopian/src/calendar-module.ts","../../../projects/calendars/ethiopian/src/public_api.ts","../../../projects/calendars/ethiopian/src/ajf-calendars-ethiopian.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nconst JD_EPOCH_OFFSET_AMETE_ALEM = -285019; // ዓ/ዓ\nconst JD_EPOCH_OFFSET_AMETE_MIHRET = 1723856; // ዓ/ም\nconst JD_EPOCH_OFFSET_GREGORIAN = 1721426;\nconst JD_EPOCH_OFFSET_UNSET = -1;\n\nlet JDN_OFFSET = JD_EPOCH_OFFSET_UNSET;\n\nconst GREGORIAN_NUMBER_OF_MONTHS = 12;\nconst monthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction quotient(i: number, j: number): number {\n return Math.floor(i / j);\n}\n\nfunction isGregorianLeap(year: number): boolean {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nfunction setEra(era: number): void {\n if (era === JD_EPOCH_OFFSET_AMETE_ALEM || era === JD_EPOCH_OFFSET_AMETE_MIHRET) {\n JDN_OFFSET = era;\n } else {\n throw new Error(`Unknown Era: ${era}`);\n }\n}\n\nfunction isEraSet(): boolean {\n return JD_EPOCH_OFFSET_UNSET !== JDN_OFFSET;\n}\n\nfunction unsetEra(): void {\n JDN_OFFSET = JD_EPOCH_OFFSET_UNSET;\n}\n\nfunction guessEraFromJDN(jdn: number) {\n return jdn >= JD_EPOCH_OFFSET_AMETE_MIHRET + 365\n ? JD_EPOCH_OFFSET_AMETE_MIHRET\n : JD_EPOCH_OFFSET_AMETE_ALEM;\n}\n\nfunction ethiopicToJDN(day: number, month: number, year: number) {\n const ERA = isEraSet() ? JDN_OFFSET : JD_EPOCH_OFFSET_AMETE_MIHRET;\n const jdn = ERA + 365 + 365 * (year - 1) + quotient(year, 4) + 30 * month + day - 31;\n\n return jdn;\n}\n\nfunction jdnToEthiopic(jdn: number): [number, number, number] {\n const ERA = isEraSet() ? JDN_OFFSET : guessEraFromJDN(jdn);\n const r = (jdn - ERA) % 1461;\n const n = (r % 365) + 365 * quotient(r, 1460);\n const year = 4 * quotient(jdn - ERA, 1461) + quotient(r, 365) - quotient(r, 1460);\n const month = quotient(n, 30) + 1;\n const day = (n % 30) + 1;\n\n return [year, month, day];\n}\n\nfunction gregorianToJDN(day: number, month: number, year: number): number {\n const s =\n quotient(year, 4) -\n quotient(year - 1, 4) -\n quotient(year, 100) +\n quotient(year - 1, 100) +\n quotient(year, 400) -\n quotient(year - 1, 400);\n\n const t = quotient(14 - month, 12);\n\n const n =\n 31 * t * (month - 1) +\n (1 - t) * (59 + s + 30 * (month - 3) + quotient(3 * month - 7, 5)) +\n day -\n 1;\n\n const j =\n JD_EPOCH_OFFSET_GREGORIAN +\n 365 * (year - 1) +\n quotient(year - 1, 4) -\n quotient(year - 1, 100) +\n quotient(year - 1, 400) +\n n;\n\n return j;\n}\n\nfunction jdnToGregorian(jdn: number): [number, number, number] {\n const r2000 = (jdn - JD_EPOCH_OFFSET_GREGORIAN) % 730485;\n const r400 = (jdn - JD_EPOCH_OFFSET_GREGORIAN) % 146097;\n const r100 = r400 % 36524;\n const r4 = r100 % 1461;\n let n = (r4 % 365) + 365 * quotient(r4, 1460);\n const s = quotient(r4, 1095);\n const aprime =\n 400 * quotient(jdn - JD_EPOCH_OFFSET_GREGORIAN, 146097) +\n 100 * quotient(r400, 36524) +\n 4 * quotient(r100, 1461) +\n quotient(r4, 365) -\n quotient(r4, 1460) -\n quotient(r2000, 730484);\n const year = aprime + 1;\n const t = quotient(364 + s - n, 306);\n let month = t * (quotient(n, 31) + 1) + (1 - t) * (quotient(5 * (n - s) + 13, 153) + 1);\n n += 1 - quotient(r2000, 730484);\n let day = n;\n\n if (r100 === 0 && n === 0 && r400 !== 0) {\n month = 12;\n day = 31;\n } else {\n monthDays[2] = isGregorianLeap(year) ? 29 : 28;\n for (let i = 1; i <= GREGORIAN_NUMBER_OF_MONTHS; i += 1) {\n if (n <= monthDays[i]) {\n day = n;\n break;\n }\n n -= monthDays[i];\n }\n }\n return [year, month, day];\n}\n\nfunction gregorianToEthiopic(day: number, month: number, year: number): [number, number, number] {\n const jdn = gregorianToJDN(day, month, year);\n return jdnToEthiopic(jdn);\n}\n\nfunction ethioipicToGreg(day: number, month: number, year: number): [number, number, number] {\n const jdn = ethiopicToJDN(day, month, year);\n return jdnToGregorian(jdn);\n}\n\nfunction ethioipicToGregorian(\n day: number,\n month: number,\n year: number,\n era: number,\n): [number, number, number] {\n setEra(era);\n const result = ethioipicToGreg(day, month, year);\n unsetEra();\n return result;\n}\n\n/** API * */\n\n/** ethiopian to gregorian */\nexport function toGC(\n dateArray: [number, number, number] | [number, number, number, number],\n): [number, number, number] {\n const [y, m, d] = dateArray;\n let era = dateArray.length === 4 ? dateArray[3] : JD_EPOCH_OFFSET_AMETE_MIHRET;\n if (d < 0 || d > 30 || m < 0 || m > 13) {\n throw new Error('Invalid Ethiopian Date');\n }\n return ethioipicToGregorian(d, m, y, era);\n}\n\n/** gregorian to ethiopian */\nexport function toEC(dateArray: [number, number, number]): [number, number, number] {\n const [y, m, d] = dateArray;\n if (d < 0 || d > 31 || m < 0 || m > 12) {\n throw new Error('Invalid Gregorian Date');\n }\n return gregorianToEthiopic(d, m, y);\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport const WEEK_NAMES = ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሓሙስ', 'ዓርብ', 'ቅዳሜ'];\n\nexport const MONTHS_NAMES = [\n 'መስከረም',\n 'ጥቅምት',\n 'ኅዳር',\n 'ታኅሣሥ',\n 'ጥር',\n 'የካቲት',\n 'መጋቢት',\n 'ሚያዝያ',\n 'ግንቦት',\n 'ሰኔ',\n 'ሐምሌ',\n 'ነሐሴ',\n 'ጳጉሜን',\n];\n\nexport const SHORT_MONTHS_NAMES = [\n 'መስከ',\n 'ጥቅም',\n 'ኅዳር',\n 'ታኅሣ',\n 'ጥር',\n 'የካቲ',\n 'መጋቢ',\n 'ሚያዝ',\n 'ግንቦ',\n 'ሰኔ',\n 'ሐምሌ',\n 'ነሐሴ',\n 'ጳጉሜ',\n];\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {toEC, toGC} from './converter';\nimport {MONTHS_NAMES, SHORT_MONTHS_NAMES, WEEK_NAMES} from './utils';\n\nexport class EthiopianDate {\n private _year: number = 0;\n private _month: number = 0;\n private _date: number = 0;\n private _gc: Date = new Date();\n\n /**\n * @param val - A numeric year value if the second and third parameters ar provided,\n * It should be a date string if not\n * @param month A zero-based numeric value for the month (0 for መስከረም, 12 for ጳጉሜን)\n * @param day A numeric value equal for the day of the month.\n */\n constructor(val?: Date | string | number, month?: number, day?: number) {\n if (val == null && month == null && day == null) {\n const ahun = EthiopianDate.gregorianToEthiopian(new Date());\n [this._year, this._month, this._date] = [ahun.getFullYear(), ahun.getMonth(), ahun.getDate()];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const result = EthiopianDate.parse(val);\n if (result == null) {\n throw new Error('Invalid Argument Exception');\n }\n [this._year, this._month, this._date] = [\n result.getFullYear(),\n result.getMonth(),\n result.getDate(),\n ];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else if (typeof val === 'object' && val instanceof Date) {\n const result = EthiopianDate.gregorianToEthiopian(val);\n [this._year, this._month, this._date] = [\n result.getFullYear(),\n result.getMonth(),\n result.getDate(),\n ];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n this._year = val;\n this._month = month;\n this._date = day;\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n }\n }\n\n getDate(): number {\n return this._date;\n }\n\n getDay(): number {\n return this._gc.getDay();\n }\n\n getDayOfWeek() {\n const weekDay = this.getGCWeekDay();\n return WEEK_NAMES[weekDay];\n }\n\n getFullYear(): number {\n return this._year;\n }\n\n getGregorianDate(): Date {\n return this._gc;\n }\n\n getGCWeekDay(): number {\n return this._gc.getDay();\n }\n\n getMonth(): number {\n return this._month;\n }\n\n getMonthName(): string | null {\n return this._month >= 0 && this._month < MONTHS_NAMES.length ? MONTHS_NAMES[this._month] : null;\n }\n\n getShortMonthName(): string | null {\n return this._month >= 0 && this._month < SHORT_MONTHS_NAMES.length\n ? SHORT_MONTHS_NAMES[this._month]\n : null;\n }\n\n getHours(): number {\n return 0;\n }\n\n getMinutes(): number {\n return 0;\n }\n\n getSeconds(): number {\n return 0;\n }\n\n getMilliseconds(): number {\n return 0;\n }\n\n toString(): string {\n return `${this._year}-${this._month + 1}-${this._date}`;\n }\n\n /**\n * Converts a Ethiopian date to Gregorian and returns Date instance representing Gregorian Date.\n *\n * @param val - A numeric year value if the second and third parameters are\n * provided, it should be a date string if not\n * @param month A zero-based numeric value for the month\n * (0 for መስከረም, 12 for ጳጉሜን)\n * @param day A numeric value equal for the day of the month.\n *\n * @api public\n */\n static ethiopianToGregorian(\n val?: EthiopianDate | string | number,\n month?: number,\n day?: number,\n ): Date {\n let ec: [number, number, number];\n if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const etDate = new EthiopianDate(val);\n ec = [etDate.getFullYear(), etDate.getMonth() + 1, etDate.getDate()];\n } else if (typeof val === 'object' && val instanceof EthiopianDate) {\n const [y, m, d] = [val.getFullYear(), val.getMonth() + 1, val.getDate()];\n ec = [y, m, d];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n ec = [val, month + 1, day];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n const gc = toGC(ec);\n return new Date(gc[0], gc[1] - 1, gc[2]);\n }\n\n /**\n *\n * @param val - A numeric year value if the second and third parameters are\n * provided, it should be a date string if not\n * @param month A zero-based numeric value for the month\n * (0 for January, 11 for December)\n * @param day A numeric value equal for the day of the month.\n *\n * @api public\n */\n static gregorianToEthiopian(\n val?: Date | string | number,\n month?: number,\n day?: number,\n ): EthiopianDate {\n let gc: [number, number, number];\n if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const gcDate = new Date(val);\n gc = [gcDate.getFullYear(), gcDate.getMonth() + 1, gcDate.getDate()];\n } else if (typeof val === 'object' && val instanceof Date) {\n const [y, m, d] = [val.getFullYear(), val.getMonth() + 1, val.getDate()];\n gc = [y, m, d];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n gc = [val, month + 1, day];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n const ec = toEC(gc);\n return new EthiopianDate(ec[0], ec[1] - 1, ec[2]);\n }\n\n /**\n * Parse Ethiopian date from string\n *\n * @param dateString a date string to parse\n * @param pattern a parsing pattern\n *\n * @returns EthiopianDate\n */\n static parse(dateString: string): EthiopianDate | null {\n if (!dateString) {\n return null;\n }\n const result = dateString.split('-');\n if (result.length === 3) {\n const [y, m, d] = result;\n return new EthiopianDate(parseInt(y, 10), parseInt(m, 10) - 1, parseInt(d, 10));\n }\n throw new Error(`ParsingError: Can't parse ${dateString}`);\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {\n AjfCalendarEntry,\n AjfCalendarParams,\n AjfCalendarService,\n AjfCalendarView,\n AjfCalendarViewMode,\n} from '@ajf/core/calendar';\nimport {Injectable} from '@angular/core';\nimport {\n addDays,\n addWeeks,\n addYears,\n endOfISOWeek,\n getISODay,\n setISODay,\n startOfISOWeek,\n startOfWeek,\n subWeeks,\n} from 'date-fns';\n\nimport {EthiopianDate} from './ethiopian-date';\n\nfunction getMonthDays(month: number, year: number): number {\n if (month < 12) {\n return 30;\n }\n return year % 4 === 3 ? 6 : 5;\n}\n\nfunction getMonthBounds(date: EthiopianDate): {start: EthiopianDate; end: EthiopianDate} {\n const year = date.getFullYear();\n const month = date.getMonth();\n const start = new EthiopianDate(year, month, 1);\n const endDay = getMonthDays(month, year);\n const end = new EthiopianDate(year, month, endDay);\n return {start, end};\n}\n\n@Injectable({providedIn: 'root'})\nexport class AjfEthiopianCalendarService extends AjfCalendarService {\n override buildView(params: AjfCalendarParams): AjfCalendarView {\n const {viewMode} = params;\n const viewDate = EthiopianDate.gregorianToEthiopian(params.viewDate);\n switch (viewMode) {\n case 'decade':\n let curYear: number = viewDate.getFullYear();\n let firstYear = curYear - (curYear % 10) + 1;\n let lastYear = firstYear + 11;\n return {\n header: `${firstYear} - ${lastYear}`,\n headerRow: [],\n rows: this._ecDecadeCalendarRows(params),\n };\n case 'year':\n return {\n header: `${viewDate.getFullYear()}`,\n headerRow: [],\n rows: this._ecYearCalendarRows(params),\n };\n case 'month':\n const view = super.buildView(params);\n return {\n header: `${viewDate.getShortMonthName()} ${viewDate.getFullYear()}`,\n headerRow: this._ecMonthHeaderRow(params),\n rows: view.rows,\n };\n }\n return super.buildView(params);\n }\n\n override entryLabel(entry: AjfCalendarEntry): string {\n const ecDate = EthiopianDate.gregorianToEthiopian(entry.date);\n if (entry.type === 'day') {\n return `${ecDate.getDate()}`;\n }\n if (entry.type === 'month') {\n return `${ecDate.getMonthName()}`;\n }\n return `${ecDate.getFullYear()}`;\n }\n\n override monthBounds(date: Date, isoMode: boolean): {start: Date; end: Date} {\n if (!isoMode) {\n const ecDate = EthiopianDate.gregorianToEthiopian(date);\n const {start, end} = getMonthBounds(ecDate);\n return {\n start: EthiopianDate.ethiopianToGregorian(start),\n end: EthiopianDate.ethiopianToGregorian(end),\n };\n } else {\n let isoDay = getISODay(date);\n const ecDate = EthiopianDate.gregorianToEthiopian(date);\n let {start, end} = getMonthBounds(ecDate);\n if (ecDate.getMonth() === 12) {\n start = EthiopianDate.gregorianToEthiopian(startOfISOWeek(start.getGregorianDate()));\n end = EthiopianDate.gregorianToEthiopian(endOfISOWeek(end.getGregorianDate()));\n } else {\n date = isoDay < 4 ? endOfISOWeek(date) : startOfISOWeek(date);\n const startWeekDay = start.getDay();\n const endWeekDay = end.getDay();\n if (startWeekDay == 0 || startWeekDay > 4) {\n start = EthiopianDate.gregorianToEthiopian(addWeeks(start.getGregorianDate(), 1));\n }\n if (endWeekDay > 0 && endWeekDay < 4) {\n end = EthiopianDate.gregorianToEthiopian(subWeeks(end.getGregorianDate(), 1));\n }\n }\n return {\n start: startOfISOWeek(start.getGregorianDate()),\n end: endOfISOWeek(end.getGregorianDate()),\n };\n }\n }\n\n override nextView(viewDate: Date, viewMode: AjfCalendarViewMode): Date {\n if (viewMode === 'month') {\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let year = ecDate.getFullYear();\n let month = ecDate.getMonth();\n if (month === 12) {\n month = 0;\n year += 1;\n } else {\n month += 1;\n }\n return EthiopianDate.ethiopianToGregorian(new EthiopianDate(year, month, 1));\n }\n return super.nextView(viewDate, viewMode);\n }\n\n override previousView(viewDate: Date, viewMode: AjfCalendarViewMode): Date {\n if (viewMode === 'month') {\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let year = ecDate.getFullYear();\n let month = ecDate.getMonth();\n if (month === 0) {\n month = 12;\n year -= 1;\n } else {\n month -= 1;\n }\n return EthiopianDate.ethiopianToGregorian(new EthiopianDate(year, month, 1));\n }\n return super.previousView(viewDate, viewMode);\n }\n\n private _ecMonthHeaderRow(params: AjfCalendarParams): string[] {\n const {isoMode, viewDate} = params;\n let curDate: Date;\n if (isoMode) {\n curDate = setISODay(startOfWeek(viewDate), 1);\n } else {\n curDate = startOfWeek(viewDate);\n }\n let weekDayNames: string[] = [];\n for (let i = 0; i < 7; i++) {\n const ecDate = EthiopianDate.gregorianToEthiopian(curDate);\n weekDayNames.push(ecDate.getDayOfWeek());\n curDate = addDays(curDate, 1);\n }\n return weekDayNames;\n }\n\n private _ecYearCalendarRows(params: AjfCalendarParams): AjfCalendarEntry[][] {\n const {viewDate, selection} = params;\n const year = EthiopianDate.gregorianToEthiopian(viewDate).getFullYear();\n let curDate: EthiopianDate;\n\n let rows: AjfCalendarEntry[][] = [];\n for (let i = 0; i <= 4; i++) {\n let row: AjfCalendarEntry[] = [];\n for (let j = 0; j < 3; j++) {\n const curMonth = i * 3 + j;\n if (curMonth < 13) {\n curDate = new EthiopianDate(year, curMonth, 1);\n let date = EthiopianDate.ethiopianToGregorian(curDate);\n let newEntry: AjfCalendarEntry = {type: 'month', date, selected: 'none'};\n newEntry.selected = this.isEntrySelected(newEntry, selection);\n row.push(newEntry);\n }\n }\n rows.push(row);\n }\n\n return rows;\n }\n\n private _ecDecadeCalendarRows(params: AjfCalendarParams): AjfCalendarEntry[][] {\n const {viewDate, selection} = params;\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let curYear: number = ecDate.getFullYear();\n let firstYear = curYear - (curYear % 10) + 1;\n let curDate: Date = EthiopianDate.ethiopianToGregorian(firstYear, 0, 1);\n\n let rows: AjfCalendarEntry[][] = [];\n for (let i = 0; i < 4; i++) {\n let row: AjfCalendarEntry[] = [];\n for (let j = 0; j < 3; j++) {\n let date = new Date(curDate);\n let newEntry: AjfCalendarEntry = {type: 'year', date: date, selected: 'none'};\n newEntry.selected = this.isEntrySelected(newEntry, selection);\n row.push(newEntry);\n curDate = addYears(curDate, 1);\n }\n rows.push(row);\n }\n\n return rows;\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {Injectable, Pipe, PipeTransform} from '@angular/core';\nimport {EthiopianDate} from './ethiopian-date';\n\n@Injectable()\n@Pipe({name: 'ajfEthiopianDate'})\nexport class AjfEthiopianDatePipe implements PipeTransform {\n transform(value: any): string | null {\n try {\n const ed = EthiopianDate.gregorianToEthiopian(value);\n const date = `0${ed.getDate()}`.slice(-2);\n const month = `0${ed.getMonth() + 1}`.slice(-2);\n return `${date}/${month}/${ed.getFullYear()}`;\n } catch (e) {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfCalendarService} from '@ajf/core/calendar';\nimport {NgModule} from '@angular/core';\n\nimport {AjfEthiopianCalendarService} from './calendar-service';\nimport {AjfEthiopianDatePipe} from './ethiopian-date-pipe';\n\n@NgModule({\n declarations: [AjfEthiopianDatePipe],\n exports: [AjfEthiopianDatePipe],\n providers: [{provide: AjfCalendarService, useClass: AjfEthiopianCalendarService}],\n})\nexport class AjfEthiopianCalendarModule {}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport * from './calendar-module';\nexport * from './calendar-service';\nexport * from './ethiopian-date';\nexport * from './ethiopian-date-pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { VERSION } from '@ajf/core';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright (C) Gnucoop soc. coop.
|
|
@@ -19,4 +21,8 @@
|
|
|
19
21
|
* If not, see http://www.gnu.org/licenses/.
|
|
20
22
|
*
|
|
21
23
|
*/
|
|
22
|
-
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Generated bundle index. Do not edit.
|
|
27
|
+
*/
|
|
28
|
+
//# sourceMappingURL=ajf-calendars.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajf-calendars.mjs","sources":["../../../projects/calendars/src/public-api.ts","../../../projects/calendars/src/ajf-calendars.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {VERSION} from '@ajf/core';\n\nexport {VERSION};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;AAoBG;;ACpBH;;AAEG"}
|
|
@@ -239,6 +239,10 @@ class EthiopianDate {
|
|
|
239
239
|
* @param day A numeric value equal for the day of the month.
|
|
240
240
|
*/
|
|
241
241
|
constructor(val, month, day) {
|
|
242
|
+
this._year = 0;
|
|
243
|
+
this._month = 0;
|
|
244
|
+
this._date = 0;
|
|
245
|
+
this._gc = new Date();
|
|
242
246
|
if (val == null && month == null && day == null) {
|
|
243
247
|
const ahun = EthiopianDate.gregorianToEthiopian(new Date());
|
|
244
248
|
[this._year, this._month, this._date] = [ahun.getFullYear(), ahun.getMonth(), ahun.getDate()];
|
|
@@ -612,9 +616,9 @@ class AjfEthiopianCalendarService extends AjfCalendarService {
|
|
|
612
616
|
return rows;
|
|
613
617
|
}
|
|
614
618
|
}
|
|
615
|
-
AjfEthiopianCalendarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
616
|
-
AjfEthiopianCalendarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
617
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
619
|
+
AjfEthiopianCalendarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
620
|
+
AjfEthiopianCalendarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarService, providedIn: 'root' });
|
|
621
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarService, decorators: [{
|
|
618
622
|
type: Injectable,
|
|
619
623
|
args: [{ providedIn: 'root' }]
|
|
620
624
|
}] });
|
|
@@ -653,10 +657,10 @@ class AjfEthiopianDatePipe {
|
|
|
653
657
|
}
|
|
654
658
|
}
|
|
655
659
|
}
|
|
656
|
-
AjfEthiopianDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
657
|
-
AjfEthiopianDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.
|
|
658
|
-
AjfEthiopianDatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
659
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
660
|
+
AjfEthiopianDatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianDatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
661
|
+
AjfEthiopianDatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianDatePipe, name: "ajfEthiopianDate" });
|
|
662
|
+
AjfEthiopianDatePipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianDatePipe });
|
|
663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianDatePipe, decorators: [{
|
|
660
664
|
type: Injectable
|
|
661
665
|
}, {
|
|
662
666
|
type: Pipe,
|
|
@@ -686,10 +690,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ng
|
|
|
686
690
|
*/
|
|
687
691
|
class AjfEthiopianCalendarModule {
|
|
688
692
|
}
|
|
689
|
-
AjfEthiopianCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
690
|
-
AjfEthiopianCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
691
|
-
AjfEthiopianCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
692
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
693
|
+
AjfEthiopianCalendarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
694
|
+
AjfEthiopianCalendarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarModule, declarations: [AjfEthiopianDatePipe], exports: [AjfEthiopianDatePipe] });
|
|
695
|
+
AjfEthiopianCalendarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarModule, providers: [{ provide: AjfCalendarService, useClass: AjfEthiopianCalendarService }] });
|
|
696
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: AjfEthiopianCalendarModule, decorators: [{
|
|
693
697
|
type: NgModule,
|
|
694
698
|
args: [{
|
|
695
699
|
declarations: [AjfEthiopianDatePipe],
|
|
@@ -720,31 +724,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-rc.3", ng
|
|
|
720
724
|
*
|
|
721
725
|
*/
|
|
722
726
|
|
|
723
|
-
/**
|
|
724
|
-
* @license
|
|
725
|
-
* Copyright (C) Gnucoop soc. coop.
|
|
726
|
-
*
|
|
727
|
-
* This file is part of the Advanced JSON forms (ajf).
|
|
728
|
-
*
|
|
729
|
-
* Advanced JSON forms (ajf) is free software: you can redistribute it and/or
|
|
730
|
-
* modify it under the terms of the GNU Affero General Public License as
|
|
731
|
-
* published by the Free Software Foundation, either version 3 of the License,
|
|
732
|
-
* or (at your option) any later version.
|
|
733
|
-
*
|
|
734
|
-
* Advanced JSON forms (ajf) is distributed in the hope that it will be useful,
|
|
735
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
736
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
|
|
737
|
-
* General Public License for more details.
|
|
738
|
-
*
|
|
739
|
-
* You should have received a copy of the GNU Affero General Public License
|
|
740
|
-
* along with Advanced JSON forms (ajf).
|
|
741
|
-
* If not, see http://www.gnu.org/licenses/.
|
|
742
|
-
*
|
|
743
|
-
*/
|
|
744
|
-
|
|
745
727
|
/**
|
|
746
728
|
* Generated bundle index. Do not edit.
|
|
747
729
|
*/
|
|
748
730
|
|
|
749
731
|
export { AjfEthiopianCalendarModule, AjfEthiopianCalendarService, AjfEthiopianDatePipe, EthiopianDate };
|
|
750
|
-
//# sourceMappingURL=ethiopian.mjs.map
|
|
732
|
+
//# sourceMappingURL=ajf-calendars-ethiopian.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajf-calendars-ethiopian.mjs","sources":["../../../projects/calendars/ethiopian/src/converter.ts","../../../projects/calendars/ethiopian/src/utils.ts","../../../projects/calendars/ethiopian/src/ethiopian-date.ts","../../../projects/calendars/ethiopian/src/calendar-service.ts","../../../projects/calendars/ethiopian/src/ethiopian-date-pipe.ts","../../../projects/calendars/ethiopian/src/calendar-module.ts","../../../projects/calendars/ethiopian/src/public_api.ts","../../../projects/calendars/ethiopian/src/ajf-calendars-ethiopian.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nconst JD_EPOCH_OFFSET_AMETE_ALEM = -285019; // ዓ/ዓ\nconst JD_EPOCH_OFFSET_AMETE_MIHRET = 1723856; // ዓ/ም\nconst JD_EPOCH_OFFSET_GREGORIAN = 1721426;\nconst JD_EPOCH_OFFSET_UNSET = -1;\n\nlet JDN_OFFSET = JD_EPOCH_OFFSET_UNSET;\n\nconst GREGORIAN_NUMBER_OF_MONTHS = 12;\nconst monthDays = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\n\nfunction quotient(i: number, j: number): number {\n return Math.floor(i / j);\n}\n\nfunction isGregorianLeap(year: number): boolean {\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nfunction setEra(era: number): void {\n if (era === JD_EPOCH_OFFSET_AMETE_ALEM || era === JD_EPOCH_OFFSET_AMETE_MIHRET) {\n JDN_OFFSET = era;\n } else {\n throw new Error(`Unknown Era: ${era}`);\n }\n}\n\nfunction isEraSet(): boolean {\n return JD_EPOCH_OFFSET_UNSET !== JDN_OFFSET;\n}\n\nfunction unsetEra(): void {\n JDN_OFFSET = JD_EPOCH_OFFSET_UNSET;\n}\n\nfunction guessEraFromJDN(jdn: number) {\n return jdn >= JD_EPOCH_OFFSET_AMETE_MIHRET + 365\n ? JD_EPOCH_OFFSET_AMETE_MIHRET\n : JD_EPOCH_OFFSET_AMETE_ALEM;\n}\n\nfunction ethiopicToJDN(day: number, month: number, year: number) {\n const ERA = isEraSet() ? JDN_OFFSET : JD_EPOCH_OFFSET_AMETE_MIHRET;\n const jdn = ERA + 365 + 365 * (year - 1) + quotient(year, 4) + 30 * month + day - 31;\n\n return jdn;\n}\n\nfunction jdnToEthiopic(jdn: number): [number, number, number] {\n const ERA = isEraSet() ? JDN_OFFSET : guessEraFromJDN(jdn);\n const r = (jdn - ERA) % 1461;\n const n = (r % 365) + 365 * quotient(r, 1460);\n const year = 4 * quotient(jdn - ERA, 1461) + quotient(r, 365) - quotient(r, 1460);\n const month = quotient(n, 30) + 1;\n const day = (n % 30) + 1;\n\n return [year, month, day];\n}\n\nfunction gregorianToJDN(day: number, month: number, year: number): number {\n const s =\n quotient(year, 4) -\n quotient(year - 1, 4) -\n quotient(year, 100) +\n quotient(year - 1, 100) +\n quotient(year, 400) -\n quotient(year - 1, 400);\n\n const t = quotient(14 - month, 12);\n\n const n =\n 31 * t * (month - 1) +\n (1 - t) * (59 + s + 30 * (month - 3) + quotient(3 * month - 7, 5)) +\n day -\n 1;\n\n const j =\n JD_EPOCH_OFFSET_GREGORIAN +\n 365 * (year - 1) +\n quotient(year - 1, 4) -\n quotient(year - 1, 100) +\n quotient(year - 1, 400) +\n n;\n\n return j;\n}\n\nfunction jdnToGregorian(jdn: number): [number, number, number] {\n const r2000 = (jdn - JD_EPOCH_OFFSET_GREGORIAN) % 730485;\n const r400 = (jdn - JD_EPOCH_OFFSET_GREGORIAN) % 146097;\n const r100 = r400 % 36524;\n const r4 = r100 % 1461;\n let n = (r4 % 365) + 365 * quotient(r4, 1460);\n const s = quotient(r4, 1095);\n const aprime =\n 400 * quotient(jdn - JD_EPOCH_OFFSET_GREGORIAN, 146097) +\n 100 * quotient(r400, 36524) +\n 4 * quotient(r100, 1461) +\n quotient(r4, 365) -\n quotient(r4, 1460) -\n quotient(r2000, 730484);\n const year = aprime + 1;\n const t = quotient(364 + s - n, 306);\n let month = t * (quotient(n, 31) + 1) + (1 - t) * (quotient(5 * (n - s) + 13, 153) + 1);\n n += 1 - quotient(r2000, 730484);\n let day = n;\n\n if (r100 === 0 && n === 0 && r400 !== 0) {\n month = 12;\n day = 31;\n } else {\n monthDays[2] = isGregorianLeap(year) ? 29 : 28;\n for (let i = 1; i <= GREGORIAN_NUMBER_OF_MONTHS; i += 1) {\n if (n <= monthDays[i]) {\n day = n;\n break;\n }\n n -= monthDays[i];\n }\n }\n return [year, month, day];\n}\n\nfunction gregorianToEthiopic(day: number, month: number, year: number): [number, number, number] {\n const jdn = gregorianToJDN(day, month, year);\n return jdnToEthiopic(jdn);\n}\n\nfunction ethioipicToGreg(day: number, month: number, year: number): [number, number, number] {\n const jdn = ethiopicToJDN(day, month, year);\n return jdnToGregorian(jdn);\n}\n\nfunction ethioipicToGregorian(\n day: number,\n month: number,\n year: number,\n era: number,\n): [number, number, number] {\n setEra(era);\n const result = ethioipicToGreg(day, month, year);\n unsetEra();\n return result;\n}\n\n/** API * */\n\n/** ethiopian to gregorian */\nexport function toGC(\n dateArray: [number, number, number] | [number, number, number, number],\n): [number, number, number] {\n const [y, m, d] = dateArray;\n let era = dateArray.length === 4 ? dateArray[3] : JD_EPOCH_OFFSET_AMETE_MIHRET;\n if (d < 0 || d > 30 || m < 0 || m > 13) {\n throw new Error('Invalid Ethiopian Date');\n }\n return ethioipicToGregorian(d, m, y, era);\n}\n\n/** gregorian to ethiopian */\nexport function toEC(dateArray: [number, number, number]): [number, number, number] {\n const [y, m, d] = dateArray;\n if (d < 0 || d > 31 || m < 0 || m > 12) {\n throw new Error('Invalid Gregorian Date');\n }\n return gregorianToEthiopic(d, m, y);\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport const WEEK_NAMES = ['እሑድ', 'ሰኞ', 'ማክሰኞ', 'ረቡዕ', 'ሓሙስ', 'ዓርብ', 'ቅዳሜ'];\n\nexport const MONTHS_NAMES = [\n 'መስከረም',\n 'ጥቅምት',\n 'ኅዳር',\n 'ታኅሣሥ',\n 'ጥር',\n 'የካቲት',\n 'መጋቢት',\n 'ሚያዝያ',\n 'ግንቦት',\n 'ሰኔ',\n 'ሐምሌ',\n 'ነሐሴ',\n 'ጳጉሜን',\n];\n\nexport const SHORT_MONTHS_NAMES = [\n 'መስከ',\n 'ጥቅም',\n 'ኅዳር',\n 'ታኅሣ',\n 'ጥር',\n 'የካቲ',\n 'መጋቢ',\n 'ሚያዝ',\n 'ግንቦ',\n 'ሰኔ',\n 'ሐምሌ',\n 'ነሐሴ',\n 'ጳጉሜ',\n];\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {toEC, toGC} from './converter';\nimport {MONTHS_NAMES, SHORT_MONTHS_NAMES, WEEK_NAMES} from './utils';\n\nexport class EthiopianDate {\n private _year: number = 0;\n private _month: number = 0;\n private _date: number = 0;\n private _gc: Date = new Date();\n\n /**\n * @param val - A numeric year value if the second and third parameters ar provided,\n * It should be a date string if not\n * @param month A zero-based numeric value for the month (0 for መስከረም, 12 for ጳጉሜን)\n * @param day A numeric value equal for the day of the month.\n */\n constructor(val?: Date | string | number, month?: number, day?: number) {\n if (val == null && month == null && day == null) {\n const ahun = EthiopianDate.gregorianToEthiopian(new Date());\n [this._year, this._month, this._date] = [ahun.getFullYear(), ahun.getMonth(), ahun.getDate()];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const result = EthiopianDate.parse(val);\n if (result == null) {\n throw new Error('Invalid Argument Exception');\n }\n [this._year, this._month, this._date] = [\n result.getFullYear(),\n result.getMonth(),\n result.getDate(),\n ];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else if (typeof val === 'object' && val instanceof Date) {\n const result = EthiopianDate.gregorianToEthiopian(val);\n [this._year, this._month, this._date] = [\n result.getFullYear(),\n result.getMonth(),\n result.getDate(),\n ];\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n this._year = val;\n this._month = month;\n this._date = day;\n this._gc = EthiopianDate.ethiopianToGregorian(this._year, this._month, this._date);\n }\n }\n\n getDate(): number {\n return this._date;\n }\n\n getDay(): number {\n return this._gc.getDay();\n }\n\n getDayOfWeek() {\n const weekDay = this.getGCWeekDay();\n return WEEK_NAMES[weekDay];\n }\n\n getFullYear(): number {\n return this._year;\n }\n\n getGregorianDate(): Date {\n return this._gc;\n }\n\n getGCWeekDay(): number {\n return this._gc.getDay();\n }\n\n getMonth(): number {\n return this._month;\n }\n\n getMonthName(): string | null {\n return this._month >= 0 && this._month < MONTHS_NAMES.length ? MONTHS_NAMES[this._month] : null;\n }\n\n getShortMonthName(): string | null {\n return this._month >= 0 && this._month < SHORT_MONTHS_NAMES.length\n ? SHORT_MONTHS_NAMES[this._month]\n : null;\n }\n\n getHours(): number {\n return 0;\n }\n\n getMinutes(): number {\n return 0;\n }\n\n getSeconds(): number {\n return 0;\n }\n\n getMilliseconds(): number {\n return 0;\n }\n\n toString(): string {\n return `${this._year}-${this._month + 1}-${this._date}`;\n }\n\n /**\n * Converts a Ethiopian date to Gregorian and returns Date instance representing Gregorian Date.\n *\n * @param val - A numeric year value if the second and third parameters are\n * provided, it should be a date string if not\n * @param month A zero-based numeric value for the month\n * (0 for መስከረም, 12 for ጳጉሜን)\n * @param day A numeric value equal for the day of the month.\n *\n * @api public\n */\n static ethiopianToGregorian(\n val?: EthiopianDate | string | number,\n month?: number,\n day?: number,\n ): Date {\n let ec: [number, number, number];\n if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const etDate = new EthiopianDate(val);\n ec = [etDate.getFullYear(), etDate.getMonth() + 1, etDate.getDate()];\n } else if (typeof val === 'object' && val instanceof EthiopianDate) {\n const [y, m, d] = [val.getFullYear(), val.getMonth() + 1, val.getDate()];\n ec = [y, m, d];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n ec = [val, month + 1, day];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n const gc = toGC(ec);\n return new Date(gc[0], gc[1] - 1, gc[2]);\n }\n\n /**\n *\n * @param val - A numeric year value if the second and third parameters are\n * provided, it should be a date string if not\n * @param month A zero-based numeric value for the month\n * (0 for January, 11 for December)\n * @param day A numeric value equal for the day of the month.\n *\n * @api public\n */\n static gregorianToEthiopian(\n val?: Date | string | number,\n month?: number,\n day?: number,\n ): EthiopianDate {\n let gc: [number, number, number];\n if (val != null && month == null && day == null && typeof val !== 'number') {\n if (typeof val === 'string') {\n const gcDate = new Date(val);\n gc = [gcDate.getFullYear(), gcDate.getMonth() + 1, gcDate.getDate()];\n } else if (typeof val === 'object' && val instanceof Date) {\n const [y, m, d] = [val.getFullYear(), val.getMonth() + 1, val.getDate()];\n gc = [y, m, d];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n } else if (val != null && month != null && day != null && typeof val === 'number') {\n gc = [val, month + 1, day];\n } else {\n throw new Error('Invalid Argument Exception');\n }\n const ec = toEC(gc);\n return new EthiopianDate(ec[0], ec[1] - 1, ec[2]);\n }\n\n /**\n * Parse Ethiopian date from string\n *\n * @param dateString a date string to parse\n * @param pattern a parsing pattern\n *\n * @returns EthiopianDate\n */\n static parse(dateString: string): EthiopianDate | null {\n if (!dateString) {\n return null;\n }\n const result = dateString.split('-');\n if (result.length === 3) {\n const [y, m, d] = result;\n return new EthiopianDate(parseInt(y, 10), parseInt(m, 10) - 1, parseInt(d, 10));\n }\n throw new Error(`ParsingError: Can't parse ${dateString}`);\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {\n AjfCalendarEntry,\n AjfCalendarParams,\n AjfCalendarService,\n AjfCalendarView,\n AjfCalendarViewMode,\n} from '@ajf/core/calendar';\nimport {Injectable} from '@angular/core';\nimport {\n addDays,\n addWeeks,\n addYears,\n endOfISOWeek,\n getISODay,\n setISODay,\n startOfISOWeek,\n startOfWeek,\n subWeeks,\n} from 'date-fns';\n\nimport {EthiopianDate} from './ethiopian-date';\n\nfunction getMonthDays(month: number, year: number): number {\n if (month < 12) {\n return 30;\n }\n return year % 4 === 3 ? 6 : 5;\n}\n\nfunction getMonthBounds(date: EthiopianDate): {start: EthiopianDate; end: EthiopianDate} {\n const year = date.getFullYear();\n const month = date.getMonth();\n const start = new EthiopianDate(year, month, 1);\n const endDay = getMonthDays(month, year);\n const end = new EthiopianDate(year, month, endDay);\n return {start, end};\n}\n\n@Injectable({providedIn: 'root'})\nexport class AjfEthiopianCalendarService extends AjfCalendarService {\n override buildView(params: AjfCalendarParams): AjfCalendarView {\n const {viewMode} = params;\n const viewDate = EthiopianDate.gregorianToEthiopian(params.viewDate);\n switch (viewMode) {\n case 'decade':\n let curYear: number = viewDate.getFullYear();\n let firstYear = curYear - (curYear % 10) + 1;\n let lastYear = firstYear + 11;\n return {\n header: `${firstYear} - ${lastYear}`,\n headerRow: [],\n rows: this._ecDecadeCalendarRows(params),\n };\n case 'year':\n return {\n header: `${viewDate.getFullYear()}`,\n headerRow: [],\n rows: this._ecYearCalendarRows(params),\n };\n case 'month':\n const view = super.buildView(params);\n return {\n header: `${viewDate.getShortMonthName()} ${viewDate.getFullYear()}`,\n headerRow: this._ecMonthHeaderRow(params),\n rows: view.rows,\n };\n }\n return super.buildView(params);\n }\n\n override entryLabel(entry: AjfCalendarEntry): string {\n const ecDate = EthiopianDate.gregorianToEthiopian(entry.date);\n if (entry.type === 'day') {\n return `${ecDate.getDate()}`;\n }\n if (entry.type === 'month') {\n return `${ecDate.getMonthName()}`;\n }\n return `${ecDate.getFullYear()}`;\n }\n\n override monthBounds(date: Date, isoMode: boolean): {start: Date; end: Date} {\n if (!isoMode) {\n const ecDate = EthiopianDate.gregorianToEthiopian(date);\n const {start, end} = getMonthBounds(ecDate);\n return {\n start: EthiopianDate.ethiopianToGregorian(start),\n end: EthiopianDate.ethiopianToGregorian(end),\n };\n } else {\n let isoDay = getISODay(date);\n const ecDate = EthiopianDate.gregorianToEthiopian(date);\n let {start, end} = getMonthBounds(ecDate);\n if (ecDate.getMonth() === 12) {\n start = EthiopianDate.gregorianToEthiopian(startOfISOWeek(start.getGregorianDate()));\n end = EthiopianDate.gregorianToEthiopian(endOfISOWeek(end.getGregorianDate()));\n } else {\n date = isoDay < 4 ? endOfISOWeek(date) : startOfISOWeek(date);\n const startWeekDay = start.getDay();\n const endWeekDay = end.getDay();\n if (startWeekDay == 0 || startWeekDay > 4) {\n start = EthiopianDate.gregorianToEthiopian(addWeeks(start.getGregorianDate(), 1));\n }\n if (endWeekDay > 0 && endWeekDay < 4) {\n end = EthiopianDate.gregorianToEthiopian(subWeeks(end.getGregorianDate(), 1));\n }\n }\n return {\n start: startOfISOWeek(start.getGregorianDate()),\n end: endOfISOWeek(end.getGregorianDate()),\n };\n }\n }\n\n override nextView(viewDate: Date, viewMode: AjfCalendarViewMode): Date {\n if (viewMode === 'month') {\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let year = ecDate.getFullYear();\n let month = ecDate.getMonth();\n if (month === 12) {\n month = 0;\n year += 1;\n } else {\n month += 1;\n }\n return EthiopianDate.ethiopianToGregorian(new EthiopianDate(year, month, 1));\n }\n return super.nextView(viewDate, viewMode);\n }\n\n override previousView(viewDate: Date, viewMode: AjfCalendarViewMode): Date {\n if (viewMode === 'month') {\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let year = ecDate.getFullYear();\n let month = ecDate.getMonth();\n if (month === 0) {\n month = 12;\n year -= 1;\n } else {\n month -= 1;\n }\n return EthiopianDate.ethiopianToGregorian(new EthiopianDate(year, month, 1));\n }\n return super.previousView(viewDate, viewMode);\n }\n\n private _ecMonthHeaderRow(params: AjfCalendarParams): string[] {\n const {isoMode, viewDate} = params;\n let curDate: Date;\n if (isoMode) {\n curDate = setISODay(startOfWeek(viewDate), 1);\n } else {\n curDate = startOfWeek(viewDate);\n }\n let weekDayNames: string[] = [];\n for (let i = 0; i < 7; i++) {\n const ecDate = EthiopianDate.gregorianToEthiopian(curDate);\n weekDayNames.push(ecDate.getDayOfWeek());\n curDate = addDays(curDate, 1);\n }\n return weekDayNames;\n }\n\n private _ecYearCalendarRows(params: AjfCalendarParams): AjfCalendarEntry[][] {\n const {viewDate, selection} = params;\n const year = EthiopianDate.gregorianToEthiopian(viewDate).getFullYear();\n let curDate: EthiopianDate;\n\n let rows: AjfCalendarEntry[][] = [];\n for (let i = 0; i <= 4; i++) {\n let row: AjfCalendarEntry[] = [];\n for (let j = 0; j < 3; j++) {\n const curMonth = i * 3 + j;\n if (curMonth < 13) {\n curDate = new EthiopianDate(year, curMonth, 1);\n let date = EthiopianDate.ethiopianToGregorian(curDate);\n let newEntry: AjfCalendarEntry = {type: 'month', date, selected: 'none'};\n newEntry.selected = this.isEntrySelected(newEntry, selection);\n row.push(newEntry);\n }\n }\n rows.push(row);\n }\n\n return rows;\n }\n\n private _ecDecadeCalendarRows(params: AjfCalendarParams): AjfCalendarEntry[][] {\n const {viewDate, selection} = params;\n const ecDate = EthiopianDate.gregorianToEthiopian(viewDate);\n let curYear: number = ecDate.getFullYear();\n let firstYear = curYear - (curYear % 10) + 1;\n let curDate: Date = EthiopianDate.ethiopianToGregorian(firstYear, 0, 1);\n\n let rows: AjfCalendarEntry[][] = [];\n for (let i = 0; i < 4; i++) {\n let row: AjfCalendarEntry[] = [];\n for (let j = 0; j < 3; j++) {\n let date = new Date(curDate);\n let newEntry: AjfCalendarEntry = {type: 'year', date: date, selected: 'none'};\n newEntry.selected = this.isEntrySelected(newEntry, selection);\n row.push(newEntry);\n curDate = addYears(curDate, 1);\n }\n rows.push(row);\n }\n\n return rows;\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {Injectable, Pipe, PipeTransform} from '@angular/core';\nimport {EthiopianDate} from './ethiopian-date';\n\n@Injectable()\n@Pipe({name: 'ajfEthiopianDate'})\nexport class AjfEthiopianDatePipe implements PipeTransform {\n transform(value: any): string | null {\n try {\n const ed = EthiopianDate.gregorianToEthiopian(value);\n const date = `0${ed.getDate()}`.slice(-2);\n const month = `0${ed.getMonth() + 1}`.slice(-2);\n return `${date}/${month}/${ed.getFullYear()}`;\n } catch (e) {\n return null;\n }\n }\n}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {AjfCalendarService} from '@ajf/core/calendar';\nimport {NgModule} from '@angular/core';\n\nimport {AjfEthiopianCalendarService} from './calendar-service';\nimport {AjfEthiopianDatePipe} from './ethiopian-date-pipe';\n\n@NgModule({\n declarations: [AjfEthiopianDatePipe],\n exports: [AjfEthiopianDatePipe],\n providers: [{provide: AjfCalendarService, useClass: AjfEthiopianCalendarService}],\n})\nexport class AjfEthiopianCalendarModule {}\n","/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nexport * from './calendar-module';\nexport * from './calendar-service';\nexport * from './ethiopian-date';\nexport * from './ethiopian-date-pipe';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export { VERSION } from '@ajf/core';
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* @license
|
|
3
5
|
* Copyright (C) Gnucoop soc. coop.
|
|
@@ -19,6 +21,8 @@
|
|
|
19
21
|
* If not, see http://www.gnu.org/licenses/.
|
|
20
22
|
*
|
|
21
23
|
*/
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Generated bundle index. Do not edit.
|
|
27
|
+
*/
|
|
28
|
+
//# sourceMappingURL=ajf-calendars.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ajf-calendars.mjs","sources":["../../../projects/calendars/src/public-api.ts","../../../projects/calendars/src/ajf-calendars.ts"],"sourcesContent":["/**\n * @license\n * Copyright (C) Gnucoop soc. coop.\n *\n * This file is part of the Advanced JSON forms (ajf).\n *\n * Advanced JSON forms (ajf) is free software: you can redistribute it and/or\n * modify it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the License,\n * or (at your option) any later version.\n *\n * Advanced JSON forms (ajf) is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero\n * General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Advanced JSON forms (ajf).\n * If not, see http://www.gnu.org/licenses/.\n *\n */\n\nimport {VERSION} from '@ajf/core';\n\nexport {VERSION};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;;;;;;;;;;;;AAoBG;;ACpBH;;AAEG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ajf/calendars",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -13,36 +13,39 @@
|
|
|
13
13
|
},
|
|
14
14
|
"homepage": "https://github.com/gnucoop/ajf#readme",
|
|
15
15
|
"peerDependencies": {
|
|
16
|
-
"@ajf/core": "13.
|
|
17
|
-
"
|
|
16
|
+
"@ajf/core": "13.1.0",
|
|
17
|
+
"@angular/core": "^13.2.5",
|
|
18
|
+
"date-fns": "^2.28.0"
|
|
18
19
|
},
|
|
19
|
-
"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"tslib": "^2.3.0"
|
|
22
|
+
},
|
|
23
|
+
"module": "fesm2015/ajf-calendars.mjs",
|
|
24
|
+
"es2020": "fesm2020/ajf-calendars.mjs",
|
|
25
|
+
"esm2020": "esm2020/ajf-calendars.mjs",
|
|
26
|
+
"fesm2020": "fesm2020/ajf-calendars.mjs",
|
|
27
|
+
"fesm2015": "fesm2015/ajf-calendars.mjs",
|
|
28
|
+
"typings": "ajf-calendars.d.ts",
|
|
27
29
|
"exports": {
|
|
28
30
|
"./package.json": {
|
|
29
31
|
"default": "./package.json"
|
|
30
32
|
},
|
|
31
33
|
".": {
|
|
32
|
-
"types": "./
|
|
33
|
-
"esm2020": "./esm2020/
|
|
34
|
-
"es2020": "./fesm2020/calendars.mjs",
|
|
35
|
-
"es2015": "./fesm2015/calendars.mjs",
|
|
36
|
-
"node": "./fesm2015/calendars.mjs",
|
|
37
|
-
"default": "./fesm2020/calendars.mjs"
|
|
34
|
+
"types": "./ajf-calendars.d.ts",
|
|
35
|
+
"esm2020": "./esm2020/ajf-calendars.mjs",
|
|
36
|
+
"es2020": "./fesm2020/ajf-calendars.mjs",
|
|
37
|
+
"es2015": "./fesm2015/ajf-calendars.mjs",
|
|
38
|
+
"node": "./fesm2015/ajf-calendars.mjs",
|
|
39
|
+
"default": "./fesm2020/ajf-calendars.mjs"
|
|
38
40
|
},
|
|
39
41
|
"./ethiopian": {
|
|
40
|
-
"types": "./ethiopian/
|
|
41
|
-
"esm2020": "./esm2020/ethiopian/
|
|
42
|
-
"es2020": "./fesm2020/ethiopian.mjs",
|
|
43
|
-
"es2015": "./fesm2015/ethiopian.mjs",
|
|
44
|
-
"node": "./fesm2015/ethiopian.mjs",
|
|
45
|
-
"default": "./fesm2020/ethiopian.mjs"
|
|
42
|
+
"types": "./ethiopian/ajf-calendars-ethiopian.d.ts",
|
|
43
|
+
"esm2020": "./esm2020/ethiopian/ajf-calendars-ethiopian.mjs",
|
|
44
|
+
"es2020": "./fesm2020/ajf-calendars-ethiopian.mjs",
|
|
45
|
+
"es2015": "./fesm2015/ajf-calendars-ethiopian.mjs",
|
|
46
|
+
"node": "./fesm2015/ajf-calendars-ethiopian.mjs",
|
|
47
|
+
"default": "./fesm2020/ajf-calendars-ethiopian.mjs"
|
|
46
48
|
}
|
|
47
|
-
}
|
|
49
|
+
},
|
|
50
|
+
"sideEffects": false
|
|
48
51
|
}
|
package/public-api.d.ts
CHANGED