Files
klz-cables.com/.pnpm-store/v10/files/b1/ecb2a7126f8cd1b6149dbcf058b9962a3104bb6bdafed2b0fc133563416d8443530ffc7b71a3544159f72b8749a22e29f887a34ed4554f3a7bf25c0b5e4ef2
Marc Mintel 5397309103
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
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

60 lines
1.9 KiB
Plaintext

import type MessageExtractor from '../extractor/MessageExtractor.js';
import type { ExtractorConfig } from '../types.js';
export default class CatalogManager implements Disposable {
private config;
/**
* The source of truth for which messages are used.
* NOTE: Should be mutated in place to keep `messagesById` and `messagesByFile` in sync.
*/
private messagesByFile;
/**
* Fast lookup for messages by ID across all files,
* contains the same messages as `messagesByFile`.
* NOTE: Should be mutated in place to keep `messagesById` and `messagesByFile` in sync.
*/
private messagesById;
/**
* This potentially also includes outdated ones that were initially available,
* but are not used anymore. This allows to restore them if they are used again.
**/
private translationsByTargetLocale;
private lastWriteByLocale;
private saveScheduler;
private projectRoot;
private isDevelopment;
private persister?;
private codec?;
private catalogLocales?;
private extractor;
private sourceWatcher?;
private loadCatalogsPromise?;
private scanCompletePromise?;
constructor(config: ExtractorConfig, opts: {
projectRoot?: string;
isDevelopment?: boolean;
sourceMap?: boolean;
extractor: MessageExtractor;
});
private getCodec;
private getPersister;
private getCatalogLocales;
private getTargetLocales;
private getSrcPaths;
loadMessages(): Promise<void>;
private loadSourceMessages;
private loadLocaleMessages;
private loadTargetMessages;
private reloadLocaleCatalog;
private mergeSourceDiskMetadata;
private processFile;
private mergeReferences;
private haveMessagesChangedForFile;
private areMessagesEqual;
save(): Promise<void>;
private saveImpl;
private saveLocale;
private onLocalesChange;
private handleFileEvents;
[Symbol.dispose](): void;
}