@treeviz/gedcom-parser 1.0.19 → 1.0.20

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,2 +1,2 @@
1
- export { ao as Common, az as CommonDate, aQ as CommonName, aS as CommonNote, an as CustomTags, am as Existed, aC as Fam, aj as FamType, aE as Families, aL as FamilySearchMatch, aM as FamilySearchSource, aF as GedCom, ak as GedComType, a3 as GenealogyMember, aa as GenerationIndiType, a9 as GenerationSpouseType, aK as Indi, a5 as IndiGenealogy, ab as IndiGenealogyGenerations, ac as IndiGenealogyResult, a6 as IndiMarker, a4 as IndiTree, a1 as IndiType, aO as Individuals, aP as List, a8 as MemberMain, a7 as MemberSide, ad as NonNullIndiGenealogyResult, aU as Obje, al as ObjeType, aW as Objects, af as Path, ae as PathItem, Z as ProxyOriginal, ai as Queue, ah as QueueItem, ag as ReducedPath, aX as Repo, $ as RepoType, aZ as Repositories, a_ as Sour, _ as SourType, b0 as Sources, b1 as Subm, a0 as SubmType, b3 as Submitters, a2 as TreeMember, aq as createCommon, aA as createCommonDate, aR as createCommonName, aT as createCommonNote, aD as createFam, aG as createGedCom, aN as createIndi, aV as createObje, ap as createProxy, aY as createRepo, a$ as createSour, b2 as createSubm, av as getListTag, aw as getValidKey, at as getValidKeys, au as getValidTag, ay as idGetter, aB as isCommonDate, aH as isGedcomString, ax as isId, ar as isOnlyMainProp, as as isValidKey, aJ as mergeGedcoms, aI as validateGedcomContent } from '../index-BnFjCzJz.js';
1
+ export { ao as Common, az as CommonDate, aQ as CommonName, aS as CommonNote, an as CustomTags, am as Existed, aC as Fam, aj as FamType, aE as Families, aL as FamilySearchMatch, aM as FamilySearchSource, aF as GedCom, ak as GedComType, a3 as GenealogyMember, aa as GenerationIndiType, a9 as GenerationSpouseType, aK as Indi, a5 as IndiGenealogy, ab as IndiGenealogyGenerations, ac as IndiGenealogyResult, a6 as IndiMarker, a4 as IndiTree, a1 as IndiType, aO as Individuals, aP as List, a8 as MemberMain, a7 as MemberSide, ad as NonNullIndiGenealogyResult, aU as Obje, al as ObjeType, aW as Objects, af as Path, ae as PathItem, Z as ProxyOriginal, ai as Queue, ah as QueueItem, ag as ReducedPath, aX as Repo, $ as RepoType, aZ as Repositories, a_ as Sour, _ as SourType, b0 as Sources, b1 as Subm, a0 as SubmType, b3 as Submitters, a2 as TreeMember, aq as createCommon, aA as createCommonDate, aR as createCommonName, aT as createCommonNote, aD as createFam, aG as createGedCom, aN as createIndi, aV as createObje, ap as createProxy, aY as createRepo, a$ as createSour, b2 as createSubm, av as getListTag, aw as getValidKey, at as getValidKeys, au as getValidTag, ay as idGetter, aB as isCommonDate, aH as isGedcomString, ax as isId, ar as isOnlyMainProp, as as isValidKey, aJ as mergeGedcoms, aI as validateGedcomContent } from '../index-DOapi7nN.js';
2
2
  import 'date-fns';
@@ -4626,6 +4626,52 @@ var Indi = class extends Common {
4626
4626
  const deathEvent = this.get("DEAT")?.index(0);
4627
4627
  return deathEvent?.PLAC?.value;
4628
4628
  }
4629
+ /**
4630
+ * Get all marriage places for this individual
4631
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
4632
+ */
4633
+ getMarriagePlaces() {
4634
+ const marriagePlaces = [];
4635
+ const families = this.getFamilies("FAMS");
4636
+ families.forEach((family) => {
4637
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
4638
+ Boolean
4639
+ );
4640
+ if (marrEvents.length === 0) {
4641
+ marriagePlaces.push(void 0);
4642
+ } else {
4643
+ marrEvents.forEach((marrEvent) => {
4644
+ const marriageEventDetail = marrEvent;
4645
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
4646
+ marriagePlaces.push(marriagePlace);
4647
+ });
4648
+ }
4649
+ });
4650
+ return marriagePlaces;
4651
+ }
4652
+ /**
4653
+ * Get all marriage dates for this individual
4654
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
4655
+ */
4656
+ getMarriageDates() {
4657
+ const marriageDates = [];
4658
+ const families = this.getFamilies("FAMS");
4659
+ families.forEach((family) => {
4660
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
4661
+ Boolean
4662
+ );
4663
+ if (marrEvents.length === 0) {
4664
+ marriageDates.push(void 0);
4665
+ } else {
4666
+ marrEvents.forEach((marrEvent) => {
4667
+ const marriageEventDetail = marrEvent;
4668
+ const marriageDate = marriageEventDetail?.DATE?.value;
4669
+ marriageDates.push(marriageDate);
4670
+ });
4671
+ }
4672
+ });
4673
+ return marriageDates;
4674
+ }
4629
4675
  isDead() {
4630
4676
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
4631
4677
  }
@@ -5777,7 +5823,7 @@ var createIndi = (gedcom, id, main, parent) => {
5777
5823
 
5778
5824
  // package.json
5779
5825
  var package_default = {
5780
- version: "1.0.19"};
5826
+ version: "1.0.20"};
5781
5827
 
5782
5828
  // src/utils/get-product-details.ts
5783
5829
  var getVersion = () => package_default.version;
package/dist/cli/index.js CHANGED
@@ -2192,6 +2192,52 @@ var Indi = class extends Common {
2192
2192
  const deathEvent = this.get("DEAT")?.index(0);
2193
2193
  return deathEvent?.PLAC?.value;
2194
2194
  }
2195
+ /**
2196
+ * Get all marriage places for this individual
2197
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
2198
+ */
2199
+ getMarriagePlaces() {
2200
+ const marriagePlaces = [];
2201
+ const families = this.getFamilies("FAMS");
2202
+ families.forEach((family) => {
2203
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2204
+ Boolean
2205
+ );
2206
+ if (marrEvents.length === 0) {
2207
+ marriagePlaces.push(void 0);
2208
+ } else {
2209
+ marrEvents.forEach((marrEvent) => {
2210
+ const marriageEventDetail = marrEvent;
2211
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
2212
+ marriagePlaces.push(marriagePlace);
2213
+ });
2214
+ }
2215
+ });
2216
+ return marriagePlaces;
2217
+ }
2218
+ /**
2219
+ * Get all marriage dates for this individual
2220
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
2221
+ */
2222
+ getMarriageDates() {
2223
+ const marriageDates = [];
2224
+ const families = this.getFamilies("FAMS");
2225
+ families.forEach((family) => {
2226
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2227
+ Boolean
2228
+ );
2229
+ if (marrEvents.length === 0) {
2230
+ marriageDates.push(void 0);
2231
+ } else {
2232
+ marrEvents.forEach((marrEvent) => {
2233
+ const marriageEventDetail = marrEvent;
2234
+ const marriageDate = marriageEventDetail?.DATE?.value;
2235
+ marriageDates.push(marriageDate);
2236
+ });
2237
+ }
2238
+ });
2239
+ return marriageDates;
2240
+ }
2195
2241
  isDead() {
2196
2242
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
2197
2243
  }
@@ -5770,7 +5816,7 @@ var Families = class _Families extends List {
5770
5816
 
5771
5817
  // package.json
5772
5818
  var package_default = {
5773
- version: "1.0.19"};
5819
+ version: "1.0.20"};
5774
5820
 
5775
5821
  // src/utils/get-product-details.ts
5776
5822
  var isDevelopment = () => {
@@ -1,4 +1,4 @@
1
- import { x as Filter, y as RequiredFilter, W as RelationType, X as PartnerType, A as Order, K as NameOrder, B as OrderIterator, a1 as IndiType, n as IndiKey } from '../index-BnFjCzJz.js';
1
+ import { x as Filter, y as RequiredFilter, W as RelationType, X as PartnerType, A as Order, K as NameOrder, B as OrderIterator, a1 as IndiType, n as IndiKey } from '../index-DOapi7nN.js';
2
2
  import 'date-fns';
3
3
 
4
4
  /**
@@ -2787,6 +2787,52 @@ var Indi = class extends Common {
2787
2787
  const deathEvent = this.get("DEAT")?.index(0);
2788
2788
  return deathEvent?.PLAC?.value;
2789
2789
  }
2790
+ /**
2791
+ * Get all marriage places for this individual
2792
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
2793
+ */
2794
+ getMarriagePlaces() {
2795
+ const marriagePlaces = [];
2796
+ const families = this.getFamilies("FAMS");
2797
+ families.forEach((family) => {
2798
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2799
+ Boolean
2800
+ );
2801
+ if (marrEvents.length === 0) {
2802
+ marriagePlaces.push(void 0);
2803
+ } else {
2804
+ marrEvents.forEach((marrEvent) => {
2805
+ const marriageEventDetail = marrEvent;
2806
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
2807
+ marriagePlaces.push(marriagePlace);
2808
+ });
2809
+ }
2810
+ });
2811
+ return marriagePlaces;
2812
+ }
2813
+ /**
2814
+ * Get all marriage dates for this individual
2815
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
2816
+ */
2817
+ getMarriageDates() {
2818
+ const marriageDates = [];
2819
+ const families = this.getFamilies("FAMS");
2820
+ families.forEach((family) => {
2821
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2822
+ Boolean
2823
+ );
2824
+ if (marrEvents.length === 0) {
2825
+ marriageDates.push(void 0);
2826
+ } else {
2827
+ marrEvents.forEach((marrEvent) => {
2828
+ const marriageEventDetail = marrEvent;
2829
+ const marriageDate = marriageEventDetail?.DATE?.value;
2830
+ marriageDates.push(marriageDate);
2831
+ });
2832
+ }
2833
+ });
2834
+ return marriageDates;
2835
+ }
2790
2836
  isDead() {
2791
2837
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
2792
2838
  }
@@ -1,6 +1,6 @@
1
- import { I as ICacheManager, P as PlaceParts } from '../place-parser-ChkPI4pQ.js';
1
+ import { I as ICacheManager, P as PlaceParts } from '../place-parser-CIplmmDd.js';
2
2
  import { Locale } from 'date-fns';
3
- import { a1 as IndiType, n as IndiKey, L as Language } from '../index-BnFjCzJz.js';
3
+ import { a1 as IndiType, n as IndiKey, L as Language } from '../index-DOapi7nN.js';
4
4
 
5
5
  /**
6
6
  * Factory function type for creating cache manager instances.
@@ -3214,6 +3214,52 @@ var Indi = class extends Common {
3214
3214
  const deathEvent = this.get("DEAT")?.index(0);
3215
3215
  return deathEvent?.PLAC?.value;
3216
3216
  }
3217
+ /**
3218
+ * Get all marriage places for this individual
3219
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
3220
+ */
3221
+ getMarriagePlaces() {
3222
+ const marriagePlaces = [];
3223
+ const families = this.getFamilies("FAMS");
3224
+ families.forEach((family) => {
3225
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
3226
+ Boolean
3227
+ );
3228
+ if (marrEvents.length === 0) {
3229
+ marriagePlaces.push(void 0);
3230
+ } else {
3231
+ marrEvents.forEach((marrEvent) => {
3232
+ const marriageEventDetail = marrEvent;
3233
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
3234
+ marriagePlaces.push(marriagePlace);
3235
+ });
3236
+ }
3237
+ });
3238
+ return marriagePlaces;
3239
+ }
3240
+ /**
3241
+ * Get all marriage dates for this individual
3242
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
3243
+ */
3244
+ getMarriageDates() {
3245
+ const marriageDates = [];
3246
+ const families = this.getFamilies("FAMS");
3247
+ families.forEach((family) => {
3248
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
3249
+ Boolean
3250
+ );
3251
+ if (marrEvents.length === 0) {
3252
+ marriageDates.push(void 0);
3253
+ } else {
3254
+ marrEvents.forEach((marrEvent) => {
3255
+ const marriageEventDetail = marrEvent;
3256
+ const marriageDate = marriageEventDetail?.DATE?.value;
3257
+ marriageDates.push(marriageDate);
3258
+ });
3259
+ }
3260
+ });
3261
+ return marriageDates;
3262
+ }
3217
3263
  isDead() {
3218
3264
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
3219
3265
  }
@@ -863,6 +863,16 @@ declare class Indi extends Common<string, IndiKey> implements IIndi {
863
863
  getDeathDate(showDays?: boolean, shortNote?: boolean, showNote?: boolean): string;
864
864
  getBirthPlace(): string;
865
865
  getDeathPlace(): string;
866
+ /**
867
+ * Get all marriage places for this individual
868
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
869
+ */
870
+ getMarriagePlaces(): Array<string | undefined>;
871
+ /**
872
+ * Get all marriage dates for this individual
873
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
874
+ */
875
+ getMarriageDates(): Array<string | undefined>;
866
876
  isDead(): boolean;
867
877
  isEmpty(): boolean;
868
878
  isUnknownAncestor(): boolean;
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  export { ACCEPTED_DATE_FORMATS, ACCEPTED_DATE_FORMATS_REGEX, GedcomTree, commonDateFormatter, create, dateFormatter, GedcomTree as default, getAllProp, getFamilyWith, getName, getRawSize, getVersion, hungarianOrdinalize, implemented, isDevelopment, marriageDateFormatter, nameFormatter, notImplemented, noteDateFormatter, ordinalize, placeTranslator, setNestedGroup } from './utils/index.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, p as pathCache, a as relativesCache, r as resetRelativesCache } from './place-parser-ChkPI4pQ.js';
3
+ export { C as CacheRelatives, I as ICacheManager, P as PlaceParts, g as getPlaceParts, p as pathCache, a as relativesCache, r as resetRelativesCache } from './place-parser-CIplmmDd.js';
4
4
  export { KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDE, KinshipTranslatorEN, KinshipTranslatorES, KinshipTranslatorFR, KinshipTranslatorHU, translators } from './kinship-translator/index.js';
5
- export { C as Cases, ao as Common, az as CommonDate, aQ as CommonName, aS as CommonNote, m as ConvertType, j as CrossCase, k as CrossCases, an as CustomTags, am as Existed, aC as Fam, F as FamKey, aj as FamType, aE as Families, aL as FamilySearchMatch, aM as FamilySearchSource, x as Filter, w as FilterIterator, aF as GedCom, ak as GedComType, a3 as GenealogyMember, b9 as GeneratedIndiMethods, aa as GenerationIndiType, a9 as GenerationSpouseType, D as Group, G as GroupDefinition, H as GroupIterator, E as GroupMarker, bg as IAddress, bh as IAssociation, bi as IChangeDate, b4 as ICommon, bj as ICreationDate, bk as IDate, bl as IEventDetail, bl as IEventDetailStructure, b5 as IFam, b6 as IFamilies, bm as IFamily, b7 as IGedCom, bn as IGedcomStructure, b8 as IIndi, bq as IIndividual, bp as IIndividualEvent, bo as IIndividualEventDetail, bq as IIndividualStructure, ba as IIndividuals, br as ILdsOrdinanceDetail, bs as ILdsSpouseSealing, bb as IList, bt as IMarriageDate, bu as IMultimediaLink, bv as INonEvent, bw as INote, bc as IObje, bx as IPlace, bd as IRepo, by as IRepository, be as ISour, bB as ISource, bz as ISourceCitation, bA as ISourceRepositoryCitation, bf as ISubm, t as IdType, aK as Indi, a5 as IndiGenealogy, ab as IndiGenealogyGenerations, ac as IndiGenealogyResult, n as IndiKey, a6 as IndiMarker, a4 as IndiTree, a1 as IndiType, aO as Individuals, I as KinshipTranslatorInterface, L as Language, V as LinkedPersons, aP as List, v as ListTag, a8 as MemberMain, a7 as MemberSide, M as MultiTag, K as NameOrder, J as NestedGroup, ad as NonNullIndiGenealogyResult, N as NonStandard, aU as Obje, O as ObjeKey, al as ObjeType, aW as Objects, A as Order, z as OrderDefinition, B as OrderIterator, X as PartnerType, af as Path, ae as PathItem, bC as Place, Q as PlaceOrder, bD as PlaceType, P as PrimitiveRange, Z as ProxyOriginal, ai as Queue, ah as QueueItem, Y as Range, R as RangeType, ag as ReducedPath, W as RelationType, aX as Repo, o as RepoKey, $ as RepoType, aZ as Repositories, y as RequiredFilter, l as Settings, a_ as Sour, q as SourKey, _ as SourType, b0 as Sources, S as SplitResult, b1 as Subm, r as SubmKey, a0 as SubmType, b3 as Submitters, u as Tag, T as TagKey, a2 as TreeMember, U as UnknownKey, aq as createCommon, aA as createCommonDate, aR as createCommonName, aT as createCommonNote, aD as createFam, aG as createGedCom, aN as createIndi, aV as createObje, ap as createProxy, aY as createRepo, a$ as createSour, b2 as createSubm, h as extractSeparationYears, e as extractSplitPoints, d as findMatchingRangeForSplitRange, f as fromTuple, g as generateSplitRanges, av as getListTag, bE as getPlaces, aw as getValidKey, at as getValidKeys, au as getValidTag, ay as idGetter, i as inRange, aB as isCommonDate, aH as isGedcomString, ax as isId, a as isIntersectedRange, ar as isOnlyMainProp, b as isRangeContained, as as isValidKey, aJ as mergeGedcoms, p as parseRangeBounds, c as splitOverlappingRanges, s as splitRange, aI as validateGedcomContent } from './index-BnFjCzJz.js';
5
+ export { C as Cases, ao as Common, az as CommonDate, aQ as CommonName, aS as CommonNote, m as ConvertType, j as CrossCase, k as CrossCases, an as CustomTags, am as Existed, aC as Fam, F as FamKey, aj as FamType, aE as Families, aL as FamilySearchMatch, aM as FamilySearchSource, x as Filter, w as FilterIterator, aF as GedCom, ak as GedComType, a3 as GenealogyMember, b9 as GeneratedIndiMethods, aa as GenerationIndiType, a9 as GenerationSpouseType, D as Group, G as GroupDefinition, H as GroupIterator, E as GroupMarker, bg as IAddress, bh as IAssociation, bi as IChangeDate, b4 as ICommon, bj as ICreationDate, bk as IDate, bl as IEventDetail, bl as IEventDetailStructure, b5 as IFam, b6 as IFamilies, bm as IFamily, b7 as IGedCom, bn as IGedcomStructure, b8 as IIndi, bq as IIndividual, bp as IIndividualEvent, bo as IIndividualEventDetail, bq as IIndividualStructure, ba as IIndividuals, br as ILdsOrdinanceDetail, bs as ILdsSpouseSealing, bb as IList, bt as IMarriageDate, bu as IMultimediaLink, bv as INonEvent, bw as INote, bc as IObje, bx as IPlace, bd as IRepo, by as IRepository, be as ISour, bB as ISource, bz as ISourceCitation, bA as ISourceRepositoryCitation, bf as ISubm, t as IdType, aK as Indi, a5 as IndiGenealogy, ab as IndiGenealogyGenerations, ac as IndiGenealogyResult, n as IndiKey, a6 as IndiMarker, a4 as IndiTree, a1 as IndiType, aO as Individuals, I as KinshipTranslatorInterface, L as Language, V as LinkedPersons, aP as List, v as ListTag, a8 as MemberMain, a7 as MemberSide, M as MultiTag, K as NameOrder, J as NestedGroup, ad as NonNullIndiGenealogyResult, N as NonStandard, aU as Obje, O as ObjeKey, al as ObjeType, aW as Objects, A as Order, z as OrderDefinition, B as OrderIterator, X as PartnerType, af as Path, ae as PathItem, bC as Place, Q as PlaceOrder, bD as PlaceType, P as PrimitiveRange, Z as ProxyOriginal, ai as Queue, ah as QueueItem, Y as Range, R as RangeType, ag as ReducedPath, W as RelationType, aX as Repo, o as RepoKey, $ as RepoType, aZ as Repositories, y as RequiredFilter, l as Settings, a_ as Sour, q as SourKey, _ as SourType, b0 as Sources, S as SplitResult, b1 as Subm, r as SubmKey, a0 as SubmType, b3 as Submitters, u as Tag, T as TagKey, a2 as TreeMember, U as UnknownKey, aq as createCommon, aA as createCommonDate, aR as createCommonName, aT as createCommonNote, aD as createFam, aG as createGedCom, aN as createIndi, aV as createObje, ap as createProxy, aY as createRepo, a$ as createSour, b2 as createSubm, h as extractSeparationYears, e as extractSplitPoints, d as findMatchingRangeForSplitRange, f as fromTuple, g as generateSplitRanges, av as getListTag, bE as getPlaces, aw as getValidKey, at as getValidKeys, au as getValidTag, ay as idGetter, i as inRange, aB as isCommonDate, aH as isGedcomString, ax as isId, a as isIntersectedRange, ar as isOnlyMainProp, b as isRangeContained, as as isValidKey, aJ as mergeGedcoms, p as parseRangeBounds, c as splitOverlappingRanges, s as splitRange, aI as validateGedcomContent } from './index-DOapi7nN.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
@@ -2292,6 +2292,52 @@ var Indi = class extends Common {
2292
2292
  const deathEvent = this.get("DEAT")?.index(0);
2293
2293
  return deathEvent?.PLAC?.value;
2294
2294
  }
2295
+ /**
2296
+ * Get all marriage places for this individual
2297
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
2298
+ */
2299
+ getMarriagePlaces() {
2300
+ const marriagePlaces = [];
2301
+ const families = this.getFamilies("FAMS");
2302
+ families.forEach((family) => {
2303
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2304
+ Boolean
2305
+ );
2306
+ if (marrEvents.length === 0) {
2307
+ marriagePlaces.push(void 0);
2308
+ } else {
2309
+ marrEvents.forEach((marrEvent) => {
2310
+ const marriageEventDetail = marrEvent;
2311
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
2312
+ marriagePlaces.push(marriagePlace);
2313
+ });
2314
+ }
2315
+ });
2316
+ return marriagePlaces;
2317
+ }
2318
+ /**
2319
+ * Get all marriage dates for this individual
2320
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
2321
+ */
2322
+ getMarriageDates() {
2323
+ const marriageDates = [];
2324
+ const families = this.getFamilies("FAMS");
2325
+ families.forEach((family) => {
2326
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
2327
+ Boolean
2328
+ );
2329
+ if (marrEvents.length === 0) {
2330
+ marriageDates.push(void 0);
2331
+ } else {
2332
+ marrEvents.forEach((marrEvent) => {
2333
+ const marriageEventDetail = marrEvent;
2334
+ const marriageDate = marriageEventDetail?.DATE?.value;
2335
+ marriageDates.push(marriageDate);
2336
+ });
2337
+ }
2338
+ });
2339
+ return marriageDates;
2340
+ }
2295
2341
  isDead() {
2296
2342
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
2297
2343
  }
@@ -6163,7 +6209,7 @@ var Families = class _Families extends List {
6163
6209
  // package.json
6164
6210
  var package_default = {
6165
6211
  name: "@treeviz/gedcom-parser",
6166
- version: "1.0.19"};
6212
+ version: "1.0.20"};
6167
6213
 
6168
6214
  // src/utils/get-product-details.ts
6169
6215
  var isDevelopment = () => {
@@ -1,2 +1,2 @@
1
- export { b9 as GeneratedIndiMethods, b4 as ICommon, b5 as IFam, b6 as IFamilies, b7 as IGedCom, b8 as IIndi, ba as IIndividuals, bb as IList, bc as IObje, bd as IRepo, be as ISour, bf as ISubm } from '../index-BnFjCzJz.js';
1
+ export { b9 as GeneratedIndiMethods, b4 as ICommon, b5 as IFam, b6 as IFamilies, b7 as IGedCom, b8 as IIndi, ba as IIndividuals, bb as IList, bc as IObje, bd as IRepo, be as ISour, bf as ISubm } from '../index-DOapi7nN.js';
2
2
  import 'date-fns';
@@ -1,5 +1,5 @@
1
- import { I as IKinshipTranslator, af as Path, ae as PathItem, a1 as IndiType, n as IndiKey, L as Language } from '../index-BnFjCzJz.js';
2
- export { C as Cases, j as CrossCase, k as CrossCases } from '../index-BnFjCzJz.js';
1
+ import { I as IKinshipTranslator, af as Path, ae as PathItem, a1 as IndiType, n as IndiKey, L as Language } from '../index-DOapi7nN.js';
2
+ export { C as Cases, j as CrossCase, k as CrossCases } from '../index-DOapi7nN.js';
3
3
  import 'date-fns';
4
4
 
5
5
  declare class KinshipTranslatorBasic implements IKinshipTranslator {
@@ -4378,6 +4378,52 @@ var Indi = class extends Common {
4378
4378
  const deathEvent = this.get("DEAT")?.index(0);
4379
4379
  return deathEvent?.PLAC?.value;
4380
4380
  }
4381
+ /**
4382
+ * Get all marriage places for this individual
4383
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
4384
+ */
4385
+ getMarriagePlaces() {
4386
+ const marriagePlaces = [];
4387
+ const families = this.getFamilies("FAMS");
4388
+ families.forEach((family) => {
4389
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
4390
+ Boolean
4391
+ );
4392
+ if (marrEvents.length === 0) {
4393
+ marriagePlaces.push(void 0);
4394
+ } else {
4395
+ marrEvents.forEach((marrEvent) => {
4396
+ const marriageEventDetail = marrEvent;
4397
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
4398
+ marriagePlaces.push(marriagePlace);
4399
+ });
4400
+ }
4401
+ });
4402
+ return marriagePlaces;
4403
+ }
4404
+ /**
4405
+ * Get all marriage dates for this individual
4406
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
4407
+ */
4408
+ getMarriageDates() {
4409
+ const marriageDates = [];
4410
+ const families = this.getFamilies("FAMS");
4411
+ families.forEach((family) => {
4412
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
4413
+ Boolean
4414
+ );
4415
+ if (marrEvents.length === 0) {
4416
+ marriageDates.push(void 0);
4417
+ } else {
4418
+ marrEvents.forEach((marrEvent) => {
4419
+ const marriageEventDetail = marrEvent;
4420
+ const marriageDate = marriageEventDetail?.DATE?.value;
4421
+ marriageDates.push(marriageDate);
4422
+ });
4423
+ }
4424
+ });
4425
+ return marriageDates;
4426
+ }
4381
4427
  isDead() {
4382
4428
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
4383
4429
  }
@@ -1,4 +1,4 @@
1
- import { n as IndiKey, af as Path, aO as Individuals } from './index-BnFjCzJz.js';
1
+ import { n as IndiKey, af as Path, aO as Individuals } from './index-DOapi7nN.js';
2
2
 
3
3
  /**
4
4
  * Cache manager interface for pluggable cache implementations.
@@ -1,5 +1,5 @@
1
- import { ao as Common, bw as INoteStructure, bz as ISourceCitationStructure } from '../index-BnFjCzJz.js';
2
- export { bg as IAddress, bh as IAssociation, bi as IChangeDate, bj as ICreationDate, bk as IDate, bl as IEventDetail, bl as IEventDetailStructure, bm as IFamily, bn as IGedcomStructure, bq as IIndividual, bp as IIndividualEvent, bo as IIndividualEventDetail, bq as IIndividualStructure, br as ILdsOrdinanceDetail, bs as ILdsSpouseSealing, bt as IMarriageDate, bu as IMultimediaLink, bv as INonEvent, bx as IPlace, by as IRepository, bB as ISource, bA as ISourceRepositoryCitation } from '../index-BnFjCzJz.js';
1
+ import { ao as Common, bw as INoteStructure, bz as ISourceCitationStructure } from '../index-DOapi7nN.js';
2
+ export { bg as IAddress, bh as IAssociation, bi as IChangeDate, bj as ICreationDate, bk as IDate, bl as IEventDetail, bl as IEventDetailStructure, bm as IFamily, bn as IGedcomStructure, bq as IIndividual, bp as IIndividualEvent, bo as IIndividualEventDetail, bq as IIndividualStructure, br as ILdsOrdinanceDetail, bs as ILdsSpouseSealing, bt as IMarriageDate, bu as IMultimediaLink, bv as INonEvent, bx as IPlace, by as IRepository, bB as ISource, bA as ISourceRepositoryCitation } from '../index-DOapi7nN.js';
3
3
  import 'date-fns';
4
4
 
5
5
  interface IPersonalNamePiecesStructure extends Common {
@@ -1,4 +1,4 @@
1
- export { m as ConvertType, F as FamKey, x as Filter, w as FilterIterator, D as Group, G as GroupDefinition, H as GroupIterator, E as GroupMarker, t as IdType, n as IndiKey, V as LinkedPersons, v as ListTag, M as MultiTag, K as NameOrder, J as NestedGroup, N as NonStandard, O as ObjeKey, A as Order, z as OrderDefinition, B as OrderIterator, X as PartnerType, Q as PlaceOrder, Y as Range, W as RelationType, o as RepoKey, y as RequiredFilter, l as Settings, q as SourKey, r as SubmKey, u as Tag, T as TagKey, U as UnknownKey } from '../index-BnFjCzJz.js';
1
+ export { m as ConvertType, F as FamKey, x as Filter, w as FilterIterator, D as Group, G as GroupDefinition, H as GroupIterator, E as GroupMarker, t as IdType, n as IndiKey, V as LinkedPersons, v as ListTag, M as MultiTag, K as NameOrder, J as NestedGroup, N as NonStandard, O as ObjeKey, A as Order, z as OrderDefinition, B as OrderIterator, X as PartnerType, Q as PlaceOrder, Y as Range, W as RelationType, o as RepoKey, y as RequiredFilter, l as Settings, q as SourKey, r as SubmKey, u as Tag, T as TagKey, U as UnknownKey } from '../index-DOapi7nN.js';
2
2
  import 'date-fns';
3
3
 
4
4
  interface AncestryMedia {
@@ -1,6 +1,6 @@
1
- export { C as CacheRelatives, I as ICacheManager, P as PlaceParts, g as getPlaceParts, p as pathCache, a as relativesCache, r as resetRelativesCache } from '../place-parser-ChkPI4pQ.js';
2
- import { l as Settings, ak as GedComType, M as MultiTag, ao as Common, t as IdType, bk as IDateStructure, aj as FamType, az as CommonDate, a1 as IndiType, n as IndiKey, J as NestedGroup, aO as Individuals } from '../index-BnFjCzJz.js';
3
- export { bC as Place, bD as PlaceType, P as PrimitiveRange, R as Range, S as SplitResult, h as extractSeparationYears, e as extractSplitPoints, d as findMatchingRangeForSplitRange, f as fromTuple, g as generateSplitRanges, bE as getPlaces, i as inRange, a as isIntersectedRange, b as isRangeContained, p as parseRangeBounds, c as splitOverlappingRanges, s as splitRange } from '../index-BnFjCzJz.js';
1
+ export { C as CacheRelatives, I as ICacheManager, P as PlaceParts, g as getPlaceParts, p as pathCache, a as relativesCache, r as resetRelativesCache } from '../place-parser-CIplmmDd.js';
2
+ import { l as Settings, ak as GedComType, M as MultiTag, ao as Common, t as IdType, bk as IDateStructure, aj as FamType, az as CommonDate, a1 as IndiType, n as IndiKey, J as NestedGroup, aO as Individuals } from '../index-DOapi7nN.js';
3
+ export { bC as Place, bD as PlaceType, P as PrimitiveRange, R as Range, S as SplitResult, h as extractSeparationYears, e as extractSplitPoints, d as findMatchingRangeForSplitRange, f as fromTuple, g as generateSplitRanges, bE as getPlaces, i as inRange, a as isIntersectedRange, b as isRangeContained, p as parseRangeBounds, c as splitOverlappingRanges, s as splitRange } from '../index-DOapi7nN.js';
4
4
  import 'date-fns';
5
5
 
6
6
  declare const GedcomTree: {
@@ -3004,6 +3004,52 @@ var Indi = class extends Common {
3004
3004
  const deathEvent = this.get("DEAT")?.index(0);
3005
3005
  return deathEvent?.PLAC?.value;
3006
3006
  }
3007
+ /**
3008
+ * Get all marriage places for this individual
3009
+ * @returns Array of marriage place strings (may include undefined for marriages without place)
3010
+ */
3011
+ getMarriagePlaces() {
3012
+ const marriagePlaces = [];
3013
+ const families = this.getFamilies("FAMS");
3014
+ families.forEach((family) => {
3015
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
3016
+ Boolean
3017
+ );
3018
+ if (marrEvents.length === 0) {
3019
+ marriagePlaces.push(void 0);
3020
+ } else {
3021
+ marrEvents.forEach((marrEvent) => {
3022
+ const marriageEventDetail = marrEvent;
3023
+ const marriagePlace = marriageEventDetail?.PLAC?.value;
3024
+ marriagePlaces.push(marriagePlace);
3025
+ });
3026
+ }
3027
+ });
3028
+ return marriagePlaces;
3029
+ }
3030
+ /**
3031
+ * Get all marriage dates for this individual
3032
+ * @returns Array of marriage date strings (may include undefined for marriages without date)
3033
+ */
3034
+ getMarriageDates() {
3035
+ const marriageDates = [];
3036
+ const families = this.getFamilies("FAMS");
3037
+ families.forEach((family) => {
3038
+ const marrEvents = (family?.MARR?.toList().values() ?? []).filter(
3039
+ Boolean
3040
+ );
3041
+ if (marrEvents.length === 0) {
3042
+ marriageDates.push(void 0);
3043
+ } else {
3044
+ marrEvents.forEach((marrEvent) => {
3045
+ const marriageEventDetail = marrEvent;
3046
+ const marriageDate = marriageEventDetail?.DATE?.value;
3047
+ marriageDates.push(marriageDate);
3048
+ });
3049
+ }
3050
+ });
3051
+ return marriageDates;
3052
+ }
3007
3053
  isDead() {
3008
3054
  return this.get("DEAT.DATE")?.toValue() !== void 0 || this.get("DEAT.PLAC")?.toValue() !== void 0;
3009
3055
  }
@@ -5999,7 +6045,7 @@ var isCommonDate = (value) => {
5999
6045
  // package.json
6000
6046
  var package_default = {
6001
6047
  name: "@treeviz/gedcom-parser",
6002
- version: "1.0.19"};
6048
+ version: "1.0.20"};
6003
6049
 
6004
6050
  // src/utils/get-product-details.ts
6005
6051
  var isDevelopment = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@treeviz/gedcom-parser",
3
- "version": "1.0.19",
3
+ "version": "1.0.20",
4
4
  "description": "Lightweight, pluggable GEDCOM parser for JavaScript/TypeScript with optional caching and place matching. Zero browser dependencies.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",