@treeviz/gedcom-parser 2.0.0 → 2.0.3

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.
Files changed (257) hide show
  1. package/dist/classes/common.d.ts +118 -0
  2. package/dist/classes/common.d.ts.map +1 -0
  3. package/dist/classes/date.d.ts +27 -0
  4. package/dist/classes/date.d.ts.map +1 -0
  5. package/dist/classes/fam.d.ts +19 -0
  6. package/dist/classes/fam.d.ts.map +1 -0
  7. package/dist/classes/fams.d.ts +16 -0
  8. package/dist/classes/fams.d.ts.map +1 -0
  9. package/dist/classes/gedcom.d.ts +148 -0
  10. package/dist/classes/gedcom.d.ts.map +1 -0
  11. package/dist/classes/index.d.ts +28 -2
  12. package/dist/classes/index.d.ts.map +1 -0
  13. package/dist/classes/index.js +7 -10
  14. package/dist/classes/indi.d.ts +351 -0
  15. package/dist/classes/indi.d.ts.map +1 -0
  16. package/dist/classes/indis.d.ts +55 -0
  17. package/dist/classes/indis.d.ts.map +1 -0
  18. package/dist/classes/list.d.ts +55 -0
  19. package/dist/classes/list.d.ts.map +1 -0
  20. package/dist/classes/name.d.ts +20 -0
  21. package/dist/classes/name.d.ts.map +1 -0
  22. package/dist/classes/note.d.ts +12 -0
  23. package/dist/classes/note.d.ts.map +1 -0
  24. package/dist/classes/obje.d.ts +12 -0
  25. package/dist/classes/obje.d.ts.map +1 -0
  26. package/dist/classes/objes.d.ts +8 -0
  27. package/dist/classes/objes.d.ts.map +1 -0
  28. package/dist/classes/repo.d.ts +11 -0
  29. package/dist/classes/repo.d.ts.map +1 -0
  30. package/dist/classes/repos.d.ts +8 -0
  31. package/dist/classes/repos.d.ts.map +1 -0
  32. package/dist/classes/sour.d.ts +11 -0
  33. package/dist/classes/sour.d.ts.map +1 -0
  34. package/dist/classes/sours.d.ts +8 -0
  35. package/dist/classes/sours.d.ts.map +1 -0
  36. package/dist/classes/subm.d.ts +10 -0
  37. package/dist/classes/subm.d.ts.map +1 -0
  38. package/dist/classes/subms.d.ts +8 -0
  39. package/dist/classes/subms.d.ts.map +1 -0
  40. package/dist/cli/commands/convert.d.ts +3 -0
  41. package/dist/cli/commands/convert.d.ts.map +1 -0
  42. package/dist/cli/commands/extract.d.ts +3 -0
  43. package/dist/cli/commands/extract.d.ts.map +1 -0
  44. package/dist/cli/commands/find.d.ts +28 -0
  45. package/dist/cli/commands/find.d.ts.map +1 -0
  46. package/dist/cli/commands/get.d.ts +22 -0
  47. package/dist/cli/commands/get.d.ts.map +1 -0
  48. package/dist/cli/commands/info.d.ts +3 -0
  49. package/dist/cli/commands/info.d.ts.map +1 -0
  50. package/dist/cli/commands/merge.d.ts +3 -0
  51. package/dist/cli/commands/merge.d.ts.map +1 -0
  52. package/dist/cli/commands/open.d.ts +3 -0
  53. package/dist/cli/commands/open.d.ts.map +1 -0
  54. package/dist/cli/commands/relatives.d.ts +3 -0
  55. package/dist/cli/commands/relatives.d.ts.map +1 -0
  56. package/dist/cli/commands/select.d.ts +13 -0
  57. package/dist/cli/commands/select.d.ts.map +1 -0
  58. package/dist/cli/commands/show.d.ts +9 -0
  59. package/dist/cli/commands/show.d.ts.map +1 -0
  60. package/dist/cli/commands/stats.d.ts +8 -0
  61. package/dist/cli/commands/stats.d.ts.map +1 -0
  62. package/dist/cli/commands/validate.d.ts +3 -0
  63. package/dist/cli/commands/validate.d.ts.map +1 -0
  64. package/dist/cli/index.d.ts +2 -0
  65. package/dist/cli/index.d.ts.map +1 -0
  66. package/dist/cli/index.js +254 -106
  67. package/dist/cli/repl.d.ts +17 -0
  68. package/dist/cli/repl.d.ts.map +1 -0
  69. package/dist/cli/utils/formatters.d.ts +71 -0
  70. package/dist/cli/utils/formatters.d.ts.map +1 -0
  71. package/dist/cli/utils/helpers.d.ts +21 -0
  72. package/dist/cli/utils/helpers.d.ts.map +1 -0
  73. package/dist/constants/constants.d.ts +14 -0
  74. package/dist/constants/constants.d.ts.map +1 -0
  75. package/dist/constants/filters.d.ts +18 -0
  76. package/dist/constants/filters.d.ts.map +1 -0
  77. package/dist/constants/index.d.ts +4 -49
  78. package/dist/constants/index.d.ts.map +1 -0
  79. package/dist/constants/index.js +6 -9
  80. package/dist/constants/orders.d.ts +17 -0
  81. package/dist/constants/orders.d.ts.map +1 -0
  82. package/dist/factories/cache-factory.d.ts +30 -0
  83. package/dist/factories/cache-factory.d.ts.map +1 -0
  84. package/dist/factories/date-locale-factory.d.ts +30 -0
  85. package/dist/factories/date-locale-factory.d.ts.map +1 -0
  86. package/dist/factories/i18n-factory.d.ts +40 -0
  87. package/dist/factories/i18n-factory.d.ts.map +1 -0
  88. package/dist/factories/index.d.ts +13 -202
  89. package/dist/factories/index.d.ts.map +1 -0
  90. package/dist/factories/index.js +6 -9
  91. package/dist/factories/kinship-factory.d.ts +38 -0
  92. package/dist/factories/kinship-factory.d.ts.map +1 -0
  93. package/dist/factories/place-parser-provider.d.ts +32 -0
  94. package/dist/factories/place-parser-provider.d.ts.map +1 -0
  95. package/dist/factories/place-translator-provider.d.ts +32 -0
  96. package/dist/factories/place-translator-provider.d.ts.map +1 -0
  97. package/dist/index.d.ts +28 -9
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +7 -10
  100. package/dist/interfaces/common.d.ts +43 -0
  101. package/dist/interfaces/common.d.ts.map +1 -0
  102. package/dist/interfaces/fam.d.ts +11 -0
  103. package/dist/interfaces/fam.d.ts.map +1 -0
  104. package/dist/interfaces/fams.d.ts +9 -0
  105. package/dist/interfaces/fams.d.ts.map +1 -0
  106. package/dist/interfaces/gedcom.d.ts +30 -0
  107. package/dist/interfaces/gedcom.d.ts.map +1 -0
  108. package/dist/interfaces/index.d.ts +12 -2
  109. package/dist/interfaces/index.d.ts.map +1 -0
  110. package/dist/interfaces/indi.d.ts +114 -0
  111. package/dist/interfaces/indi.d.ts.map +1 -0
  112. package/dist/interfaces/indis.d.ts +31 -0
  113. package/dist/interfaces/indis.d.ts.map +1 -0
  114. package/dist/interfaces/list.d.ts +52 -0
  115. package/dist/interfaces/list.d.ts.map +1 -0
  116. package/dist/interfaces/obje.d.ts +7 -0
  117. package/dist/interfaces/obje.d.ts.map +1 -0
  118. package/dist/interfaces/repo.d.ts +7 -0
  119. package/dist/interfaces/repo.d.ts.map +1 -0
  120. package/dist/interfaces/sour.d.ts +7 -0
  121. package/dist/interfaces/sour.d.ts.map +1 -0
  122. package/dist/interfaces/subm.d.ts +6 -0
  123. package/dist/interfaces/subm.d.ts.map +1 -0
  124. package/dist/kinship-translator/index.d.ts +11 -146
  125. package/dist/kinship-translator/index.d.ts.map +1 -0
  126. package/dist/kinship-translator/index.js +6 -9
  127. package/dist/kinship-translator/kinship-translator.basic.d.ts +30 -0
  128. package/dist/kinship-translator/kinship-translator.basic.d.ts.map +1 -0
  129. package/dist/kinship-translator/kinship-translator.d.ts +26 -0
  130. package/dist/kinship-translator/kinship-translator.d.ts.map +1 -0
  131. package/dist/kinship-translator/kinship-translator.de.d.ts +18 -0
  132. package/dist/kinship-translator/kinship-translator.de.d.ts.map +1 -0
  133. package/dist/kinship-translator/kinship-translator.en.d.ts +18 -0
  134. package/dist/kinship-translator/kinship-translator.en.d.ts.map +1 -0
  135. package/dist/kinship-translator/kinship-translator.es.d.ts +18 -0
  136. package/dist/kinship-translator/kinship-translator.es.d.ts.map +1 -0
  137. package/dist/kinship-translator/kinship-translator.fr.d.ts +18 -0
  138. package/dist/kinship-translator/kinship-translator.fr.d.ts.map +1 -0
  139. package/dist/kinship-translator/kinship-translator.hu.d.ts +19 -0
  140. package/dist/kinship-translator/kinship-translator.hu.d.ts.map +1 -0
  141. package/dist/kinship-translator/kinship-translator.interface.d.ts +19 -0
  142. package/dist/kinship-translator/kinship-translator.interface.d.ts.map +1 -0
  143. package/dist/kinship-translator/patterns.de.d.ts +2 -0
  144. package/dist/kinship-translator/patterns.de.d.ts.map +1 -0
  145. package/dist/kinship-translator/patterns.en.d.ts +2 -0
  146. package/dist/kinship-translator/patterns.en.d.ts.map +1 -0
  147. package/dist/kinship-translator/patterns.es.d.ts +2 -0
  148. package/dist/kinship-translator/patterns.es.d.ts.map +1 -0
  149. package/dist/kinship-translator/patterns.fr.d.ts +2 -0
  150. package/dist/kinship-translator/patterns.fr.d.ts.map +1 -0
  151. package/dist/kinship-translator/patterns.hu.d.ts +6 -0
  152. package/dist/kinship-translator/patterns.hu.d.ts.map +1 -0
  153. package/dist/kinship-translator/translators.d.ts +6 -0
  154. package/dist/kinship-translator/translators.d.ts.map +1 -0
  155. package/dist/kinship-translator/types.d.ts +9 -0
  156. package/dist/kinship-translator/types.d.ts.map +1 -0
  157. package/dist/structures/address.d.ts +14 -0
  158. package/dist/structures/address.d.ts.map +1 -0
  159. package/dist/structures/association.d.ts +13 -0
  160. package/dist/structures/association.d.ts.map +1 -0
  161. package/dist/structures/change-date.d.ts +8 -0
  162. package/dist/structures/change-date.d.ts.map +1 -0
  163. package/dist/structures/creation-date.d.ts +7 -0
  164. package/dist/structures/creation-date.d.ts.map +1 -0
  165. package/dist/structures/date.d.ts +9 -0
  166. package/dist/structures/date.d.ts.map +1 -0
  167. package/dist/structures/event-detail-structure.d.ts +25 -0
  168. package/dist/structures/event-detail-structure.d.ts.map +1 -0
  169. package/dist/structures/family.d.ts +34 -0
  170. package/dist/structures/family.d.ts.map +1 -0
  171. package/dist/structures/gedcom.d.ts +59 -0
  172. package/dist/structures/gedcom.d.ts.map +1 -0
  173. package/dist/structures/index.d.ts +27 -25
  174. package/dist/structures/index.d.ts.map +1 -0
  175. package/dist/structures/individual-event-detail-structure.d.ts +9 -0
  176. package/dist/structures/individual-event-detail-structure.d.ts.map +1 -0
  177. package/dist/structures/individual-event-structure.d.ts +83 -0
  178. package/dist/structures/individual-event-structure.d.ts.map +1 -0
  179. package/dist/structures/individual.d.ts +40 -0
  180. package/dist/structures/individual.d.ts.map +1 -0
  181. package/dist/structures/lds-ordinance-detail.d.ts +17 -0
  182. package/dist/structures/lds-ordinance-detail.d.ts.map +1 -0
  183. package/dist/structures/lds-spouse-sealing.d.ts +7 -0
  184. package/dist/structures/lds-spouse-sealing.d.ts.map +1 -0
  185. package/dist/structures/marriage-date.d.ts +11 -0
  186. package/dist/structures/marriage-date.d.ts.map +1 -0
  187. package/dist/structures/multimedia-link.d.ts +16 -0
  188. package/dist/structures/multimedia-link.d.ts.map +1 -0
  189. package/dist/structures/non-event.d.ts +12 -0
  190. package/dist/structures/non-event.d.ts.map +1 -0
  191. package/dist/structures/note.d.ts +16 -0
  192. package/dist/structures/note.d.ts.map +1 -0
  193. package/dist/structures/personal-name-pieces.d.ts +11 -0
  194. package/dist/structures/personal-name-pieces.d.ts.map +1 -0
  195. package/dist/structures/personal-name.d.ts +16 -0
  196. package/dist/structures/personal-name.d.ts.map +1 -0
  197. package/dist/structures/place.d.ts +20 -0
  198. package/dist/structures/place.d.ts.map +1 -0
  199. package/dist/structures/repository.d.ts +6 -0
  200. package/dist/structures/repository.d.ts.map +1 -0
  201. package/dist/structures/source-citation.d.ts +27 -0
  202. package/dist/structures/source-citation.d.ts.map +1 -0
  203. package/dist/structures/source-repository-citation.d.ts +13 -0
  204. package/dist/structures/source-repository-citation.d.ts.map +1 -0
  205. package/dist/structures/source.d.ts +28 -0
  206. package/dist/structures/source.d.ts.map +1 -0
  207. package/dist/types/ancestry-media.d.ts +65 -0
  208. package/dist/types/ancestry-media.d.ts.map +1 -0
  209. package/dist/types/index.d.ts +8 -69
  210. package/dist/types/index.d.ts.map +1 -0
  211. package/dist/types/settings.d.ts +12 -0
  212. package/dist/types/settings.d.ts.map +1 -0
  213. package/dist/types/types.d.ts +229 -0
  214. package/dist/types/types.d.ts.map +1 -0
  215. package/dist/utils/cache.d.ts +26 -0
  216. package/dist/utils/cache.d.ts.map +1 -0
  217. package/dist/utils/common-creator.d.ts +13 -0
  218. package/dist/utils/common-creator.d.ts.map +1 -0
  219. package/dist/utils/date-formatter.d.ts +35 -0
  220. package/dist/utils/date-formatter.d.ts.map +1 -0
  221. package/dist/utils/get-all-prop.d.ts +4 -0
  222. package/dist/utils/get-all-prop.d.ts.map +1 -0
  223. package/dist/utils/get-family-with.d.ts +5 -0
  224. package/dist/utils/get-family-with.d.ts.map +1 -0
  225. package/dist/utils/get-places.d.ts +21 -0
  226. package/dist/utils/get-places.d.ts.map +1 -0
  227. package/dist/utils/get-product-details.d.ts +4 -0
  228. package/dist/utils/get-product-details.d.ts.map +1 -0
  229. package/dist/utils/get-raw-size.d.ts +2 -0
  230. package/dist/utils/get-raw-size.d.ts.map +1 -0
  231. package/dist/utils/index.d.ts +19 -19
  232. package/dist/utils/index.d.ts.map +1 -0
  233. package/dist/utils/index.js +7 -10
  234. package/dist/utils/logger.d.ts +3 -0
  235. package/dist/utils/logger.d.ts.map +1 -0
  236. package/dist/utils/media-utils.d.ts +13 -0
  237. package/dist/utils/media-utils.d.ts.map +1 -0
  238. package/dist/utils/name-formatter.d.ts +10 -0
  239. package/dist/utils/name-formatter.d.ts.map +1 -0
  240. package/dist/utils/nested-group.d.ts +4 -0
  241. package/dist/utils/nested-group.d.ts.map +1 -0
  242. package/dist/utils/ordinalize.d.ts +3 -0
  243. package/dist/utils/ordinalize.d.ts.map +1 -0
  244. package/dist/utils/parser.d.ts +22 -0
  245. package/dist/utils/parser.d.ts.map +1 -0
  246. package/dist/utils/place-parser.d.ts +16 -0
  247. package/dist/utils/place-parser.d.ts.map +1 -0
  248. package/dist/utils/place-translator.d.ts +6 -0
  249. package/dist/utils/place-translator.d.ts.map +1 -0
  250. package/dist/utils/place-types.d.ts +27 -0
  251. package/dist/utils/place-types.d.ts.map +1 -0
  252. package/dist/utils/range.d.ts +19 -0
  253. package/dist/utils/range.d.ts.map +1 -0
  254. package/package.json +12 -2
  255. package/dist/index-CzYZg44D.d.ts +0 -1705
  256. package/dist/place-parser-CJ3EbFmb.d.ts +0 -40
  257. package/dist/place-translator-Ci5rEY6p.d.ts +0 -90
@@ -0,0 +1,118 @@
1
+ import type { ConvertOptions } from "../interfaces/common";
2
+ import type ICommon from "../interfaces/common";
3
+ import type { IdType, MultiTag, ListTag } from "../types/types";
4
+ import type { GedComType } from "./gedcom";
5
+ import { List } from "./list";
6
+ export declare class Common<T = string, I extends IdType = IdType> implements ICommon<T, I> {
7
+ protected _gedcom?: GedComType;
8
+ protected _value?: T;
9
+ protected _id?: I;
10
+ protected _main?: Common;
11
+ protected _parent?: Common;
12
+ protected _uniqueId?: string | undefined;
13
+ protected _type?: MultiTag;
14
+ protected _refs?: List;
15
+ isListable: boolean;
16
+ refType?: ListTag;
17
+ cloneOf?: string;
18
+ clonedBy?: string;
19
+ constructor(gedcom?: GedComType, id?: I, main?: Common, parent?: Common);
20
+ set type(type: MultiTag | undefined);
21
+ get type(): MultiTag | undefined;
22
+ initUniqueId(): void;
23
+ set uniqueId(id: string | undefined);
24
+ get uniqueId(): string | undefined;
25
+ set id(id: I | undefined);
26
+ get id(): I | undefined;
27
+ set value(value: T | undefined);
28
+ get value(): T | undefined;
29
+ /**
30
+ * Set the gedcom reference for this object
31
+ * @param gedcom - The GedComType to set as the gedcom reference
32
+ */
33
+ setGedcom(gedcom: GedComType): void;
34
+ get originalValue(): T | undefined;
35
+ get ref(): Common<T, I> | undefined;
36
+ get main(): Common<string, IdType> | undefined;
37
+ get parent(): Common<string, IdType> | undefined;
38
+ addRef(refNode: Common): void;
39
+ getRefs(): List<IdType, Common<string, IdType>> | undefined;
40
+ exportValue(): T | undefined;
41
+ removeValue(): void;
42
+ set<T extends Common | List = Common | List>(name: MultiTag, value: T | string): T | undefined;
43
+ assign<T extends Common | List = Common | List>(name: MultiTag, value: T, unique?: boolean): T | undefined;
44
+ get<T extends Common | List = Common | List>(name: MultiTag): T | undefined;
45
+ remove(name: MultiTag): void;
46
+ getGedcom(): GedComType | undefined;
47
+ getIf<T extends Common | List = Common | List>(name: MultiTag, condition: string, name2: MultiTag): T | undefined;
48
+ toString(): string;
49
+ toValue(): T | undefined;
50
+ toProp(tag: MultiTag): Common<T, I> | undefined;
51
+ toList(): List<IdType, Common<string, IdType>>;
52
+ index(i: number): Common<string, IdType> | undefined;
53
+ toValueList(): List<IdType, Common<string, IdType>>;
54
+ private standardizeObject;
55
+ toJson(tag?: MultiTag, options?: ConvertOptions): string;
56
+ toObject(tag?: MultiTag, options?: ConvertOptions): Record<string, string | ({
57
+ value?: string;
58
+ } & Record<string, unknown>) | (string | ({
59
+ value?: string;
60
+ } & Record<string, unknown>) | undefined)[] | undefined>;
61
+ merge(other: Common<T, I>, override?: boolean, avoidKeys?: MultiTag[]): this;
62
+ clone(newId?: boolean, avoidKeys?: MultiTag[]): Common<T, I>;
63
+ fromGedcom(_value: string): void;
64
+ toGedcom(tag?: MultiTag, level?: number, options?: ConvertOptions): string;
65
+ toGedcomLines(tag?: MultiTag, level?: number, options?: ConvertOptions): string[];
66
+ isGenoPro(): boolean;
67
+ isAhnenblatt(): boolean;
68
+ isGeni(): boolean;
69
+ isAncestry(): boolean;
70
+ isMyHeritage(): boolean;
71
+ /**
72
+ * Get the source type as a string (for prefixing tree IDs and names)
73
+ * Returns the detected source type or undefined if unknown
74
+ */
75
+ getSourceType(): string | undefined;
76
+ isFamilySearch(): boolean;
77
+ isGNO2GED(): boolean;
78
+ getAncestryTreeId(): string | undefined;
79
+ getMyHeritageTreeId(): string | undefined;
80
+ getTreeId(): string;
81
+ getAncestryTreeName(): string | undefined;
82
+ getMyHeritageTreeName(): string | undefined;
83
+ getFamilySearchTreeId(): string;
84
+ getFamilySearchTreeName(): string;
85
+ getAhnenblattTreeId(): string | undefined;
86
+ getAhnenblattTreeName(): string | undefined;
87
+ getGeniTreeId(): string | undefined;
88
+ getGeniTreeName(): string | undefined;
89
+ getGenoProTreeId(): string | undefined;
90
+ getGenoProTreeName(): string | undefined;
91
+ getGNO2GEDTreeId(): string;
92
+ getGNO2GEDTreeName(): string;
93
+ /**
94
+ * Universal tree ID getter for unknown/unrecognized GEDCOM sources
95
+ * Tries to extract an ID from various common locations
96
+ */
97
+ getUniversalTreeId(): string;
98
+ /**
99
+ * Universal tree name getter for unknown/unrecognized GEDCOM sources
100
+ * Tries to extract a name from various common locations
101
+ */
102
+ getUniversalTreeName(): string;
103
+ getTreeName(): string;
104
+ }
105
+ export type ProxyOriginal<T extends Common> = T & {
106
+ unwrapped: T;
107
+ };
108
+ export declare const createProxy: <T extends Common>(target: T) => T;
109
+ export declare const createCommon: (gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common) => ProxyOriginal<Common>;
110
+ export declare const isOnlyMainProp: (key: string | symbol) => key is MultiTag | "_value" | "value";
111
+ export declare const isValidKey: <T>(common: Common<T>, key: string | symbol) => key is MultiTag | "_value" | "value" | "id" | "_id";
112
+ export declare const getValidKeys: <T>(common: Common<T>) => Array<MultiTag | "_value" | "value" | "id" | "_id">;
113
+ export declare const getValidTag: (tag: string) => string;
114
+ export declare const getListTag: (tag: string) => ListTag;
115
+ export declare const getValidKey: (tag: string, id: string) => string;
116
+ export declare const isId: (string: string) => string is IdType;
117
+ export declare const idGetter: <T extends IdType>(id?: T) => T | undefined;
118
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/classes/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { Locale } from "date-fns";
2
+ import type { IdType, MultiTag } from "../types/types";
3
+ import type { Range } from "../utils/range";
4
+ import { Common } from "./common";
5
+ import type { ProxyOriginal } from "./common";
6
+ import type { GedComType } from "./gedcom";
7
+ import type { List } from "./list";
8
+ export declare class CommonDate extends Common<string> {
9
+ private _date?;
10
+ DAY?: Common;
11
+ MONTH?: Common;
12
+ YEAR?: Common;
13
+ NOTE?: Common;
14
+ constructor(gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common);
15
+ set value(value: string | undefined);
16
+ get value(): string | undefined;
17
+ get rawValue(): Date | undefined;
18
+ assign<T extends Common | List = Common | List>(name: MultiTag, value: T, unique?: boolean): T | undefined;
19
+ private isValidDateFormat;
20
+ toNote(short?: boolean): string | undefined;
21
+ toValue(dateFormat?: string, locale?: Locale | null): string | undefined;
22
+ exportValue(): string | undefined;
23
+ inRange(range: Range, trueIfNoYear?: boolean): boolean;
24
+ }
25
+ export declare const createCommonDate: (gedcom?: GedComType, id?: IdType, main?: Common, parent?: Common) => ProxyOriginal<CommonDate>;
26
+ export declare const isCommonDate: (value?: unknown) => value is CommonDate;
27
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../src/classes/date.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIvC,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAoDnC,qBAAa,UAAW,SAAQ,MAAM,CAAC,MAAM,CAAC;IAC7C,OAAO,CAAC,KAAK,CAAC,CAAO;IAErB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;gBAGb,MAAM,CAAC,EAAE,UAAU,EACnB,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM;IAOhB,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EA0ElC;IAED,IAAI,KAAK,IA5EQ,MAAM,GAAG,SAAS,CA+FlC;IAED,IAAI,QAAQ,qBAEX;IAED,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,EAC7C,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,CAAC,EACR,MAAM,UAAQ;IAUf,OAAO,CAAC,iBAAiB;IAgBzB,MAAM,CAAC,KAAK,UAAO,GAAG,MAAM,GAAG,SAAS;IAUxC,OAAO,CACN,UAAU,SAAgB,EAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GACpB,MAAM,GAAG,SAAS;IAuBrB,WAAW;IAIX,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,UAAQ;CAG1C;AAED,eAAO,MAAM,gBAAgB,GAC5B,SAAS,UAAU,EACnB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,SAAS,MAAM,KACb,aAAa,CAAC,UAAU,CAI1B,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,QAAQ,OAAO,KAAG,KAAK,IAAI,UAOvD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type IFam from "../interfaces/fam";
2
+ import type IFamilyStructure from "../structures/family";
3
+ import type { FamKey } from "../types/types";
4
+ import { Common } from "./common";
5
+ import type { ProxyOriginal } from "./common";
6
+ import { Families } from "./fams";
7
+ import type { GedComType } from "./gedcom";
8
+ import { Individuals } from "./indis";
9
+ export declare class Fam extends Common<string, FamKey> implements IFam {
10
+ private getFamilyMembers;
11
+ getChildren(): Individuals;
12
+ getHusband(): Individuals;
13
+ getWife(): Individuals;
14
+ getParents(): Individuals;
15
+ toList(): Families;
16
+ }
17
+ export type FamType = Fam & IFamilyStructure;
18
+ export declare const createFam: (gedcom: GedComType, id: FamKey, main?: Common, parent?: Common) => ProxyOriginal<FamType>;
19
+ //# sourceMappingURL=fam.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fam.d.ts","sourceRoot":"","sources":["../../src/classes/fam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAW,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,qBAAa,GAAI,SAAQ,MAAM,CAAC,MAAM,EAAE,MAAM,CAAE,YAAW,IAAI;IAC9D,OAAO,CAAC,gBAAgB;IAexB,WAAW;IAIX,UAAU;IAIV,OAAO;IAIP,UAAU,IAAI,WAAW;IAIzB,MAAM;CAMN;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,GAAG,gBAAgB,CAAC;AAC7C,eAAO,MAAM,SAAS,GACrB,QAAQ,UAAU,EAClB,IAAI,MAAM,EACV,OAAO,MAAM,EACb,SAAS,MAAM,KACb,aAAa,CAAC,OAAO,CAIvB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { IFamilies } from "../interfaces/fams";
2
+ import type { FamKey, Filter, Order, FilterIterator, OrderIterator } from "../types/types";
3
+ import type { FamType } from "./fam";
4
+ import { Individuals } from "./indis";
5
+ import { List } from "./list";
6
+ export declare class Families extends List<FamKey, FamType> implements IFamilies {
7
+ copy(): Families;
8
+ except(item: FamType): Families;
9
+ filter(filters: Filter | FilterIterator<FamType, FamKey>): Families;
10
+ find(filters: Filter | FilterIterator<FamType, FamKey>): FamType | undefined;
11
+ orderBy(orders: Order | OrderIterator<FamType, FamKey>): Families;
12
+ getParents(): Individuals;
13
+ getChildren(): Individuals;
14
+ toList(): Families;
15
+ }
16
+ //# sourceMappingURL=fams.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fams.d.ts","sourceRoot":"","sources":["../../src/classes/fams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAGzF,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,QAAS,SAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,CAAE,YAAW,SAAS;IACvE,IAAI,IAAI,QAAQ;IAIhB,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,QAAQ;IAI/B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ;IAInE,IAAI,CACH,OAAO,EAAE,MAAM,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,GAC/C,OAAO,GAAG,SAAS;IAItB,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,QAAQ;IAIjE,UAAU,IAAI,WAAW;IAYzB,WAAW,IAAI,WAAW;IAY1B,MAAM;CAGN"}
@@ -0,0 +1,148 @@
1
+ import type { ConvertOptions } from "../interfaces/common";
2
+ import type IGedcom from "../interfaces/gedcom";
3
+ import type IEventDetailStructure from "../structures/event-detail-structure";
4
+ import type IGedComStructure from "../structures/gedcom";
5
+ import type { IdType, IndiKey, FamKey, ObjeKey, SourKey, RepoKey, SubmKey, MultiTag } from "../types/types";
6
+ import { Common } from "./common";
7
+ import type { FamType } from "./fam";
8
+ import type { Families } from "./fams";
9
+ import type { IndiType } from "./indi";
10
+ import type { Individuals } from "./indis";
11
+ import { List } from "./list";
12
+ import type { ObjeType } from "./obje";
13
+ import type { Objects } from "./objes";
14
+ import type { RepoType } from "./repo";
15
+ import type { Repositories } from "./repos";
16
+ import type { SourType } from "./sour";
17
+ import type { Sources } from "./sours";
18
+ import type { SubmType } from "./subm";
19
+ import type { Submitters } from "./subms";
20
+ export declare class GedCom extends Common implements IGedcom {
21
+ tagMembers: Record<string, {
22
+ tag: Common;
23
+ indis: Individuals;
24
+ }>;
25
+ reflist: Record<string, Common>;
26
+ refcount: number;
27
+ constructor();
28
+ private getMain;
29
+ getList<T extends List = List>(type: MultiTag): T | undefined;
30
+ indis(): Individuals | undefined;
31
+ cloneIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, avoidKeys?: MultiTag[], removeFromOriginalList?: boolean): this | undefined;
32
+ mergeIndis(target?: IndiKey | IndiType, source?: IndiKey | IndiType, removeFromOriginalList?: boolean): this | undefined;
33
+ fams(): Families | undefined;
34
+ objes(): Objects | undefined;
35
+ sours(): Sources | undefined;
36
+ repos(): Repositories | undefined;
37
+ subms(): Submitters | undefined;
38
+ tags(): List<IdType, Common<string, IdType>> | undefined;
39
+ customTags(): List<IdType, Common<string, IdType>> | undefined;
40
+ indi(index: number | IndiKey): IndiType | undefined;
41
+ fam(index: number | FamKey): FamType | undefined;
42
+ obje(index: number | ObjeKey): ObjeType | undefined;
43
+ sour(index: number | SourKey): SourType | undefined;
44
+ repo(index: number | RepoKey): RepoType | undefined;
45
+ subm(index: number | SubmKey): SubmType | undefined;
46
+ tag(index: number | SubmKey): Common<string, IdType> | undefined;
47
+ fromList(id?: string): Common<string, IdType> | undefined;
48
+ tagByName(name?: string): Common<string, IdType> | undefined;
49
+ customTag(index: number | SubmKey): Common<string, IdType> | undefined;
50
+ private getIndiRelatedLists;
51
+ private getDownloadHeader;
52
+ toFiltered(indis: IndiKey[]): this | GedComType;
53
+ toJson(tag?: MultiTag | undefined, options?: (ConvertOptions & {
54
+ indis?: IndiKey[];
55
+ }) | undefined): string;
56
+ toGedcom(tag?: MultiTag | undefined, level?: number, options?: (ConvertOptions & {
57
+ indis?: IndiKey[];
58
+ }) | undefined): string;
59
+ hasTag(tag?: string | Common): boolean;
60
+ hasUnknownAncestor(): boolean;
61
+ hasIgnoredMember(): boolean;
62
+ hasUnattachedMember(): boolean;
63
+ hasUnknownGivenname(): boolean;
64
+ hasUnknownSurname(): boolean;
65
+ hasNonRelevant(): boolean;
66
+ /**
67
+ * Get all places from the GEDCOM with occurrence counts
68
+ * @returns Record mapping place names to their occurrence count
69
+ */
70
+ getAllPlaces(): Record<string, number>;
71
+ /**
72
+ * Get all places from the GEDCOM with associated individual IDs
73
+ * @param usedIndis Optional array of individual IDs to filter by
74
+ * @returns Record mapping place names to arrays of individual IDs
75
+ */
76
+ getAllPlacesWithIndis(usedIndis?: IndiKey[]): Record<string, (`@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`)[]>;
77
+ /**
78
+ * Generate statistics about the GEDCOM file
79
+ * @param individuals Optional list of individuals to calculate statistics for. If not provided, all individuals from the GEDCOM will be used.
80
+ * @returns Object containing various statistics about the GEDCOM data
81
+ */
82
+ stats(individuals?: Individuals): {
83
+ totalIndividuals: number;
84
+ totalFamilies: number;
85
+ byGender: {
86
+ males: number;
87
+ females: number;
88
+ unknown: number;
89
+ };
90
+ dateRange: {
91
+ earliest: number | null;
92
+ latest: number | null;
93
+ };
94
+ averageLifespan: number | null;
95
+ topSurnames: {
96
+ surname: string;
97
+ count: number;
98
+ }[];
99
+ topBirthPlaces: {
100
+ place: string;
101
+ count: number;
102
+ }[];
103
+ firstPersonEvent: {
104
+ type: string;
105
+ event: IEventDetailStructure | undefined;
106
+ person: IndiType | undefined;
107
+ } | null;
108
+ lastPersonEvent: {
109
+ type: string;
110
+ event: (Common<string, IdType> & IEventDetailStructure) | undefined;
111
+ person: IndiType | undefined;
112
+ } | null;
113
+ };
114
+ }
115
+ export type GedComType = GedCom & IGedComStructure;
116
+ export declare const createGedCom: () => GedComType;
117
+ export declare const isGedcomString: (gedcomString?: string) => boolean;
118
+ /**
119
+ * Validates if a string is a valid GEDCOM file content
120
+ * @param content - The file content to validate
121
+ * @returns An object with `valid` boolean and optional `error` message
122
+ */
123
+ export declare const validateGedcomContent: (content?: string) => {
124
+ valid: boolean;
125
+ error?: string;
126
+ };
127
+ /**
128
+ * Merge two GEDCOM objects into a single result using a configurable matching strategy
129
+ * @param targetGedcom - The base GEDCOM (kept as the primary source)
130
+ * @param sourceGedcom - The GEDCOM to be merged into the target
131
+ * @param strategy - Matching strategy: "id" (default) to match by individual ID, or any MultiTag (e.g., "NAME", "BIRT.DATE") to match by that field's value
132
+ * @returns The merged GedComType with all individuals and families combined
133
+ *
134
+ * @example
135
+ * // Merge by ID (individuals with same ID are considered the same person)
136
+ * const merged = await mergeGedcoms(target, source, "id");
137
+ *
138
+ * @example
139
+ * // Merge by NAME (individuals with same name are considered the same person)
140
+ * const merged = await mergeGedcoms(target, source, "NAME");
141
+ *
142
+ * @remarks
143
+ * - Source individuals are always assigned new unique IDs to avoid conflicts
144
+ * - When individuals match by strategy, they are merged (data and relationships combined)
145
+ * - All family relationships (FAMS/FAMC) are preserved with updated ID references
146
+ */
147
+ export declare const mergeGedcoms: (targetGedcom: GedComType, sourceGedcom: GedComType, strategy?: MultiTag | "id") => GedComType;
148
+ //# sourceMappingURL=gedcom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gedcom.d.ts","sourceRoot":"","sources":["../../src/classes/gedcom.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,28 @@
1
- export { a as Common, b as CommonDate, c as CommonName, d as CommonNote, h as CustomTags, E as Existed, F as Fam, j as FamType, k as Families, l as FamilySearchMatch, m as FamilySearchSource, G as GedCom, p as GedComType, q as GenealogyMember, s as GenerationIndiType, t as GenerationSpouseType, a8 as Indi, a9 as IndiGenealogy, aa as IndiGenealogyGenerations, ab as IndiGenealogyResult, ad as IndiMarker, ae as IndiTree, af as IndiType, ag as Individuals, ak as List, am as MemberMain, an as MemberSide, ar as NonNullIndiGenealogyResult, at as Obje, av as ObjeType, aw as Objects, aB as Path, aC as PathItem, aH as ProfilePicture, aI as ProxyOriginal, aJ as Queue, aK as QueueItem, aN as ReducedPath, aP as Repo, aR as RepoType, aS as Repositories, aV as Sour, aX as SourType, aY as Sources, a_ as Subm, b0 as SubmType, b1 as Submitters, b4 as TreeMember, 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, bn as getListTag, bp as getValidKey, bq as getValidKeys, br as getValidTag, bs as idGetter, bu as isCommonDate, bv as isGedcomString, bw as isId, by as isOnlyMainProp, bA as isValidKey, bB as mergeGedcoms, bF as validateGedcomContent } from '../index-CzYZg44D.js';
2
- import 'date-fns';
1
+ export type { ProxyOriginal } from "./common";
2
+ export type { SourType } from "./sour";
3
+ export type { RepoType } from "./repo";
4
+ export type { SubmType } from "./subm";
5
+ export type { IndiType, TreeMember, GenealogyMember, IndiTree, IndiGenealogy, IndiMarker, MemberSide, MemberMain, GenerationSpouseType, GenerationIndiType, IndiGenealogyGenerations, IndiGenealogyResult, NonNullIndiGenealogyResult, PathItem, Path, ReducedPath, QueueItem, Queue, } from "./indi";
6
+ export type { FamType } from "./fam";
7
+ export type { GedComType } from "./gedcom";
8
+ export type { ObjeType } from "./obje";
9
+ export { Existed, CustomTags } from "./indi";
10
+ export * from "./common";
11
+ export * from "./date";
12
+ export * from "./fam";
13
+ export * from "./fams";
14
+ export * from "./gedcom";
15
+ export * from "./indi";
16
+ export * from "./indis";
17
+ export * from "./list";
18
+ export * from "./name";
19
+ export * from "./note";
20
+ export * from "./obje";
21
+ export * from "./objes";
22
+ export * from "./repo";
23
+ export * from "./repos";
24
+ export * from "./sour";
25
+ export * from "./sours";
26
+ export * from "./subm";
27
+ export * from "./subms";
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/classes/index.ts"],"names":[],"mappings":"AAGA,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EACX,QAAQ,EACR,UAAU,EACV,eAAe,EACf,QAAQ,EACR,aAAa,EACb,UAAU,EACV,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,0BAA0B,EAC1B,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,SAAS,EACT,KAAK,GACL,MAAM,QAAQ,CAAC;AAChB,YAAY,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAG7C,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC"}
@@ -4645,7 +4645,7 @@ var Indi = class extends Common {
4645
4645
  title,
4646
4646
  url,
4647
4647
  contentType: type,
4648
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
4648
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
4649
4649
  };
4650
4650
  }
4651
4651
  })
@@ -4674,7 +4674,7 @@ var Indi = class extends Common {
4674
4674
  const deathObj = this.get("DEAT.OBJE")?.toList().copy();
4675
4675
  objeList?.merge(birthObj).merge(deathObj);
4676
4676
  (this.get("FAMS")?.toValueList().values() ?? []).concat(this.get("FAMC")?.toValueList().values() ?? []).forEach((fam) => {
4677
- objeList.merge(fam?.get("MARR.OBJE"));
4677
+ objeList?.merge(fam?.get("MARR.OBJE"));
4678
4678
  });
4679
4679
  objeList?.forEach((o, index) => {
4680
4680
  if (!o) {
@@ -4700,7 +4700,7 @@ var Indi = class extends Common {
4700
4700
  title,
4701
4701
  url,
4702
4702
  contentType: type,
4703
- downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName().replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
4703
+ downloadName: `${this.id.replaceAll("@", "")}_${this.toNaturalName()?.replaceAll(" ", "-") || ""}_${(title || key.replaceAll("@", "").toString()).replaceAll(" ", "-")}`
4704
4704
  };
4705
4705
  }
4706
4706
  });
@@ -4798,14 +4798,11 @@ var Indi = class extends Common {
4798
4798
  const sourList = this.get("SOUR")?.toList().copy();
4799
4799
  sourList?.forEach((sour) => {
4800
4800
  const sourObje = sour?.get("OBJE")?.toList();
4801
- objeList.merge(sourObje);
4801
+ objeList?.merge(sourObje);
4802
4802
  });
4803
- if (!objeList || objeList.length === 0) {
4804
- return void 0;
4805
- }
4806
4803
  const rfn = this.get("RFN")?.toValue();
4807
4804
  const geniId = rfn?.replace(/^geni:/, "") || "unknown";
4808
- objeList.forEach((obje, index) => {
4805
+ objeList?.forEach((obje, index) => {
4809
4806
  if (!obje) {
4810
4807
  return;
4811
4808
  }
@@ -4844,7 +4841,7 @@ var Indi = class extends Common {
4844
4841
  return list;
4845
4842
  }
4846
4843
  const rfn = this.get("RFN")?.toValue();
4847
- const treeId = rfn || "universal";
4844
+ const treeId = this.getUniversalTreeId() || rfn || "universal";
4848
4845
  objeList.forEach((obje, index) => {
4849
4846
  if (!obje) {
4850
4847
  return;
@@ -6254,7 +6251,7 @@ var createIndi = (gedcom, id, main, parent) => {
6254
6251
 
6255
6252
  // package.json
6256
6253
  var package_default = {
6257
- version: "2.0.0"};
6254
+ version: "2.0.3"};
6258
6255
 
6259
6256
  // src/utils/get-product-details.ts
6260
6257
  var getVersion = () => package_default.version;