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
30 lines
874 B
Plaintext
30 lines
874 B
Plaintext
import type { Locale, MessagesConfig } from '../types.js';
|
|
type LocaleChangeCallback = (params: {
|
|
added: Array<Locale>;
|
|
removed: Array<Locale>;
|
|
}) => unknown;
|
|
type CatalogLocalesParams = {
|
|
messagesDir: string;
|
|
sourceLocale: Locale;
|
|
extension: string;
|
|
locales: MessagesConfig['locales'];
|
|
};
|
|
export default class CatalogLocales {
|
|
private messagesDir;
|
|
private extension;
|
|
private sourceLocale;
|
|
private locales;
|
|
private watcher?;
|
|
private targetLocales?;
|
|
private onChangeCallbacks;
|
|
constructor(params: CatalogLocalesParams);
|
|
getTargetLocales(): Promise<Array<Locale>>;
|
|
private readTargetLocales;
|
|
subscribeLocalesChange(callback: LocaleChangeCallback): void;
|
|
unsubscribeLocalesChange(callback: LocaleChangeCallback): void;
|
|
private startWatcher;
|
|
private stopWatcher;
|
|
private onChange;
|
|
}
|
|
export {};
|