gedcom-ts
Version:
TypeScript GEDCOM toolkit for browser apps: import .ged/.zip, edit typed genealogy data, and export GEDCOM or GEDZIP.
43 lines (42 loc) • 1.86 kB
TypeScript
import { Act, type TypeAct } from "../commons/Act";
import { DateAct } from "../commons/DateAct";
import { Place } from "../commons/Place";
import type { ObjeRecord } from "../commons/ObjeRecord";
import type { Person } from "../commons/Person";
import { ActMediaEdit } from "./ActMediaEdit";
import { AudioInterviewActEdit } from "./AudioInterviewActEdit";
import { NotesEdit } from "./NotesEdit";
/**
* API d’édition cohérente autour d’un {@link Act} existant (mutation in-place).
*/
export declare class ActEdit {
private readonly target;
constructor(target: Act);
get value(): Act;
setType(type: TypeAct): this;
setIndis(ids: readonly number[]): this;
setDateAct(date: DateAct | null): this;
setSdateAct(sdate: DateAct | null): this;
/** Remplace le lieu ; `null` efface le lieu attaché à l’acte. */
setPlace(place: Place | null): this;
setEvenDescription(text: string | null): this;
setEvenTypeLabel(label: string | null): this;
setEventPhrases(phrases: readonly string[]): this;
clearEventPhrases(): this;
appendEventPhrase(phrase: string): this;
setPreservedPrefix(lines: readonly string[]): this;
appendPreservedPrefixLine(line: string): this;
clearPreservedPrefix(): this;
setPreservedSuffix(lines: readonly string[]): this;
appendPreservedSuffixLine(line: string): this;
clearPreservedSuffix(): this;
notes(): NotesEdit;
multimedia(): ActMediaEdit;
/** Entretien audio (`EVEN` + `OBJE` + transcription). */
asAudioInterview(persons?: readonly Person[], objeRegistry?: Map<number, ObjeRecord>): AudioInterviewActEdit;
/** Supprime toutes les notes rattachées à l’acte. */
clearNotes(): this;
/** Supprime tous les médias rattachés à l’acte. */
clearMultimedia(): this;
}
export declare function editAct(act: Act): ActEdit;