UNPKG

@adyen/adyen-platform-experience-web

Version:

![Platform Experience header](https://github.com/Adyen/adyen-platform-experience-web/assets/7926613/18094965-9e01-450e-8dc9-ea84e6b22c2b)

47 lines (46 loc) 1.65 kB
import d from "../../../core/Localization/datetime/restamper/restamper.js"; import { createWatchlist as h, isWatchlistUnsubscribeToken as y } from "../../reactive/watchlist/main.js"; import { clock as S } from "../clock/main.js"; import { timezoneToSystem as W, systemToTimezone as b } from "../../../core/Localization/datetime/restamper/utils.js"; import { isNull as z } from "../../../utils/value/is.js"; import { struct as x } from "../../../utils/struct/main.js"; import { enumerable as c, getter as N } from "../../../utils/struct/property.js"; const j = (() => { const a = /* @__PURE__ */ new Map(), r = d(), u = (m = Date.now()) => { const t = new Date(W(r, m)), e = b(r, t.setHours(0, 0, 0, 0)), s = b(r, t.setDate(t.getDate() + 1)); return [e, s - e]; }; return (m) => { r.tz = m; const t = r.tz.current; return a.get(t) ?? (() => { let e = null, s = null, o = null; const p = () => (r.tz = t, e ?? u()[0]), l = (n = Date.now()) => { r.tz = t, [e, s] = u(n); }, { cancelSubscriptions: w, requestNotification: D, subscribe: g, on: f } = h({ timestamp: p }); f.resume = () => { o = S.subscribe((n) => { if (y(n)) return; const { now: i } = n; if (z(e) || z(s)) return l(i); i - e < s || (l(i), D()); }); }, f.idle = () => { o == null || o(), e = s = o = null; }; const T = x({ cancelSubscriptions: c(w), timestamp: N(p), timezone: c(t), subscribe: c(g) }); return a.set(t, T), T; })(); }; })(); export { j as default, j as today };