@nxtedition/lib 19.7.0 → 19.7.1

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 (3) hide show
  1. package/app.js +1 -1
  2. package/package.json +2 -1
  3. package/time.js +32 -0
package/app.js CHANGED
@@ -278,7 +278,7 @@ export function makeApp(appConfig, onTerminate) {
278
278
  dsConfig.credentials.username ||
279
279
  dsConfig.credentials.userName ||
280
280
  dsConfig.credentials.user ||
281
- serviceName
281
+ `_${serviceName}`
282
282
 
283
283
  dsConfig = {
284
284
  maxReconnectAttempts: Infinity,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nxtedition/lib",
3
- "version": "19.7.0",
3
+ "version": "19.7.1",
4
4
  "license": "MIT",
5
5
  "author": "Robert Nagy <robert.nagy@boffins.se>",
6
6
  "type": "module",
@@ -17,6 +17,7 @@
17
17
  "merge-ranges.js",
18
18
  "http.js",
19
19
  "s3.js",
20
+ "time.js",
20
21
  "deepstream.js",
21
22
  "sequence.js",
22
23
  "logger.js",
package/time.js ADDED
@@ -0,0 +1,32 @@
1
+ export function isTimeBetween(date, startTime, endTime) {
2
+ const currentHours = date.getHours()
3
+ const currentMinutes = date.getMinutes()
4
+
5
+ let [startHours, startMinutes] = startTime?.split(':').map(Number) ?? [null, 0]
6
+ let [endHours, endMinutes] = endTime?.split(':').map(Number) ?? [null, 0]
7
+
8
+ if (startHours == null) {
9
+ startHours = -Number.MAX_SAFE_INTEGER
10
+ }
11
+
12
+ if (endHours == null) {
13
+ endHours = Number.MAX_SAFE_INTEGER
14
+ }
15
+
16
+ if (startHours < endHours || (startHours === endHours && startMinutes <= endMinutes)) {
17
+ // The time range is within the same day
18
+ return (currentHours > startHours ||
19
+ (currentHours === startHours && currentMinutes >= startMinutes)) &&
20
+ (currentHours < endHours || (currentHours === endHours && currentMinutes <= endMinutes))
21
+ ? { currentHours, currentMinutes, startHours, startMinutes, endHours, endMinutes }
22
+ : null
23
+ } else {
24
+ // The time range spans across two days
25
+ return currentHours > startHours ||
26
+ (currentHours === startHours && currentMinutes >= startMinutes) ||
27
+ currentHours < endHours ||
28
+ (currentHours === endHours && currentMinutes <= endMinutes)
29
+ ? { currentHours, currentMinutes, startHours, startMinutes, endHours, endMinutes }
30
+ : null
31
+ }
32
+ }