1.1.1 • Published 2 years ago

@calj.net/jdates v1.1.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

@calj.net/jdates

npm version

The Jewish dates toolbox used on https://calj.net.

  • Manipulate Jewish and Gregorian dates
  • Transform dates between the two calendar systems
  • Compute the weekly Parasha
  • Compute the dates of the Holidays

CalJ.net

Modes

The library can be used in Node (both ESM and CommonJS) and in the browser:

Node ESM

import { GDate, HDate, Festival, Parasha } from "@calj.net/jdates";

Node CommonJS

const { GDate, HDate, Festival, Parasha } = require("@calj.net/jdates");

Browser

<script
src="https://cdn.jsdelivr.net/npm/@calj.net/jdates">
</script>

<script>
const {
  Festival,
  GDate,
  HDate,
  Parasha,
} = CalJ;
</script>

Examples

console.log("This week's Parasha in Israel:",
  new HebrewParashaLocalizer().sidra(Parasha.make(
    GDate.today(), ParashaScheme.ISRAEL
  ))
);

const h = HDate.make(GDate.make(9, 2, 2023));
console.log("9 Feb 2023 is: ",
  `${h.getDay()} ${h.getMonthName()} ${h.getYear()}`);

const yomKippur = Festival.yomKippur(5780);
const gYomKippur = GDate.make(yomKippur.getStartDate());
console.log("Yom Kippur 5780 is: ", `${gYomKippur}`);

API

You can instantiate GDate and HDate immutable objects, both extending the JDate abstract.

GDate

  • static GDate.make(date: Date): GDate

    \ Obtain a Gregorian date from a JavaScript Date instance.

  • static GDate.make(jdate: JDate): GDate

    \ Obtain a Gregorian date from another instance, which may be of class GDate (copy), or HDate (conversion).

  • static GDate.make(day: number, month: number, year: number): GDate

    \ Obtain a GDate instance positionned on the specified Gregorian date elements.

HDate

  • static HDate.make(date: Date): HDate

    \ Obtain a Jewish date from a JavaScript Date instance.

  • static HDate.make(jdate: JDate): HDate

    \ Obtain a Jewish date from another instance, which may be of class HDate (copy), or GDate (conversion).

  • static HDate.make(day: number, month:HDateMonth, year: number): HDate

    \ Obtain an HDate instance positionned on the specified Jewish date elements.

HDateMonth

An enum of the Jewish months:

{
    TISHRI,
    CHESHVAN,
    KISLEV,
    TEVET,
    SHVAT,
    ADAR,
    ADAR2,
    NISSAN,
    IYAR,
    SIVAN,
    TAMUZ,
    AV,
    ELUL,
}

JDate

  • .eq, .lt, .lte, .gt, .gte (other: JDate): boolean

    \ Boolean functions accepting an instance of JDate, to check respectively if the argument is ==, <, <=, >, >= to this instance. The comparison is done on the date itself, as a point in time, rather than equality of the objects or any other date components that represent the date in one system or the other.

1.1.1

2 years ago

1.0.2

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago

1.0.1-beta.2

2 years ago

1.0.1-beta.1

2 years ago

1.0.1-alpha.2

2 years ago

0.0.1

2 years ago

1.0.1-alpha.1

2 years ago

1.0.1-alpha.3

2 years ago

1.0.0-alpha.15

2 years ago

1.0.0-alpha.14

2 years ago

1.0.0-alpha.13

2 years ago

1.0.0-alpha.12

2 years ago

1.0.0-alpha.11

2 years ago

1.0.0-alpha.10

2 years ago

1.0.0-alpha.8

2 years ago

1.0.0-alpha7

2 years ago