jewish-dates-core
v2.0.20
Published
Jewish dates core
Downloads
1,333
Maintainers
Readme
jewish-dates-core
This package is core functionality of react-jewish-datepicker
If you want to create a jewish date picker in vue.js or angular, this is the core dependency.
Installation
yarn add jewish-dates-core
Or with npm
npm i jewish-dates-core --save
Functions
isValidDate(date: Date
| BasicJewishDate
) ⇒ boolean
Returns whether a date is a Date object.
| Param | Type |
| ----- | --------------------------- |
| date | Date
| BasicJewishDate
|
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5788,
};
isValidDate(basicJewishDate); // ==> false
isValidDate(new Date()); // ==> true
getHebWeekdays() ⇒ string[]
Returns an array of week days in hebrew.
example:
getHebWeekdays(); // ==> ["א", "ב", "ג", "ד", "ה", "ו", "ש"]
getEngWeekdays() ⇒ string[]
Returns an array of week days in english.
example:
getEngWeekdays(); // ==> ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
getWeekdays(isHebrew: boolean
) ⇒ string[]
Returns an array of week days corresponding with the isHebrew param.
| Param | Type |
| -------- | --------- |
| isHebrew | boolean
|
example:
getWeekdays(true); // ==> ["א", "ב", "ג", "ד", "ה", "ו", "ש"]
getWeekdays(false); // ==> ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"]
getHebJewishMonthById(monthId: string
) ⇒ string
Takes a jewish month name in english and returns the name in hebrew.
| Param | Type |
| ------- | -------- |
| monthId | string
|
example:
getHebJewishMonthById("Tishri"); // ==> 'תשרי'
getHebJewishMonths() ⇒ IdText[]
Returns an array of jewish months in hebrew.
example:
getHebJewishMonths(); // ==> [{id: "Tishri", text: "תשרי"}, {id: "Cheshvan", text: "חשון"} ...]
getEngJewishMonths() ⇒ IdText[]
Returns an array of jewish months in english.
example:
getEngJewishMonths(); // ==> [{id: "Tishri", text: "Tishri"}, {id: "Cheshvan", text: "Cheshvan"} ...]
getJewishMonths(year: number
, [isHebrew?: boolean
]) ⇒ IdText[]
Returns an array of jewish months according to year (regular/leap) and language.
| Param | Type | Default |
| -------- | --------- | ------- |
| year | number
| n/a |
| isHebrew | boolean
| false
|
example:
getJewishMonths(5781, true); // ==> [... {id: "AdarI", text: "אדר"}, {id: "Nisan", text: "ניסן"} ...] regular year months in henrew
getJewishMonths(5782); // ==> [... {id: "AdarI", text: "AdarI"}, {id: "AdarII", text: "AdarII"} ...] leap year months in english
getJewishYears(year: number
) ⇒ number[]
Takes a number of a jewish year and returns array of 200 years around it.
| Param | Type |
| ----- | -------- |
| year | number
|
example:
getJewishYears(5781); // ==> [5681, 5682, ... 5781, ... 5880, 5881]
getJewishYears(5781).length; // ==> 201
getPrevMonth(basicJewishMonthInfo: BasicJewishMonthInfo
) ⇒ BasicJewishMonthInfo
Takes a BasicJewishMonthInfo object and returns the equivalent of prev month.
| Param | Type |
| -------------------- | ---------------------- |
| basicJewishMonthInfo | BasicJewishMonthInfo
|
example:
const tishriInfo: BasicJewishMonthInfo = {
isHebrew: false,
month: "Tishri",
year: 5782,
};
getPrevMonth(tishriInfo); // ==> {isHebrew: false, month: 'Elul', year: 5781}
getNextMonth(basicJewishMonthInfo: BasicJewishMonthInfo
) ⇒ BasicJewishMonthInfo
Takes a BasicJewishMonthInfo object and returns the equivalent of next month.
| Param | Type |
| -------------------- | ---------------------- |
| basicJewishMonthInfo | BasicJewishMonthInfo
|
example:
const elulInfo: BasicJewishMonthInfo = {
isHebrew: true,
month: "Elul",
year: 5781,
};
getNextMonth(elulInfo); // ==> {isHebrew: true, month: 'Tishri', year: 5782}
getGregDate(props: BasicJewishDate) ⇒ Date
Converts BasicJewishDate object to gregorian date.
| Param | Type |
| ----- | ----------------- |
| props | BasicJewishDate
|
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
};
getGregDate(basicJewishDate); // ==> Sat Aug 21 2021 00:00:00 GMT+0300 (שעון ישראל (קיץ))
getJewishMonthInfo(date: Date) ⇒ JewishMonthInfo
Takes a gregorian date and returns BasicJewishMonthInfo object.
| Param | Type |
| ----- | ------ |
| date | Date
|
example:
getJewishMonthInfo(new Date(2022, 0, 27)); /* ==> { jewishDate: {year: 5782, month: 5, day: 25, monthName: 'Shevat'},
jewishMonth: 5,
startOfJewishMonth: Dayjs(new Date(2022, 0, 3)),
sundayStartOfTheMonth: Dayjs(new Date(2022, 0, 2))} */
formatJewishDate(jewishDate: JewishDate
) ⇒ string
Takes a BasicJewishDate object and returns a string of the date in english.
| Param | Type |
| ---------- | ------------ |
| jewishDate | JewishDate
|
example:
const jewishDate: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
formatJewishDate(jewishDate); // ==> "13 Elul 5781"
formatJewishDateHebrew(jewishDate: JewishDate
) ⇒ string
Takes a BasicJewishDate object and returns a string of the date in hebrew.
| Param | Type |
| ---------- | ------------ |
| jewishDate | JewishDate
|
example:
const jewishDate: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
formatJewishDateHebrew(jewishDate); // ==> "י״ג אלול התשפ״א"
getJewishDate(date: Date
) ⇒ JewishDate
Takes a gregorian date and returns a BasicJewishDate object.
| Param | Type |
| ----- | ------ |
| date | Date
|
example:
getJewishDate(new Date(2021, 7, 21)); // ==> {day: 13, monthName: "Elul", year: 5781, month: 13}
IsJewishDatesEqual(jewishDate1: JewishDate
, jewishDate2: JewishDate
) ⇒ boolean
Compares jewish dates returning true if the dates match and false if not.
| Param | Type |
| ----------- | ------------ |
| jewishDate1 | JewishDate
|
| jewishDate2 | JewishDate
|
example:
const jewishDate1: JewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
month: 13,
};
const jewishDate2: JewishDate = {
day: 14,
monthName: "Shevat",
year: 5781,
month: 5,
};
IsJewishDatesEqual(jewishDate1, jewishDate2); // ==> false
IsJewishDatesEqual(jewishDate2, jewishDate2); // ==> true
getJewishDay(dayjsDate: Dayjs
) ⇒ JewishDay
Takes a gregorian date and returns a JewishMonth object.
| Param | Type |
| --------- | ------- |
| dayjsDate | Dayjs
|
example:
const date = Dayjs(new Date(2022, 0, 27));
getJewishDay(date); /* ==> { date: 2022-01-26T22:00:00.000Z,
day: 25,
dayjsDate: d {'$L': 'en', '$d': 2022-01-26T22:00:00.000Z, '$y': 2022, '$M': 0, '$D': 27, '$W': 4, '$H': 0, '$m': 0, '$s': 0, '$ms': 0},
isCurrentMonth: false,
jewishDate: { year: 5782, month: 5, day: 25, monthName: 'Shevat' },
jewishDateStr: '25 Shevat 5782',
jewishDateStrHebrew: 'כ״ה שבט התשפ״ב'} */
getJewishMonth(date: Date
) ⇒ JewishMonth
Takes a gregorian date and returns a JewishMonth object.
| Param | Type |
| ----- | ------ |
| date | Date
|
example:
getJewishMonth(new Date(2022, 0, 27)); /* ==> selectedDay: { day: 25, jewishDateStr: '25 Shevat 5782', ...},
jewishMonth: 5,
jewishYear: 5782,
jewishMonthString: 'Shevat',
days: [{day: 29, jewishDateStr: '29 Tevet 5782', ...}, { day: 1, jewishDateStr: '1 Shevat 5782', ...}, ...] */
getHolidays(isIsrael: boolean
) ⇒ string[]
Returns an array of jewish holiday dates corresponding with the isIsrael param.
| Param | Type |
| ----- | ------ |
| isIsrael | boolean
|
example:
getHolidays(true); // ==> ['1 Tishri', '2 Tishri', '10 Tishri', '15 Tishri', '22 Tishri', '15 Nisan', '21 Nisan', '6 Sivan']
getHolidays(false); // ==> ['1 Tishri', '2 Tishri', '10 Tishri', '15 Tishri', '22 Tishri', '15 Nisan', '21 Nisan', '6 Sivan', '16 Tishri', '23 Tishri', '16 Nisan', '22 Nisan', '7 Sivan']
dontSelectHolidays([isIsrael: boolean
]) ⇒ (day: BasicJewishDay) => boolean
Returns a function which can be passed to the canSelect
prop, in order to prevent holidays (corresponding with isIsrael
param) selection. The returned function takes a BasicJewishDay
object, and returns false
if it's an holiday and true
otherwise.
| Param | Type | Default |
| ----- | ------ | ----- |
| isIsrael | boolean
| false
|
example: full example here
dontSelectShabat(day: BasicJewishDay
) ⇒ boolean
A function to be passed to the canSelect
prop, in order to prevent shabat selection. Takes a BasicJewishDay
object, and returns false
if it's an shabat and true
otherwise.
| Param | Type |
| ----- | ------ |
| day | BasicJewishDay
|
example: full example here
dontSelectShabatAndHolidays([isIsrael: boolean
]) ⇒ (day: BasicJewishDay) => boolean
Returns a function to be passed to the "canSelect" prop. combines dontSelectHolidays
and dontSelectShabat
in order to prevent both - shabat and holidays selection. The returned function takes a BasicJewishDay
object, and returns false
if it's an shabat or holiday and true
otherwise.
| Param | Type | Default |
| ----- | ------ | ----- |
| isIsrael | boolean
| false
|
example: full example here
dontSelectOutOfRange(minDate: Date
| null
, maxDate: Date
| null
) ⇒ (day: BasicJewishDay) => boolean
Takes min date and max date and returns a function to be passed to the "canSelect" prop, in order to prevent selection out of the supplied range. The returned function takes a BasicJewishDay
object, and returns true
if it's within range (min date and max date included) and false
otherwise.
You can pass a date only for one of the params and null to the other. In this case, the selectable range will be up to max date or from min date.
| Param | Type |
| ----- | ------ |
| minDate | Date
| null
|
| maxDate | Date
| null
|
example: full example here
addDates(date: BasicJewishDate
| Date
, numDays: number
) ⇒ Date
Takes a BasicJewishDate
object or a Date
, adds a date interval (numDays
) to the date and then returns the new date.
| Param | Type |
| ----- | ------ |
| date | BasicJewishDate
| Date
|
| numDays | number
|
example:
const date = new Date(2022, 3, 17);
addDates(date, 3)) // => Wed Apr 20 2022 00:00:00 GMT+0300 (שעון ישראל (קיץ))
subtractDates(date: BasicJewishDate
| Date
, numDays: number
) ⇒ Date
Takes a BasicJewishDate
object or a Date
, subtracts a date interval (numDays
) from the date and then returns the new date.
| Param | Type |
| ----- | ------ |
| date | BasicJewishDate
| Date
|
| numDays | number
|
example:
const basicJewishDate: BasicJewishDate = {
day: 13,
monthName: "Elul",
year: 5781,
};
subtractDates(basicJewishDate, 4)) // => Tue Aug 17 2021 00:00:00 GMT+0300 (שעון ישראל (קיץ))
License: MIT.