UNPKG

gedcom-ts

Version:

TypeScript GEDCOM toolkit for browser apps: import .ged/.zip, edit typed genealogy data, and export GEDCOM or GEDZIP.

52 lines (51 loc) 2.23 kB
import { type Person } from "../commons/Person"; import type { ReadGed } from "../import/ReadGed"; import type { BookletSex } from './booklet-gender'; import type { BookletLocale } from './booklet-locale'; export type { BookletSex } from './booklet-gender'; export interface BookletRelationRef { readonly indi: number; readonly name: string; readonly datesLabel: string; readonly sex: BookletSex; } export interface BookletEventLine { readonly kind: string; readonly label: string; readonly date: string; readonly place: string; } export interface BookletUnionEntry { readonly familyId: number; readonly coParent: BookletRelationRef; readonly children: readonly BookletRelationRef[]; readonly marriageLabel: string | null; } export interface BookletPersonEntry { readonly indi: number; readonly name: string; readonly sex: BookletSex; readonly datesLabel: string; readonly sosa: number | null; readonly generation: number | null; readonly events: readonly BookletEventLine[]; readonly notesPreview: string | null; readonly parents: readonly BookletRelationRef[]; readonly unions: readonly BookletUnionEntry[]; } export { personDisplayName } from "../utils/gedcom/personName"; export declare function personDatesLabel(person: Person, locale?: BookletLocale): string; export declare function bookletSexFromPerson(person: Person): BookletSex; export declare function buildBookletPersonEntry(person: Person, ged: ReadGed, sosa: number | null, locale?: BookletLocale): BookletPersonEntry; export declare function sortBookletEntries(entries: BookletPersonEntry[], locale?: BookletLocale): BookletPersonEntry[]; export type BookletScope = 'all' | 'from-reference'; export interface BookletCollectOptions { readonly scope: BookletScope; readonly ged: ReadGed; readonly referencePerson: Person | null; /** Limite de génération SOSA (1 = racine seulement). Ignoré si « tout l’arbre ». */ readonly maxGeneration?: number | null; /** Booklet narrative language (default English). */ readonly locale?: BookletLocale; } export declare function collectBookletPersons(options: BookletCollectOptions): BookletPersonEntry[];