23 lines
604 B
TypeScript
23 lines
604 B
TypeScript
import type { Config } from 'src/payload-types';
|
|
|
|
import configPromise from '@payload-config';
|
|
import { getPayload } from 'payload';
|
|
import { unstable_cache } from 'next/cache';
|
|
|
|
type Global = keyof Config['globals']
|
|
|
|
async function getGlobal(slug: Global, depth = 0) {
|
|
const payload = await getPayload({ config: configPromise })
|
|
|
|
const global = await payload.findGlobal({
|
|
slug,
|
|
depth,
|
|
})
|
|
|
|
return global
|
|
}
|
|
|
|
export const getCachedGlobal = (slug: Global, depth = 0) =>
|
|
unstable_cache(async () => getGlobal(slug, depth), [slug], {
|
|
tags: [`global_${slug}`],
|
|
}) |