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

41 lines (40 loc) • 1.72 kB
JavaScript
import { jsx as s } from "../../external/preact/jsx-runtime/dist/jsxRuntime.module.js";
import { toChildArray as x, createContext as b } from "../../external/preact/dist/preact.module.js";
import { useContext as g, useMemo as E, useState as e, useEffect as n } from "../../external/preact/hooks/dist/hooks.module.js";
import { ErrorMessageDisplay as v } from "../../components/internal/ErrorMessageDisplay/ErrorMessageDisplay.js";
import P from "./session/utils/sessionAwareComponentAvailability/sessionAwareComponentAvailability.js";
import { isWatchlistUnsubscribeToken as U } from "../../primitives/reactive/watchlist/main.js";
import y from "./session/utils/sessionAwareComponentAvailability/helpers/componentAvailabilityErrors.js";
import { noop as A, asyncNoop as T } from "../../utils/common.js";
import { isUndefined as H } from "../../utils/value/is.js";
import { EMPTY_OBJECT as i } from "../../utils/value/constants.js";
const a = b({
endpoints: i,
extraConfig: i,
hasError: !1,
http: T,
isExpired: void 0,
isFrozen: !1,
refresh: A,
refreshing: !1
}), J = ({ children: m, session: t, type: r }) => {
const { http: f, refresh: p } = E(() => t, [t]), [, c] = e(0), [u, l] = e(0), [o, C] = e();
return n(() => {
P(r, t).then(C);
}, [t, r]), n(() => t.subscribe((d) => {
(U(d) ? l : c)((h) => h + 1);
}), [u]), /* @__PURE__ */ s(a.Provider, { value: { ...t.context, http: f, refresh: p }, children: !H(o) && (o ? x(m) : /* @__PURE__ */ s(
v,
{
withImage: !0,
centered: !0,
title: "somethingWentWrong",
message: [y(r), "contactSupportForHelp"]
}
)) });
}, K = () => g(a);
export {
J as ConfigProvider,
K as default,
K as useConfigContext
};