npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

jewish-dates-core

v2.0.18

Published

Jewish dates core

Downloads

773

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.