gedcom-ts
Version:
TypeScript GEDCOM toolkit for browser apps: import .ged/.zip, edit typed genealogy data, and export GEDCOM or GEDZIP.
30 lines (29 loc) • 1.73 kB
TypeScript
import type { ReadGed } from "../import/ReadGed";
import type { TypeAct } from "../commons/Act";
import { Person } from "../commons/Person";
import type { CreateActInit } from "../edit/factories";
/** Prochain identifiant de famille `F` libre d'après les `FAMC` / `FAMS` du jeu. */
export declare function nextFamilyId(persons: readonly Person[]): number;
/** Rattache un enfant à une famille (`FAMC`). */
export declare function linkChildToFamily(readGed: ReadGed, child: Person, familyId: number): void;
/** Retire le rattachement `FAMC` d'un enfant. */
export declare function unlinkChildFromFamily(readGed: ReadGed, child: Person): void;
/**
* Retire toutes les références à une famille `familyId` : `FAMS` (toutes occurrences) et `FAMC` si égal.
* Puis {@link ReadGed.groupPartners}.
*/
export declare function removeFamilyReferencesFromDataset(readGed: ReadGed, familyId: number): void;
export type CreateUnionFamilyOptions = {
/**
* Type d’acte créé sur chaque conjoint pour matérialiser l’union (défaut : {@link Identifier.MARR}).
* Doit appartenir à {@link GEDCOM_7_EVENT_TAG_SET} (ex. {@link Identifier.ENGA}, ou `EVEN` avec
* `CreateActInit.construction` pour une union civile / custom).
*/
eventTag?: TypeAct;
};
/**
* Crée une famille `F` (nouvel id), rattache les deux conjoints en `FAMS` et ajoute le même type d’acte
* sur chacun (par défaut `MARR`). Voir {@link CreateUnionFamilyOptions} pour fiançailles, bans, etc.
* @returns l'identifiant interne de famille créé.
*/
export declare function createMarriageFamily(readGed: ReadGed, spouseA: Person, spouseB: Person, init?: CreateActInit | null, unionOptions?: CreateUnionFamilyOptions | null): number;