UNPKG

sanity

Version:

Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches

104 lines (103 loc) 3.9 kB
import { jsx } from "react/jsx-runtime"; import { c } from "react/compiler-runtime"; import { useContext, useState, useEffect } from "react"; import { useObservable } from "react-rx"; import { ReleasesMetadataContext } from "sanity/_singletons"; import { useReleasesStore } from "./index2.js"; const DEFAULT_METADATA_STATE = { data: null, error: null, loading: !1 }, ReleasesMetadataProviderInner = (t0) => { const $ = c(15), { children } = t0; let t1; $[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t1 = [], $[0] = t1) : t1 = $[0]; const [listenerReleaseIds, setListenerReleaseIds] = useState(t1), { getMetadataStateForSlugs$ } = useReleasesStore(), [releasesMetadata, setReleasesMetadata] = useState(null); let t2; $[1] !== getMetadataStateForSlugs$ || $[2] !== listenerReleaseIds ? (t2 = getMetadataStateForSlugs$(listenerReleaseIds.map(_temp)), $[1] = getMetadataStateForSlugs$, $[2] = listenerReleaseIds, $[3] = t2) : t2 = $[3]; const observedResult = useObservable(t2) || DEFAULT_METADATA_STATE; let t3, t4; $[4] !== observedResult.data ? (t3 = () => setReleasesMetadata((prevReleaseMetadata) => observedResult.data ? { ...prevReleaseMetadata, ...observedResult.data } : prevReleaseMetadata), t4 = [observedResult.data], $[4] = observedResult.data, $[5] = t3, $[6] = t4) : (t3 = $[5], t4 = $[6]), useEffect(t3, t4); let t5; $[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t5 = (addReleaseIds) => { setListenerReleaseIds((prevSlugs) => [...prevSlugs, ...addReleaseIds.filter(_temp2)]); }, $[7] = t5) : t5 = $[7]; const addReleaseIdsToListener = t5; let t6; $[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t6 = (releaseIds) => { setListenerReleaseIds((prevSlugs_0) => { const { nextSlugs } = prevSlugs_0.reduce((acc, slug_0) => { const { removedSlugs, nextSlugs: accNextSlugs } = acc; return releaseIds.includes(slug_0) && !removedSlugs.includes(slug_0) ? { removedSlugs: [...removedSlugs, slug_0], nextSlugs: accNextSlugs } : { removedSlugs, nextSlugs: [...accNextSlugs, slug_0] }; }, { removedSlugs: [], nextSlugs: [] }); return nextSlugs; }); }, $[8] = t6) : t6 = $[8]; const removeReleaseIdsFromListener = t6; let t7; $[9] !== observedResult || $[10] !== releasesMetadata ? (t7 = { addReleaseIdsToListener, removeReleaseIdsFromListener, state: { ...observedResult, data: releasesMetadata } }, $[9] = observedResult, $[10] = releasesMetadata, $[11] = t7) : t7 = $[11]; const context = t7; let t8; return $[12] !== children || $[13] !== context ? (t8 = /* @__PURE__ */ jsx(ReleasesMetadataContext.Provider, { value: context, children }), $[12] = children, $[13] = context, $[14] = t8) : t8 = $[14], t8; }, ReleasesMetadataProvider = (t0) => { const $ = c(2), { children } = t0; if (useContext(ReleasesMetadataContext)) return children; let t1; return $[0] !== children ? (t1 = /* @__PURE__ */ jsx(ReleasesMetadataProviderInner, { children }), $[0] = children, $[1] = t1) : t1 = $[1], t1; }, useReleasesMetadataProvider = () => { const $ = c(2), contextValue = useContext(ReleasesMetadataContext); let t0; return $[0] !== contextValue ? (t0 = contextValue || { state: DEFAULT_METADATA_STATE, addReleaseIdsToListener: _temp3, removeReleaseIdsFromListener: _temp4 }, $[0] = contextValue, $[1] = t0) : t0 = $[1], t0; }; function _temp(slug) { return slug; } function _temp2(releaseId) { return typeof releaseId == "string"; } function _temp3() { return null; } function _temp4() { return null; } export { ReleasesMetadataProvider, useReleasesMetadataProvider }; //# sourceMappingURL=ReleasesMetadataProvider.js.map