@ancon/wildcat-utils 1.40.27 → 1.40.29
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/hangfire/createHangfirePoller.d.ts +1 -0
- package/hangfire/createHangfirePoller.js +1 -1
- package/hangfire/createHangfirePoller.mjs +55 -40
- package/hangfire/index.js +1 -1
- package/hangfire/index.mjs +7 -6
- package/outlet/generatePickerTimesForDay.js +1 -1
- package/outlet/generatePickerTimesForDay.mjs +8 -8
- package/outlet/getOutletPickerTimesForDay.js +1 -1
- package/outlet/getOutletPickerTimesForDay.mjs +30 -30
- package/outlet/getPickerIntervalsForDay.d.ts +2 -1
- package/outlet/getPickerIntervalsForDay.js +1 -1
- package/outlet/getPickerIntervalsForDay.mjs +15 -15
- package/package.json +1 -1
|
@@ -28,6 +28,7 @@ declare class HangfirePoller {
|
|
|
28
28
|
constructor(options?: Partial<HangfirePollerConfig>);
|
|
29
29
|
private stopTimer;
|
|
30
30
|
private startTimer;
|
|
31
|
+
private waitForNetworkOnline;
|
|
31
32
|
private executeWorkerRequest;
|
|
32
33
|
private deleteWorker;
|
|
33
34
|
createWorker(groupId: string, { workerId, url, headers, }: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var p=(
|
|
1
|
+
"use strict";var f=Object.defineProperty;var p=(s,e,r)=>e in s?f(s,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):s[e]=r;var o=(s,e,r)=>(p(s,typeof e!="symbol"?e+"":e,r),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const b=require("axios"),u=require("@ancon/wildcat-types"),a=require("../error/createCodedError.js"),k=require("../api/isNoContentResponse.js"),w=require("../shared/wait.js");class g{constructor(e){o(this,"busyWorkers",new Set);o(this,"enabledGroups",new Set);o(this,"groups",new Map);o(this,"workerByIdMap",new Map);o(this,"timer",null);o(this,"config",{maxGroupsSize:50,maxWorkersSize:20,getIsNetworkOnline(){return!0},async getRequestHeaders(){return{}},debug(...e){console.log(...e)}});this.config={...this.config,...e??null}}stopTimer(){this.timer!=null&&(this.config.debug("*stop timer*"),clearInterval(this.timer),this.timer=null)}startTimer(){if(this.timer!=null)throw a(new Error("Timer already started"),u.ErrorCode.GenericUnexpectedHangfireError);this.config.debug("*start timer*"),this.timer=setInterval(()=>{this.config.debug("*tick*",{busyWorkers:this.busyWorkers.size,enabledGroups:this.enabledGroups.size,groups:this.groups}),this.enabledGroups.forEach(e=>{const r=this.groups.get(e);r&&r.forEach(t=>this.executeWorkerRequest(t))}),this.groups.size<1&&this.stopTimer()},5e3)}async waitForNetworkOnline(e=5){let r=0;for(;!this.config.getIsNetworkOnline()&&r<e+1;)r+=1,await w(1e3)}async executeWorkerRequest(e,r=!1){const t=r!==!0&&this.busyWorkers.has(e.workerId);this.config.debug("*executeWorkerRequest*",{workerId:e.workerId,isBusy:t,force:r}),t?this.config.debug("*executeWorkerRequest* worker is busy",e.workerId):(this.busyWorkers.add(e.workerId),await this.waitForNetworkOnline(),this.config.debug("*executeWorkerRequest* request",{isNetworkOnline:this.config.getIsNetworkOnline()}),b({url:e.url,method:"get",headers:{...await this.config.getRequestHeaders(),...e.headers}}).then(i=>{i&&!k(i)?(e.resolve(i),this.deleteWorker(e.groupId,e.workerId)):this.busyWorkers.delete(e.workerId)}).catch(i=>{e.reject(i),this.deleteWorker(e.groupId,e.workerId)}))}deleteWorker(e,r){const t=this.groups.get(e);t&&(this.config.debug("*delete worker*",t.size,t),t.delete(r),this.workerByIdMap.delete(r),this.busyWorkers.delete(r),t.size<1&&(this.groups.delete(e),this.enabledGroups.delete(e),this.enabledGroups.size<1&&this.stopTimer()))}createWorker(e,{workerId:r,url:t,headers:i}){if(!this.groups.has(e)){if(this.groups.size>=this.config.maxGroupsSize){const h=a(new Error("Max number of Hangfire groups exceeded"),u.ErrorCode.GenericUnexpectedHangfireError,{count:this.groups.size});throw this.destroy(),h}this.groups.set(e,new Map)}const n=this.groups.get(e);return new Promise((h,l)=>{if(n.has(r))throw a(new Error("Duplicate Hangfire worker ID"),u.ErrorCode.GenericUnexpectedHangfireError);if(n.size>=this.config.maxWorkersSize){const c=a(new Error("Max number of Hangfire workers in group exceeded"),u.ErrorCode.GenericUnexpectedHangfireError,{groupId:e,count:n.size});throw l(c),this.destroy(),c}const d={workerId:r,groupId:e,url:t,resolve:h,reject:l,headers:i};n.set(r,d),this.workerByIdMap.set(r,d),this.enabledGroups.has(e)||this.enabledGroups.add(e),this.timer==null&&this.enabledGroups.size>0&&this.startTimer()})}triggerWorker(e){this.config.debug("*triggerWorker*");const r=this.workerByIdMap.get(e);r?this.executeWorkerRequest(r,!0):this.config.debug("*triggerWorker* worker not found",e)}enableWorkers(e){this.config.debug("*enable*",e),this.enabledGroups.add(e),this.groups.has(e)&&this.timer==null&&this.startTimer()}disableWorkers(e){this.config.debug("*disable*",e),this.enabledGroups.delete(e),this.enabledGroups.size<1&&this.stopTimer()}destroy(){this.config.debug("*destroy*"),this.groups.clear(),this.stopTimer()}}function m(s){return new g(s)}exports.HangfirePoller=g;exports.default=m;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
var
|
|
2
|
-
var f = (
|
|
3
|
-
var o = (
|
|
1
|
+
var c = Object.defineProperty;
|
|
2
|
+
var f = (s, e, r) => e in s ? c(s, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : s[e] = r;
|
|
3
|
+
var o = (s, e, r) => (f(s, typeof e != "symbol" ? e + "" : e, r), r);
|
|
4
4
|
import p from "axios";
|
|
5
|
-
import { ErrorCode as
|
|
5
|
+
import { ErrorCode as a } from "@ancon/wildcat-types";
|
|
6
6
|
import h from "../error/createCodedError.mjs";
|
|
7
|
-
import
|
|
8
|
-
|
|
7
|
+
import b from "../api/isNoContentResponse.mjs";
|
|
8
|
+
import m from "../shared/wait.mjs";
|
|
9
|
+
class k {
|
|
9
10
|
constructor(e) {
|
|
10
11
|
/** Workers currently executing a request */
|
|
11
12
|
o(this, "busyWorkers", /* @__PURE__ */ new Set());
|
|
@@ -41,7 +42,7 @@ class b {
|
|
|
41
42
|
if (this.timer != null)
|
|
42
43
|
throw h(
|
|
43
44
|
new Error("Timer already started"),
|
|
44
|
-
|
|
45
|
+
a.GenericUnexpectedHangfireError
|
|
45
46
|
);
|
|
46
47
|
this.config.debug("*start timer*"), this.timer = setInterval(() => {
|
|
47
48
|
this.config.debug("*tick*", {
|
|
@@ -50,76 +51,90 @@ class b {
|
|
|
50
51
|
groups: this.groups
|
|
51
52
|
}), this.enabledGroups.forEach((e) => {
|
|
52
53
|
const r = this.groups.get(e);
|
|
53
|
-
r && r.forEach((
|
|
54
|
+
r && r.forEach((t) => this.executeWorkerRequest(t));
|
|
54
55
|
}), this.groups.size < 1 && this.stopTimer();
|
|
55
56
|
}, 5e3);
|
|
56
57
|
}
|
|
58
|
+
async waitForNetworkOnline(e = 5) {
|
|
59
|
+
let r = 0;
|
|
60
|
+
for (; !this.config.getIsNetworkOnline() && r < e + 1; )
|
|
61
|
+
r += 1, await m(1e3);
|
|
62
|
+
}
|
|
57
63
|
async executeWorkerRequest(e, r = !1) {
|
|
58
|
-
const
|
|
59
|
-
|
|
64
|
+
const t = r !== !0 && this.busyWorkers.has(e.workerId);
|
|
65
|
+
this.config.debug("*executeWorkerRequest*", {
|
|
66
|
+
workerId: e.workerId,
|
|
67
|
+
isBusy: t,
|
|
68
|
+
force: r
|
|
69
|
+
}), t ? this.config.debug(
|
|
70
|
+
"*executeWorkerRequest* worker is busy",
|
|
71
|
+
e.workerId
|
|
72
|
+
) : (this.busyWorkers.add(e.workerId), await this.waitForNetworkOnline(), this.config.debug("*executeWorkerRequest* request", {
|
|
73
|
+
isNetworkOnline: this.config.getIsNetworkOnline()
|
|
74
|
+
}), p({
|
|
60
75
|
url: e.url,
|
|
61
76
|
method: "get",
|
|
62
77
|
headers: {
|
|
63
78
|
...await this.config.getRequestHeaders(),
|
|
64
79
|
...e.headers
|
|
65
80
|
}
|
|
66
|
-
}).then((
|
|
67
|
-
|
|
68
|
-
}).catch((
|
|
69
|
-
e.reject(
|
|
81
|
+
}).then((i) => {
|
|
82
|
+
i && !b(i) ? (e.resolve(i), this.deleteWorker(e.groupId, e.workerId)) : this.busyWorkers.delete(e.workerId);
|
|
83
|
+
}).catch((i) => {
|
|
84
|
+
e.reject(i), this.deleteWorker(e.groupId, e.workerId);
|
|
70
85
|
}));
|
|
71
86
|
}
|
|
72
87
|
deleteWorker(e, r) {
|
|
73
|
-
const
|
|
74
|
-
|
|
88
|
+
const t = this.groups.get(e);
|
|
89
|
+
t && (this.config.debug("*delete worker*", t.size, t), t.delete(r), this.workerByIdMap.delete(r), this.busyWorkers.delete(r), t.size < 1 && (this.groups.delete(e), this.enabledGroups.delete(e), this.enabledGroups.size < 1 && this.stopTimer()));
|
|
75
90
|
}
|
|
76
91
|
createWorker(e, {
|
|
77
92
|
workerId: r,
|
|
78
|
-
url:
|
|
79
|
-
headers:
|
|
93
|
+
url: t,
|
|
94
|
+
headers: i
|
|
80
95
|
}) {
|
|
81
96
|
if (!this.groups.has(e)) {
|
|
82
97
|
if (this.groups.size >= this.config.maxGroupsSize) {
|
|
83
|
-
const
|
|
98
|
+
const u = h(
|
|
84
99
|
new Error("Max number of Hangfire groups exceeded"),
|
|
85
|
-
|
|
100
|
+
a.GenericUnexpectedHangfireError,
|
|
86
101
|
{ count: this.groups.size }
|
|
87
102
|
);
|
|
88
|
-
throw this.destroy(),
|
|
103
|
+
throw this.destroy(), u;
|
|
89
104
|
}
|
|
90
105
|
this.groups.set(e, /* @__PURE__ */ new Map());
|
|
91
106
|
}
|
|
92
|
-
const
|
|
93
|
-
return new Promise((
|
|
94
|
-
if (
|
|
107
|
+
const n = this.groups.get(e);
|
|
108
|
+
return new Promise((u, l) => {
|
|
109
|
+
if (n.has(r))
|
|
95
110
|
throw h(
|
|
96
111
|
new Error("Duplicate Hangfire worker ID"),
|
|
97
|
-
|
|
112
|
+
a.GenericUnexpectedHangfireError
|
|
98
113
|
);
|
|
99
|
-
if (
|
|
100
|
-
const
|
|
114
|
+
if (n.size >= this.config.maxWorkersSize) {
|
|
115
|
+
const d = h(
|
|
101
116
|
new Error("Max number of Hangfire workers in group exceeded"),
|
|
102
|
-
|
|
103
|
-
{ groupId: e, count:
|
|
117
|
+
a.GenericUnexpectedHangfireError,
|
|
118
|
+
{ groupId: e, count: n.size }
|
|
104
119
|
);
|
|
105
|
-
throw l(
|
|
120
|
+
throw l(d), this.destroy(), d;
|
|
106
121
|
}
|
|
107
|
-
const
|
|
122
|
+
const g = {
|
|
108
123
|
workerId: r,
|
|
109
124
|
groupId: e,
|
|
110
|
-
url:
|
|
111
|
-
resolve:
|
|
125
|
+
url: t,
|
|
126
|
+
resolve: u,
|
|
112
127
|
reject: l,
|
|
113
|
-
headers:
|
|
128
|
+
headers: i
|
|
114
129
|
};
|
|
115
|
-
|
|
130
|
+
n.set(r, g), this.workerByIdMap.set(r, g), this.enabledGroups.has(e) || this.enabledGroups.add(e), this.timer == null && this.enabledGroups.size > 0 && this.startTimer();
|
|
116
131
|
});
|
|
117
132
|
}
|
|
118
133
|
/** Trigger a worker to execute immediately, ignoring busy state */
|
|
119
134
|
triggerWorker(e) {
|
|
120
135
|
this.config.debug("*triggerWorker*");
|
|
121
136
|
const r = this.workerByIdMap.get(e);
|
|
122
|
-
r
|
|
137
|
+
r ? this.executeWorkerRequest(r, !0) : this.config.debug("*triggerWorker* worker not found", e);
|
|
123
138
|
}
|
|
124
139
|
/** May be called either before or after `createWorker()` */
|
|
125
140
|
enableWorkers(e) {
|
|
@@ -132,10 +147,10 @@ class b {
|
|
|
132
147
|
this.config.debug("*destroy*"), this.groups.clear(), this.stopTimer();
|
|
133
148
|
}
|
|
134
149
|
}
|
|
135
|
-
function
|
|
136
|
-
return new
|
|
150
|
+
function E(s) {
|
|
151
|
+
return new k(s);
|
|
137
152
|
}
|
|
138
153
|
export {
|
|
139
|
-
|
|
140
|
-
|
|
154
|
+
k as HangfirePoller,
|
|
155
|
+
E as default
|
|
141
156
|
};
|
package/hangfire/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./isHangfireResponse.js"),r=require("./createHangfirePoller.js"),i=require("./createMakeHangfireRequest.js");require("../api/isAcceptedResponse.js");require("axios");require("@ancon/wildcat-types");require("../error/createCodedError.js");require("../api/isNoContentResponse.js");exports.isHangfireResponse=e;exports.createHangfirePoller=r.default;exports.createMakeHangfireRequest=i;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./isHangfireResponse.js"),r=require("./createHangfirePoller.js"),i=require("./createMakeHangfireRequest.js");require("../api/isAcceptedResponse.js");require("axios");require("@ancon/wildcat-types");require("../error/createCodedError.js");require("../api/isNoContentResponse.js");require("../shared/wait.js");exports.isHangfireResponse=e;exports.createHangfirePoller=r.default;exports.createMakeHangfireRequest=i;
|
package/hangfire/index.mjs
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { default as
|
|
2
|
-
import { default as
|
|
3
|
-
import { default as
|
|
1
|
+
import { default as m } from "./isHangfireResponse.mjs";
|
|
2
|
+
import { default as l } from "./createHangfirePoller.mjs";
|
|
3
|
+
import { default as u } from "./createMakeHangfireRequest.mjs";
|
|
4
4
|
import "../api/isAcceptedResponse.mjs";
|
|
5
5
|
import "axios";
|
|
6
6
|
import "@ancon/wildcat-types";
|
|
7
7
|
import "../error/createCodedError.mjs";
|
|
8
8
|
import "../api/isNoContentResponse.mjs";
|
|
9
|
+
import "../shared/wait.mjs";
|
|
9
10
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
l as createHangfirePoller,
|
|
12
|
+
u as createMakeHangfireRequest,
|
|
13
|
+
m as isHangfireResponse
|
|
13
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const
|
|
1
|
+
"use strict";const r=require("moment");function f(i,n,c,s=6e5,m){const l=i.valueOf(),d=n.valueOf()-s,o=[];for(let e=l;e<=d;e+=s){const t=m?r(e).locale(m):r(e),a=t.valueOf();c.some(u=>u.timestamp===a)||o.push({timestamp:a,timeLabel:t.format("HH:mm"),dayLabel:t.format("dddd")})}return o}module.exports=f;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import
|
|
2
|
-
function u(
|
|
3
|
-
const
|
|
4
|
-
for (let e =
|
|
5
|
-
const t =
|
|
6
|
-
|
|
7
|
-
timestamp:
|
|
1
|
+
import r from "moment";
|
|
2
|
+
function u(i, n, l, m = 6e5, s) {
|
|
3
|
+
const c = i.valueOf(), d = n.valueOf() - m, o = [];
|
|
4
|
+
for (let e = c; e <= d; e += m) {
|
|
5
|
+
const t = s ? r(e).locale(s) : r(e), a = t.valueOf();
|
|
6
|
+
l.some((f) => f.timestamp === a) || o.push({
|
|
7
|
+
timestamp: a,
|
|
8
8
|
timeLabel: t.format("HH:mm"),
|
|
9
9
|
dayLabel: t.format("dddd")
|
|
10
10
|
});
|
|
11
11
|
}
|
|
12
|
-
return
|
|
12
|
+
return o;
|
|
13
13
|
}
|
|
14
14
|
export {
|
|
15
15
|
u as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const f=require("@ancon/wildcat-types"),O=require("moment"),S=require("./getPickerIntervalsForDay.js"),h=require("./getSettingsForOrderFormat.js"),
|
|
1
|
+
"use strict";const f=require("@ancon/wildcat-types"),O=require("moment"),S=require("./getPickerIntervalsForDay.js"),h=require("./getSettingsForOrderFormat.js"),l=require("./getServiceIntervalStart.js"),T=require("./generatePickerTimesForDay.js"),_=require("./getServiceIntervalEnd.js"),k=require("./getOutletNextReadyToOrderTime.js");require("../shared/constants.js");require("./getServiceIntervalsForOrderFormat.js");require("./getNextTenthMinute.js");require("./hoursAndMinutesToMinutes.js");require("./isOutletAcceptingPreOrders.js");require("./getOutletTagInformation.js");require("./constants.js");require("./getOutletCurrentActiveOperatingHour.js");require("./getMomentFromDateAndTimeString.js");require("./searchNextOpeningMoment.js");function D(e,o,p,y){const{preparationTime:m="00:00:00"}=h(o,e==null?void 0:e.orderFormatSettings)??{},n=k(e,o);let s=n.clone();const a=O(p);a>n&&(s=n.clone().set({year:a.year(),month:a.month(),date:a.date()}));let r=[];const g=S(s,e==null?void 0:e.serviceDateTimes,o);let q;return g.forEach(t=>{!q&&t.type&&(r=[]);const c=l(s,t,m,e==null?void 0:e.timeZoneOffset),u=_(s,t,m,e==null?void 0:e.timeZoneOffset);c<n&&c.add(n.valueOf()-c.valueOf(),"millisecond");const i=T(c,u,r,void 0,y);i.length>0&&t.state===f.IntervalState.Closed?r=r.filter(d=>d.timestamp<i[0].timestamp||d.timestamp>i[i.length-1].timestamp):i.length>0&&t.state===f.IntervalState.Open&&(r=r.concat(i)),q=t.type}),r}module.exports=D;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { IntervalState as d } from "@ancon/wildcat-types";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
2
|
+
import S from "moment";
|
|
3
|
+
import k from "./getPickerIntervalsForDay.mjs";
|
|
4
4
|
import T from "./getSettingsForOrderFormat.mjs";
|
|
5
5
|
import D from "./getServiceIntervalStart.mjs";
|
|
6
6
|
import F from "./generatePickerTimesForDay.mjs";
|
|
@@ -16,51 +16,51 @@ import "./constants.mjs";
|
|
|
16
16
|
import "./getOutletCurrentActiveOperatingHour.mjs";
|
|
17
17
|
import "./getMomentFromDateAndTimeString.mjs";
|
|
18
18
|
import "./searchNextOpeningMoment.mjs";
|
|
19
|
-
function
|
|
20
|
-
const { preparationTime: s = "00:00:00" } = T(
|
|
21
|
-
let
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
year:
|
|
25
|
-
month:
|
|
26
|
-
date:
|
|
19
|
+
function K(r, a, g, y) {
|
|
20
|
+
const { preparationTime: s = "00:00:00" } = T(a, r == null ? void 0 : r.orderFormatSettings) ?? {}, m = P(r, a);
|
|
21
|
+
let n = m.clone();
|
|
22
|
+
const o = S(g);
|
|
23
|
+
o > m && (n = m.clone().set({
|
|
24
|
+
year: o.year(),
|
|
25
|
+
month: o.month(),
|
|
26
|
+
date: o.date()
|
|
27
27
|
}));
|
|
28
|
-
let
|
|
29
|
-
const O =
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
let e = [];
|
|
29
|
+
const O = k(
|
|
30
|
+
n,
|
|
31
|
+
r == null ? void 0 : r.serviceDateTimes,
|
|
32
|
+
a
|
|
33
33
|
);
|
|
34
34
|
let f;
|
|
35
35
|
return O.forEach((i) => {
|
|
36
|
-
!f && i.type && (
|
|
37
|
-
const
|
|
38
|
-
|
|
36
|
+
!f && i.type && (e = []);
|
|
37
|
+
const p = D(
|
|
38
|
+
n,
|
|
39
39
|
i,
|
|
40
40
|
s,
|
|
41
|
-
|
|
41
|
+
r == null ? void 0 : r.timeZoneOffset
|
|
42
42
|
), h = x(
|
|
43
|
-
|
|
43
|
+
n,
|
|
44
44
|
i,
|
|
45
45
|
s,
|
|
46
|
-
|
|
46
|
+
r == null ? void 0 : r.timeZoneOffset
|
|
47
47
|
);
|
|
48
|
-
|
|
49
|
-
m.valueOf() -
|
|
48
|
+
p < m && p.add(
|
|
49
|
+
m.valueOf() - p.valueOf(),
|
|
50
50
|
"millisecond"
|
|
51
51
|
);
|
|
52
52
|
const t = F(
|
|
53
|
-
|
|
53
|
+
p,
|
|
54
54
|
h,
|
|
55
|
-
|
|
55
|
+
e,
|
|
56
56
|
void 0,
|
|
57
|
-
|
|
57
|
+
y
|
|
58
58
|
);
|
|
59
|
-
t.length > 0 && i.state === d.Closed ?
|
|
59
|
+
t.length > 0 && i.state === d.Closed ? e = e.filter(
|
|
60
60
|
(c) => c.timestamp < t[0].timestamp || c.timestamp > t[t.length - 1].timestamp
|
|
61
|
-
) : t.length > 0 && i.state === d.Open && (
|
|
62
|
-
}),
|
|
61
|
+
) : t.length > 0 && i.state === d.Open && (e = e.concat(t)), f = i.type;
|
|
62
|
+
}), e;
|
|
63
63
|
}
|
|
64
64
|
export {
|
|
65
|
-
|
|
65
|
+
K as default
|
|
66
66
|
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { OrderFormat, ServiceDateTime, ServiceDateTimeInterval } from '@ancon/wildcat-types';
|
|
2
|
+
import { Moment } from 'moment';
|
|
2
3
|
/**
|
|
3
4
|
* Returns the intervals for the specified weekday index (0-6) and order format (optional)
|
|
4
5
|
*
|
|
@@ -7,4 +8,4 @@ import { OrderFormat, ServiceDateTime, ServiceDateTimeInterval } from '@ancon/wi
|
|
|
7
8
|
* @param orderFormat
|
|
8
9
|
* @returns
|
|
9
10
|
*/
|
|
10
|
-
export default function getPickerIntervalsForDay(
|
|
11
|
+
export default function getPickerIntervalsForDay(date: Moment, serviceDateTimes: ServiceDateTime[], orderFormat?: OrderFormat): ServiceDateTimeInterval[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const f=require("@ancon/wildcat-types"),
|
|
1
|
+
"use strict";const f=require("@ancon/wildcat-types"),s=require("moment"),D=require("../shared/constants.js"),c=require("./getServiceIntervalsForOrderFormat.js");function p(r,o,n){return c(n,o).reduce((t,e)=>{const a=e.dayOfWeek===f.DayOfWeek.Everyday,i=!!e.type,u=r.isoWeekday();if(a){if(i){const y=s(e.fromDate),d=s(e.toDate);return r.isBetween(y,d,"day","[]")&&t.push(e),t}return t.push(e),t}return e.dayOfWeek===D.DaysOfWeekMap[u]&&t.push(e),t},[])}module.exports=p;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { DayOfWeek as
|
|
2
|
-
import
|
|
3
|
-
import { DaysOfWeekMap as
|
|
4
|
-
import
|
|
5
|
-
function
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { DayOfWeek as d } from "@ancon/wildcat-types";
|
|
2
|
+
import o from "moment";
|
|
3
|
+
import { DaysOfWeekMap as p } from "../shared/constants.mjs";
|
|
4
|
+
import u from "./getServiceIntervalsForOrderFormat.mjs";
|
|
5
|
+
function w(t, s, n) {
|
|
6
|
+
return u(
|
|
7
|
+
n,
|
|
8
|
+
s
|
|
9
9
|
).reduce(
|
|
10
10
|
(r, e) => {
|
|
11
|
-
const
|
|
12
|
-
if (
|
|
13
|
-
if (
|
|
14
|
-
const
|
|
15
|
-
return t.
|
|
11
|
+
const a = e.dayOfWeek === d.Everyday, f = !!e.type, m = t.isoWeekday();
|
|
12
|
+
if (a) {
|
|
13
|
+
if (f) {
|
|
14
|
+
const i = o(e.fromDate), y = o(e.toDate);
|
|
15
|
+
return t.isBetween(i, y, "day", "[]") && r.push(e), r;
|
|
16
16
|
}
|
|
17
17
|
return r.push(e), r;
|
|
18
18
|
}
|
|
19
|
-
return e.dayOfWeek ===
|
|
19
|
+
return e.dayOfWeek === p[m] && r.push(e), r;
|
|
20
20
|
},
|
|
21
21
|
[]
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
export {
|
|
25
|
-
|
|
25
|
+
w as default
|
|
26
26
|
};
|