@hebcal/rest-api
TypeScript icon, indicating that this package has built-in type declarations

5.0.4 • Public • Published

@hebcal/rest-api

Jewish holidays and Hebrew calendar as plain JSON objects, RSS, and CSV export

Build Status

Installation

$ npm install @hebcal/rest-api

Synopsis

import {HebrewCalendar, Location} from '@hebcal/core';
import {eventsToClassicApi, eventsToCsv} from '@hebcal/rest-api';

const options = {
  year: 2020,
  month: 2,
  sedrot: true,
  candlelighting: true,
  location: Location.lookup('Hawaii'),
};
const events = HebrewCalendar.calendar(options);
const apiResult = eventsToClassicApi(events, options);

console.log(JSON.stringify(apiResult));

const csv = eventsToCsv(events, options);
console.log(JSON.stringify(csv));

Functions

locationToPlainObj(location)LocationPlainObj

Converts a @hebcal/core Location to a plain JS object.

makeAnchor(s)string

Helper function to transform a string to make it more usable in a URL or filename. Converts to lowercase and replaces non-word characters with hyphen ('-').

getDownloadFilename(options)string
pad2(number)string
pad4(number)string
toISOString(d)string

Returns just the date portion as YYYY-MM-DD

getEventCategories(ev)Array.<string>

Returns a category and subcategory name

renderTitleWithoutTime(ev)string

Renders the event title in default locale, but strips off time

getCalendarTitle(events, options)string

Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"

getHolidayDescription(ev, [firstSentence])string

Returns an English language description of the holiday

makeTorahMemoText(ev, il)string

Makes mulit-line text that summarizes Torah & Haftarah

appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign)string

Appends utm_source and utm_medium parameters to a URL

eventToCsv(e, options)string

Renders an Event as a string

eventsToCsv(events, options)string
eventsToClassicApi(events, options, [leyning])Object

Formats a list events for the classic Hebcal.com JSON API response

eventToClassicApiObject(ev, options, [leyning])Object

Converts a Hebcal event to a classic Hebcal.com JSON API object

formatAliyot(result, aliyot)Object
formatLeyningResult(reading)Object
eventsToRss2(events, options)string
eventToRssItem2(ev, options)string
eventToFullCalendar(ev, tzid, il)Object

Converts a Hebcal event to a FullCalendar.io object

Typedefs

LocationPlainObj : Object

Location information

locationToPlainObj(location) ⇒ LocationPlainObj

Converts a @hebcal/core Location to a plain JS object.

Kind: global function

Param Type
location Location

makeAnchor(s) ⇒ string

Helper function to transform a string to make it more usable in a URL or filename. Converts to lowercase and replaces non-word characters with hyphen ('-').

Kind: global function

Param Type
s string

Example

makeAnchor('Rosh Chodesh Adar II') // 'rosh-chodesh-adar-ii'

getDownloadFilename(options) ⇒ string

Kind: global function

Param Type
options CalOptions

pad2(number) ⇒ string

Kind: global function

Param Type
number number

pad4(number) ⇒ string

Kind: global function

Param Type
number number

toISOString(d) ⇒ string

Returns just the date portion as YYYY-MM-DD

Kind: global function

Param Type
d Date

getEventCategories(ev) ⇒ Array.<string>

Returns a category and subcategory name

Kind: global function

Param Type
ev Event

renderTitleWithoutTime(ev) ⇒ string

Renders the event title in default locale, but strips off time

Kind: global function

Param Type
ev Event

getCalendarTitle(events, options) ⇒ string

Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"

Kind: global function

Param Type
events Array.<Event>
options CalOptions

getHolidayDescription(ev, [firstSentence]) ⇒ string

Returns an English language description of the holiday

Kind: global function

Param Type Default
ev Event
[firstSentence] boolean false

makeTorahMemoText(ev, il) ⇒ string

Makes mulit-line text that summarizes Torah & Haftarah

Kind: global function

Param Type
ev Event
il boolean

appendIsraelAndTracking(url, il, utmSource, utmMedium, utmCampaign) ⇒ string

Appends utm_source and utm_medium parameters to a URL

Kind: global function

Param Type
url string
il boolean
utmSource string
utmMedium string
utmCampaign string

eventToCsv(e, options) ⇒ string

Renders an Event as a string

Kind: global function

Param Type
e Event
options CalOptions

eventsToCsv(events, options) ⇒ string

Kind: global function

Param Type
events Array.<Event>
options HebcalOptions

eventsToClassicApi(events, options, [leyning]) ⇒ Object

Formats a list events for the classic Hebcal.com JSON API response

Kind: global function

Param Type Default
events Array.<Event>
options CalOptions
[leyning] boolean true

eventToClassicApiObject(ev, options, [leyning]) ⇒ Object

Converts a Hebcal event to a classic Hebcal.com JSON API object

Kind: global function

Param Type Default
ev Event
options CalOptions
[leyning] boolean true

formatAliyot(result, aliyot) ⇒ Object

Kind: global function

Param Type
result Object
aliyot Object

formatLeyningResult(reading) ⇒ Object

Kind: global function

Param Type
reading Leyning

eventsToRss2(events, options) ⇒ string

Kind: global function

Param Type
events Array.<Event>
options CalOptions

eventToRssItem2(ev, options) ⇒ string

Kind: global function

Param Type
ev Event
options CalOptions

eventToFullCalendar(ev, tzid, il) ⇒ Object

Converts a Hebcal event to a FullCalendar.io object

Kind: global function

Param Type Description
ev Event
tzid string timeZone identifier
il boolean true if Israel

LocationPlainObj : Object

Location information

Kind: global typedef
Properties

Name Type
title string
city string
tzid string
latitude number
longitude number
cc string
country string
admin1 string
asciiname string
geo string
zip string
state string
stateName string
geonameid number

Readme

Keywords

Package Sidebar

Install

npm i @hebcal/rest-api

Weekly Downloads

161

Version

5.0.4

License

BSD-2-Clause

Unpacked Size

199 kB

Total Files

10

Last publish

Collaborators

  • mjradwin