@treeviz/gedcom-parser 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { aT as RequiredFilter, aO as RelationType, n as Filter, aA as PartnerType, ax as Order, az as OrderIterator, af as IndiType, ac as IndiKey, ap as NameOrder } from '../index-CzYZg44D.js';
1
+ import { aT as RequiredFilter, aO as RelationType, n as Filter, aA as PartnerType, ax as Order, az as OrderIterator, af as IndiType, ac as IndiKey, ap as NameOrder } from '../index-B3Po1Kaw.js';
2
2
  import 'date-fns';
3
3
 
4
4
  /**
@@ -2806,7 +2806,7 @@ var Indi = class extends Common {
2806
2806
  title,
2807
2807
  url,
2808
2808
  contentType: type,
2809
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2809
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2810
2810
  };
2811
2811
  }
2812
2812
  })
@@ -2835,7 +2835,7 @@ var Indi = class extends Common {
2835
2835
  const deathObj = this.get("DEAT.OBJE")?.toList().copy();
2836
2836
  objeList?.merge(birthObj).merge(deathObj);
2837
2837
  (this.get("FAMS")?.toValueList().values() ?? []).concat(this.get("FAMC")?.toValueList().values() ?? []).forEach((fam) => {
2838
- objeList.merge(fam?.get("MARR.OBJE"));
2838
+ objeList?.merge(fam?.get("MARR.OBJE"));
2839
2839
  });
2840
2840
  objeList?.forEach((o, index) => {
2841
2841
  if (!o) {
@@ -2861,7 +2861,7 @@ var Indi = class extends Common {
2861
2861
  title,
2862
2862
  url,
2863
2863
  contentType: type,
2864
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2864
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2865
2865
  };
2866
2866
  }
2867
2867
  });
@@ -2959,14 +2959,11 @@ var Indi = class extends Common {
2959
2959
  const sourList = this.get("SOUR")?.toList().copy();
2960
2960
  sourList?.forEach((sour) => {
2961
2961
  const sourObje = sour?.get("OBJE")?.toList();
2962
- objeList.merge(sourObje);
2962
+ objeList?.merge(sourObje);
2963
2963
  });
2964
- if (!objeList || objeList.length === 0) {
2965
- return void 0;
2966
- }
2967
2964
  const rfn = this.get("RFN")?.toValue();
2968
2965
  const geniId = rfn?.replace(/^geni:/, "") || "unknown";
2969
- objeList.forEach((obje, index) => {
2966
+ objeList?.forEach((obje, index) => {
2970
2967
  if (!obje) {
2971
2968
  return;
2972
2969
  }
@@ -3005,7 +3002,7 @@ var Indi = class extends Common {
3005
3002
  return list;
3006
3003
  }
3007
3004
  const rfn = this.get("RFN")?.toValue();
3008
- const treeId = rfn || "universal";
3005
+ const treeId = this.getUniversalTreeId() || rfn || "universal";
3009
3006
  objeList.forEach((obje, index) => {
3010
3007
  if (!obje) {
3011
3008
  return;
@@ -1,6 +1,6 @@
1
- import { I as ICacheManager, P as PlaceParts } from '../place-parser-CJ3EbFmb.js';
1
+ import { I as ICacheManager, P as PlaceParts } from '../place-parser-BLwBjtXS.js';
2
2
  import { Locale } from 'date-fns';
3
- import { af as IndiType, ac as IndiKey, ai as Language } from '../index-CzYZg44D.js';
3
+ import { af as IndiType, ac as IndiKey, ai as Language } from '../index-B3Po1Kaw.js';
4
4
 
5
5
  /**
6
6
  * Factory function type for creating cache manager instances.
@@ -3233,7 +3233,7 @@ var Indi = class extends Common {
3233
3233
  title,
3234
3234
  url,
3235
3235
  contentType: type,
3236
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
3236
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
3237
3237
  };
3238
3238
  }
3239
3239
  })
@@ -3262,7 +3262,7 @@ var Indi = class extends Common {
3262
3262
  const deathObj = this.get("DEAT.OBJE")?.toList().copy();
3263
3263
  objeList?.merge(birthObj).merge(deathObj);
3264
3264
  (this.get("FAMS")?.toValueList().values() ?? []).concat(this.get("FAMC")?.toValueList().values() ?? []).forEach((fam) => {
3265
- objeList.merge(fam?.get("MARR.OBJE"));
3265
+ objeList?.merge(fam?.get("MARR.OBJE"));
3266
3266
  });
3267
3267
  objeList?.forEach((o, index) => {
3268
3268
  if (!o) {
@@ -3288,7 +3288,7 @@ var Indi = class extends Common {
3288
3288
  title,
3289
3289
  url,
3290
3290
  contentType: type,
3291
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
3291
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
3292
3292
  };
3293
3293
  }
3294
3294
  });
@@ -3386,14 +3386,11 @@ var Indi = class extends Common {
3386
3386
  const sourList = this.get("SOUR")?.toList().copy();
3387
3387
  sourList?.forEach((sour) => {
3388
3388
  const sourObje = sour?.get("OBJE")?.toList();
3389
- objeList.merge(sourObje);
3389
+ objeList?.merge(sourObje);
3390
3390
  });
3391
- if (!objeList || objeList.length === 0) {
3392
- return void 0;
3393
- }
3394
3391
  const rfn = this.get("RFN")?.toValue();
3395
3392
  const geniId = rfn?.replace(/^geni:/, "") || "unknown";
3396
- objeList.forEach((obje, index) => {
3393
+ objeList?.forEach((obje, index) => {
3397
3394
  if (!obje) {
3398
3395
  return;
3399
3396
  }
@@ -3432,7 +3429,7 @@ var Indi = class extends Common {
3432
3429
  return list;
3433
3430
  }
3434
3431
  const rfn = this.get("RFN")?.toValue();
3435
- const treeId = rfn || "universal";
3432
+ const treeId = this.getUniversalTreeId() || rfn || "universal";
3436
3433
  objeList.forEach((obje, index) => {
3437
3434
  if (!obje) {
3438
3435
  return;
@@ -85,12 +85,12 @@ declare class CommonDate extends Common<string> {
85
85
  constructor(gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common);
86
86
  set value(value: string | undefined);
87
87
  get value(): string | undefined;
88
- get rawValue(): Date;
89
- assign<T extends Common | List = Common | List>(name: MultiTag, value: T, unique?: boolean): T;
88
+ get rawValue(): Date | undefined;
89
+ assign<T extends Common | List = Common | List>(name: MultiTag, value: T, unique?: boolean): T | undefined;
90
90
  private isValidDateFormat;
91
91
  toNote(short?: boolean): string | undefined;
92
92
  toValue(dateFormat?: string, locale?: Locale | null): string | undefined;
93
- exportValue(): string;
93
+ exportValue(): string | undefined;
94
94
  inRange(range: Range$1, trueIfNoYear?: boolean): boolean;
95
95
  }
96
96
  declare const createCommonDate: (gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common) => ProxyOriginal<CommonDate>;
@@ -207,6 +207,45 @@ interface IAddressStructure extends Common {
207
207
  };
208
208
  }
209
209
 
210
+ interface ISourceCitationStructure extends Common, IMultimediaLinkStructure {
211
+ SOUR?: Common & {
212
+ PAGE?: Common;
213
+ DATA?: Common & {
214
+ DATE?: Common & {
215
+ TIME?: Common;
216
+ PHRASE?: Common;
217
+ };
218
+ TEXT?: Common & {
219
+ MIME?: Common;
220
+ LANG?: Common;
221
+ };
222
+ };
223
+ EVEN?: Common & {
224
+ PHRASE?: Common;
225
+ ROLE?: Common & {
226
+ PHRASE?: Common;
227
+ };
228
+ };
229
+ QUAY?: Common;
230
+ } & INoteStructure;
231
+ }
232
+
233
+ interface IEventDetailStructure extends IDateStructure, IPlaceStructure, IAddressStructure, IAssociationStructure, INoteStructure, ISourceCitationStructure, IMultimediaLinkStructure {
234
+ PHON?: Common;
235
+ EMAIL?: Common;
236
+ FAX?: Common;
237
+ WWW?: Common;
238
+ AGNC?: Common;
239
+ RELI?: Common;
240
+ CAUS?: Common;
241
+ RESN?: Common;
242
+ SDATE?: Common & {
243
+ TIME?: Common;
244
+ PHRASE?: Common;
245
+ };
246
+ UID?: Common;
247
+ }
248
+
210
249
  interface IGedComStructure extends Common, Omit<NonStandard, "id" | "value">, Partial<Record<`${ListTag}`, List>> {
211
250
  "@@INDI"?: Individuals;
212
251
  "@@_INDI"?: Individuals;
@@ -264,26 +303,26 @@ declare class GedCom extends Common implements IGedcom {
264
303
  constructor();
265
304
  private getMain;
266
305
  getList<T extends List = List>(type: MultiTag): T | undefined;
267
- indis(): Individuals;
268
- cloneIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, avoidKeys?: MultiTag[], removeFromOriginalList?: boolean): this;
269
- mergeIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, removeFromOriginalList?: boolean): this;
270
- fams(): Families;
271
- objes(): Objects;
272
- sours(): Sources;
273
- repos(): Repositories;
274
- subms(): Submitters;
275
- tags(): List<IdType, Common<string, IdType>>;
276
- customTags(): List<IdType, Common<string, IdType>>;
277
- indi(index: number | IndiKey): IndiType;
278
- fam(index: number | FamKey): FamType;
279
- obje(index: number | ObjeKey): ObjeType;
280
- sour(index: number | SourKey): SourType;
281
- repo(index: number | RepoKey): RepoType;
282
- subm(index: number | SubmKey): SubmType;
283
- tag(index: number | SubmKey): Common<string, IdType>;
284
- fromList(id?: string): Common<string, IdType>;
285
- tagByName(name?: string): Common<string, IdType>;
286
- customTag(index: number | SubmKey): Common<string, IdType>;
306
+ indis(): Individuals | undefined;
307
+ cloneIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, avoidKeys?: MultiTag[], removeFromOriginalList?: boolean): this | undefined;
308
+ mergeIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, removeFromOriginalList?: boolean): this | undefined;
309
+ fams(): Families | undefined;
310
+ objes(): Objects | undefined;
311
+ sours(): Sources | undefined;
312
+ repos(): Repositories | undefined;
313
+ subms(): Submitters | undefined;
314
+ tags(): List<IdType, Common<string, IdType>> | undefined;
315
+ customTags(): List<IdType, Common<string, IdType>> | undefined;
316
+ indi(index: number | IndiKey): IndiType | undefined;
317
+ fam(index: number | FamKey): FamType | undefined;
318
+ obje(index: number | ObjeKey): ObjeType | undefined;
319
+ sour(index: number | SourKey): SourType | undefined;
320
+ repo(index: number | RepoKey): RepoType | undefined;
321
+ subm(index: number | SubmKey): SubmType | undefined;
322
+ tag(index: number | SubmKey): Common<string, IdType> | undefined;
323
+ fromList(id?: string): Common<string, IdType> | undefined;
324
+ tagByName(name?: string): Common<string, IdType> | undefined;
325
+ customTag(index: number | SubmKey): Common<string, IdType> | undefined;
287
326
  private getIndiRelatedLists;
288
327
  private getDownloadHeader;
289
328
  toFiltered(indis: IndiKey[]): this | GedComType;
@@ -325,10 +364,10 @@ declare class GedCom extends Common implements IGedcom {
325
364
  unknown: number;
326
365
  };
327
366
  dateRange: {
328
- earliest: number;
329
- latest: number;
367
+ earliest: number | null;
368
+ latest: number | null;
330
369
  };
331
- averageLifespan: number;
370
+ averageLifespan: number | null;
332
371
  topSurnames: {
333
372
  surname: string;
334
373
  count: number;
@@ -337,8 +376,16 @@ declare class GedCom extends Common implements IGedcom {
337
376
  place: string;
338
377
  count: number;
339
378
  }[];
340
- firstPersonEvent: any;
341
- lastPersonEvent: any;
379
+ firstPersonEvent: {
380
+ type: string;
381
+ event: IEventDetailStructure | undefined;
382
+ person: IndiType | undefined;
383
+ } | null;
384
+ lastPersonEvent: {
385
+ type: string;
386
+ event: (Common<string, IdType> & IEventDetailStructure) | undefined;
387
+ person: IndiType | undefined;
388
+ } | null;
342
389
  };
343
390
  }
344
391
  type GedComType = GedCom & IGedComStructure;
@@ -379,33 +426,10 @@ declare class CommonNote extends Common<string> {
379
426
  constructor(gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common);
380
427
  set value(value: string | undefined);
381
428
  get value(): string | undefined;
382
- exportValue(): string;
429
+ exportValue(): string | undefined;
383
430
  }
384
431
  declare const createCommonNote: (gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common) => ProxyOriginal<CommonNote>;
385
432
 
386
- interface ISourceCitationStructure extends Common, IMultimediaLinkStructure {
387
- SOUR?: Common & {
388
- PAGE?: Common;
389
- DATA?: Common & {
390
- DATE?: Common & {
391
- TIME?: Common;
392
- PHRASE?: Common;
393
- };
394
- TEXT?: Common & {
395
- MIME?: Common;
396
- LANG?: Common;
397
- };
398
- };
399
- EVEN?: Common & {
400
- PHRASE?: Common;
401
- ROLE?: Common & {
402
- PHRASE?: Common;
403
- };
404
- };
405
- QUAY?: Common;
406
- } & INoteStructure;
407
- }
408
-
409
433
  interface INoteStructure extends Common {
410
434
  NOTE?: CommonNote & {
411
435
  MIME?: Common;
@@ -657,22 +681,6 @@ declare class CommonName extends Common<string> {
657
681
  }
658
682
  declare const createCommonName: (gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common) => ProxyOriginal<CommonName>;
659
683
 
660
- interface IEventDetailStructure extends IDateStructure, IPlaceStructure, IAddressStructure, IAssociationStructure, INoteStructure, ISourceCitationStructure, IMultimediaLinkStructure {
661
- PHON?: Common;
662
- EMAIL?: Common;
663
- FAX?: Common;
664
- WWW?: Common;
665
- AGNC?: Common;
666
- RELI?: Common;
667
- CAUS?: Common;
668
- RESN?: Common;
669
- SDATE?: Common & {
670
- TIME?: Common;
671
- PHRASE?: Common;
672
- };
673
- UID?: Common;
674
- }
675
-
676
684
  interface IIndividualEventDetailStructure extends IEventDetailStructure {
677
685
  AGE?: Common & {
678
686
  PHRASE?: Common;
@@ -824,8 +832,8 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
824
832
  private _isIgnoredPerson?;
825
833
  private _isEmpty?;
826
834
  private readonly _places?;
827
- toName(): string;
828
- toNaturalName(): string;
835
+ toName(): string | undefined;
836
+ toNaturalName(): string | undefined;
829
837
  toList(): Individuals;
830
838
  private generateTree;
831
839
  getPlaces(type?: PlaceType | PlaceType[], maxLevel?: number): Place[];
@@ -840,17 +848,17 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
840
848
  ancestorSiblings?: boolean;
841
849
  }): {
842
850
  gen: number;
843
- indis: TreeMember<IndiType>[];
844
- half: number;
851
+ indis: (TreeMember<IndiType> | undefined)[];
852
+ half: number | undefined;
845
853
  }[];
846
854
  getGenealogy(onlyStraight?: boolean, showDescendants?: boolean): MemberSide<IndiType, {
847
855
  gen: number;
848
- }>[];
849
- ancestryLink(): string;
856
+ }>[] | undefined;
857
+ ancestryLink(): string | undefined;
850
858
  ancestryMedia(namespace?: string | number): Promise<MediaList>;
851
- myheritageLink(poolId?: number): string;
852
- myheritageMedia(): MediaList;
853
- familySearchLink(): string;
859
+ myheritageLink(poolId?: number): string | undefined;
860
+ myheritageMedia(): MediaList | undefined;
861
+ familySearchLink(): string | undefined;
854
862
  hasFamilySearchMatches(): boolean;
855
863
  getFamilySearchMatches(): FamilySearchMatch[];
856
864
  hasFamilySearchSources(): boolean;
@@ -859,14 +867,14 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
859
867
  universalMedia(): MediaList;
860
868
  multimedia(namespace?: string | number): Promise<MediaList | undefined>;
861
869
  getProfilePicture(namespace?: string | number, onlyPrimary?: boolean): Promise<ProfilePicture | undefined>;
862
- link(poolId?: number): string;
870
+ link(poolId?: number): string | undefined;
863
871
  toFamilies(list?: List): Families;
864
872
  getFamilies(type: "FAMC" | "FAMS"): Families;
865
873
  getFamiliesBiologicalFirst(type: "FAMC" | "FAMS"): Families;
866
- getBirthDate(showDays?: boolean, shortNote?: boolean, showNote?: boolean): string;
867
- getDeathDate(showDays?: boolean, shortNote?: boolean, showNote?: boolean): string;
868
- getBirthPlace(): string;
869
- getDeathPlace(): string;
874
+ getBirthDate(showDays?: boolean, shortNote?: boolean, showNote?: boolean): string | undefined;
875
+ getDeathDate(showDays?: boolean, shortNote?: boolean, showNote?: boolean): string | undefined;
876
+ getBirthPlace(): string | undefined;
877
+ getDeathPlace(): string | undefined;
870
878
  /**
871
879
  * Get all marriage places for this individual
872
880
  * @returns Array of marriage place strings (may include undefined for marriages without place)
@@ -889,7 +897,7 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
889
897
  isMale(): boolean;
890
898
  isFemale(): boolean;
891
899
  isUnknownSex(): boolean;
892
- getParentType(id: IndiType | IndiKey): RelationType;
900
+ getParentType(id: IndiType | IndiKey): RelationType | undefined;
893
901
  hasFacts(): boolean;
894
902
  getLinks(): List<IdType, Required<IIndividualStructure>["_WLNK"]> | undefined;
895
903
  getAkas(limit?: number): List<IdType, Common<string, IdType>>;
@@ -924,12 +932,12 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
924
932
  getDescendants(level?: number, filter?: Filter): Individuals;
925
933
  getAllDescendantsRaw(individuals?: Individuals, containDescendantsInLaw?: boolean): {
926
934
  relatives: Individuals;
927
- generations: Record<number, Individuals>;
935
+ generations: Record<number, Individuals | undefined>;
928
936
  };
929
937
  getAllDescendants(individuals?: Individuals, containDescendantsInLaw?: boolean): Individuals;
930
938
  getAllAscendantsRaw(individuals?: Individuals): {
931
939
  relatives: Individuals;
932
- generations: Record<number, Individuals>;
940
+ generations: Record<number, Individuals | undefined>;
933
941
  };
934
942
  getAllAscendants(individuals?: Individuals): Individuals;
935
943
  getHalfSiblings(): Individuals;
@@ -1184,12 +1192,12 @@ declare class Individuals extends List<IndiKey, IndiType> implements IIndividual
1184
1192
  find(filters: Filter | FilterIterator<IndiType, IndiKey>): IndiType | undefined;
1185
1193
  unattachedFilter(useUnattached: boolean): Individuals;
1186
1194
  orderBy(orders: Order | OrderIterator<IndiType, IndiKey>): Individuals;
1187
- getFirstEvent(): IndiType;
1188
- getLastEvent(): IndiType;
1189
- getFirstBirth(): IndiType;
1190
- getLastBirth(): IndiType;
1191
- getFirstDeath(): IndiType;
1192
- getLastDeath(): IndiType;
1195
+ getFirstEvent(): IndiType | undefined;
1196
+ getLastEvent(): IndiType | undefined;
1197
+ getFirstBirth(): IndiType | undefined;
1198
+ getLastBirth(): IndiType | undefined;
1199
+ getFirstDeath(): IndiType | undefined;
1200
+ getLastDeath(): IndiType | undefined;
1193
1201
  groupBy(group: Group | GroupIterator<IndiType, IndiKey>, sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, lessOccuranceLabel?: string): Record<string, Individuals>;
1194
1202
  groupByFirstLetters(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, settings?: Settings): Record<string, Individuals>;
1195
1203
  groupBySurnames(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number): Record<string, Individuals>;
@@ -1207,7 +1215,7 @@ declare class Individuals extends List<IndiKey, IndiType> implements IIndividual
1207
1215
  isParentInLawOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
1208
1216
  isChildInLawOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
1209
1217
  splitByFamily(type: "Spouses" | "Parents" | "Children", relativeTo?: IndiType): {
1210
- items: Record<`@F${number}@` | `@XF${number}@` | `@XXF${number}@`, Individuals>;
1218
+ items: Record<`@F${number}@` | `@XF${number}@` | `@XXF${number}@`, Individuals | undefined>;
1211
1219
  lengthOfFamily: number;
1212
1220
  lengthOfIndividuals: number;
1213
1221
  };
@@ -1532,7 +1540,7 @@ declare class List<K extends IdType = IdType, T extends Common = Common> impleme
1532
1540
  map<R>(iterate: (item: T, key: K, index: number) => R): R[];
1533
1541
  reduce<R>(iterate: (acc: R, item: T, key: K, index: number) => R, initialValue: R): R;
1534
1542
  filter(filters: Filter | FilterIterator<T, K>, ClassName?: typeof List<K, T>): List<K, T>;
1535
- find(filters: Filter | FilterIterator<T, K>, _ClassName?: typeof List<K, T>): T;
1543
+ find(filters: Filter | FilterIterator<T, K>, _ClassName?: typeof List<K, T>): T | undefined;
1536
1544
  orderBy(orders: Order | OrderIterator<T, K>, ClassName?: typeof List<K, T>): List<K, T>;
1537
1545
  groupBy(groups: Group | GroupIterator<T, K>, sort?: "length" | "group" | OrderIterator<List<K, T>, string>, minOccurance?: number, lessOccuranceLabel?: string, ClassName?: typeof List<K, T>): Record<string, List<K, T>>;
1538
1546
  findIndex(item: T): number;
@@ -1542,7 +1550,7 @@ declare class List<K extends IdType = IdType, T extends Common = Common> impleme
1542
1550
  value?: string;
1543
1551
  } & Record<string, unknown>) | (string | ({
1544
1552
  value?: string;
1545
- } & Record<string, unknown>))[]>;
1553
+ } & Record<string, unknown>) | undefined)[] | undefined>;
1546
1554
  toGedcom(tag: MultiTag, level?: number, options?: ConvertOptions): string;
1547
1555
  toGedcomLines(tag: MultiTag, level?: number, options?: ConvertOptions): string[];
1548
1556
  toValue(): List<IdType, Common<string, IdType>>;
@@ -1617,25 +1625,25 @@ declare class Common<T = string, I extends IdType = IdType> implements ICommon<T
1617
1625
  * @param gedcom - The GedComType to set as the gedcom reference
1618
1626
  */
1619
1627
  setGedcom(gedcom: GedComType): void;
1620
- get originalValue(): T;
1628
+ get originalValue(): T | undefined;
1621
1629
  get ref(): Common<T, I> | undefined;
1622
- get main(): Common<string, IdType>;
1623
- get parent(): Common<string, IdType>;
1630
+ get main(): Common<string, IdType> | undefined;
1631
+ get parent(): Common<string, IdType> | undefined;
1624
1632
  addRef(refNode: Common): void;
1625
- getRefs(): List<IdType, Common<string, IdType>>;
1626
- exportValue(): T;
1633
+ getRefs(): List<IdType, Common<string, IdType>> | undefined;
1634
+ exportValue(): T | undefined;
1627
1635
  removeValue(): void;
1628
1636
  set<T extends Common | List = Common | List>(name: MultiTag, value: T | string): T | undefined;
1629
1637
  assign<T extends Common | List = Common | List>(name: MultiTag, value: T, unique?: boolean): T | undefined;
1630
- get<T extends Common | List = Common | List>(name: MultiTag): T;
1638
+ get<T extends Common | List = Common | List>(name: MultiTag): T | undefined;
1631
1639
  remove(name: MultiTag): void;
1632
- getGedcom(): GedComType;
1633
- getIf<T extends Common | List = Common | List>(name: MultiTag, condition: string, name2: MultiTag): T;
1640
+ getGedcom(): GedComType | undefined;
1641
+ getIf<T extends Common | List = Common | List>(name: MultiTag, condition: string, name2: MultiTag): T | undefined;
1634
1642
  toString(): string;
1635
- toValue(): T;
1643
+ toValue(): T | undefined;
1636
1644
  toProp(tag: MultiTag): Common<T, I> | undefined;
1637
1645
  toList(): List<IdType, Common<string, IdType>>;
1638
- index(i: number): Common<string, IdType>;
1646
+ index(i: number): Common<string, IdType> | undefined;
1639
1647
  toValueList(): List<IdType, Common<string, IdType>>;
1640
1648
  private standardizeObject;
1641
1649
  toJson(tag?: MultiTag, options?: ConvertOptions): string;
@@ -1643,7 +1651,7 @@ declare class Common<T = string, I extends IdType = IdType> implements ICommon<T
1643
1651
  value?: string;
1644
1652
  } & Record<string, unknown>) | (string | ({
1645
1653
  value?: string;
1646
- } & Record<string, unknown>))[]>;
1654
+ } & Record<string, unknown>) | undefined)[] | undefined>;
1647
1655
  merge(other: Common<T, I>, override?: boolean, avoidKeys?: MultiTag[]): this;
1648
1656
  clone(newId?: boolean, avoidKeys?: MultiTag[]): Common<T, I>;
1649
1657
  fromGedcom(_value: string): void;
@@ -1665,15 +1673,15 @@ declare class Common<T = string, I extends IdType = IdType> implements ICommon<T
1665
1673
  getMyHeritageTreeId(): string | undefined;
1666
1674
  getTreeId(): string;
1667
1675
  getAncestryTreeName(): string | undefined;
1668
- getMyHeritageTreeName(): string;
1676
+ getMyHeritageTreeName(): string | undefined;
1669
1677
  getFamilySearchTreeId(): string;
1670
1678
  getFamilySearchTreeName(): string;
1671
- getAhnenblattTreeId(): string;
1672
- getAhnenblattTreeName(): string;
1673
- getGeniTreeId(): string;
1674
- getGeniTreeName(): string;
1675
- getGenoProTreeId(): string;
1676
- getGenoProTreeName(): string;
1679
+ getAhnenblattTreeId(): string | undefined;
1680
+ getAhnenblattTreeName(): string | undefined;
1681
+ getGeniTreeId(): string | undefined;
1682
+ getGeniTreeName(): string | undefined;
1683
+ getGenoProTreeId(): string | undefined;
1684
+ getGenoProTreeName(): string | undefined;
1677
1685
  getGNO2GEDTreeId(): string;
1678
1686
  getGNO2GEDTreeName(): string;
1679
1687
  /**
@@ -1700,6 +1708,6 @@ declare const getValidTag: (tag: string) => string;
1700
1708
  declare const getListTag: (tag: string) => ListTag;
1701
1709
  declare const getValidKey: (tag: string, id: string) => string;
1702
1710
  declare const isId: (string: string) => string is IdType;
1703
- declare const idGetter: <T extends IdType>(id?: T) => T;
1711
+ declare const idGetter: <T extends IdType>(id?: T) => T | undefined;
1704
1712
 
1705
1713
  export { type IPlaceStructure as $, type ICommon as A, type ICreationDateStructure as B, type Cases as C, type IDateStructure as D, Existed as E, Fam as F, GedCom as G, type IEventDetailStructure as H, type IAddressStructure as I, type IFam as J, type IFamilies as K, type IFamilyStructure as L, type IGedcom as M, type IGedComStructure as N, type IIndi as O, type IIndividualStructure as P, type IIndividualEventStructure as Q, type IIndividualEventDetailStructure as R, type IIndividuals as S, type ILdsOrdinanceDetailStructure as T, type ILdsSpouseSealingStructure as U, type IList as V, type IMarriageDateStructure as W, type IMultimediaLinkStructure as X, type INonEventStructure as Y, type INoteStructure as Z, type IObje as _, Common as a, type SubmKey as a$, type IRepo as a0, type IRepositoryStructure as a1, type ISour as a2, type ISourceStructure as a3, type ISourceCitationStructure as a4, type ISourceRepositoryCitationStructure as a5, type ISubm as a6, type IdType as a7, Indi as a8, type IndiGenealogy as a9, PartnerType as aA, type Path as aB, type PathItem as aC, type Place as aD, type PlaceOrder as aE, PlaceType as aF, type PrimitiveRange as aG, type ProfilePicture as aH, type ProxyOriginal as aI, type Queue as aJ, type QueueItem as aK, Range as aL, type Range$1 as aM, type ReducedPath as aN, RelationType as aO, Repo as aP, type RepoKey as aQ, type RepoType as aR, Repositories as aS, type RequiredFilter as aT, type Settings as aU, Sour as aV, type SourKey as aW, type SourType as aX, Sources as aY, type SplitResult as aZ, Subm as a_, type IndiGenealogyGenerations as aa, type IndiGenealogyResult as ab, type IndiKey as ac, type IndiMarker as ad, type IndiTree as ae, type IndiType as af, Individuals as ag, type IKinshipTranslator as ah, type Language as ai, type LinkedPersons as aj, List as ak, type ListTag as al, type MemberMain as am, type MemberSide as an, type MultiTag as ao, type NameOrder as ap, type NestedGroup as aq, type NonNullIndiGenealogyResult as ar, type NonStandard as as, Obje as at, type ObjeKey as au, type ObjeType as av, Objects as aw, type Order as ax, type OrderDefinition as ay, type OrderIterator as az, CommonDate as b, type SubmType as b0, Submitters as b1, type Tag as b2, type TagKey as b3, type TreeMember as b4, type UnknownKey as b5, createCommon as b6, createCommonDate as b7, createCommonName as b8, createCommonNote as b9, isValidKey as bA, mergeGedcoms as bB, parseRangeBounds as bC, splitOverlappingRanges as bD, splitRange as bE, validateGedcomContent as bF, createFam as ba, createGedCom as bb, createIndi as bc, createObje as bd, createProxy as be, createRepo as bf, createSour as bg, createSubm as bh, extractSeparationYears as bi, extractSplitPoints as bj, findMatchingRangeForSplitRange as bk, fromTuple as bl, generateSplitRanges as bm, getListTag as bn, getPlaces as bo, getValidKey as bp, getValidKeys as bq, getValidTag as br, idGetter as bs, inRange as bt, isCommonDate as bu, isGedcomString as bv, isId as bw, isIntersectedRange as bx, isOnlyMainProp as by, isRangeContained as bz, CommonName as c, CommonNote as d, type ConvertType as e, type CrossCase as f, type CrossCases as g, CustomTags as h, type FamKey as i, type FamType as j, Families as k, type FamilySearchMatch as l, type FamilySearchSource as m, type Filter as n, type FilterIterator as o, type GedComType as p, type GenealogyMember as q, type GeneratedIndiMethods as r, type GenerationIndiType as s, type GenerationSpouseType as t, type Group as u, type GroupDefinition as v, type GroupIterator as w, type GroupMarker as x, type IAssociationStructure as y, type IChangeDateStructure as z };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- export { A as ACCEPTED_DATE_FORMATS, a as ACCEPTED_DATE_FORMATS_REGEX, G as GedcomTree, c as commonDateFormatter, b as create, d as dateFormatter, G as default, g as getAllProp, e as getFamilyWith, f as getName, h as getRawSize, i as getVersion, j as hungarianOrdinalize, k as implemented, l as isDevelopment, m as marriageDateFormatter, n as nameFormatter, o as notImplemented, p as noteDateFormatter, q as ordinalize, r as placeTranslator, s as setNestedGroup } from './place-translator-Ci5rEY6p.js';
1
+ export { A as ACCEPTED_DATE_FORMATS, a as ACCEPTED_DATE_FORMATS_REGEX, G as GedcomTree, c as commonDateFormatter, b as create, d as dateFormatter, G as default, g as getAllProp, e as getFamilyWith, f as getName, h as getRawSize, i as getVersion, j as hungarianOrdinalize, k as implemented, l as isDevelopment, m as marriageDateFormatter, n as nameFormatter, o as notImplemented, p as noteDateFormatter, q as ordinalize, r as placeTranslator, s as setNestedGroup } from './place-translator-DPMyrsnu.js';
2
2
  export { CacheManagerFactory, DateLocaleProvider, I18nProvider, KinshipTranslatorConstructor, PlaceParserFunction, PlaceTranslatorFunction, getCacheManagerFactory, getDateLocale, getI18n, getKinshipTranslatorClass, getPlaceParserProvider, getPlaceTranslatorProvider, i18n, resetCacheManagerFactory, resetDateLocaleProvider, resetI18nProvider, resetKinshipTranslatorClass, resetPlaceParserProvider, resetPlaceTranslatorProvider, setCacheManagerFactory, setDateLocaleProvider, setI18nProvider, setKinshipTranslatorClass, setPlaceParserProvider, setPlaceTranslatorProvider } from './factories/index.js';
3
- export { C as CacheRelatives, I as ICacheManager, P as PlaceParts, g as getPlaceParts, i as initializeCache, p as pathCache, a as profilePictureCache, r as relativesCache, b as resetRelativesCache } from './place-parser-CJ3EbFmb.js';
3
+ export { C as CacheRelatives, I as ICacheManager, P as PlaceParts, g as getPlaceParts, i as initializeCache, p as pathCache, a as profilePictureCache, r as relativesCache, b as resetRelativesCache } from './place-parser-BLwBjtXS.js';
4
4
  export { KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDE, KinshipTranslatorEN, KinshipTranslatorES, KinshipTranslatorFR, KinshipTranslatorHU, translators } from './kinship-translator/index.js';
5
- export { C as Cases, a as Common, b as CommonDate, c as CommonName, d as CommonNote, e as ConvertType, f as CrossCase, g as CrossCases, h as CustomTags, E as Existed, F as Fam, i as FamKey, j as FamType, k as Families, l as FamilySearchMatch, m as FamilySearchSource, n as Filter, o as FilterIterator, G as GedCom, p as GedComType, q as GenealogyMember, r as GeneratedIndiMethods, s as GenerationIndiType, t as GenerationSpouseType, u as Group, v as GroupDefinition, w as GroupIterator, x as GroupMarker, I as IAddress, y as IAssociation, z as IChangeDate, A as ICommon, B as ICreationDate, D as IDate, H as IEventDetail, H as IEventDetailStructure, J as IFam, K as IFamilies, L as IFamily, M as IGedCom, N as IGedcomStructure, O as IIndi, P as IIndividual, Q as IIndividualEvent, R as IIndividualEventDetail, P as IIndividualStructure, S as IIndividuals, T as ILdsOrdinanceDetail, U as ILdsSpouseSealing, V as IList, W as IMarriageDate, X as IMultimediaLink, Y as INonEvent, Z as INote, _ as IObje, $ as IPlace, a0 as IRepo, a1 as IRepository, a2 as ISour, a3 as ISource, a4 as ISourceCitation, a5 as ISourceRepositoryCitation, a6 as ISubm, a7 as IdType, a8 as Indi, a9 as IndiGenealogy, aa as IndiGenealogyGenerations, ab as IndiGenealogyResult, ac as IndiKey, ad as IndiMarker, ae as IndiTree, af as IndiType, ag as Individuals, ah as KinshipTranslatorInterface, ai as Language, aj as LinkedPersons, ak as List, al as ListTag, am as MemberMain, an as MemberSide, ao as MultiTag, ap as NameOrder, aq as NestedGroup, ar as NonNullIndiGenealogyResult, as as NonStandard, at as Obje, au as ObjeKey, av as ObjeType, aw as Objects, ax as Order, ay as OrderDefinition, az as OrderIterator, aA as PartnerType, aB as Path, aC as PathItem, aD as Place, aE as PlaceOrder, aF as PlaceType, aG as PrimitiveRange, aH as ProfilePicture, aI as ProxyOriginal, aJ as Queue, aK as QueueItem, aL as Range, aM as RangeType, aN as ReducedPath, aO as RelationType, aP as Repo, aQ as RepoKey, aR as RepoType, aS as Repositories, aT as RequiredFilter, aU as Settings, aV as Sour, aW as SourKey, aX as SourType, aY as Sources, aZ as SplitResult, a_ as Subm, a$ as SubmKey, b0 as SubmType, b1 as Submitters, b2 as Tag, b3 as TagKey, b4 as TreeMember, b5 as UnknownKey, b6 as createCommon, b7 as createCommonDate, b8 as createCommonName, b9 as createCommonNote, ba as createFam, bb as createGedCom, bc as createIndi, bd as createObje, be as createProxy, bf as createRepo, bg as createSour, bh as createSubm, bi as extractSeparationYears, bj as extractSplitPoints, bk as findMatchingRangeForSplitRange, bl as fromTuple, bm as generateSplitRanges, bn as getListTag, bo as getPlaces, bp as getValidKey, bq as getValidKeys, br as getValidTag, bs as idGetter, bt as inRange, bu as isCommonDate, bv as isGedcomString, bw as isId, bx as isIntersectedRange, by as isOnlyMainProp, bz as isRangeContained, bA as isValidKey, bB as mergeGedcoms, bC as parseRangeBounds, bD as splitOverlappingRanges, bE as splitRange, bF as validateGedcomContent } from './index-CzYZg44D.js';
5
+ export { C as Cases, a as Common, b as CommonDate, c as CommonName, d as CommonNote, e as ConvertType, f as CrossCase, g as CrossCases, h as CustomTags, E as Existed, F as Fam, i as FamKey, j as FamType, k as Families, l as FamilySearchMatch, m as FamilySearchSource, n as Filter, o as FilterIterator, G as GedCom, p as GedComType, q as GenealogyMember, r as GeneratedIndiMethods, s as GenerationIndiType, t as GenerationSpouseType, u as Group, v as GroupDefinition, w as GroupIterator, x as GroupMarker, I as IAddress, y as IAssociation, z as IChangeDate, A as ICommon, B as ICreationDate, D as IDate, H as IEventDetail, H as IEventDetailStructure, J as IFam, K as IFamilies, L as IFamily, M as IGedCom, N as IGedcomStructure, O as IIndi, P as IIndividual, Q as IIndividualEvent, R as IIndividualEventDetail, P as IIndividualStructure, S as IIndividuals, T as ILdsOrdinanceDetail, U as ILdsSpouseSealing, V as IList, W as IMarriageDate, X as IMultimediaLink, Y as INonEvent, Z as INote, _ as IObje, $ as IPlace, a0 as IRepo, a1 as IRepository, a2 as ISour, a3 as ISource, a4 as ISourceCitation, a5 as ISourceRepositoryCitation, a6 as ISubm, a7 as IdType, a8 as Indi, a9 as IndiGenealogy, aa as IndiGenealogyGenerations, ab as IndiGenealogyResult, ac as IndiKey, ad as IndiMarker, ae as IndiTree, af as IndiType, ag as Individuals, ah as KinshipTranslatorInterface, ai as Language, aj as LinkedPersons, ak as List, al as ListTag, am as MemberMain, an as MemberSide, ao as MultiTag, ap as NameOrder, aq as NestedGroup, ar as NonNullIndiGenealogyResult, as as NonStandard, at as Obje, au as ObjeKey, av as ObjeType, aw as Objects, ax as Order, ay as OrderDefinition, az as OrderIterator, aA as PartnerType, aB as Path, aC as PathItem, aD as Place, aE as PlaceOrder, aF as PlaceType, aG as PrimitiveRange, aH as ProfilePicture, aI as ProxyOriginal, aJ as Queue, aK as QueueItem, aL as Range, aM as RangeType, aN as ReducedPath, aO as RelationType, aP as Repo, aQ as RepoKey, aR as RepoType, aS as Repositories, aT as RequiredFilter, aU as Settings, aV as Sour, aW as SourKey, aX as SourType, aY as Sources, aZ as SplitResult, a_ as Subm, a$ as SubmKey, b0 as SubmType, b1 as Submitters, b2 as Tag, b3 as TagKey, b4 as TreeMember, b5 as UnknownKey, b6 as createCommon, b7 as createCommonDate, b8 as createCommonName, b9 as createCommonNote, ba as createFam, bb as createGedCom, bc as createIndi, bd as createObje, be as createProxy, bf as createRepo, bg as createSour, bh as createSubm, bi as extractSeparationYears, bj as extractSplitPoints, bk as findMatchingRangeForSplitRange, bl as fromTuple, bm as generateSplitRanges, bn as getListTag, bo as getPlaces, bp as getValidKey, bq as getValidKeys, br as getValidTag, bs as idGetter, bt as inRange, bu as isCommonDate, bv as isGedcomString, bw as isId, bx as isIntersectedRange, by as isOnlyMainProp, bz as isRangeContained, bA as isValidKey, bB as mergeGedcoms, bC as parseRangeBounds, bD as splitOverlappingRanges, bE as splitRange, bF as validateGedcomContent } from './index-B3Po1Kaw.js';
6
6
  export { AncestryMedia } from './types/index.js';
7
7
  export { ADOPTED, BIOLOGICAL, BIRTH, BIRTH_ASC, BIRTH_DESC, DATE_ASC, DATE_DESC, DEATH_ASC, DEATH_DESC, DEFAULT, EVERY, FEMALE, FOSTER, FRIEND, ID_GETTER_REG, ID_REG, ID_SPLIT_REG, LINE_REG, MALE, MAX_FILE_SIZE_TO_SYNC, OTHER, PARTNER, REF_LINE_REG, SEALING, SINGLE, SPOUSE, STEP, UNKOWN, getBirthAsc, getMarriageAsc, getMarriageAscAndBirth, getMarriageAscAndChildBirth, getNameAsc, getNameAscAndBirth, getNameDesc } from './constants/index.js';
8
8
  export { IPersonalName, IPersonalNamePieces } from './structures/index.js';
package/dist/index.js CHANGED
@@ -2325,7 +2325,7 @@ var Indi = class extends Common {
2325
2325
  title,
2326
2326
  url,
2327
2327
  contentType: type,
2328
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2328
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2329
2329
  };
2330
2330
  }
2331
2331
  })
@@ -2354,7 +2354,7 @@ var Indi = class extends Common {
2354
2354
  const deathObj = this.get("DEAT.OBJE")?.toList().copy();
2355
2355
  objeList?.merge(birthObj).merge(deathObj);
2356
2356
  (this.get("FAMS")?.toValueList().values() ?? []).concat(this.get("FAMC")?.toValueList().values() ?? []).forEach((fam) => {
2357
- objeList.merge(fam?.get("MARR.OBJE"));
2357
+ objeList?.merge(fam?.get("MARR.OBJE"));
2358
2358
  });
2359
2359
  objeList?.forEach((o, index) => {
2360
2360
  if (!o) {
@@ -2380,7 +2380,7 @@ var Indi = class extends Common {
2380
2380
  title,
2381
2381
  url,
2382
2382
  contentType: type,
2383
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2383
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
2384
2384
  };
2385
2385
  }
2386
2386
  });
@@ -2478,14 +2478,11 @@ var Indi = class extends Common {
2478
2478
  const sourList = this.get("SOUR")?.toList().copy();
2479
2479
  sourList?.forEach((sour) => {
2480
2480
  const sourObje = sour?.get("OBJE")?.toList();
2481
- objeList.merge(sourObje);
2481
+ objeList?.merge(sourObje);
2482
2482
  });
2483
- if (!objeList || objeList.length === 0) {
2484
- return void 0;
2485
- }
2486
2483
  const rfn = this.get("RFN")?.toValue();
2487
2484
  const geniId = rfn?.replace(/^geni:/, "") || "unknown";
2488
- objeList.forEach((obje, index) => {
2485
+ objeList?.forEach((obje, index) => {
2489
2486
  if (!obje) {
2490
2487
  return;
2491
2488
  }
@@ -2524,7 +2521,7 @@ var Indi = class extends Common {
2524
2521
  return list;
2525
2522
  }
2526
2523
  const rfn = this.get("RFN")?.toValue();
2527
- const treeId = rfn || "universal";
2524
+ const treeId = this.getUniversalTreeId() || rfn || "universal";
2528
2525
  objeList.forEach((obje, index) => {
2529
2526
  if (!obje) {
2530
2527
  return;
@@ -6654,7 +6651,7 @@ var Families = class _Families extends List {
6654
6651
  // package.json
6655
6652
  var package_default = {
6656
6653
  name: "@treeviz/gedcom-parser",
6657
- version: "2.0.0"};
6654
+ version: "2.0.1"};
6658
6655
 
6659
6656
  // src/utils/get-product-details.ts
6660
6657
  var isDevelopment = () => {
@@ -1,2 +1,2 @@
1
- export { r as GeneratedIndiMethods, A as ICommon, J as IFam, K as IFamilies, M as IGedCom, O as IIndi, S as IIndividuals, V as IList, _ as IObje, a0 as IRepo, a2 as ISour, a6 as ISubm } from '../index-CzYZg44D.js';
1
+ export { r as GeneratedIndiMethods, A as ICommon, J as IFam, K as IFamilies, M as IGedCom, O as IIndi, S as IIndividuals, V as IList, _ as IObje, a0 as IRepo, a2 as ISour, a6 as ISubm } from '../index-B3Po1Kaw.js';
2
2
  import 'date-fns';