All files / src/aggregator/metadata types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34                                                                   
// SPDX-FileCopyrightText: 2024-2026 Hack23 AB
// SPDX-License-Identifier: Apache-2.0
 
/**
 * @module Aggregator/Metadata/Types
 * @description Strict type definitions for the metadata bounded context.
 * Covers article metadata, SEO metadata, and structured data contracts.
 */
 
import type { LanguageCode } from '../../types/index.js';
 
/**
 * Per-language resolved metadata entry containing the title and
 * description that will be rendered into HTML meta tags and
 * structured data (JSON-LD).
 */
export interface PerLanguageMetadata {
  /** Language code this entry is for. */
  readonly lang: LanguageCode;
  /** Resolved title for the article in this language. */
  readonly title: string;
  /** Resolved description for the article in this language. */
  readonly description: string;
}
 
/**
 * Complete article metadata sidecar shape (`article-meta.json`).
 * This is a type alias for the canonical {@link ArticleMeta} interface
 * defined in `article-meta.ts`. Use this name when referring to the
 * sidecar contract in downstream consumers (HTML, RSS, sitemap, news
 * indexes).
 */
export type { ArticleMeta as ArticleMetaSidecar } from '../article-meta.js';