Initial commit
This commit is contained in:
-34
@@ -1,34 +0,0 @@
|
||||
import type { LocalizedSlugs } from './localizedPath.js';
|
||||
import type { I18nConfig } from './types.js';
|
||||
/**
|
||||
* A localized field as Payload returns it when queried with `locale: 'all'`:
|
||||
* a map of locale code → value.
|
||||
*/
|
||||
type LocalizedField = Record<string, unknown>;
|
||||
type GetLocalizedSlugsArgs = {
|
||||
config: I18nConfig;
|
||||
/**
|
||||
* The document's localized slug field, as returned by Payload with
|
||||
* `locale: 'all'` — e.g. { pl: 'strona-glowna', en: 'home' }.
|
||||
*/
|
||||
slugField: LocalizedField | null | undefined;
|
||||
};
|
||||
/**
|
||||
* Normalizes a document's localized slug field into the LocalizedSlugs
|
||||
* contract consumed by buildLocalizedPath / switchLocalePath.
|
||||
*
|
||||
* Pure function — the template fetches the document (payload.findByID with
|
||||
* `locale: 'all'`, where the slug field must be `localized: true`) and passes
|
||||
* the raw field in. The plugin never touches the database.
|
||||
*
|
||||
* Keeps only entries whose locale is configured and whose slug is a
|
||||
* non-empty string, so callers get a clean, trustworthy map.
|
||||
*
|
||||
* @example
|
||||
* const doc = await payload.findByID({ collection: 'pages', id, locale: 'all' })
|
||||
* const slugs = getLocalizedSlugs({ slugField: doc.slug, config })
|
||||
* // → { pl: 'strona-glowna', en: 'home' }
|
||||
* switchLocalePath({ slugs, targetLocale: 'en', config }) // → '/en'
|
||||
*/
|
||||
export declare function getLocalizedSlugs({ config, slugField }: GetLocalizedSlugsArgs): LocalizedSlugs;
|
||||
export {};
|
||||
Reference in New Issue
Block a user