@treeviz/gedcom-parser 1.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.
- package/LICENSE +21 -0
- package/README.md +954 -0
- package/dist/classes/common.d.ts +87 -0
- package/dist/classes/common.d.ts.map +1 -0
- package/dist/classes/common.js +481 -0
- package/dist/classes/date.d.ts +26 -0
- package/dist/classes/date.d.ts.map +1 -0
- package/dist/classes/date.js +176 -0
- package/dist/classes/fam.d.ts +19 -0
- package/dist/classes/fam.d.ts.map +1 -0
- package/dist/classes/fam.js +38 -0
- package/dist/classes/fams.d.ts +16 -0
- package/dist/classes/fams.d.ts.map +1 -0
- package/dist/classes/fams.js +41 -0
- package/dist/classes/gedcom.d.ts +89 -0
- package/dist/classes/gedcom.d.ts.map +1 -0
- package/dist/classes/gedcom.js +421 -0
- package/dist/classes/index.d.ts +19 -0
- package/dist/classes/index.d.ts.map +1 -0
- package/dist/classes/index.js +19 -0
- package/dist/classes/indi.d.ts +298 -0
- package/dist/classes/indi.d.ts.map +1 -0
- package/dist/classes/indi.js +2049 -0
- package/dist/classes/indis.d.ts +54 -0
- package/dist/classes/indis.d.ts.map +1 -0
- package/dist/classes/indis.js +439 -0
- package/dist/classes/list.d.ts +55 -0
- package/dist/classes/list.d.ts.map +1 -0
- package/dist/classes/list.js +440 -0
- package/dist/classes/name.d.ts +20 -0
- package/dist/classes/name.d.ts.map +1 -0
- package/dist/classes/name.js +48 -0
- package/dist/classes/note.d.ts +12 -0
- package/dist/classes/note.d.ts.map +1 -0
- package/dist/classes/note.js +46 -0
- package/dist/classes/obje.d.ts +12 -0
- package/dist/classes/obje.d.ts.map +1 -0
- package/dist/classes/obje.js +81 -0
- package/dist/classes/objes.d.ts +8 -0
- package/dist/classes/objes.d.ts.map +1 -0
- package/dist/classes/objes.js +13 -0
- package/dist/classes/repo.d.ts +11 -0
- package/dist/classes/repo.d.ts.map +1 -0
- package/dist/classes/repo.js +6 -0
- package/dist/classes/repos.d.ts +8 -0
- package/dist/classes/repos.d.ts.map +1 -0
- package/dist/classes/repos.js +13 -0
- package/dist/classes/sour.d.ts +11 -0
- package/dist/classes/sour.d.ts.map +1 -0
- package/dist/classes/sour.js +6 -0
- package/dist/classes/sours.d.ts +8 -0
- package/dist/classes/sours.d.ts.map +1 -0
- package/dist/classes/sours.js +13 -0
- package/dist/classes/subm.d.ts +10 -0
- package/dist/classes/subm.d.ts.map +1 -0
- package/dist/classes/subm.js +6 -0
- package/dist/classes/subms.d.ts +8 -0
- package/dist/classes/subms.d.ts.map +1 -0
- package/dist/classes/subms.js +13 -0
- package/dist/constants/constants.d.ts +14 -0
- package/dist/constants/constants.d.ts.map +1 -0
- package/dist/constants/constants.js +13 -0
- package/dist/constants/filters.d.ts +17 -0
- package/dist/constants/filters.d.ts.map +1 -0
- package/dist/constants/filters.js +44 -0
- package/dist/constants/index.d.ts +4 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +4 -0
- package/dist/constants/orders.d.ts +17 -0
- package/dist/constants/orders.d.ts.map +1 -0
- package/dist/constants/orders.js +240 -0
- package/dist/factories/cache-factory.d.ts +30 -0
- package/dist/factories/cache-factory.d.ts.map +1 -0
- package/dist/factories/cache-factory.js +43 -0
- package/dist/factories/date-locale-factory.d.ts +30 -0
- package/dist/factories/date-locale-factory.d.ts.map +1 -0
- package/dist/factories/date-locale-factory.js +34 -0
- package/dist/factories/i18n-factory.d.ts +40 -0
- package/dist/factories/i18n-factory.d.ts.map +1 -0
- package/dist/factories/i18n-factory.js +44 -0
- package/dist/factories/index.d.ts +5 -0
- package/dist/factories/index.d.ts.map +1 -0
- package/dist/factories/index.js +5 -0
- package/dist/factories/kinship-factory.d.ts +38 -0
- package/dist/factories/kinship-factory.d.ts.map +1 -0
- package/dist/factories/kinship-factory.js +35 -0
- package/dist/factories/place-parser-provider.d.ts +32 -0
- package/dist/factories/place-parser-provider.d.ts.map +1 -0
- package/dist/factories/place-parser-provider.js +35 -0
- package/dist/factories/place-translator-provider.d.ts +32 -0
- package/dist/factories/place-translator-provider.d.ts.map +1 -0
- package/dist/factories/place-translator-provider.js +35 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/interfaces/common.d.ts +43 -0
- package/dist/interfaces/common.d.ts.map +1 -0
- package/dist/interfaces/common.js +1 -0
- package/dist/interfaces/fam.d.ts +11 -0
- package/dist/interfaces/fam.d.ts.map +1 -0
- package/dist/interfaces/fam.js +1 -0
- package/dist/interfaces/fams.d.ts +9 -0
- package/dist/interfaces/fams.d.ts.map +1 -0
- package/dist/interfaces/fams.js +1 -0
- package/dist/interfaces/gedcom.d.ts +30 -0
- package/dist/interfaces/gedcom.d.ts.map +1 -0
- package/dist/interfaces/gedcom.js +1 -0
- package/dist/interfaces/index.d.ts +12 -0
- package/dist/interfaces/index.d.ts.map +1 -0
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/indi.d.ts +109 -0
- package/dist/interfaces/indi.d.ts.map +1 -0
- package/dist/interfaces/indi.js +1 -0
- package/dist/interfaces/indis.d.ts +31 -0
- package/dist/interfaces/indis.d.ts.map +1 -0
- package/dist/interfaces/indis.js +1 -0
- package/dist/interfaces/list.d.ts +52 -0
- package/dist/interfaces/list.d.ts.map +1 -0
- package/dist/interfaces/list.js +1 -0
- package/dist/interfaces/obje.d.ts +7 -0
- package/dist/interfaces/obje.d.ts.map +1 -0
- package/dist/interfaces/obje.js +1 -0
- package/dist/interfaces/repo.d.ts +7 -0
- package/dist/interfaces/repo.d.ts.map +1 -0
- package/dist/interfaces/repo.js +1 -0
- package/dist/interfaces/sour.d.ts +7 -0
- package/dist/interfaces/sour.d.ts.map +1 -0
- package/dist/interfaces/sour.js +1 -0
- package/dist/interfaces/subm.d.ts +6 -0
- package/dist/interfaces/subm.d.ts.map +1 -0
- package/dist/interfaces/subm.js +1 -0
- package/dist/kinship-translator/index.d.ts +11 -0
- package/dist/kinship-translator/index.d.ts.map +1 -0
- package/dist/kinship-translator/index.js +10 -0
- package/dist/kinship-translator/kinship-translator.basic.d.ts +30 -0
- package/dist/kinship-translator/kinship-translator.basic.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.basic.js +74 -0
- package/dist/kinship-translator/kinship-translator.d.ts +26 -0
- package/dist/kinship-translator/kinship-translator.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.de.d.ts +18 -0
- package/dist/kinship-translator/kinship-translator.de.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.de.js +180 -0
- package/dist/kinship-translator/kinship-translator.en.d.ts +18 -0
- package/dist/kinship-translator/kinship-translator.en.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.en.js +182 -0
- package/dist/kinship-translator/kinship-translator.es.d.ts +18 -0
- package/dist/kinship-translator/kinship-translator.es.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.es.js +181 -0
- package/dist/kinship-translator/kinship-translator.fr.d.ts +18 -0
- package/dist/kinship-translator/kinship-translator.fr.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.fr.js +181 -0
- package/dist/kinship-translator/kinship-translator.hu.d.ts +19 -0
- package/dist/kinship-translator/kinship-translator.hu.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.hu.js +226 -0
- package/dist/kinship-translator/kinship-translator.interface.d.ts +19 -0
- package/dist/kinship-translator/kinship-translator.interface.d.ts.map +1 -0
- package/dist/kinship-translator/kinship-translator.interface.js +1 -0
- package/dist/kinship-translator/kinship-translator.js +103 -0
- package/dist/kinship-translator/patterns.de.d.ts +2 -0
- package/dist/kinship-translator/patterns.de.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.de.js +14 -0
- package/dist/kinship-translator/patterns.en.d.ts +2 -0
- package/dist/kinship-translator/patterns.en.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.en.js +14 -0
- package/dist/kinship-translator/patterns.es.d.ts +2 -0
- package/dist/kinship-translator/patterns.es.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.es.js +14 -0
- package/dist/kinship-translator/patterns.fr.d.ts +2 -0
- package/dist/kinship-translator/patterns.fr.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.fr.js +14 -0
- package/dist/kinship-translator/patterns.hu.d.ts +6 -0
- package/dist/kinship-translator/patterns.hu.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.hu.js +97 -0
- package/dist/kinship-translator/translators.d.ts +6 -0
- package/dist/kinship-translator/translators.d.ts.map +1 -0
- package/dist/kinship-translator/translators.js +5 -0
- package/dist/kinship-translator/types.d.ts +9 -0
- package/dist/kinship-translator/types.d.ts.map +1 -0
- package/dist/kinship-translator/types.js +1 -0
- package/dist/structures/address.d.ts +14 -0
- package/dist/structures/address.d.ts.map +1 -0
- package/dist/structures/address.js +1 -0
- package/dist/structures/association.d.ts +13 -0
- package/dist/structures/association.d.ts.map +1 -0
- package/dist/structures/association.js +1 -0
- package/dist/structures/change-date.d.ts +8 -0
- package/dist/structures/change-date.d.ts.map +1 -0
- package/dist/structures/change-date.js +1 -0
- package/dist/structures/creation-date.d.ts +7 -0
- package/dist/structures/creation-date.d.ts.map +1 -0
- package/dist/structures/creation-date.js +1 -0
- package/dist/structures/date.d.ts +9 -0
- package/dist/structures/date.d.ts.map +1 -0
- package/dist/structures/date.js +1 -0
- package/dist/structures/event-detail-structure.d.ts +25 -0
- package/dist/structures/event-detail-structure.d.ts.map +1 -0
- package/dist/structures/event-detail-structure.js +1 -0
- package/dist/structures/family.d.ts +34 -0
- package/dist/structures/family.d.ts.map +1 -0
- package/dist/structures/family.js +1 -0
- package/dist/structures/gedcom.d.ts +60 -0
- package/dist/structures/gedcom.d.ts.map +1 -0
- package/dist/structures/gedcom.js +1 -0
- package/dist/structures/index.d.ts +25 -0
- package/dist/structures/index.d.ts.map +1 -0
- package/dist/structures/index.js +1 -0
- package/dist/structures/individual-event-detail-structure.d.ts +9 -0
- package/dist/structures/individual-event-detail-structure.d.ts.map +1 -0
- package/dist/structures/individual-event-detail-structure.js +1 -0
- package/dist/structures/individual-event-structure.d.ts +83 -0
- package/dist/structures/individual-event-structure.d.ts.map +1 -0
- package/dist/structures/individual-event-structure.js +1 -0
- package/dist/structures/individual.d.ts +40 -0
- package/dist/structures/individual.d.ts.map +1 -0
- package/dist/structures/individual.js +1 -0
- package/dist/structures/lds-ordinance-detail.d.ts +17 -0
- package/dist/structures/lds-ordinance-detail.d.ts.map +1 -0
- package/dist/structures/lds-ordinance-detail.js +1 -0
- package/dist/structures/lds-spouse-sealing.d.ts +7 -0
- package/dist/structures/lds-spouse-sealing.d.ts.map +1 -0
- package/dist/structures/lds-spouse-sealing.js +1 -0
- package/dist/structures/marriage-date.d.ts +11 -0
- package/dist/structures/marriage-date.d.ts.map +1 -0
- package/dist/structures/marriage-date.js +1 -0
- package/dist/structures/multimedia-link.d.ts +16 -0
- package/dist/structures/multimedia-link.d.ts.map +1 -0
- package/dist/structures/multimedia-link.js +1 -0
- package/dist/structures/non-event.d.ts +12 -0
- package/dist/structures/non-event.d.ts.map +1 -0
- package/dist/structures/non-event.js +1 -0
- package/dist/structures/note.d.ts +16 -0
- package/dist/structures/note.d.ts.map +1 -0
- package/dist/structures/note.js +1 -0
- package/dist/structures/personal-name-pieces.d.ts +11 -0
- package/dist/structures/personal-name-pieces.d.ts.map +1 -0
- package/dist/structures/personal-name-pieces.js +1 -0
- package/dist/structures/personal-name.d.ts +16 -0
- package/dist/structures/personal-name.d.ts.map +1 -0
- package/dist/structures/personal-name.js +1 -0
- package/dist/structures/place.d.ts +20 -0
- package/dist/structures/place.d.ts.map +1 -0
- package/dist/structures/place.js +1 -0
- package/dist/structures/repository.d.ts +6 -0
- package/dist/structures/repository.d.ts.map +1 -0
- package/dist/structures/repository.js +1 -0
- package/dist/structures/source-citation.d.ts +27 -0
- package/dist/structures/source-citation.d.ts.map +1 -0
- package/dist/structures/source-citation.js +1 -0
- package/dist/structures/source-repository-citation.d.ts +13 -0
- package/dist/structures/source-repository-citation.d.ts.map +1 -0
- package/dist/structures/source-repository-citation.js +1 -0
- package/dist/structures/source.d.ts +28 -0
- package/dist/structures/source.d.ts.map +1 -0
- package/dist/structures/source.js +1 -0
- package/dist/types/ancestry-media.d.ts +65 -0
- package/dist/types/ancestry-media.d.ts.map +1 -0
- package/dist/types/ancestry-media.js +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/settings.d.ts +12 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/dist/types/settings.js +1 -0
- package/dist/types/types.d.ts +220 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/types.js +26 -0
- package/dist/utils/cache.d.ts +22 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +57 -0
- package/dist/utils/common-creator.d.ts +13 -0
- package/dist/utils/common-creator.d.ts.map +1 -0
- package/dist/utils/common-creator.js +72 -0
- package/dist/utils/date-formatter.d.ts +35 -0
- package/dist/utils/date-formatter.d.ts.map +1 -0
- package/dist/utils/date-formatter.js +207 -0
- package/dist/utils/get-all-prop.d.ts +4 -0
- package/dist/utils/get-all-prop.d.ts.map +1 -0
- package/dist/utils/get-all-prop.js +5 -0
- package/dist/utils/get-family-with.d.ts +5 -0
- package/dist/utils/get-family-with.d.ts.map +1 -0
- package/dist/utils/get-family-with.js +11 -0
- package/dist/utils/get-places.d.ts +21 -0
- package/dist/utils/get-places.d.ts.map +1 -0
- package/dist/utils/get-places.js +77 -0
- package/dist/utils/get-product-details.d.ts +4 -0
- package/dist/utils/get-product-details.d.ts.map +1 -0
- package/dist/utils/get-product-details.js +6 -0
- package/dist/utils/get-raw-size.d.ts +2 -0
- package/dist/utils/get-raw-size.d.ts.map +1 -0
- package/dist/utils/get-raw-size.js +3 -0
- package/dist/utils/index.d.ts +17 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/logger.d.ts +3 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +11 -0
- package/dist/utils/name-formatter.d.ts +10 -0
- package/dist/utils/name-formatter.d.ts.map +1 -0
- package/dist/utils/name-formatter.js +45 -0
- package/dist/utils/nested-group.d.ts +4 -0
- package/dist/utils/nested-group.d.ts.map +1 -0
- package/dist/utils/nested-group.js +34 -0
- package/dist/utils/ordinalize.d.ts +3 -0
- package/dist/utils/ordinalize.d.ts.map +1 -0
- package/dist/utils/ordinalize.js +104 -0
- package/dist/utils/parser.d.ts +17 -0
- package/dist/utils/parser.d.ts.map +1 -0
- package/dist/utils/parser.js +322 -0
- package/dist/utils/place-parser.d.ts +16 -0
- package/dist/utils/place-parser.d.ts.map +1 -0
- package/dist/utils/place-parser.js +46 -0
- package/dist/utils/place-translator.d.ts +6 -0
- package/dist/utils/place-translator.d.ts.map +1 -0
- package/dist/utils/place-translator.js +8 -0
- package/dist/utils/place-types.d.ts +27 -0
- package/dist/utils/place-types.d.ts.map +1 -0
- package/dist/utils/place-types.js +14 -0
- package/dist/utils/range.d.ts +19 -0
- package/dist/utils/range.d.ts.map +1 -0
- package/dist/utils/range.js +265 -0
- package/package.json +153 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { List } from "./list";
|
|
2
|
+
export class Objects extends List {
|
|
3
|
+
copy() {
|
|
4
|
+
const newList = new Objects();
|
|
5
|
+
this.entries().forEach(([key, value]) => {
|
|
6
|
+
newList.item(key, value);
|
|
7
|
+
});
|
|
8
|
+
return newList;
|
|
9
|
+
}
|
|
10
|
+
except(item) {
|
|
11
|
+
return this.copy().delete(item);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type IRepositoryStructure from "../structures/repository";
|
|
2
|
+
import { type RepoKey } from "../types/types";
|
|
3
|
+
import type IRepo from "../interfaces/repo";
|
|
4
|
+
import { Common } from "./common";
|
|
5
|
+
import type { ProxyOriginal } from "./common";
|
|
6
|
+
import { type GedComType } from "./gedcom";
|
|
7
|
+
export declare class Repo extends Common<string, RepoKey> implements IRepo {
|
|
8
|
+
}
|
|
9
|
+
export type RepoType = Repo & IRepositoryStructure;
|
|
10
|
+
export declare const createRepo: (gedcom: GedComType, id?: RepoKey, main?: Common, parent?: Common) => ProxyOriginal<RepoType>;
|
|
11
|
+
//# sourceMappingURL=repo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repo.d.ts","sourceRoot":"","sources":["../../src/classes/repo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,oBAAoB,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,IAAK,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,YAAW,KAAK;CAAG;AAErE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,oBAAoB,CAAC;AACnD,eAAO,MAAM,UAAU,GACtB,QAAQ,UAAU,EAClB,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,KACb,aAAa,CAAC,QAAQ,CAIxB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type RepoKey } from "../types/types";
|
|
2
|
+
import { List } from "./list";
|
|
3
|
+
import { type RepoType } from "./repo";
|
|
4
|
+
export declare class Repositories extends List<RepoKey, RepoType> {
|
|
5
|
+
copy(): Repositories;
|
|
6
|
+
except(item: RepoType): Repositories;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=repos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repos.d.ts","sourceRoot":"","sources":["../../src/classes/repos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,qBAAa,YAAa,SAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;IACxD,IAAI;IAUJ,MAAM,CAAC,IAAI,EAAE,QAAQ;CAGrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { List } from "./list";
|
|
2
|
+
export class Repositories extends List {
|
|
3
|
+
copy() {
|
|
4
|
+
const newList = new Repositories();
|
|
5
|
+
this.entries().forEach(([key, value]) => {
|
|
6
|
+
newList.item(key, value);
|
|
7
|
+
});
|
|
8
|
+
return newList;
|
|
9
|
+
}
|
|
10
|
+
except(item) {
|
|
11
|
+
return this.copy().delete(item);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type ISourceStructure from "../structures/source";
|
|
2
|
+
import { type SourKey } from "../types/types";
|
|
3
|
+
import type ISour from "../interfaces/sour";
|
|
4
|
+
import { Common } from "./common";
|
|
5
|
+
import type { ProxyOriginal } from "./common";
|
|
6
|
+
import { type GedComType } from "./gedcom";
|
|
7
|
+
export declare class Sour extends Common<string, SourKey> implements ISour {
|
|
8
|
+
}
|
|
9
|
+
export type SourType = Sour & ISourceStructure;
|
|
10
|
+
export declare const createSour: (gedcom: GedComType, id?: SourKey, main?: Common, parent?: Common) => ProxyOriginal<SourType>;
|
|
11
|
+
//# sourceMappingURL=sour.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sour.d.ts","sourceRoot":"","sources":["../../src/classes/sour.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,IAAK,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,YAAW,KAAK;CAAG;AAErE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,gBAAgB,CAAC;AAC/C,eAAO,MAAM,UAAU,GACtB,QAAQ,UAAU,EAClB,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,KACb,aAAa,CAAC,QAAQ,CAIxB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type SourKey } from "../types/types";
|
|
2
|
+
import { List } from "./list";
|
|
3
|
+
import { type SourType } from "./sour";
|
|
4
|
+
export declare class Sources extends List<SourKey, SourType> {
|
|
5
|
+
copy(): Sources;
|
|
6
|
+
except(item: SourType): Sources;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=sours.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sours.d.ts","sourceRoot":"","sources":["../../src/classes/sours.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,qBAAa,OAAQ,SAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;IACnD,IAAI;IAUJ,MAAM,CAAC,IAAI,EAAE,QAAQ;CAGrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { List } from "./list";
|
|
2
|
+
export class Sources extends List {
|
|
3
|
+
copy() {
|
|
4
|
+
const newList = new Sources();
|
|
5
|
+
this.entries().forEach(([key, value]) => {
|
|
6
|
+
newList.item(key, value);
|
|
7
|
+
});
|
|
8
|
+
return newList;
|
|
9
|
+
}
|
|
10
|
+
except(item) {
|
|
11
|
+
return this.copy().delete(item);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SubmKey } from "../types/types";
|
|
2
|
+
import type ISubm from "../interfaces/subm";
|
|
3
|
+
import { Common } from "./common";
|
|
4
|
+
import type { ProxyOriginal } from "./common";
|
|
5
|
+
import { type GedComType } from "./gedcom";
|
|
6
|
+
export declare class Subm extends Common<string, SubmKey> implements ISubm {
|
|
7
|
+
}
|
|
8
|
+
export type SubmType = Subm & ISubm;
|
|
9
|
+
export declare const createSubm: (gedcom: GedComType, id?: SubmKey, main?: Common, parent?: Common) => ProxyOriginal<SubmType>;
|
|
10
|
+
//# sourceMappingURL=subm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subm.d.ts","sourceRoot":"","sources":["../../src/classes/subm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,qBAAa,IAAK,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAE,YAAW,KAAK;CAAG;AAErE,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;AACpC,eAAO,MAAM,UAAU,GACtB,QAAQ,UAAU,EAClB,KAAK,OAAO,EACZ,OAAO,MAAM,EACb,SAAS,MAAM,KACb,aAAa,CAAC,QAAQ,CAIxB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type SubmKey } from "../types/types";
|
|
2
|
+
import { List } from "./list";
|
|
3
|
+
import { type SubmType } from "./subm";
|
|
4
|
+
export declare class Submitters extends List<SubmKey, SubmType> {
|
|
5
|
+
copy(): Submitters;
|
|
6
|
+
except(item: SubmType): Submitters;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=subms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subms.d.ts","sourceRoot":"","sources":["../../src/classes/subms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAEvC,qBAAa,UAAW,SAAQ,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC;IACtD,IAAI;IAUJ,MAAM,CAAC,IAAI,EAAE,QAAQ;CAGrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { List } from "./list";
|
|
2
|
+
export class Submitters extends List {
|
|
3
|
+
copy() {
|
|
4
|
+
const newList = new Submitters();
|
|
5
|
+
this.entries().forEach(([key, value]) => {
|
|
6
|
+
newList.item(key, value);
|
|
7
|
+
});
|
|
8
|
+
return newList;
|
|
9
|
+
}
|
|
10
|
+
except(item) {
|
|
11
|
+
return this.copy().delete(item);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GEDCOM Parsing Patterns
|
|
3
|
+
* Regular expressions for parsing GEDCOM files
|
|
4
|
+
*/
|
|
5
|
+
export declare const REF_LINE_REG: RegExp;
|
|
6
|
+
export declare const LINE_REG: RegExp;
|
|
7
|
+
export declare const ID_REG: RegExp;
|
|
8
|
+
export declare const ID_GETTER_REG: RegExp;
|
|
9
|
+
export declare const ID_SPLIT_REG: RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* File size limits
|
|
12
|
+
*/
|
|
13
|
+
export declare const MAX_FILE_SIZE_TO_SYNC: number;
|
|
14
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,YAAY,QACqE,CAAC;AAC/F,eAAO,MAAM,QAAQ,QACsF,CAAC;AAC5G,eAAO,MAAM,MAAM,QAAqB,CAAC;AACzC,eAAO,MAAM,aAAa,QAAiC,CAAC;AAC5D,eAAO,MAAM,YAAY,QAAsB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,qBAAqB,QAAmB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GEDCOM Parsing Patterns
|
|
3
|
+
* Regular expressions for parsing GEDCOM files
|
|
4
|
+
*/
|
|
5
|
+
export const REF_LINE_REG = /^0 (?:(@[_a-zA-Z0-9]*@) )?(?<type>_[_A-Z][_a-zA-Z]{2,}|_?[A-Z][a-zA-Z]{2,}) ?(?<value>.*)/gm;
|
|
6
|
+
export const LINE_REG = /(?<indent>^[0-9]) (?:(@[_a-zA-Z0-9]*@) )?(?<type>_[_A-Z][_a-zA-Z]{2,}|_?[A-Z][a-zA-Z]{2,}) ?(?<value>.*)/;
|
|
7
|
+
export const ID_REG = /^@[_a-zA-Z0-9]+@/;
|
|
8
|
+
export const ID_GETTER_REG = /^(?<at>@)?(?<letter>[A-Z])?/i;
|
|
9
|
+
export const ID_SPLIT_REG = /^@[_a-zA-Z0-9]+@:/;
|
|
10
|
+
/**
|
|
11
|
+
* File size limits
|
|
12
|
+
*/
|
|
13
|
+
export const MAX_FILE_SIZE_TO_SYNC = 1024 * 1024 * 20; // 20MB
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type RequiredFilter, type Filter, RelationType, PartnerType } from "../types/types";
|
|
2
|
+
export declare const EVERY: Filter;
|
|
3
|
+
export declare const FEMALE: Filter;
|
|
4
|
+
export declare const MALE: Filter;
|
|
5
|
+
export declare const ADOPTED: RequiredFilter<"PEDI", RelationType>;
|
|
6
|
+
export declare const BIRTH: RequiredFilter<"PEDI", RelationType>;
|
|
7
|
+
export declare const FOSTER: RequiredFilter<"PEDI", RelationType>;
|
|
8
|
+
export declare const SEALING: RequiredFilter<"PEDI", RelationType>;
|
|
9
|
+
export declare const STEP: RequiredFilter<"PEDI", RelationType>;
|
|
10
|
+
export declare const BIOLOGICAL: RequiredFilter<"PEDI", RelationType>;
|
|
11
|
+
export declare const FRIEND: RequiredFilter<"PART", PartnerType>;
|
|
12
|
+
export declare const OTHER: RequiredFilter<"PART", PartnerType>;
|
|
13
|
+
export declare const PARTNER: RequiredFilter<"PART", PartnerType>;
|
|
14
|
+
export declare const SINGLE: RequiredFilter<"PART", PartnerType>;
|
|
15
|
+
export declare const SPOUSE: RequiredFilter<"PART", PartnerType>;
|
|
16
|
+
export declare const UNKOWN: RequiredFilter<"PART", PartnerType>;
|
|
17
|
+
//# sourceMappingURL=filters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../src/constants/filters.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,YAAY,EACZ,WAAW,EACX,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,KAAK,EAAE,MAAW,CAAC;AAEhC,eAAO,MAAM,MAAM,EAAE,MAEpB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,MAElB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAExD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAEtD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAEvD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAExD,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAErD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAAc,CAAC,MAAM,EAAE,YAAY,CAE3D,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAEtD,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAErD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAEvD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAEtD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAEtD,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,WAAW,CAEtD,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { RelationType, PartnerType, } from "../types/types";
|
|
2
|
+
export const EVERY = {};
|
|
3
|
+
export const FEMALE = {
|
|
4
|
+
SEX: "F",
|
|
5
|
+
};
|
|
6
|
+
export const MALE = {
|
|
7
|
+
SEX: "M",
|
|
8
|
+
};
|
|
9
|
+
export const ADOPTED = {
|
|
10
|
+
PEDI: RelationType.ADOPTED,
|
|
11
|
+
};
|
|
12
|
+
export const BIRTH = {
|
|
13
|
+
PEDI: RelationType.BIRTH,
|
|
14
|
+
};
|
|
15
|
+
export const FOSTER = {
|
|
16
|
+
PEDI: RelationType.FOSTER,
|
|
17
|
+
};
|
|
18
|
+
export const SEALING = {
|
|
19
|
+
PEDI: RelationType.SEALING,
|
|
20
|
+
};
|
|
21
|
+
export const STEP = {
|
|
22
|
+
PEDI: RelationType.STEP,
|
|
23
|
+
};
|
|
24
|
+
export const BIOLOGICAL = {
|
|
25
|
+
PEDI: RelationType.BIOLOGICAL,
|
|
26
|
+
};
|
|
27
|
+
export const FRIEND = {
|
|
28
|
+
PART: PartnerType.FRIEND,
|
|
29
|
+
};
|
|
30
|
+
export const OTHER = {
|
|
31
|
+
PART: PartnerType.OTHER,
|
|
32
|
+
};
|
|
33
|
+
export const PARTNER = {
|
|
34
|
+
PART: PartnerType.PARTNER,
|
|
35
|
+
};
|
|
36
|
+
export const SINGLE = {
|
|
37
|
+
PART: PartnerType.SINGLE,
|
|
38
|
+
};
|
|
39
|
+
export const SPOUSE = {
|
|
40
|
+
PART: PartnerType.SPOUSE,
|
|
41
|
+
};
|
|
42
|
+
export const UNKOWN = {
|
|
43
|
+
PART: PartnerType.UNKOWN,
|
|
44
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type IndiType } from "../classes/indi";
|
|
2
|
+
import { type OrderIterator, type Order, type IndiKey, type NameOrder } from "../types/types";
|
|
3
|
+
export declare const DEFAULT: Order;
|
|
4
|
+
export declare const BIRTH_ASC: Order;
|
|
5
|
+
export declare const BIRTH_DESC: Order;
|
|
6
|
+
export declare const DEATH_ASC: Order;
|
|
7
|
+
export declare const DEATH_DESC: Order;
|
|
8
|
+
export declare const DATE_ASC: Order;
|
|
9
|
+
export declare const DATE_DESC: Order;
|
|
10
|
+
export declare const getNameDesc: (nameOrder?: NameOrder) => OrderIterator<IndiType, IndiKey>;
|
|
11
|
+
export declare const getNameAsc: (nameOrder?: NameOrder) => OrderIterator<IndiType, IndiKey>;
|
|
12
|
+
export declare const getBirthAsc: OrderIterator<IndiType, IndiKey>;
|
|
13
|
+
export declare const getNameAscAndBirth: (nameOrder?: NameOrder) => OrderIterator<IndiType, IndiKey>;
|
|
14
|
+
export declare const getMarriageAsc: (person?: IndiKey, famType?: "FAMS" | "FAMC") => OrderIterator<IndiType, IndiKey>;
|
|
15
|
+
export declare const getMarriageAscAndChildBirth: (person?: IndiKey) => OrderIterator<IndiType, IndiKey>;
|
|
16
|
+
export declare const getMarriageAscAndBirth: (person?: IndiKey) => OrderIterator<IndiType, IndiKey>;
|
|
17
|
+
//# sourceMappingURL=orders.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orders.d.ts","sourceRoot":"","sources":["../../src/constants/orders.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACN,KAAK,aAAa,EAClB,KAAK,KAAK,EACV,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;AAGxB,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAUxB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAUtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAUvB,CAAC;AAwGF,eAAO,MAAM,WAAW,EAAE,CACzB,SAAS,CAAC,EAAE,SAAS,KACjB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAgBlC,CAAC;AAEH,eAAO,MAAM,UAAU,EAAE,CACxB,SAAS,CAAC,EAAE,SAAS,KACjB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAgBlC,CAAC;AAEH,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,QAAQ,EAAE,OAAO,CAyBxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,CAChC,SAAS,CAAC,EAAE,SAAS,KACjB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAUlC,CAAC;AAEH,eAAO,MAAM,cAAc,EAAE,CAC5B,MAAM,CAAC,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,KACrB,aAAa,CAAC,QAAQ,EAAE,OAAO,CAsBlC,CAAC;AAEH,eAAO,MAAM,2BAA2B,EAAE,CACzC,MAAM,CAAC,EAAE,OAAO,KACZ,aAAa,CAAC,QAAQ,EAAE,OAAO,CAelC,CAAC;AAEH,eAAO,MAAM,sBAAsB,EAAE,CACpC,MAAM,CAAC,EAAE,OAAO,KACZ,aAAa,CAAC,QAAQ,EAAE,OAAO,CAclC,CAAC"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
import { isCommonDate } from "../classes/date";
|
|
2
|
+
import { getFamilyWith } from "../utils/get-family-with";
|
|
3
|
+
export const DEFAULT = {};
|
|
4
|
+
export const BIRTH_ASC = {
|
|
5
|
+
"BIRT.DATE": {
|
|
6
|
+
direction: "ASC",
|
|
7
|
+
getter: (value, raw) => {
|
|
8
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
9
|
+
return raw.rawValue.getTime();
|
|
10
|
+
}
|
|
11
|
+
return new Date(value).getTime();
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
};
|
|
15
|
+
export const BIRTH_DESC = {
|
|
16
|
+
"BIRT.DATE": {
|
|
17
|
+
direction: "DESC",
|
|
18
|
+
getter: (value, raw) => {
|
|
19
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
20
|
+
return raw.rawValue.getTime();
|
|
21
|
+
}
|
|
22
|
+
return new Date(value).getTime();
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
export const DEATH_ASC = {
|
|
27
|
+
"DEAT.DATE": {
|
|
28
|
+
direction: "ASC",
|
|
29
|
+
getter: (value, raw) => {
|
|
30
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
31
|
+
return raw.rawValue.getTime();
|
|
32
|
+
}
|
|
33
|
+
return new Date(value).getTime();
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
export const DEATH_DESC = {
|
|
38
|
+
"DEAT.DATE": {
|
|
39
|
+
direction: "DESC",
|
|
40
|
+
getter: (value, raw) => {
|
|
41
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
42
|
+
return raw.rawValue.getTime();
|
|
43
|
+
}
|
|
44
|
+
return new Date(value).getTime();
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export const DATE_ASC = {
|
|
49
|
+
DATE: {
|
|
50
|
+
direction: "ASC",
|
|
51
|
+
getter: (value, raw) => {
|
|
52
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
53
|
+
return raw.rawValue.getTime();
|
|
54
|
+
}
|
|
55
|
+
return new Date(value).getTime();
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
export const DATE_DESC = {
|
|
60
|
+
DATE: {
|
|
61
|
+
direction: "DESC",
|
|
62
|
+
getter: (value, raw) => {
|
|
63
|
+
if (isCommonDate(raw) && raw.rawValue) {
|
|
64
|
+
return raw.rawValue.getTime();
|
|
65
|
+
}
|
|
66
|
+
return new Date(value).getTime();
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
const chars = [
|
|
71
|
+
"a",
|
|
72
|
+
"à",
|
|
73
|
+
"á",
|
|
74
|
+
"â",
|
|
75
|
+
"ä",
|
|
76
|
+
"æ",
|
|
77
|
+
"ã",
|
|
78
|
+
"å",
|
|
79
|
+
"ā",
|
|
80
|
+
"b",
|
|
81
|
+
"c",
|
|
82
|
+
"ç",
|
|
83
|
+
"ć",
|
|
84
|
+
"č",
|
|
85
|
+
"cs",
|
|
86
|
+
"d",
|
|
87
|
+
"dz",
|
|
88
|
+
"dzs",
|
|
89
|
+
"e",
|
|
90
|
+
"è",
|
|
91
|
+
"é",
|
|
92
|
+
"ê",
|
|
93
|
+
"ë",
|
|
94
|
+
"ē",
|
|
95
|
+
"ė",
|
|
96
|
+
"ę",
|
|
97
|
+
"f",
|
|
98
|
+
"g",
|
|
99
|
+
"gy",
|
|
100
|
+
"h",
|
|
101
|
+
"i",
|
|
102
|
+
"î",
|
|
103
|
+
"ï",
|
|
104
|
+
"í",
|
|
105
|
+
"ī",
|
|
106
|
+
"į",
|
|
107
|
+
"ì",
|
|
108
|
+
"j",
|
|
109
|
+
"k",
|
|
110
|
+
"l",
|
|
111
|
+
"ł",
|
|
112
|
+
"ly",
|
|
113
|
+
"m",
|
|
114
|
+
"n",
|
|
115
|
+
"ñ",
|
|
116
|
+
"ń",
|
|
117
|
+
"ny",
|
|
118
|
+
"o",
|
|
119
|
+
"ó",
|
|
120
|
+
"ö",
|
|
121
|
+
"ő",
|
|
122
|
+
"ô",
|
|
123
|
+
"ò",
|
|
124
|
+
"õ",
|
|
125
|
+
"œ",
|
|
126
|
+
"ø",
|
|
127
|
+
"ō",
|
|
128
|
+
"p",
|
|
129
|
+
"q",
|
|
130
|
+
"r",
|
|
131
|
+
"s",
|
|
132
|
+
"ś",
|
|
133
|
+
"š",
|
|
134
|
+
"ß",
|
|
135
|
+
"sz",
|
|
136
|
+
"t",
|
|
137
|
+
"ty",
|
|
138
|
+
"u",
|
|
139
|
+
"ú",
|
|
140
|
+
"ü",
|
|
141
|
+
"ű",
|
|
142
|
+
"û",
|
|
143
|
+
"ù",
|
|
144
|
+
"ū",
|
|
145
|
+
"v",
|
|
146
|
+
"w",
|
|
147
|
+
"x",
|
|
148
|
+
"y",
|
|
149
|
+
"z",
|
|
150
|
+
"zs",
|
|
151
|
+
];
|
|
152
|
+
const alphabets = chars.reduce((acc, curr, idx) => {
|
|
153
|
+
acc[curr] = idx;
|
|
154
|
+
return acc;
|
|
155
|
+
}, {});
|
|
156
|
+
const convertAlphabet = (value) => {
|
|
157
|
+
return value
|
|
158
|
+
.toLowerCase()
|
|
159
|
+
.replace(/(dzs|cs|dz|gy|ly|ny|sz|ty|zs|.)/gi, (_, m) => {
|
|
160
|
+
const code = alphabets[m];
|
|
161
|
+
return code !== undefined
|
|
162
|
+
? `${`${code}`.padStart(`${chars.length}`.length, "0")}`
|
|
163
|
+
: m;
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
const sortValue = (valueA, valueB) => {
|
|
167
|
+
return convertAlphabet(valueA).localeCompare(convertAlphabet(valueB));
|
|
168
|
+
};
|
|
169
|
+
export const getNameDesc = (nameOrder = "first-last") => (itemA, _keyA, itemB, _keyB) => {
|
|
170
|
+
const valueA = nameOrder === "first-last"
|
|
171
|
+
? [itemA.NAME?.GIVN || "", itemA.NAME?.SURN || ""]
|
|
172
|
+
: [itemA.NAME?.SURN || "", itemA.NAME?.GIVN || ""];
|
|
173
|
+
const valueB = nameOrder === "first-last"
|
|
174
|
+
? [itemB.NAME?.GIVN || "", itemB.NAME?.SURN || ""]
|
|
175
|
+
: [itemB.NAME?.SURN || "", itemB.NAME?.GIVN || ""];
|
|
176
|
+
return -sortValue(valueA.filter(Boolean).join(" "), valueB.filter(Boolean).join(" "));
|
|
177
|
+
};
|
|
178
|
+
export const getNameAsc = (nameOrder = "first-last") => (itemA, _keyA, itemB, _keyB) => {
|
|
179
|
+
const valueA = nameOrder === "first-last"
|
|
180
|
+
? [itemA.NAME?.GIVN || "", itemA.NAME?.SURN || ""]
|
|
181
|
+
: [itemA.NAME?.SURN || "", itemA.NAME?.GIVN || ""];
|
|
182
|
+
const valueB = nameOrder === "first-last"
|
|
183
|
+
? [itemB.NAME?.GIVN || "", itemB.NAME?.SURN || ""]
|
|
184
|
+
: [itemB.NAME?.SURN || "", itemB.NAME?.GIVN || ""];
|
|
185
|
+
return sortValue(valueA.filter(Boolean).join(" "), valueB.filter(Boolean).join(" "));
|
|
186
|
+
};
|
|
187
|
+
export const getBirthAsc = (itemA, _keyA, itemB, _keyB) => {
|
|
188
|
+
const birthA = itemA?.BIRT?.toList().index(0);
|
|
189
|
+
const birthB = itemB?.BIRT?.toList().index(0);
|
|
190
|
+
const valueA = birthA?.DATE?.rawValue;
|
|
191
|
+
const valueB = birthB?.DATE?.rawValue;
|
|
192
|
+
if (valueA?.getTime() === valueB?.getTime()) {
|
|
193
|
+
return 0;
|
|
194
|
+
}
|
|
195
|
+
if (!valueA || (valueB && valueA > valueB)) {
|
|
196
|
+
return 1;
|
|
197
|
+
}
|
|
198
|
+
return -1;
|
|
199
|
+
};
|
|
200
|
+
export const getNameAscAndBirth = (nameOrder = "first-last") => (itemA, keyA, itemB, keyB) => {
|
|
201
|
+
const nameSort = getNameAsc(nameOrder)(itemA, keyA, itemB, keyB);
|
|
202
|
+
if (nameSort !== 0) {
|
|
203
|
+
return nameSort;
|
|
204
|
+
}
|
|
205
|
+
return getBirthAsc(itemA, keyA, itemB, keyB);
|
|
206
|
+
};
|
|
207
|
+
export const getMarriageAsc = (person, famType = "FAMS") => (itemA, _keyA, itemB, _keyB) => {
|
|
208
|
+
if (!person && famType === "FAMS") {
|
|
209
|
+
return 0;
|
|
210
|
+
}
|
|
211
|
+
const familyA = getFamilyWith(itemA, person);
|
|
212
|
+
const familyB = getFamilyWith(itemB, person);
|
|
213
|
+
const marriageA = familyA?.MARR?.DATE?.rawValue;
|
|
214
|
+
const marriageB = familyB?.MARR?.DATE?.rawValue;
|
|
215
|
+
if (marriageA?.getTime() === marriageB?.getTime()) {
|
|
216
|
+
return 0;
|
|
217
|
+
}
|
|
218
|
+
if (!marriageA || (marriageB && marriageA > marriageB)) {
|
|
219
|
+
return 1;
|
|
220
|
+
}
|
|
221
|
+
return -1;
|
|
222
|
+
};
|
|
223
|
+
export const getMarriageAscAndChildBirth = (person) => (itemA, keyA, itemB, keyB) => {
|
|
224
|
+
const marriageSort = getMarriageAsc(person)(itemA, keyA, itemB, keyB);
|
|
225
|
+
if (marriageSort !== 0) {
|
|
226
|
+
return marriageSort;
|
|
227
|
+
}
|
|
228
|
+
const familyA = getFamilyWith(itemA, person);
|
|
229
|
+
const familyB = getFamilyWith(itemB, person);
|
|
230
|
+
const childA = familyA?.getChildren().orderBy(BIRTH_ASC).index(0);
|
|
231
|
+
const childB = familyB?.getChildren().orderBy(BIRTH_ASC).index(0);
|
|
232
|
+
return getBirthAsc(childA, keyA, childB, keyB);
|
|
233
|
+
};
|
|
234
|
+
export const getMarriageAscAndBirth = (person) => (itemA, keyA, itemB, keyB) => {
|
|
235
|
+
const marriageSort = getMarriageAsc(person, "FAMC")(itemA, keyA, itemB, keyB);
|
|
236
|
+
if (marriageSort !== 0) {
|
|
237
|
+
return marriageSort;
|
|
238
|
+
}
|
|
239
|
+
return getBirthAsc(itemA, keyA, itemB, keyB);
|
|
240
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ICacheManager } from "../utils/cache";
|
|
2
|
+
/**
|
|
3
|
+
* Factory function type for creating cache manager instances.
|
|
4
|
+
* This allows the main project to inject custom cache implementations (e.g., IndexedDB).
|
|
5
|
+
*/
|
|
6
|
+
export type CacheManagerFactory = <T>(name: string, store: string, type: string, encrypted: boolean) => ICacheManager<T>;
|
|
7
|
+
/**
|
|
8
|
+
* Set a custom cache manager factory.
|
|
9
|
+
* Call this from the main project to inject IndexedDB or other cache implementations.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { setCacheManagerFactory } from '@treeviz/gedcom-parser/factories/cache-factory';
|
|
14
|
+
* import { getInstance } from './utils/indexed-db-manager';
|
|
15
|
+
*
|
|
16
|
+
* setCacheManagerFactory(getInstance);
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
export declare const setCacheManagerFactory: (factory: CacheManagerFactory) => void;
|
|
20
|
+
/**
|
|
21
|
+
* Get the current cache manager factory.
|
|
22
|
+
* Used internally by the cache utility.
|
|
23
|
+
*/
|
|
24
|
+
export declare const getCacheManagerFactory: () => CacheManagerFactory;
|
|
25
|
+
/**
|
|
26
|
+
* Reset to default in-memory cache factory.
|
|
27
|
+
* Useful for testing or when switching between projects.
|
|
28
|
+
*/
|
|
29
|
+
export declare const resetCacheManagerFactory: () => void;
|
|
30
|
+
//# sourceMappingURL=cache-factory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-factory.d.ts","sourceRoot":"","sources":["../../src/factories/cache-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,OAAO,KACd,aAAa,CAAC,CAAC,CAAC,CAAC;AAkBtB;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,mBAAmB,SAElE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAO,mBAEzC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAEpC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default in-memory cache manager factory.
|
|
3
|
+
* This is used as a fallback when no custom factory is provided.
|
|
4
|
+
*/
|
|
5
|
+
const defaultCacheFactory = () => {
|
|
6
|
+
let cache = null;
|
|
7
|
+
return {
|
|
8
|
+
getItem: async () => cache,
|
|
9
|
+
setItem: async (value) => {
|
|
10
|
+
cache = value;
|
|
11
|
+
},
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
let cacheFactory = defaultCacheFactory;
|
|
15
|
+
/**
|
|
16
|
+
* Set a custom cache manager factory.
|
|
17
|
+
* Call this from the main project to inject IndexedDB or other cache implementations.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { setCacheManagerFactory } from '@treeviz/gedcom-parser/factories/cache-factory';
|
|
22
|
+
* import { getInstance } from './utils/indexed-db-manager';
|
|
23
|
+
*
|
|
24
|
+
* setCacheManagerFactory(getInstance);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
export const setCacheManagerFactory = (factory) => {
|
|
28
|
+
cacheFactory = factory;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Get the current cache manager factory.
|
|
32
|
+
* Used internally by the cache utility.
|
|
33
|
+
*/
|
|
34
|
+
export const getCacheManagerFactory = () => {
|
|
35
|
+
return cacheFactory;
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Reset to default in-memory cache factory.
|
|
39
|
+
* Useful for testing or when switching between projects.
|
|
40
|
+
*/
|
|
41
|
+
export const resetCacheManagerFactory = () => {
|
|
42
|
+
cacheFactory = defaultCacheFactory;
|
|
43
|
+
};
|