@adyen/adyen-platform-experience-web
Version:

35 lines (34 loc) • 874 B
JavaScript
import { struct as b, structFrom as c } from "../../../../utils/struct/main.js";
import { enumerable as o } from "../../../../utils/struct/property.js";
import { isUndefined as d } from "../../../../utils/value/is.js";
const h = (() => {
const t = /* @__PURE__ */ new WeakMap(), s = b({
remove: o(function() {
i(this.observerCallback);
})
}), n = (e) => {
let r = t.get(e);
if (d(r)) {
const v = new IntersectionObserver(
(f) => {
f.forEach((m) => {
e && e(m);
});
},
{ root: null, rootMargin: "", threshold: [1] }
);
r = c(s, {
observerCallback: o(e),
observer: o(v)
}), t.set(e, r);
}
return r;
}, i = (e) => {
const r = t.get(e);
r == null || r.observer.disconnect(), t.delete(e);
};
return n;
})();
export {
h as default
};