@rotorsoft/act 1.22.5 → 1.22.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/@types/internal/autoclose-config.d.ts +13 -0
- package/dist/@types/internal/autoclose-config.d.ts.map +1 -1
- package/dist/@types/internal/event-versions.d.ts.map +1 -1
- package/dist/index.cjs +27 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +27 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoclose-config.d.ts","sourceRoot":"","sources":["../../../src/internal/autoclose-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAkDjD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;iBAgB1B,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,GAAG,SAAS,GAC9B,eAAe,CAQjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhE;
|
|
1
|
+
{"version":3,"file":"autoclose-config.d.ts","sourceRoot":"","sources":["../../../src/internal/autoclose-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;;;;;GAQG;AACH,eAAO,MAAM,+BAA+B,MAAM,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAE3C;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;GAKG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAkDjD;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;iBAgB1B,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAErE;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,UAAU,GAAG,SAAS,GAC9B,eAAe,CAQjB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhE;AAsCD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,eAAe,CAAC,iBAAiB,CAAC,EAC1C,GAAG,EAAE,IAAI,GACR,OAAO,CAOT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,EACvD,GAAG,EAAE,IAAI,GACR,IAAI,CAeN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-versions.d.ts","sourceRoot":"","sources":["../../../src/internal/event-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"event-versions.d.ts","sourceRoot":"","sources":["../../../src/internal/event-versions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAmBH;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAiC3E;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,MAAM,EACvB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,GAC1B,MAAM,GAAG,SAAS,CASpB"}
|
package/dist/index.cjs
CHANGED
|
@@ -1607,6 +1607,15 @@ function deprecated_event_names(names) {
|
|
|
1607
1607
|
const deprecated = /* @__PURE__ */ new Set();
|
|
1608
1608
|
for (const list of groups.values()) {
|
|
1609
1609
|
if (list.length < 2) continue;
|
|
1610
|
+
const by_version = /* @__PURE__ */ new Map();
|
|
1611
|
+
for (const { version, name } of list) {
|
|
1612
|
+
const clash = by_version.get(version);
|
|
1613
|
+
if (clash)
|
|
1614
|
+
throw new Error(
|
|
1615
|
+
`duplicate event version: ${clash} and ${name} both map to version ${version} \u2014 leading zeros in a \`_v<n>\` suffix are not allowed; use a single canonical spelling`
|
|
1616
|
+
);
|
|
1617
|
+
by_version.set(version, name);
|
|
1618
|
+
}
|
|
1610
1619
|
list.sort((a, b) => b.version - a.version);
|
|
1611
1620
|
for (let i = 1; i < list.length; i++) deprecated.add(list[i].name);
|
|
1612
1621
|
}
|
|
@@ -2052,18 +2061,33 @@ function hour_in_zone(now, timeZone) {
|
|
|
2052
2061
|
}).formatToParts(now);
|
|
2053
2062
|
return Number(parts.find((p) => p.type === "hour")?.value);
|
|
2054
2063
|
}
|
|
2064
|
+
function hour_in_range(hour, start, end) {
|
|
2065
|
+
return start < end ? hour >= start && hour < end : hour >= start || hour < end;
|
|
2066
|
+
}
|
|
2067
|
+
function is_dst_gap_open(now, timeZone, start) {
|
|
2068
|
+
const hour = hour_in_zone(now, timeZone);
|
|
2069
|
+
if (hour <= start) return false;
|
|
2070
|
+
const prev = hour_in_zone(new Date(now.getTime() - 36e5), timeZone);
|
|
2071
|
+
return prev === start - 1 && hour === start + 1;
|
|
2072
|
+
}
|
|
2055
2073
|
function in_autoclose_window(window, now) {
|
|
2056
2074
|
if (!window) return true;
|
|
2057
2075
|
const hour = hour_in_zone(now, window.timeZone);
|
|
2058
|
-
return
|
|
2076
|
+
return hour_in_range(hour, window.start, window.end) || is_dst_gap_open(now, window.timeZone, window.start);
|
|
2059
2077
|
}
|
|
2060
2078
|
function next_window_open(window, now) {
|
|
2079
|
+
const start_ms = now.getTime();
|
|
2061
2080
|
for (let h = 0; h <= 48; h++) {
|
|
2062
|
-
const candidate = new Date(
|
|
2081
|
+
const candidate = new Date(start_ms + h * 36e5);
|
|
2063
2082
|
if (hour_in_zone(candidate, window.timeZone) === window.start)
|
|
2064
2083
|
return candidate;
|
|
2084
|
+
const boundary = new Date(
|
|
2085
|
+
candidate.getTime() - candidate.getTime() % 36e5
|
|
2086
|
+
);
|
|
2087
|
+
if (is_dst_gap_open(boundary, window.timeZone, window.start))
|
|
2088
|
+
return boundary;
|
|
2065
2089
|
}
|
|
2066
|
-
return new Date(
|
|
2090
|
+
return new Date(start_ms + 864e5);
|
|
2067
2091
|
}
|
|
2068
2092
|
|
|
2069
2093
|
// src/internal/autoclose-policy.ts
|