jcal-zmanim 1.0.50 → 1.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.
Files changed (83) hide show
  1. package/LICENSE +674 -674
  2. package/{build → dist}/JCal/Dafyomi.d.ts +4 -3
  3. package/dist/JCal/Dafyomi.d.ts.map +1 -0
  4. package/{build → dist}/JCal/Dafyomi.js +9 -8
  5. package/dist/JCal/Dafyomi.js.map +1 -0
  6. package/{build → dist}/JCal/Location.d.ts +4 -4
  7. package/dist/JCal/Location.d.ts.map +1 -0
  8. package/{build → dist}/JCal/Location.js +10 -12
  9. package/dist/JCal/Location.js.map +1 -0
  10. package/{build → dist}/JCal/Molad.d.ts +1 -2
  11. package/dist/JCal/Molad.d.ts.map +1 -0
  12. package/{build → dist}/JCal/Molad.js +16 -19
  13. package/dist/JCal/Molad.js.map +1 -0
  14. package/{build → dist}/JCal/PirkeiAvos.d.ts +1 -0
  15. package/dist/JCal/PirkeiAvos.d.ts.map +1 -0
  16. package/{build → dist}/JCal/PirkeiAvos.js +4 -3
  17. package/dist/JCal/PirkeiAvos.js.map +1 -0
  18. package/{build → dist}/JCal/Sedra.d.ts +2 -1
  19. package/dist/JCal/Sedra.d.ts.map +1 -0
  20. package/{build → dist}/JCal/Sedra.js +2 -1
  21. package/dist/JCal/Sedra.js.map +1 -0
  22. package/{build → dist}/JCal/Zmanim.d.ts +1 -0
  23. package/dist/JCal/Zmanim.d.ts.map +1 -0
  24. package/{build → dist}/JCal/Zmanim.js +16 -16
  25. package/dist/JCal/Zmanim.js.map +1 -0
  26. package/{build/AppUtils.d.ts → dist/JCal/ZmanimUtils.d.ts} +10 -47
  27. package/dist/JCal/ZmanimUtils.d.ts.map +1 -0
  28. package/{build/AppUtils.js → dist/JCal/ZmanimUtils.js} +56 -122
  29. package/dist/JCal/ZmanimUtils.js.map +1 -0
  30. package/{build → dist}/JCal/jDate.d.ts +4 -3
  31. package/dist/JCal/jDate.d.ts.map +1 -0
  32. package/{build → dist}/JCal/jDate.js +24 -24
  33. package/dist/JCal/jDate.js.map +1 -0
  34. package/dist/Locations.d.ts +31 -0
  35. package/dist/Locations.d.ts.map +1 -0
  36. package/dist/Locations.js +119 -0
  37. package/dist/Locations.js.map +1 -0
  38. package/dist/Notifications.d.ts +18 -0
  39. package/dist/Notifications.d.ts.map +1 -0
  40. package/{build → dist}/Notifications.js +112 -131
  41. package/dist/Notifications.js.map +1 -0
  42. package/dist/README.md +567 -0
  43. package/{build/JCal → dist}/Utils.d.ts +72 -10
  44. package/dist/Utils.d.ts.map +1 -0
  45. package/{build/JCal → dist}/Utils.js +176 -70
  46. package/dist/Utils.js.map +1 -0
  47. package/{build → dist}/ZmanTypes.d.ts +11 -4
  48. package/dist/ZmanTypes.d.ts.map +1 -0
  49. package/{build → dist}/ZmanTypes.js +12 -5
  50. package/dist/ZmanTypes.js.map +1 -0
  51. package/dist/index.d.ts +2 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +43 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/locations.json +1 -0
  56. package/package.json +43 -33
  57. package/README.md +0 -2
  58. package/build/GeneralUtils.d.ts +0 -43
  59. package/build/GeneralUtils.js +0 -93
  60. package/build/Locations.d.ts +0 -7
  61. package/build/Locations.js +0 -1308
  62. package/build/Notifications.d.ts +0 -14
  63. package/build/Settings.d.ts +0 -25
  64. package/build/Settings.js +0 -75
  65. package/build/index.d.ts +0 -1
  66. package/build/index.js +0 -59
  67. package/src/AppUtils.ts +0 -500
  68. package/src/GeneralUtils.ts +0 -84
  69. package/src/JCal/Dafyomi.ts +0 -139
  70. package/src/JCal/Location.ts +0 -100
  71. package/src/JCal/Molad.ts +0 -105
  72. package/src/JCal/PirkeiAvos.ts +0 -180
  73. package/src/JCal/Sedra.ts +0 -215
  74. package/src/JCal/Utils.ts +0 -732
  75. package/src/JCal/Zmanim.ts +0 -270
  76. package/src/JCal/jDate.ts +0 -714
  77. package/src/Locations.ts +0 -1303
  78. package/src/Notifications.ts +0 -1243
  79. package/src/Settings.ts +0 -103
  80. package/src/ZmanTypes.ts +0 -184
  81. package/src/index.ts +0 -31
  82. package/src/jcal-zmanim.d.ts +0 -4
  83. package/tsconfig.json +0 -109
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const GeneralUtils_1 = require("../GeneralUtils");
7
- const Utils_js_1 = __importDefault(require("./Utils.js"));
6
+ const Utils_js_1 = require("../Utils.js");
8
7
  const Sedra_js_1 = __importDefault(require("./Sedra.js"));
9
8
  const PirkeiAvos_js_1 = __importDefault(require("./PirkeiAvos.js"));
10
9
  const Zmanim_js_1 = __importDefault(require("./Zmanim.js"));
@@ -55,7 +54,7 @@ class jDate {
55
54
  this.fromAbs(jDate.absSd(new Date()));
56
55
  }
57
56
  else if (arg instanceof Date) {
58
- if ((0, GeneralUtils_1.isValidDate)(arg)) {
57
+ if (Utils_js_1.Utils.isValidDate(arg)) {
59
58
  this.fromAbs(jDate.absSd(arg));
60
59
  }
61
60
  else {
@@ -70,9 +69,9 @@ class jDate {
70
69
  (arg.length > 3 && arg[3]) ||
71
70
  jDate.absJd(this.Year, this.Month, this.Day);
72
71
  }
73
- else if (arg && (0, GeneralUtils_1.isString)(arg)) {
72
+ else if (arg && Utils_js_1.Utils.isString(arg)) {
74
73
  const d = new Date(arg);
75
- if ((0, GeneralUtils_1.isValidDate)(d)) {
74
+ if (Utils_js_1.Utils.isValidDate(d)) {
76
75
  this.fromAbs(jDate.absSd(d));
77
76
  }
78
77
  else {
@@ -81,7 +80,7 @@ class jDate {
81
80
  '" cannot be parsed into a Date');
82
81
  }
83
82
  }
84
- else if ((0, GeneralUtils_1.isNumber)(arg)) {
83
+ else if (Utils_js_1.Utils.isNumber(arg)) {
85
84
  //if no other arguments were supplied, we assume that the supplied number is an absolute date
86
85
  if (arguments.length === 1) {
87
86
  this.fromAbs(arg);
@@ -98,7 +97,7 @@ class jDate {
98
97
  //If arg is an object that has a "year" property that contains a valid value...
99
98
  else if (typeof arg === 'object') {
100
99
  const argObj = arg;
101
- if ((0, GeneralUtils_1.isNumber)(argObj.year)) {
100
+ if (Utils_js_1.Utils.isNumber(argObj.year)) {
102
101
  this.Day = argObj.day || 1;
103
102
  this.Month = argObj.month || 7;
104
103
  this.Year = argObj.year;
@@ -270,9 +269,9 @@ class jDate {
270
269
  ? dontCapitalize
271
270
  ? 't'
272
271
  : 'T'
273
- : Utils_js_1.default.dowEng[this.getDayOfWeek()] + ', t') +
272
+ : Utils_js_1.DaysOfWeekEng[this.getDayOfWeek()] + ', t') +
274
273
  'he ' +
275
- Utils_js_1.default.toSuffixed(this.Day) +
274
+ Utils_js_1.Utils.toSuffixed(this.Day) +
276
275
  ' of ' +
277
276
  this.monthName());
278
277
  }
@@ -281,8 +280,8 @@ class jDate {
281
280
  * @param {boolean} showDow - show day of week?
282
281
  */
283
282
  toShortstring(showDow) {
284
- return ((showDow ? Utils_js_1.default.dowEng[this.getDayOfWeek()] + ' ' : '') +
285
- Utils_js_1.default.jMonthsEng[this.Month] +
283
+ return ((showDow ? Utils_js_1.DaysOfWeekEng[this.getDayOfWeek()] + ' ' : '') +
284
+ Utils_js_1.JewishMonthsEng[this.Month] +
286
285
  ' ' +
287
286
  this.Day.toString() +
288
287
  ', ' +
@@ -293,18 +292,18 @@ class jDate {
293
292
  * @param {boolean} showYear - show the year number?
294
293
  */
295
294
  monthName(showYear = true) {
296
- return (Utils_js_1.default.jMonthsEng[this.Month] +
295
+ return (Utils_js_1.JewishMonthsEng[this.Month] +
297
296
  (showYear ? ' ' + this.Year.toString() : ''));
298
297
  }
299
298
  /**Returns the current Jewish date in the format: יום חמישי כ"א כסלו תשע"ו.*/
300
299
  toStringHeb() {
301
- return (Utils_js_1.default.dowHeb[this.getDayOfWeek()] +
300
+ return (Utils_js_1.DaysOfWeekHeb[this.getDayOfWeek()] +
302
301
  ' ' +
303
- Utils_js_1.default.toJNum(this.Day) +
302
+ Utils_js_1.Utils.toJewishNumber(this.Day) +
304
303
  ' ' +
305
- Utils_js_1.default.jMonthsHeb[this.Month] +
304
+ Utils_js_1.JewishMonthsHeb[this.Month] +
306
305
  ' ' +
307
- Utils_js_1.default.toJNum(this.Year % 1000));
306
+ Utils_js_1.Utils.toJewishNumber(this.Year % 1000));
308
307
  }
309
308
  /**Gets the day of the omer for the current Jewish date. If the date is not during sefira, 0 is returned.*/
310
309
  getDayOfOmer() {
@@ -355,10 +354,10 @@ class jDate {
355
354
  }
356
355
  /**Is today Erev Yom Tov? (includes Erev second days of Sukkos and Pesach) */
357
356
  isErevYomTov() {
358
- return ((this.Month === 1 && (0, GeneralUtils_1.has)(this.Day, 14, 20)) ||
357
+ return ((this.Month === 1 && Utils_js_1.Utils.has(this.Day, 14, 20)) ||
359
358
  (this.Month === 3 && this.Day === 5) ||
360
359
  (this.Month === 6 && this.Day === 29) ||
361
- (this.Month === 7 && (0, GeneralUtils_1.has)(this.Day, 9, 14, 21)));
360
+ (this.Month === 7 && Utils_js_1.Utils.has(this.Day, 9, 14, 21)));
362
361
  }
363
362
  /**Does the current Jewish date have candle lighting before sunset?*/
364
363
  hasCandleLighting() {
@@ -468,7 +467,7 @@ class jDate {
468
467
  // If just the year is set, then the date is set to Rosh Hashana of that year.
469
468
  // In the above scenario, we can't just pass the args along, as the constructor will treat it as an absolute date.
470
469
  //...and that folks, is actually the whole point of this function...
471
- else if ((0, GeneralUtils_1.isNumber)(arg) && arguments.length === 1) {
470
+ else if (Utils_js_1.Utils.isNumber(arg) && arguments.length === 1) {
472
471
  return new jDate(arg, 7, 1);
473
472
  }
474
473
  else {
@@ -481,7 +480,7 @@ class jDate {
481
480
  /**Calculate the Jewish year, month and day for the given absolute date.*/
482
481
  static fromAbs(absDay) {
483
482
  //To save on calculations, start with a few years before date
484
- let year = 3761 + Utils_js_1.default.toInt(absDay / (absDay > 0 ? 366 : 300)), month, day;
483
+ let year = 3761 + Utils_js_1.Utils.toInt(absDay / (absDay > 0 ? 366 : 300)), month, day;
485
484
  // Search forward for year from the approximation year.
486
485
  while (absDay >= jDate.absJd(year + 1, 7, 1)) {
487
486
  year++;
@@ -590,13 +589,13 @@ class jDate {
590
589
  if (cached) {
591
590
  return cached.elapsed;
592
591
  }
593
- const months = Utils_js_1.default.toInt(235 * Utils_js_1.default.toInt((year - 1) / 19) + // Leap months this cycle
592
+ const months = Utils_js_1.Utils.toInt(235 * Utils_js_1.Utils.toInt((year - 1) / 19) + // Leap months this cycle
594
593
  12 * ((year - 1) % 19) + // Regular months in this cycle.
595
594
  (7 * ((year - 1) % 19) + 1) / 19), // Months in complete cycles so far.
596
595
  parts = 204 + 793 * (months % 1080), hours = 5 +
597
596
  12 * months +
598
- 793 * Utils_js_1.default.toInt(months / 1080) +
599
- Utils_js_1.default.toInt(parts / 1080), conjDay = Utils_js_1.default.toInt(1 + 29 * months + hours / 24), conjParts = 1080 * (hours % 24) + (parts % 1080);
597
+ 793 * Utils_js_1.Utils.toInt(months / 1080) +
598
+ Utils_js_1.Utils.toInt(parts / 1080), conjDay = Utils_js_1.Utils.toInt(1 + 29 * months + hours / 24), conjParts = 1080 * (hours % 24) + (parts % 1080);
600
599
  let altDay;
601
600
  /* at the end of a leap year - 15 hours, 589 parts or later... -
602
601
  ... or is on a Monday at... - ...of a common year, -
@@ -616,7 +615,7 @@ class jDate {
616
615
  altDay = conjDay;
617
616
  }
618
617
  // A day is added if Rosh HaShanah would occur on Sunday, Friday or Wednesday,
619
- if ((0, GeneralUtils_1.has)(altDay % 7, 0, 3, 5)) {
618
+ if (Utils_js_1.Utils.has(altDay % 7, 0, 3, 5)) {
620
619
  altDay += 1;
621
620
  }
622
621
  //Add this year to the cache to save on calculations later on
@@ -645,3 +644,4 @@ class jDate {
645
644
  }
646
645
  }
647
646
  exports.default = jDate;
647
+ //# sourceMappingURL=jDate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jDate.js","sourceRoot":"","sources":["../../src/JCal/jDate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import Location from './JCal/Location';
2
+ /**
3
+ * NOTE: South and East are negative.
4
+ */
5
+ type Point = {
6
+ latitude: number;
7
+ longitude: number;
8
+ };
9
+ declare const Locations: Location[];
10
+ /**
11
+ * Find the Location (city) that is the closest to the given point of coordinates.
12
+ * @param {Point} point
13
+ * @returns
14
+ */
15
+ declare function closestDistanceMatch(point: Point): Location | undefined;
16
+ /**
17
+ * Find the Location (city) who's city name is the closest match to the given point of coordinates.
18
+ * @param {string} val
19
+ * @returns
20
+ */
21
+ declare function closestNameMatch(val: string): Location | undefined;
22
+ /**
23
+ * Option 1: Find a location with the given name
24
+ * Option 2: Find the location with the name that is most similar to the given name
25
+ * Option 3: Find the Location with the given coordinates
26
+ * Option 4: Find the location closest to the given coordinates
27
+ * @param {String|Point} nameOrCoordinates
28
+ */
29
+ declare function findLocation(nameOrCoordinates: string | Point): Location | undefined;
30
+ export { Locations, findLocation, closestDistanceMatch, closestNameMatch };
31
+ //# sourceMappingURL=Locations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locations.d.ts","sourceRoot":"","sources":["../src/Locations.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAIvC;;GAEG;AACH,KAAK,KAAK,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAErD,QAAA,MAAM,SAAS,YAC8D,CAAC;AA+C9E;;;;GAIG;AACH,iBAAS,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAShE;AAED;;;;GAIG;AACH,iBAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAW3D;AAED;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,iBAAiB,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CA0B7E;AAED,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.closestNameMatch = exports.closestDistanceMatch = exports.findLocation = exports.Locations = void 0;
7
+ const Location_1 = __importDefault(require("./JCal/Location"));
8
+ const locations_json_1 = __importDefault(require("./locations.json"));
9
+ const closest_match_1 = require("closest-match");
10
+ const Locations = locations_json_1.default.map(l => new Location_1.default(l.name, l.heb, !!l.il, l.lat, l.lon, l.tz, l.el || 0, l.cl));
11
+ exports.Locations = Locations;
12
+ //Sort the Locations by name
13
+ Locations.sort(function (a, b) {
14
+ return a.Name > b.Name ? 1 : b.Name > a.Name ? -1 : 0;
15
+ });
16
+ //The location names and indexes - until the first comma and in lowercase.
17
+ const justNames = [];
18
+ for (let i = 0; i < Locations.length - 1; i++) {
19
+ const l = Locations[i];
20
+ justNames.push({
21
+ name: l.Name.split(',', 1)[0].toLowerCase(), index: i
22
+ });
23
+ if (!!l.NameHebrew) {
24
+ justNames.push({
25
+ name: l.NameHebrew, index: i
26
+ });
27
+ }
28
+ }
29
+ /**
30
+ * Get the distance between two points in Kilometers
31
+ * @param {Point} point1
32
+ * @param {Point} point2
33
+ * @returns {number}
34
+ */
35
+ function distancePointToPoint(point1, point2) {
36
+ if ((point1.latitude == point2.latitude) && (point1.longitude == point2.longitude)) {
37
+ return 0;
38
+ }
39
+ else {
40
+ var radlat1 = Math.PI * point1.latitude / 180;
41
+ var radlat2 = Math.PI * point2.latitude / 180;
42
+ var theta = point1.longitude - point2.longitude;
43
+ var radtheta = Math.PI * theta / 180;
44
+ var dist = Math.sin(radlat1) * Math.sin(radlat2) + Math.cos(radlat1) * Math.cos(radlat2) * Math.cos(radtheta);
45
+ if (dist > 1) {
46
+ dist = 1;
47
+ }
48
+ dist = Math.acos(dist);
49
+ dist = dist * 180 / Math.PI;
50
+ dist = dist * 60 * 1.1515;
51
+ dist = dist * 1.609344;
52
+ return dist;
53
+ }
54
+ }
55
+ /**
56
+ * Find the Location (city) that is the closest to the given point of coordinates.
57
+ * @param {Point} point
58
+ * @returns
59
+ */
60
+ function closestDistanceMatch(point) {
61
+ let curr = { dist: 100000 };
62
+ for (let location of Locations) {
63
+ const dist = distancePointToPoint(point, { latitude: location.Latitude, longitude: location.Longitude });
64
+ if (dist < curr.dist) {
65
+ curr = { dist, location };
66
+ }
67
+ }
68
+ return curr.location;
69
+ }
70
+ exports.closestDistanceMatch = closestDistanceMatch;
71
+ /**
72
+ * Find the Location (city) who's city name is the closest match to the given point of coordinates.
73
+ * @param {string} val
74
+ * @returns
75
+ */
76
+ function closestNameMatch(val) {
77
+ let curr = { dist: 100000 };
78
+ for (let location of justNames) {
79
+ const dist = (0, closest_match_1.distance)(val.toLowerCase(), location.name);
80
+ if (dist < curr.dist) {
81
+ curr = { dist, location };
82
+ }
83
+ }
84
+ return curr.location ? Locations[curr.location.index] : undefined;
85
+ }
86
+ exports.closestNameMatch = closestNameMatch;
87
+ /**
88
+ * Option 1: Find a location with the given name
89
+ * Option 2: Find the location with the name that is most similar to the given name
90
+ * Option 3: Find the Location with the given coordinates
91
+ * Option 4: Find the location closest to the given coordinates
92
+ * @param {String|Point} nameOrCoordinates
93
+ */
94
+ function findLocation(nameOrCoordinates) {
95
+ if (typeof nameOrCoordinates === 'string') {
96
+ //First simply try to find an exact (case insensitive) match
97
+ const exactNameMatch = Locations.find(l => l.Name.toLowerCase() === nameOrCoordinates.toLowerCase() || l.NameHebrew === nameOrCoordinates);
98
+ if (!!exactNameMatch) {
99
+ return exactNameMatch;
100
+ }
101
+ //Next, we try to find an exact (case insensitive) match up untill the first comma
102
+ const cityOnlyNameMatch = justNames.find(l => l.name === nameOrCoordinates.toLowerCase());
103
+ if (!!cityOnlyNameMatch) {
104
+ return Locations[cityOnlyNameMatch.index];
105
+ }
106
+ //As a last resort, try to use some fancy algorithm to get the closest name match
107
+ return closestNameMatch(nameOrCoordinates.toLowerCase());
108
+ }
109
+ else { //The given parameter is a Point of coordinates
110
+ const exactCoordinateMatch = Locations.find(l => l.Latitude === nameOrCoordinates.latitude &&
111
+ l.Longitude === nameOrCoordinates.longitude);
112
+ if (!!exactCoordinateMatch) {
113
+ return exactCoordinateMatch;
114
+ }
115
+ return closestDistanceMatch(nameOrCoordinates);
116
+ }
117
+ }
118
+ exports.findLocation = findLocation;
119
+ //# sourceMappingURL=Locations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Locations.js","sourceRoot":"","sources":["../src/Locations.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAuC;AACvC,sEAAyC;AACzC,iDAAyC;AAOzC,MAAM,SAAS,GAAG,wBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAChC,IAAI,kBAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAoHrE,8BAAS;AAlHlB,4BAA4B;AAC5B,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IACzB,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AACH,0EAA0E;AAC1E,MAAM,SAAS,GAAsC,EAAE,CAAC;AACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;IAC3C,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC;KACxD,CAAC,CAAC;IACH,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QAChB,SAAS,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,CAAC;SAC/B,CAAC,CAAC;KACN;CACJ;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,MAAa,EAAE,MAAa;IACtD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,EAAE;QAChF,OAAO,CAAC,CAAC;KACZ;SACI;QACD,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC9C,IAAI,OAAO,GAAG,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC9C,IAAI,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAChD,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;QACrC,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9G,IAAI,IAAI,GAAG,CAAC,EAAE;YACV,IAAI,GAAG,CAAC,CAAC;SACZ;QACD,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC;QAC1B,IAAI,GAAG,IAAI,GAAG,QAAQ,CAAA;QACtB,OAAO,IAAI,CAAC;KACf;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAAC,KAAY;IACtC,IAAI,IAAI,GAA0C,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnE,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;QAC5B,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;QACzG,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YAClB,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC7B;KACJ;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC;AACzB,CAAC;AAuDiC,oDAAoB;AArDtD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACjC,IAAI,IAAI,GAEJ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAA,wBAAQ,EAAC,GAAG,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;YAClB,IAAI,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC7B;KACJ;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAqCuD,4CAAgB;AAnCxE;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,iBAAiC;IACnD,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE;QACvC,4DAA4D;QAC5D,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACtC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,iBAAiB,CAAC,CAAC;QACpG,IAAI,CAAC,CAAC,cAAc,EAAE;YAClB,OAAO,cAAc,CAAC;SACzB;QACD,kFAAkF;QAClF,MAAM,iBAAiB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,IAAI,KAAK,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,CAAC,iBAAiB,EAAE;YACrB,OAAO,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;SAC7C;QACD,iFAAiF;QACjF,OAAO,gBAAgB,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAE,CAAA;KAC5D;SACI,EAAE,+CAA+C;QAClD,MAAM,oBAAoB,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC5C,CAAC,CAAC,QAAQ,KAAK,iBAAiB,CAAC,QAAQ;YACzC,CAAC,CAAC,SAAS,KAAK,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC,oBAAoB,EAAE;YACxB,OAAO,oBAAoB,CAAC;SAC/B;QACD,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;KAClD;AACL,CAAC;AAEmB,oCAAY"}
@@ -0,0 +1,18 @@
1
+ import jDate from './JCal/jDate';
2
+ import Location from './JCal/Location';
3
+ import { Time } from './jcal-zmanim';
4
+ /**
5
+ * Get shul notifications for the given date and location
6
+ * @param date
7
+ * @param time
8
+ * @param location
9
+ * @param english
10
+ * @param showGaonShir
11
+ * @param showDafYomi
12
+ * @returns {{ dayNotes: string[], tefillahNotes: string[]}}
13
+ */
14
+ export declare function getNotifications(date: jDate | Date, time: Time, location: Location, english: boolean, showGaonShir?: boolean, showDafYomi?: boolean): {
15
+ dayNotes: string[];
16
+ tefillahNotes: string[];
17
+ };
18
+ //# sourceMappingURL=Notifications.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Notifications.d.ts","sourceRoot":"","sources":["../src/Notifications.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,cAAc,CAAC;AAIjC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AA4BrC;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,OAAO;;;EAmFnJ"}