Socket
Socket
Sign inDemoInstall

@hebcal/icalendar

Package Overview
Dependencies
Maintainers
1
Versions
92
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hebcal/icalendar - npm Package Compare versions

Comparing version 2.0.2 to 2.1.0

59

icalendar.d.ts
/// <reference types="node"/>
import {hebcal, Event} from '@hebcal/core';
import {HebrewCalendar, Event} from '@hebcal/core';
import stream from 'stream';
declare module '@hebcal/icalendar' {

@@ -7,3 +8,3 @@ /**

*/
export function eventToIcal(e: Event, options: hebcal.HebcalOptions): string;
export function eventToIcal(e: Event, options: HebrewCalendar.Options): string;
/**

@@ -13,55 +14,7 @@ * Renders an array of events as a full RFC 2445 iCalendar string

*/
export function eventsToIcalendar(events: Event[], options: hebcal.HebcalOptions): string;
export function eventsToIcalendarStream(events: Event[], options: hebcal.HebcalOptions): string;
export function eventsToIcalendar(events: Event[], options: HebrewCalendar.Options): string;
/**
* Renders an Event as a string
* Generates an RFC 2445 iCalendar stream from an array of events
*/
export function eventToCsv(e: Event, options: hebcal.HebcalOptions): string;
export function eventsToCsv(events: Event[], options: hebcal.HebcalOptions): string;
/**
* Formats a list events for the classic Hebcal.com JSON API response
*/
export function eventsToClassicApi(events: Event[], options: hebcal.HebcalOptions): any;
/**
* Converts a Hebcal event to a classic Hebcal.com JSON API object
* @param tzid - timeZone identifier
* @param il - true if Israel
*/
export function eventToClassicApiObject(ev: Event, tzid: string, il: boolean): any;
/**
* Converts a Hebcal event to a FullCalendar.io object
* @param tzid - timeZone identifier
* @param il - true if Israel
*/
export function eventToFullCalendar(ev: Event, tzid: string, il: boolean): any;
/**
* @param [lang] - language such as 'he' (default 'en-US')
* @param [evPubDate] - if true, use event time as pubDate (false uses lastBuildDate)
*/
export function eventsToRss(events: Event[], location: Location, lang?: string, evPubDate?: boolean): string;
export function eventToRssItem(ev: Event, evPubDate: boolean, lastBuildDate: string, dayFormat: Intl.DateTimeFormat, location: Location): string;
export function getDownloadFilename(options: hebcal.HebcalOptions): string;
export function pad2(number: number): string;
/**
* Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
*/
export function timeZoneOffsetStr(tzid: string, date: Date): string;
/**
* Returns just the date portion as YYYY-MM-DD
*/
export function toISOString(d: Date): string;
/**
* Returns a string like "2018-09-01T12:30:00-05:00'"
* @param timeStr - must be formatted with only hours and minutes, like "17:12"
* @param tzid - like "America/New_York"
*/
export function toISOStringWithTimezone(date: Date, timeStr: string, tzid: string): string;
/**
* Returns a category and subcategory name
*/
export function getEventCategories(ev: Event): string[];
/**
* Generates a title like "Hebcal 2020 Israel" or "Hebcal May 1993 Providence"
*/
export function getCalendarTitle(events: Event[], options: hebcal.HebcalOptions): string;
export function eventsToIcalendarStream(readable: stream.Readable, events: Event[], options: HebrewCalendar.Options): string;
}

14

package.json
{
"name": "@hebcal/icalendar",
"version": "2.0.2",
"version": "2.1.0",
"author": "Michael J. Radwin (https://github.com/mjradwin)",

@@ -26,5 +26,6 @@ "keywords": [

"dependencies": {
"@babel/polyfill": "^7.10.4",
"@hebcal/core": "^2.0.1",
"@hebcal/leyning": "^2.0.0"
"@hebcal/leyning": "^2.0.0",
"@hebcal/rest-api": "^2.1.0",
"md5": "^2.2.1"
},

@@ -60,2 +61,3 @@ "scripts": {

"@babel/core": "^7.10.4",
"@babel/polyfill": "^7.10.4",
"@babel/preset-env": "^7.10.4",

@@ -65,6 +67,4 @@ "@babel/register": "^7.10.4",

"@rollup/plugin-commonjs": "^12.0.0",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^8.1.0",
"ava": "^3.8.2",
"core-js": "^3.6.5",
"eslint": "^7.3.1",

@@ -74,6 +74,4 @@ "eslint-config-google": "^0.14.0",

"jsdoc-to-markdown": "^5.0.3",
"md5": "^2.2.1",
"rollup": "^1.29.0",
"rollup-plugin-terser": "^6.1.0"
"rollup": "^1.29.0"
}
}

@@ -12,3 +12,3 @@ # hebcal-icalendar

import {HebrewCalendar, Location} from '@hebcal/core';
import icalendar from '@hebcal/icalendar';
import {eventsToIcalendar} from '@hebcal/icalendar';

@@ -23,225 +23,24 @@ const options = {

const events = HebrewCalendar.calendar(options);
console.log(icalendar.eventsToIcalendar(ev, options));
console.log(await eventsToIcalendar(ev, options));
```
## Constants
<dl>
<dt><a href="#icalendar">icalendar</a></dt>
<dd><p>Main interface to hebcal/icalendar</p>
</dd>
</dl>
## Functions
<dl>
<dt><a href="#getFormatter">getFormatter(tzid)</a> ⇒ <code>Intl.DateTimeFormat</code></dt>
<dd></dd>
<dt><a href="#getPseudoISO">getPseudoISO(tzid, date)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#getTimezoneOffset">getTimezoneOffset(tzid, date)</a> ⇒ <code>number</code></dt>
<dd></dd>
<dt><a href="#pad2">pad2(number)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#timeZoneOffsetStr">timeZoneOffsetStr(tzid, date)</a> ⇒ <code>string</code></dt>
<dd><p>Get offset string (like &quot;+05:00&quot; or &quot;-08:00&quot;) from tzid (like &quot;Europe/Moscow&quot;)</p>
<dt><a href="#eventToIcal">eventToIcal(e, options)</a> ⇒ <code>string</code></dt>
<dd><p>Transforms a single Event into a VEVENT string</p>
</dd>
<dt><a href="#toISOString">toISOString(d)</a> ⇒ <code>string</code></dt>
<dd><p>Returns just the date portion as YYYY-MM-DD</p>
<dt><a href="#eventsToIcalendarStream">eventsToIcalendarStream(readable, events, options)</a> ⇒ <code>stream.Readable</code></dt>
<dd><p>Generates an RFC 2445 iCalendar stream from an array of events</p>
</dd>
<dt><a href="#toISOStringWithTimezone">toISOStringWithTimezone(date, timeStr, tzid)</a> ⇒ <code>string</code></dt>
<dd><p>Returns a string like &quot;2018-09-01T12:30:00-05:00&#39;&quot;</p>
<dt><a href="#eventsToIcalendar">eventsToIcalendar(events, options)</a> ⇒ <code>string</code></dt>
<dd><p>Renders an array of events as a full RFC 2445 iCalendar string</p>
</dd>
<dt><a href="#getEventCategories">getEventCategories(ev)</a> ⇒ <code>Array.&lt;string&gt;</code></dt>
<dd><p>Returns a category and subcategory name</p>
</dd>
<dt><a href="#icalWriteLine">icalWriteLine(res, ...str)</a></dt>
<dd></dd>
<dt><a href="#formatYYYYMMDD">formatYYYYMMDD(d)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#formatTime">formatTime(hour, min, sec)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#makeDtstamp">makeDtstamp(dt)</a> ⇒ <code>string</code></dt>
<dd><p>Returns UTC string for iCalendar</p>
</dd>
<dt><a href="#icalWriteEvent">icalWriteEvent(res, e, dtstamp, options)</a></dt>
<dd></dd>
<dt><a href="#addOptional">addOptional(arr, key, val)</a></dt>
<dd></dd>
<dt><a href="#eventToIcal">eventToIcal(e, options)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#exportHttpHeader">exportHttpHeader(res, mimeType, fileName)</a></dt>
<dd></dd>
<dt><a href="#icalWriteContents">icalWriteContents(res, events, options)</a></dt>
<dd></dd>
<dt><a href="#getDownloadFilename">getDownloadFilename(options)</a> ⇒ <code>string</code></dt>
<dd></dd>
<dt><a href="#eventToCsv">eventToCsv(e, options)</a> ⇒ <code>string</code></dt>
<dd><p>Renders an Event as a string</p>
</dd>
<dt><a href="#csvWriteContents">csvWriteContents(res, events, options)</a></dt>
<dd></dd>
<dt><a href="#eventToFullCalendar">eventToFullCalendar(ev, tzid)</a> ⇒ <code>Object</code></dt>
<dd><p>Converts a Hebcal event to a FullCalendar.io object</p>
</dd>
</dl>
<a name="icalendar"></a>
## icalendar
Main interface to hebcal/icalendar
**Kind**: global constant
<a name="getFormatter"></a>
## getFormatter(tzid) ⇒ <code>Intl.DateTimeFormat</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| tzid | <code>string</code> |
<a name="getPseudoISO"></a>
## getPseudoISO(tzid, date) ⇒ <code>string</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| tzid | <code>string</code> |
| date | <code>Date</code> |
<a name="getTimezoneOffset"></a>
## getTimezoneOffset(tzid, date) ⇒ <code>number</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| tzid | <code>string</code> |
| date | <code>Date</code> |
<a name="pad2"></a>
## pad2(number) ⇒ <code>string</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| number | <code>number</code> |
<a name="timeZoneOffsetStr"></a>
## timeZoneOffsetStr(tzid, date) ⇒ <code>string</code>
Get offset string (like "+05:00" or "-08:00") from tzid (like "Europe/Moscow")
**Kind**: global function
| Param | Type |
| --- | --- |
| tzid | <code>string</code> |
| date | <code>Date</code> |
<a name="toISOString"></a>
## toISOString(d) ⇒ <code>string</code>
Returns just the date portion as YYYY-MM-DD
**Kind**: global function
| Param | Type |
| --- | --- |
| d | <code>Date</code> |
<a name="toISOStringWithTimezone"></a>
## toISOStringWithTimezone(date, timeStr, tzid) ⇒ <code>string</code>
Returns a string like "2018-09-01T12:30:00-05:00'"
**Kind**: global function
| Param | Type | Description |
| --- | --- | --- |
| date | <code>Date</code> | |
| timeStr | <code>string</code> | must be formatted with only hours and minutes, like "17:12" |
| tzid | <code>string</code> | like "America/New_York" |
<a name="getEventCategories"></a>
## getEventCategories(ev) ⇒ <code>Array.&lt;string&gt;</code>
Returns a category and subcategory name
**Kind**: global function
| Param | Type |
| --- | --- |
| ev | <code>Event</code> |
<a name="icalWriteLine"></a>
## icalWriteLine(res, ...str)
**Kind**: global function
| Param | Type |
| --- | --- |
| res | <code>stream.Writable</code> |
| ...str | <code>string</code> |
<a name="formatYYYYMMDD"></a>
## formatYYYYMMDD(d) ⇒ <code>string</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| d | <code>Date</code> |
<a name="formatTime"></a>
## formatTime(hour, min, sec) ⇒ <code>string</code>
**Kind**: global function
| Param | Type |
| --- | --- |
| hour | <code>number</code> \| <code>string</code> |
| min | <code>number</code> \| <code>string</code> |
| sec | <code>number</code> \| <code>string</code> |
<a name="makeDtstamp"></a>
## makeDtstamp(dt) ⇒ <code>string</code>
Returns UTC string for iCalendar
**Kind**: global function
| Param | Type |
| --- | --- |
| dt | <code>Date</code> |
<a name="icalWriteEvent"></a>
## icalWriteEvent(res, e, dtstamp, options)
**Kind**: global function
| Param | Type |
| --- | --- |
| res | <code>stream.Writable</code> |
| e | <code>Event</code> |
| dtstamp | <code>string</code> |
| options | <code>hebcal.HebcalOptions</code> |
<a name="addOptional"></a>
## addOptional(arr, key, val)
**Kind**: global function
| Param | Type |
| --- | --- |
| arr | <code>Array.&lt;string&gt;</code> |
| key | <code>string</code> |
| val | <code>string</code> |
<a name="eventToIcal"></a>
## eventToIcal(e, options) ⇒ <code>string</code>
Transforms a single Event into a VEVENT string
**Kind**: global function

@@ -253,18 +52,9 @@ **Returns**: <code>string</code> - multi-line result, delimited by \r\n

| e | <code>Event</code> |
| options | <code>hebcal.HebcalOptions</code> |
| options | <code>HebcalOptions</code> |
<a name="exportHttpHeader"></a>
<a name="eventsToIcalendarStream"></a>
## exportHttpHeader(res, mimeType, fileName)
**Kind**: global function
## eventsToIcalendarStream(readable, events, options) ⇒ <code>stream.Readable</code>
Generates an RFC 2445 iCalendar stream from an array of events
| Param | Type |
| --- | --- |
| res | <code>stream.Writable</code> |
| mimeType | <code>string</code> |
| fileName | <code>string</code> |
<a name="icalWriteContents"></a>
## icalWriteContents(res, events, options)
**Kind**: global function

@@ -274,49 +64,18 @@

| --- | --- |
| res | <code>stream.Writable</code> |
| readable | <code>stream.Readable</code> |
| events | <code>Array.&lt;Event&gt;</code> |
| options | <code>hebcal.HebcalOptions</code> |
| options | <code>HebcalOptions</code> |
<a name="getDownloadFilename"></a>
<a name="eventsToIcalendar"></a>
## getDownloadFilename(options) ⇒ <code>string</code>
**Kind**: global function
## eventsToIcalendar(events, options) ⇒ <code>string</code>
Renders an array of events as a full RFC 2445 iCalendar string
| Param | Type |
| --- | --- |
| options | <code>hebcal.HebcalOptions</code> |
<a name="eventToCsv"></a>
## eventToCsv(e, options) ⇒ <code>string</code>
Renders an Event as a string
**Kind**: global function
**Returns**: <code>string</code> - multi-line result, delimited by \r\n
| Param | Type |
| --- | --- |
| e | <code>Event</code> |
| options | <code>hebcal.HebcalOptions</code> |
<a name="csvWriteContents"></a>
## csvWriteContents(res, events, options)
**Kind**: global function
| Param | Type |
| --- | --- |
| res | <code>stream.Writable</code> |
| events | <code>Array.&lt;Event&gt;</code> |
| options | <code>hebcal.HebcalOptions</code> |
| options | <code>HebcalOptions</code> |
<a name="eventToFullCalendar"></a>
## eventToFullCalendar(ev, tzid) ⇒ <code>Object</code>
Converts a Hebcal event to a FullCalendar.io object
**Kind**: global function
| Param | Type | Description |
| --- | --- | --- |
| ev | <code>Event</code> | |
| tzid | <code>string</code> | timeZone identifier |

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc