728380498b
Both names were vague or overloaded: - fontStore / FontStore -> fontCatalogStore / FontCatalogStore Three font-related stores live in this slice; the new name names the paginated catalog specifically. - appliedFontsManager / AppliedFontsManager -> fontLifecycleManager / FontLifecycleManager "Applied" collided with the filter-side appliedFilterStore (different meaning). The class actually orchestrates a load-use-evict lifecycle with FontBufferCache + FontEvictionPolicy + FontLoadQueue collaborators, so "Manager" is justified. Companion types file moved alongside (appliedFonts.ts -> fontLifecycle.ts). Directories, file basenames, factory (createFontStore -> createFontCatalogStore), and the AppliedFontsManagerDeps interface all renamed. All consumers (ComparisonView, SampleList, FontList, FontApplicator, FontVirtualList, FilterAndSortFonts bindings, createFontRowSizeResolver, mocks) updated.
36 lines
1.1 KiB
TypeScript
36 lines
1.1 KiB
TypeScript
/**
|
|
* Thrown by {@link FontBufferCache} when a font file cannot be retrieved from the network or cache.
|
|
*
|
|
* @property url - The URL that was requested.
|
|
* @property cause - The underlying error, if any.
|
|
* @property status - HTTP status code. Present on HTTP errors, absent on network failures.
|
|
*/
|
|
export class FontFetchError extends Error {
|
|
readonly name = 'FontFetchError';
|
|
|
|
constructor(
|
|
public readonly url: string,
|
|
public readonly cause?: unknown,
|
|
public readonly status?: number,
|
|
) {
|
|
super(status ? `HTTP ${status} fetching font: ${url}` : `Network error fetching font: ${url}`);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Thrown by {@link loadFont} when a font buffer cannot be parsed into a {@link FontFace}.
|
|
*
|
|
* @property fontName - The display name of the font that failed to parse.
|
|
* @property cause - The underlying error from the FontFace API.
|
|
*/
|
|
export class FontParseError extends Error {
|
|
readonly name = 'FontParseError';
|
|
|
|
constructor(
|
|
public readonly fontName: string,
|
|
public readonly cause?: unknown,
|
|
) {
|
|
super(`Failed to parse font: ${fontName}`);
|
|
}
|
|
}
|