@churchapps/helpers 2.1.1 → 2.1.2

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.
@@ -3,6 +3,7 @@ type ParsedOptions = any;
3
3
  export declare class EventHelper {
4
4
  static getRange: (event: EventInterface, startDate: Date, endDate: Date) => any;
5
5
  static getFullRRule: (event: EventInterface) => any;
6
+ static calendarDateKey: (d: string | Date) => string;
6
7
  static removeExcludeDates: (events: EventInterface[]) => void;
7
8
  static getPartialRRuleString: (options: ParsedOptions) => any;
8
9
  static cleanRule: (options: ParsedOptions) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"EventHelper.d.ts","sourceRoot":"","sources":["../src/EventHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiCvD,KAAK,aAAa,GAAG,GAAG,CAAC;AAEzB,qBAAa,WAAW;IAEtB,MAAM,CAAC,QAAQ,GAAI,OAAM,cAAc,EAAE,WAAU,IAAI,EAAE,SAAQ,IAAI,SAWnE;IAEF,MAAM,CAAC,YAAY,GAAI,OAAM,cAAc,SAKzC;IAEF,MAAM,CAAC,kBAAkB,GAAI,QAAO,cAAc,EAAE,UAQlD;IAEF,MAAM,CAAC,qBAAqB,GAAI,SAAQ,aAAa,SAKnD;IAEF,MAAM,CAAC,SAAS,GAAI,SAAQ,aAAa,UAIvC;IAGF,MAAM,CAAC,iBAAiB,sBAAe;CACxC"}
1
+ {"version":3,"file":"EventHelper.d.ts","sourceRoot":"","sources":["../src/EventHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiCvD,KAAK,aAAa,GAAG,GAAG,CAAC;AAEzB,qBAAa,WAAW;IAEtB,MAAM,CAAC,QAAQ,GAAI,OAAM,cAAc,EAAE,WAAU,IAAI,EAAE,SAAQ,IAAI,SAWnE;IAEF,MAAM,CAAC,YAAY,GAAI,OAAM,cAAc,SAMzC;IAEF,MAAM,CAAC,eAAe,GAAI,GAAG,MAAM,GAAG,IAAI,YAIxC;IAEF,MAAM,CAAC,kBAAkB,GAAI,QAAO,cAAc,EAAE,UAQlD;IAEF,MAAM,CAAC,qBAAqB,GAAI,SAAQ,aAAa,SAKnD;IAEF,MAAM,CAAC,SAAS,GAAI,SAAQ,aAAa,UAIvC;IAGF,MAAM,CAAC,iBAAiB,sBAAe;CACxC"}
@@ -36,16 +36,23 @@ export class EventHelper {
36
36
  };
37
37
  static getFullRRule = (event) => {
38
38
  const RR = getRRule();
39
- const rrule = RR.fromString(event.recurrenceRule);
40
- rrule.options.dtstart = new Date(event.start);
41
- return rrule;
39
+ // Reconstruct so implicit BYDAY/BYMONTHDAY derive from event.start, not parse-time "now".
40
+ const options = { ...RR.parseString(event.recurrenceRule || "") };
41
+ options.dtstart = new Date(event.start);
42
+ return new RR(options);
43
+ };
44
+ static calendarDateKey = (d) => {
45
+ const dt = new Date(d);
46
+ if (isNaN(dt.getTime()))
47
+ return "";
48
+ return `${dt.getFullYear()}-${dt.getMonth()}-${dt.getDate()}`;
42
49
  };
43
50
  static removeExcludeDates = (events) => {
44
51
  for (let i = events.length - 1; i >= 0; i--) {
45
52
  const exceptionDates = events[i].exceptionDates;
46
53
  if (exceptionDates && exceptionDates.length > 0) {
47
- const parsedDates = exceptionDates.map((d) => new Date(d).toISOString());
48
- if (parsedDates.indexOf(events[i].start.toISOString()) > -1)
54
+ const keys = exceptionDates.map((d) => EventHelper.calendarDateKey(d));
55
+ if (keys.indexOf(EventHelper.calendarDateKey(events[i].start)) > -1)
49
56
  events.splice(i, 1);
50
57
  }
51
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EventHelper.js","sourceRoot":"","sources":["../src/EventHelper.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,IAAI,KAAK,GAAQ,IAAI,CAAC;AACtB,IAAI,WAAW,GAAyB,IAAI,CAAC;AAE7C,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,IAAI,KAAK;QAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IACpC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACzC,KAAK,GAAI,GAAW,CAAC,KAAK,IAAK,GAAW,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;QACnE,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF,2DAA2D;AAC3D,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,oFAAoF;AACpF,sDAAsD;AACtD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;IACzC,KAAK,GAAI,GAAW,CAAC,KAAK,IAAK,GAAW,CAAC,OAAO,EAAE,KAAK,IAAI,GAAG,CAAC;AACnE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;IACZ,iEAAiE;AACnE,CAAC,CAAC,CAAC;AAKH,MAAM,OAAO,WAAW;IAEtB,MAAM,CAAC,QAAQ,GAAG,CAAC,KAAoB,EAAE,SAAc,EAAE,OAAY,EAAE,EAAE;QACvE,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE9C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAEhD,iFAAiF;QACjF,8DAA8D;QAC9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,IAAI,IAAI,CACpC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,UAAU,EAAE,CAC9G,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,CAAC,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;QAC7C,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAClD,KAAK,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAM,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,CAAC,kBAAkB,GAAG,CAAC,MAAuB,EAAE,EAAE;QACtD,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YAChD,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAgB,EAAC,EAAE,CAAA,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtF,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAM,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAC;oBAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,CAAC,qBAAqB,GAAG,CAAC,OAAqB,EAAE,EAAE;QACvD,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,CAAC,SAAS,GAAG,CAAC,OAAqB,EAAE,EAAE;QAC3C,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;QAC7B,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC/B,CAAC,CAAC;IAEF,yDAAyD;IACzD,MAAM,CAAC,iBAAiB,GAAG,WAAW,CAAC"}
1
+ {"version":3,"file":"EventHelper.js","sourceRoot":"","sources":["../src/EventHelper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@churchapps/helpers",
3
- "version": "2.1.1",
3
+ "version": "2.1.2",
4
4
  "type": "module",
5
5
  "description": "Library of helper functions not specific to any one ChurchApps project or framework.",
6
6
  "main": "dist/index.js",