Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
25 lines
1.4 KiB
Plaintext
25 lines
1.4 KiB
Plaintext
export type Locales = ReadonlyArray<string>;
|
|
export type LocalePrefixMode = 'always' | 'as-needed' | 'never';
|
|
type Pathname = string;
|
|
export type LocalePrefixes<AppLocales extends Locales> = Partial<Record<AppLocales[number], Pathname>>;
|
|
export type LocalePrefixConfigVerbose<AppLocales extends Locales, AppLocalePrefixMode extends LocalePrefixMode> = AppLocalePrefixMode extends 'always' ? {
|
|
mode: 'always';
|
|
prefixes?: LocalePrefixes<AppLocales>;
|
|
} : AppLocalePrefixMode extends 'as-needed' ? {
|
|
mode: 'as-needed';
|
|
prefixes?: LocalePrefixes<AppLocales>;
|
|
} : {
|
|
mode: 'never';
|
|
};
|
|
export type LocalePrefix<AppLocales extends Locales = [], AppLocalePrefixMode extends LocalePrefixMode = 'always'> = AppLocalePrefixMode | LocalePrefixConfigVerbose<AppLocales, AppLocalePrefixMode>;
|
|
export type Pathnames<AppLocales extends Locales> = Record<Pathname, Partial<Record<AppLocales[number], Pathname>> | Pathname>;
|
|
export type DomainConfig<AppLocales extends Locales> = {
|
|
defaultLocale: AppLocales[number];
|
|
/** The domain name (e.g. "example.com", "www.example.com" or "fr.example.com"). Note that the `x-forwarded-host` or alternatively the `host` header will be used to determine the requested domain. */
|
|
domain: string;
|
|
/** The locales that are available on this domain. */
|
|
locales: Array<AppLocales[number]>;
|
|
};
|
|
export type DomainsConfig<AppLocales extends Locales> = Array<DomainConfig<AppLocales>>;
|
|
export {};
|