FR
Traduction bêta

@core / contracts

1.0.0 ▾
vérifiéMIT
GitHub

Types partagés des modules GenPM : contenu, sitemap, recherche, ressources d'admin, paiements et événements

Code10 fichiersContexte~532 tokensanalyse réussie

L’arborescence exacte qui sera injectée, après .genpmignore. Épinglée à

src/lib/contracts/search.tslecture seule · 7266529
// Fuente de documentos para el buscador del sitio: la implementan content, blog, catalog…; la consume @core/search.

export type SearchDocument = {
  /** Único dentro de `type`. */
  id: string;
  /** Tipo de resultado: `page`, `post`, `product`. */
  type: string;
  url: string;
  title: string;
  /** Texto plano (sin HTML ni Markdown). */
  body: string;
  locale?: string;
  updatedAt?: Date;
};

export type SearchChange = { op: 'upsert'; doc: SearchDocument } | { op: 'delete'; type: string; id: string };

export type SearchSource = {
  type: string;
  /** Todos los documentos publicados (reindexado completo). */
  documents(): AsyncIterable<SearchDocument>;
  /** Avisos incrementales (publicar, despublicar). Devuelve la función para darse de baja. */
  subscribe?(listener: (change: SearchChange) => void | Promise<void>): () => void;
};

export const defineSearchSource = (source: SearchSource): SearchSource => source;

Signaler @core/contracts

Connectez-vous avec GitHub pour signaler un paquet.