@ancon/wildcat-utils 1.43.0-timezone-refactor.4 → 1.43.0-timezone-refactor.6

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