@hebcal/rest-api 7.0.1 → 7.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/csv.d.ts +13 -3
- package/dist/esm/csv.js +9 -5
- package/dist/esm/csv.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/csv.d.ts
CHANGED
|
@@ -1,15 +1,25 @@
|
|
|
1
1
|
import { Event } from '@hebcal/core/dist/esm/event';
|
|
2
2
|
import { RestApiOptions } from './common.js';
|
|
3
|
+
/**
|
|
4
|
+
* The header row for an Outlook-compatible CSV document.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CSV_HEADER = "\"Subject\",\"Start Date\",\"Start Time\",\"End Date\",\"End Time\",\"All day event\",\"Description\",\"Show time as\",\"Location\"";
|
|
7
|
+
/** Options for `eventToCsv()`, extending `RestApiOptions` with an override for the memo/description field. */
|
|
8
|
+
export type EventToCsvOptions = RestApiOptions & {
|
|
9
|
+
/** if specified, takes precedence over `ev.memo` */
|
|
10
|
+
memo?: string;
|
|
11
|
+
};
|
|
3
12
|
/**
|
|
4
13
|
* Renders a single event as one line of Outlook-compatible CSV
|
|
5
14
|
* (no trailing newline).
|
|
6
15
|
* @param ev - the event to render
|
|
7
|
-
* @param options - controls locale, date format (`euro`),
|
|
8
|
-
* append the Hebrew title (`appendHebrewToSubject`)
|
|
16
|
+
* @param options - controls locale, date format (`euro`), whether to
|
|
17
|
+
* append the Hebrew title (`appendHebrewToSubject`), and an optional
|
|
18
|
+
* `memo` that takes precedence over `ev.memo`
|
|
9
19
|
* @returns a CSV row: subject, start/end date/time, all-day flag,
|
|
10
20
|
* description, "show time as", and location
|
|
11
21
|
*/
|
|
12
|
-
export declare function eventToCsv(ev: Event, options:
|
|
22
|
+
export declare function eventToCsv(ev: Event, options: EventToCsvOptions): string;
|
|
13
23
|
/**
|
|
14
24
|
* Renders a list of events as an Outlook-compatible CSV document, including
|
|
15
25
|
* the header row and a trailing CRLF.
|
package/dist/esm/csv.js
CHANGED
|
@@ -2,7 +2,10 @@ import { flags } from '@hebcal/core/dist/esm/event';
|
|
|
2
2
|
import { reformatTimeStr } from '@hebcal/core/dist/esm/reformatTimeStr';
|
|
3
3
|
import { getEventCategories, shouldRenderBrief, } from './common.js';
|
|
4
4
|
import { getHolidayDescription } from './holiday.js';
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The header row for an Outlook-compatible CSV document.
|
|
7
|
+
*/
|
|
8
|
+
export const CSV_HEADER = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
|
|
6
9
|
const CATEGORY = {
|
|
7
10
|
dafyomi: 'Daf Yomi',
|
|
8
11
|
mishnayomi: 'Mishna Yomi',
|
|
@@ -22,8 +25,9 @@ const CATEGORY = {
|
|
|
22
25
|
* Renders a single event as one line of Outlook-compatible CSV
|
|
23
26
|
* (no trailing newline).
|
|
24
27
|
* @param ev - the event to render
|
|
25
|
-
* @param options - controls locale, date format (`euro`),
|
|
26
|
-
* append the Hebrew title (`appendHebrewToSubject`)
|
|
28
|
+
* @param options - controls locale, date format (`euro`), whether to
|
|
29
|
+
* append the Hebrew title (`appendHebrewToSubject`), and an optional
|
|
30
|
+
* `memo` that takes precedence over `ev.memo`
|
|
27
31
|
* @returns a CSV row: subject, start/end date/time, all-day flag,
|
|
28
32
|
* description, "show time as", and location
|
|
29
33
|
*/
|
|
@@ -75,7 +79,7 @@ export function eventToCsv(ev, options) {
|
|
|
75
79
|
subj += ` / ${hebrew}`;
|
|
76
80
|
}
|
|
77
81
|
}
|
|
78
|
-
let memo0 = ev.memo || getHolidayDescription(ev, true, options.locale);
|
|
82
|
+
let memo0 = options.memo || ev.memo || getHolidayDescription(ev, true, options.locale);
|
|
79
83
|
if (!memo0 && timedEv.linkedEvent !== undefined) {
|
|
80
84
|
memo0 = timedEv.linkedEvent.render(options.locale);
|
|
81
85
|
}
|
|
@@ -95,7 +99,7 @@ export function eventToCsv(ev, options) {
|
|
|
95
99
|
* @returns the full CSV document, using CRLF line endings
|
|
96
100
|
*/
|
|
97
101
|
export function eventsToCsv(events, options) {
|
|
98
|
-
return ([
|
|
102
|
+
return ([CSV_HEADER].concat(events.map(ev => eventToCsv(ev, options))).join('\r\n') +
|
|
99
103
|
'\r\n');
|
|
100
104
|
}
|
|
101
105
|
//# sourceMappingURL=csv.js.map
|
package/dist/esm/csv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAEtE,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAC,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEnD,MAAM,
|
|
1
|
+
{"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
|