@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 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`), and whether to
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: RestApiOptions): string;
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
- const csvHeader = '"Subject","Start Date","Start Time","End Date","End Time","All day event","Description","Show time as","Location"';
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`), and whether to
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 ([csvHeader].concat(events.map(ev => eventToCsv(ev, options))).join('\r\n') +
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
@@ -1 +1 @@
1
- {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csv.js","sourceRoot":"","sources":["../../src/csv.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hebcal/rest-api",
3
- "version": "7.0.1",
3
+ "version": "7.1.1",
4
4
  "author": "Michael J. Radwin (https://github.com/mjradwin)",
5
5
  "keywords": [
6
6
  "hebcal"