@ancon/wildcat-utils 1.40.30 → 1.40.31

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.
@@ -1 +1 @@
1
- "use strict";const r=require("@ancon/wildcat-types"),a=require("moment"),T=require("../shared/constants.js"),d=require("./getExpressServiceIntervalStart.js"),u=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");const l=[r.OrderFormat.TakeAway,r.OrderFormat.EatIn];function k(i){var c;if(!((c=i.openingHours)!=null&&c.length))return[];const s=a(),{openingHours:p,supportedOrderFormats:m}=i,y=[...p].reduce((t,e,E,f)=>{switch(e.type){case r.IntervalType.Exception:{const o=a(e.periodFrom),n=a(e.periodTo),O=d(o,e),F=u(n,e);if(s.isBetween(O,F,"minute","[]"))return e.state===r.IntervalState.Closed?(f.splice(1),r.OrderFormat.None):e.orderFormat}break;case r.IntervalType.Interval:default:if(e.dayOfWeek===r.DayOfWeek.Everyday||e.dayOfWeek===T.DaysOfWeekMap[s.isoWeekday()]){const o=d(s,e),n=u(s,e);if(s.isBetween(o,n,"minute","[]"))return t|e.orderFormat}break}return t},r.OrderFormat.None);return l.filter(t=>(y&t)===t&&(m&t)===t)}module.exports=k;
1
+ "use strict";const r=require("@ancon/wildcat-types"),i=require("moment"),l=require("../shared/constants.js"),u=require("./getExpressServiceIntervalStart.js"),p=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");const k=[r.OrderFormat.TakeAway,r.OrderFormat.EatIn];function E(c){var d;if(!((d=c.openingHours)!=null&&d.length))return[];const s=i(),{openingHours:m,supportedOrderFormats:f,timeZoneOffset:o}=c,y=[...m].reduce((t,e,g,O)=>{switch(e.type){case r.IntervalType.Exception:{const n=i(e.periodFrom),a=i(e.periodTo),F=u(n,e,o),T=p(a,e,o);if(s.isBetween(F,T,void 0,"[]"))return e.state===r.IntervalState.Closed?(O.splice(1),r.OrderFormat.None):e.orderFormat}break;case r.IntervalType.Interval:default:if(e.dayOfWeek===r.DayOfWeek.Everyday||e.dayOfWeek===l.DaysOfWeekMap[s.isoWeekday()]){const n=u(s,e,o),a=p(s,e,o);if(s.isBetween(n,a,void 0,"[]"))return t|e.orderFormat}break}return t},r.OrderFormat.None);return k.filter(t=>(y&t)===t&&(f&t)===t)}module.exports=E;
@@ -1,49 +1,62 @@
1
- import { OrderFormat as o, DayOfWeek as T, IntervalType as p, IntervalState as g } from "@ancon/wildcat-types";
2
- import n from "moment";
3
- import { DaysOfWeekMap as F } from "../shared/constants.mjs";
4
- import d from "./getExpressServiceIntervalStart.mjs";
5
- import f from "./getExpressServiceIntervalEnd.mjs";
1
+ import { OrderFormat as s, DayOfWeek as g, IntervalType as d, IntervalState as F } from "@ancon/wildcat-types";
2
+ import i from "moment";
3
+ import { DaysOfWeekMap as l } from "../shared/constants.mjs";
4
+ import f from "./getExpressServiceIntervalStart.mjs";
5
+ import c from "./getExpressServiceIntervalEnd.mjs";
6
6
  import "../time/getTimeSpanParts.mjs";
7
- const l = [o.TakeAway, o.EatIn];
8
- function h(i) {
9
- var m;
10
- if (!((m = i.openingHours) != null && m.length))
7
+ const x = [s.TakeAway, s.EatIn];
8
+ function h(m) {
9
+ var p;
10
+ if (!((p = m.openingHours) != null && p.length))
11
11
  return [];
12
- const r = n(), { openingHours: c, supportedOrderFormats: u } = i, y = [...c].reduce(
13
- (t, e, x, O) => {
12
+ const r = i(), { openingHours: u, supportedOrderFormats: y, timeZoneOffset: o } = m, O = [...u].reduce(
13
+ (t, e, D, k) => {
14
14
  switch (e.type) {
15
- case p.Exception:
15
+ case d.Exception:
16
16
  {
17
- const s = n(e.periodFrom), a = n(e.periodTo), k = d(
18
- s,
19
- e
20
- ), E = f(a, e);
21
- if (r.isBetween(k, E, "minute", "[]"))
22
- return e.state === g.Closed ? (O.splice(1), o.None) : e.orderFormat;
17
+ const a = i(e.periodFrom), n = i(e.periodTo), E = f(
18
+ a,
19
+ e,
20
+ o
21
+ ), T = c(
22
+ n,
23
+ e,
24
+ o
25
+ );
26
+ if (r.isBetween(E, T, void 0, "[]"))
27
+ return e.state === F.Closed ? (k.splice(1), s.None) : e.orderFormat;
23
28
  }
24
29
  break;
25
- case p.Interval:
30
+ case d.Interval:
26
31
  default:
27
32
  if (
28
33
  // Every day in the week
29
- e.dayOfWeek === T.Everyday || // Specific day in the week
30
- e.dayOfWeek === F[r.isoWeekday()]
34
+ e.dayOfWeek === g.Everyday || // Specific day in the week
35
+ e.dayOfWeek === l[r.isoWeekday()]
31
36
  ) {
32
- const s = d(r, e), a = f(r, e);
33
- if (r.isBetween(s, a, "minute", "[]"))
37
+ const a = f(
38
+ r,
39
+ e,
40
+ o
41
+ ), n = c(
42
+ r,
43
+ e,
44
+ o
45
+ );
46
+ if (r.isBetween(a, n, void 0, "[]"))
34
47
  return t | e.orderFormat;
35
48
  }
36
49
  break;
37
50
  }
38
51
  return t;
39
52
  },
40
- o.None
53
+ s.None
41
54
  );
42
- return l.filter(
55
+ return x.filter(
43
56
  (t) => (
44
57
  // Check if the order format is available
45
- (y & t) === t && // Check if the order format is supported by the outlet
46
- (u & t) === t
58
+ (O & t) === t && // Check if the order format is supported by the outlet
59
+ (y & t) === t
47
60
  )
48
61
  );
49
62
  }
@@ -1,2 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
- export default function getExpressNextAvailabilityShiftTime(openingHours: Array<OpeningHours>): number;
2
+ import { Moment } from 'moment';
3
+ export default function getExpressNextAvailabilityShiftTime(openingHours: Array<OpeningHours>, timezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const o=require("@ancon/wildcat-types"),s=require("moment"),u=require("../shared/constants.js"),y=require("./getExpressServiceIntervalStart.js"),l=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");function m(f){const t=s();let r=t.clone().add(1,"day").startOf("day").valueOf();function a(e){const i=e.type===o.IntervalType.Exception,d=i?s(e.periodFrom):t,p=i?s(e.periodTo):t,n=y(d,e),c=l(p,e);n.isBetween(t,r)?r=n.valueOf():c.isBetween(t,r)&&(r=c.valueOf())}return f.forEach(e=>{switch(e.type){case o.IntervalType.Exception:a(e);break;case o.IntervalType.Interval:default:(e.dayOfWeek===o.DayOfWeek.Everyday||e.dayOfWeek===u.DaysOfWeekMap[t.isoWeekday()])&&a(e);break}}),r}module.exports=m;
1
+ "use strict";const o=require("@ancon/wildcat-types"),s=require("moment"),u=require("../shared/constants.js"),x=require("./getExpressServiceIntervalStart.js"),E=require("./getExpressServiceIntervalEnd.js");require("../time/getTimeSpanParts.js");function T(p,i){const t=s();let r=t.clone().add(1,"day").startOf("day");function n(e){const a=e.type===o.IntervalType.Exception,y=a?s(e.periodFrom):t,f=a?s(e.periodTo):t,c=x(y,e,i),d=E(f,e,i);c.isBetween(t,r)?r=c:d.isBetween(t,r)&&(r=d)}return p.forEach(e=>{switch(e.type){case o.IntervalType.Exception:n(e);break;case o.IntervalType.Interval:default:(e.dayOfWeek===o.DayOfWeek.Everyday||e.dayOfWeek===u.DaysOfWeekMap[t.isoWeekday()])&&n(e);break}}),r}module.exports=T;
@@ -1,30 +1,38 @@
1
- import { DayOfWeek as d, IntervalType as r } from "@ancon/wildcat-types";
1
+ import { DayOfWeek as y, IntervalType as r } from "@ancon/wildcat-types";
2
2
  import i from "moment";
3
- import { DaysOfWeekMap as y } from "../shared/constants.mjs";
4
- import x from "./getExpressServiceIntervalStart.mjs";
5
- import E from "./getExpressServiceIntervalEnd.mjs";
3
+ import { DaysOfWeekMap as x } from "../shared/constants.mjs";
4
+ import E from "./getExpressServiceIntervalStart.mjs";
5
+ import k from "./getExpressServiceIntervalEnd.mjs";
6
6
  import "../time/getTimeSpanParts.mjs";
7
- function h(n) {
7
+ function W(p, a) {
8
8
  const t = i();
9
- let o = t.clone().add(1, "day").startOf("day").valueOf();
10
- function a(e) {
11
- const f = e.type === r.Exception, p = f ? i(e.periodFrom) : t, c = f ? i(e.periodTo) : t, s = x(p, e), m = E(c, e);
12
- s.isBetween(t, o) ? o = s.valueOf() : m.isBetween(t, o) && (o = m.valueOf());
9
+ let o = t.clone().add(1, "day").startOf("day");
10
+ function s(e) {
11
+ const f = e.type === r.Exception, c = f ? i(e.periodFrom) : t, d = f ? i(e.periodTo) : t, m = E(
12
+ c,
13
+ e,
14
+ a
15
+ ), n = k(
16
+ d,
17
+ e,
18
+ a
19
+ );
20
+ m.isBetween(t, o) ? o = m : n.isBetween(t, o) && (o = n);
13
21
  }
14
- return n.forEach((e) => {
22
+ return p.forEach((e) => {
15
23
  switch (e.type) {
16
24
  case r.Exception:
17
- a(e);
25
+ s(e);
18
26
  break;
19
27
  case r.Interval:
20
28
  default:
21
29
  // Every day in the week
22
- (e.dayOfWeek === d.Everyday || // Specific day in the week
23
- e.dayOfWeek === y[t.isoWeekday()]) && a(e);
30
+ (e.dayOfWeek === y.Everyday || // Specific day in the week
31
+ e.dayOfWeek === x[t.isoWeekday()]) && s(e);
24
32
  break;
25
33
  }
26
34
  }), o;
27
35
  }
28
36
  export {
29
- h as default
37
+ W as default
30
38
  };
@@ -1,3 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
2
  import { Moment } from 'moment';
3
- export default function getExpressServiceIntervalEnd(date: Moment, interval: OpeningHours): Moment;
3
+ export default function getExpressServiceIntervalEnd(date: Moment, interval: OpeningHours, outletTimezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const r=require("../time/getTimeSpanParts.js");function u(o,e){const n=r(e.from),s=r(e.duration),t=o.clone().hour(n.hours).minute(n.minutes).second(0).millisecond(0);return t.add(t.utcOffset(),"minute"),t.add(s.hours,"hour").add(s.minutes,"minute"),t}module.exports=u;
1
+ "use strict";const n=require("../time/getTimeSpanParts.js");function d(e,s,u){const o=n(s.from),i=n(s.duration);let r=e.utcOffset();if(u){const c=n(u);r=c.hours*60+c.minutes}const t=e.clone().hour(o.hours).minute(o.minutes).second(0).millisecond(0),a=t.add(r,"minute").date()-e.date();return Math.abs(a)&&t.subtract(a,"day"),t.add(i.hours,"hour").add(i.minutes,"minute"),t}module.exports=d;
@@ -1,8 +1,14 @@
1
- import r from "../time/getTimeSpanParts.mjs";
2
- function d(s, e) {
3
- const n = r(e.from), o = r(e.duration), t = s.clone().hour(n.hours).minute(n.minutes).second(0).millisecond(0);
4
- return t.add(t.utcOffset(), "minute"), t.add(o.hours, "hour").add(o.minutes, "minute"), t;
1
+ import n from "../time/getTimeSpanParts.mjs";
2
+ function m(e, s, o) {
3
+ const u = n(s.from), a = n(s.duration);
4
+ let r = e.utcOffset();
5
+ if (o) {
6
+ const i = n(o);
7
+ r = i.hours * 60 + i.minutes;
8
+ }
9
+ const t = e.clone().hour(u.hours).minute(u.minutes).second(0).millisecond(0), d = t.add(r, "minute").date() - e.date();
10
+ return Math.abs(d) && t.subtract(d, "day"), t.add(a.hours, "hour").add(a.minutes, "minute"), t;
5
11
  }
6
12
  export {
7
- d as default
13
+ m as default
8
14
  };
@@ -1,3 +1,3 @@
1
1
  import { OpeningHours } from '@ancon/wildcat-types';
2
2
  import { Moment } from 'moment';
3
- export default function getExpressServiceIntervalStart(date: Moment, interval: OpeningHours): Moment;
3
+ export default function getExpressServiceIntervalStart(date: Moment, interval: OpeningHours, outletTimezoneOffset?: string): Moment;
@@ -1 +1 @@
1
- "use strict";const n=require("../time/getTimeSpanParts.js");function i(r,s){const e=n(s.from),t=r.clone().hour(e.hours).minute(e.minutes).second(0).millisecond(0);return t.add(t.utcOffset(),"minute"),t}module.exports=i;
1
+ "use strict";const o=require("../time/getTimeSpanParts.js");function c(t,u,s){const r=o(u.from);let n=t.utcOffset();if(s){const i=o(s);n=i.hours*60+i.minutes}const e=t.clone().hour(r.hours).minute(r.minutes).second(0).millisecond(0),a=e.add(n,"minute").date()-t.date();return Math.abs(a)&&e.subtract(a,"day"),e}module.exports=c;
@@ -1,8 +1,14 @@
1
- import s from "../time/getTimeSpanParts.mjs";
2
- function a(r, n) {
3
- const e = s(n.from), t = r.clone().hour(e.hours).minute(e.minutes).second(0).millisecond(0);
4
- return t.add(t.utcOffset(), "minute"), t;
1
+ import u from "../time/getTimeSpanParts.mjs";
2
+ function m(t, i, s) {
3
+ const a = u(i.from);
4
+ let r = t.utcOffset();
5
+ if (s) {
6
+ const o = u(s);
7
+ r = o.hours * 60 + o.minutes;
8
+ }
9
+ const e = t.clone().hour(a.hours).minute(a.minutes).second(0).millisecond(0), n = e.add(r, "minute").date() - t.date();
10
+ return Math.abs(n) && e.subtract(n, "day"), e;
5
11
  }
6
12
  export {
7
- a as default
13
+ m as default
8
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ancon/wildcat-utils",
3
- "version": "1.40.30",
3
+ "version": "1.40.31",
4
4
  "private": false,
5
5
  "main": "index.js",
6
6
  "module": "index.mjs",