@treeviz/gedcom-parser 1.0.1 → 1.0.2

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 (90) hide show
  1. package/README.md +174 -0
  2. package/bin/gedcom-parser.js +3 -0
  3. package/dist/classes/common.js +7 -7
  4. package/dist/classes/date.js +4 -4
  5. package/dist/classes/fam.js +3 -3
  6. package/dist/classes/fams.js +3 -3
  7. package/dist/classes/gedcom.d.ts +29 -0
  8. package/dist/classes/gedcom.d.ts.map +1 -1
  9. package/dist/classes/gedcom.js +180 -4
  10. package/dist/classes/index.js +18 -18
  11. package/dist/classes/indi.js +13 -13
  12. package/dist/classes/indis.d.ts.map +1 -1
  13. package/dist/classes/indis.js +42 -24
  14. package/dist/classes/list.js +6 -6
  15. package/dist/classes/name.js +2 -2
  16. package/dist/classes/note.js +2 -2
  17. package/dist/classes/obje.js +1 -1
  18. package/dist/classes/objes.js +1 -1
  19. package/dist/classes/repo.js +1 -1
  20. package/dist/classes/repos.js +1 -1
  21. package/dist/classes/sour.js +1 -1
  22. package/dist/classes/sours.js +1 -1
  23. package/dist/classes/subm.js +1 -1
  24. package/dist/classes/subms.js +1 -1
  25. package/dist/cli/commands/convert.d.ts +3 -0
  26. package/dist/cli/commands/convert.d.ts.map +1 -0
  27. package/dist/cli/commands/convert.js +83 -0
  28. package/dist/cli/commands/extract.d.ts +3 -0
  29. package/dist/cli/commands/extract.d.ts.map +1 -0
  30. package/dist/cli/commands/extract.js +85 -0
  31. package/dist/cli/commands/find.d.ts +3 -0
  32. package/dist/cli/commands/find.d.ts.map +1 -0
  33. package/dist/cli/commands/find.js +97 -0
  34. package/dist/cli/commands/info.d.ts +3 -0
  35. package/dist/cli/commands/info.d.ts.map +1 -0
  36. package/dist/cli/commands/info.js +80 -0
  37. package/dist/cli/commands/merge.d.ts +3 -0
  38. package/dist/cli/commands/merge.d.ts.map +1 -0
  39. package/dist/cli/commands/merge.js +93 -0
  40. package/dist/cli/commands/relatives.d.ts +3 -0
  41. package/dist/cli/commands/relatives.d.ts.map +1 -0
  42. package/dist/cli/commands/relatives.js +107 -0
  43. package/dist/cli/commands/show.d.ts +3 -0
  44. package/dist/cli/commands/show.d.ts.map +1 -0
  45. package/dist/cli/commands/show.js +176 -0
  46. package/dist/cli/commands/stats.d.ts +3 -0
  47. package/dist/cli/commands/stats.d.ts.map +1 -0
  48. package/dist/cli/commands/stats.js +59 -0
  49. package/dist/cli/commands/validate.d.ts +3 -0
  50. package/dist/cli/commands/validate.d.ts.map +1 -0
  51. package/dist/cli/commands/validate.js +148 -0
  52. package/dist/cli/index.d.ts +3 -0
  53. package/dist/cli/index.d.ts.map +1 -0
  54. package/dist/cli/index.js +40 -0
  55. package/dist/cli/utils/formatters.d.ts +69 -0
  56. package/dist/cli/utils/formatters.d.ts.map +1 -0
  57. package/dist/cli/utils/formatters.js +125 -0
  58. package/dist/cli/utils/helpers.d.ts +21 -0
  59. package/dist/cli/utils/helpers.d.ts.map +1 -0
  60. package/dist/cli/utils/helpers.js +58 -0
  61. package/dist/constants/filters.js +1 -1
  62. package/dist/constants/index.js +3 -3
  63. package/dist/constants/orders.js +2 -2
  64. package/dist/factories/cache-factory.js +1 -1
  65. package/dist/factories/date-locale-factory.js +1 -1
  66. package/dist/factories/i18n-factory.js +1 -1
  67. package/dist/factories/index.js +4 -4
  68. package/dist/factories/kinship-factory.js +2 -2
  69. package/dist/factories/place-parser-provider.js +1 -1
  70. package/dist/factories/place-translator-provider.js +1 -1
  71. package/dist/index.js +37 -37
  72. package/dist/kinship-translator/index.js +9 -9
  73. package/dist/kinship-translator/kinship-translator.de.js +3 -3
  74. package/dist/kinship-translator/kinship-translator.en.js +4 -4
  75. package/dist/kinship-translator/kinship-translator.es.js +4 -4
  76. package/dist/kinship-translator/kinship-translator.fr.js +4 -4
  77. package/dist/kinship-translator/kinship-translator.hu.js +4 -4
  78. package/dist/kinship-translator/kinship-translator.js +1 -1
  79. package/dist/kinship-translator/translators.js +5 -5
  80. package/dist/types/index.js +3 -3
  81. package/dist/utils/cache.js +2 -2
  82. package/dist/utils/common-creator.js +11 -11
  83. package/dist/utils/date-formatter.js +3 -3
  84. package/dist/utils/get-places.js +1 -1
  85. package/dist/utils/get-product-details.js +1 -1
  86. package/dist/utils/index.js +16 -16
  87. package/dist/utils/name-formatter.js +2 -2
  88. package/dist/utils/nested-group.js +3 -3
  89. package/dist/utils/parser.js +14 -14
  90. package/package.json +13 -4
@@ -0,0 +1,125 @@
1
+ import chalk from 'chalk';
2
+ /**
3
+ * Format a success message
4
+ */
5
+ export function formatSuccess(message) {
6
+ return chalk.green(`✓ ${message}`);
7
+ }
8
+ /**
9
+ * Format a warning message
10
+ */
11
+ export function formatWarning(message) {
12
+ return chalk.yellow(`⚠ ${message}`);
13
+ }
14
+ /**
15
+ * Format an error message
16
+ */
17
+ export function formatError(message) {
18
+ return chalk.red(`✗ ${message}`);
19
+ }
20
+ /**
21
+ * Format an info message
22
+ */
23
+ export function formatInfo(message) {
24
+ return chalk.blue(`ℹ ${message}`);
25
+ }
26
+ /**
27
+ * Format a header
28
+ */
29
+ export function formatHeader(text) {
30
+ return chalk.bold.underline(text);
31
+ }
32
+ /**
33
+ * Format a field label
34
+ */
35
+ export function formatLabel(label) {
36
+ return chalk.cyan(`${label}:`);
37
+ }
38
+ /**
39
+ * Format a value
40
+ */
41
+ export function formatValue(value) {
42
+ if (value === null || value === undefined) {
43
+ return chalk.gray('(none)');
44
+ }
45
+ return chalk.white(String(value));
46
+ }
47
+ /**
48
+ * Format an ID
49
+ */
50
+ export function formatId(id) {
51
+ return chalk.magenta(id);
52
+ }
53
+ /**
54
+ * Format a count
55
+ */
56
+ export function formatCount(count) {
57
+ return chalk.yellow(count.toLocaleString());
58
+ }
59
+ /**
60
+ * Format a date
61
+ */
62
+ export function formatDate(date) {
63
+ if (!date) {
64
+ return chalk.gray('(unknown)');
65
+ }
66
+ return chalk.white(date);
67
+ }
68
+ /**
69
+ * Format a place
70
+ */
71
+ export function formatPlace(place) {
72
+ if (!place) {
73
+ return chalk.gray('(unknown)');
74
+ }
75
+ return chalk.white(place);
76
+ }
77
+ /**
78
+ * Format a name
79
+ */
80
+ export function formatName(name) {
81
+ if (!name) {
82
+ return chalk.gray('(unnamed)');
83
+ }
84
+ // Remove GEDCOM slashes from surname
85
+ const cleanName = name.replace(/\//g, '');
86
+ return chalk.white(cleanName);
87
+ }
88
+ /**
89
+ * Format a list item
90
+ */
91
+ export function formatListItem(text, indent = 0) {
92
+ const indentation = ' '.repeat(indent);
93
+ return `${indentation}- ${text}`;
94
+ }
95
+ /**
96
+ * Format a table row
97
+ */
98
+ export function formatTableRow(columns, widths) {
99
+ return columns
100
+ .map((col, i) => col.padEnd(widths[i]))
101
+ .join(' ');
102
+ }
103
+ /**
104
+ * Format a table separator
105
+ */
106
+ export function formatTableSeparator(widths) {
107
+ return widths
108
+ .map(width => '-'.repeat(width))
109
+ .join(' ');
110
+ }
111
+ /**
112
+ * Pretty print JSON
113
+ */
114
+ export function formatJson(data) {
115
+ return JSON.stringify(data, null, 2);
116
+ }
117
+ /**
118
+ * Format a progress indicator
119
+ */
120
+ export function formatProgress(current, total) {
121
+ const percentage = Math.round((current / total) * 100);
122
+ const bar = '█'.repeat(Math.floor(percentage / 5));
123
+ const empty = '░'.repeat(20 - Math.floor(percentage / 5));
124
+ return chalk.cyan(`[${bar}${empty}] ${percentage}%`);
125
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Read a GEDCOM file
3
+ */
4
+ export declare function readGedcomFile(filePath: string): string;
5
+ /**
6
+ * Handle CLI errors
7
+ */
8
+ export declare function handleError(error: unknown, context?: string): never;
9
+ /**
10
+ * Validate file path
11
+ */
12
+ export declare function validateFilePath(filePath: string | undefined, paramName: string): string;
13
+ /**
14
+ * Clean GEDCOM name by removing slashes
15
+ */
16
+ export declare function cleanGedcomName(name: string | undefined | null): string;
17
+ /**
18
+ * Format lifespan string
19
+ */
20
+ export declare function formatLifespan(birthDate: string | null | undefined, deathDate: string | null | undefined): string;
21
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/helpers.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAUnE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAMxF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,CAGvE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIjH"}
@@ -0,0 +1,58 @@
1
+ import { readFileSync } from 'fs';
2
+ import { formatError } from './formatters.js';
3
+ /**
4
+ * Read a GEDCOM file
5
+ */
6
+ export function readGedcomFile(filePath) {
7
+ try {
8
+ return readFileSync(filePath, 'utf-8');
9
+ }
10
+ catch (error) {
11
+ if (error instanceof Error) {
12
+ console.error(formatError(`Failed to read file: ${error.message}`));
13
+ }
14
+ else {
15
+ console.error(formatError('Failed to read file'));
16
+ }
17
+ process.exit(1);
18
+ }
19
+ }
20
+ /**
21
+ * Handle CLI errors
22
+ */
23
+ export function handleError(error, context) {
24
+ const contextMsg = context ? `${context}: ` : '';
25
+ if (error instanceof Error) {
26
+ console.error(formatError(`${contextMsg}${error.message}`));
27
+ }
28
+ else {
29
+ console.error(formatError(`${contextMsg}An unknown error occurred`));
30
+ }
31
+ process.exit(1);
32
+ }
33
+ /**
34
+ * Validate file path
35
+ */
36
+ export function validateFilePath(filePath, paramName) {
37
+ if (!filePath) {
38
+ console.error(formatError(`${paramName} is required`));
39
+ process.exit(1);
40
+ }
41
+ return filePath;
42
+ }
43
+ /**
44
+ * Clean GEDCOM name by removing slashes
45
+ */
46
+ export function cleanGedcomName(name) {
47
+ if (!name)
48
+ return '';
49
+ return name.replace(/\//g, '').trim();
50
+ }
51
+ /**
52
+ * Format lifespan string
53
+ */
54
+ export function formatLifespan(birthDate, deathDate) {
55
+ const birth = birthDate || '?';
56
+ const death = deathDate || '?';
57
+ return `(${birth} - ${death})`;
58
+ }
@@ -1,4 +1,4 @@
1
- import { RelationType, PartnerType, } from "../types/types";
1
+ import { RelationType, PartnerType, } from "../types/types.js";
2
2
  export const EVERY = {};
3
3
  export const FEMALE = {
4
4
  SEX: "F",
@@ -1,4 +1,4 @@
1
1
  // Constants exports - barrel file for easier imports
2
- export * from "./constants";
3
- export * from "./filters";
4
- export * from "./orders";
2
+ export * from "./constants.js";
3
+ export * from "./filters.js";
4
+ export * from "./orders.js";
@@ -1,5 +1,5 @@
1
- import { isCommonDate } from "../classes/date";
2
- import { getFamilyWith } from "../utils/get-family-with";
1
+ import { isCommonDate } from "../classes/date.js";
2
+ import { getFamilyWith } from "../utils/get-family-with.js";
3
3
  export const DEFAULT = {};
4
4
  export const BIRTH_ASC = {
5
5
  "BIRT.DATE": {
@@ -19,7 +19,7 @@ let cacheFactory = defaultCacheFactory;
19
19
  * @example
20
20
  * ```typescript
21
21
  * import { setCacheManagerFactory } from '@treeviz/gedcom-parser/factories/cache-factory';
22
- * import { getInstance } from './utils/indexed-db-manager';
22
+ * import { getInstance } from './utils/indexed-db-manager.js';
23
23
  *
24
24
  * setCacheManagerFactory(getInstance);
25
25
  * ```
@@ -9,7 +9,7 @@ let dateLocaleProvider = () => undefined;
9
9
  * @example
10
10
  * ```typescript
11
11
  * import { setDateLocaleProvider } from '@treeviz/gedcom-parser/factories/date-locale-factory';
12
- * import { getDateFnsLocale } from './constants/ui-options';
12
+ * import { getDateFnsLocale } from './constants/ui-options.js';
13
13
  *
14
14
  * setDateLocaleProvider(getDateFnsLocale);
15
15
  * ```
@@ -13,7 +13,7 @@ let i18nProvider = (key) => key;
13
13
  * @example
14
14
  * ```typescript
15
15
  * import { setI18nProvider } from '@treeviz/gedcom-parser/factories/i18n-factory';
16
- * import i18n from './translation/i18n';
16
+ * import i18n from './translation/i18n.js';
17
17
  *
18
18
  * setI18nProvider((key, options) => i18n.t(key, options));
19
19
  * ```
@@ -1,5 +1,5 @@
1
1
  // Factories exports - barrel file for easier imports
2
- export * from "./cache-factory";
3
- export * from "./date-locale-factory";
4
- export * from "./i18n-factory";
5
- export * from "./kinship-factory";
2
+ export * from "./cache-factory.js";
3
+ export * from "./date-locale-factory.js";
4
+ export * from "./i18n-factory.js";
5
+ export * from "./kinship-factory.js";
@@ -1,4 +1,4 @@
1
- import KinshipTranslator from "../kinship-translator/kinship-translator";
1
+ import KinshipTranslator from "../kinship-translator/kinship-translator.js";
2
2
  /**
3
3
  * Default kinship translator (uses the built-in translator)
4
4
  */
@@ -10,7 +10,7 @@ let KinshipTranslatorClass = KinshipTranslator;
10
10
  * @example
11
11
  * ```typescript
12
12
  * import { setKinshipTranslatorClass } from '@treeviz/gedcom-parser/factories/kinship-factory';
13
- * import MyCustomKinshipTranslator from './my-custom-kinship-translator';
13
+ * import MyCustomKinshipTranslator from './my-custom-kinship-translator.js';
14
14
  *
15
15
  * setKinshipTranslatorClass(MyCustomKinshipTranslator);
16
16
  * ```
@@ -12,7 +12,7 @@ let placeParserProvider;
12
12
  * @example
13
13
  * ```typescript
14
14
  * import { setPlaceParserProvider } from '@treeviz/gedcom-parser';
15
- * import { getPlaceParts } from './my-place-parser';
15
+ * import { getPlaceParts } from './my-place-parser.js';
16
16
  *
17
17
  * setPlaceParserProvider(getPlaceParts);
18
18
  * ```
@@ -12,7 +12,7 @@ let placeTranslatorProvider;
12
12
  * @example
13
13
  * ```typescript
14
14
  * import { setPlaceTranslatorProvider } from '@treeviz/gedcom-parser';
15
- * import { placeTranslator } from './my-place-translator';
15
+ * import { placeTranslator } from './my-place-translator.js';
16
16
  *
17
17
  * setPlaceTranslatorProvider(placeTranslator);
18
18
  * ```
package/dist/index.js CHANGED
@@ -1,44 +1,44 @@
1
1
  // Parser
2
- export * from "./utils/parser";
3
- export { default } from "./utils/parser";
4
- export { default as GedcomTree } from "./utils/parser";
2
+ export * from "./utils/parser.js";
3
+ export { default } from "./utils/parser.js";
4
+ export { default as GedcomTree } from "./utils/parser.js";
5
5
  // Factories - Pluggable dependencies
6
- export { setCacheManagerFactory, getCacheManagerFactory, resetCacheManagerFactory, } from "./factories/cache-factory";
7
- export { setKinshipTranslatorClass, getKinshipTranslatorClass, resetKinshipTranslatorClass, } from "./factories/kinship-factory";
8
- export { setDateLocaleProvider, getDateLocale, resetDateLocaleProvider, } from "./factories/date-locale-factory";
9
- export { setI18nProvider, getI18n, resetI18nProvider, } from "./factories/i18n-factory";
10
- export { setPlaceParserProvider, getPlaceParserProvider, resetPlaceParserProvider, } from "./factories/place-parser-provider";
11
- export { setPlaceTranslatorProvider, getPlaceTranslatorProvider, resetPlaceTranslatorProvider, } from "./factories/place-translator-provider";
6
+ export { setCacheManagerFactory, getCacheManagerFactory, resetCacheManagerFactory, } from "./factories/cache-factory.js";
7
+ export { setKinshipTranslatorClass, getKinshipTranslatorClass, resetKinshipTranslatorClass, } from "./factories/kinship-factory.js";
8
+ export { setDateLocaleProvider, getDateLocale, resetDateLocaleProvider, } from "./factories/date-locale-factory.js";
9
+ export { setI18nProvider, getI18n, resetI18nProvider, } from "./factories/i18n-factory.js";
10
+ export { setPlaceParserProvider, getPlaceParserProvider, resetPlaceParserProvider, } from "./factories/place-parser-provider.js";
11
+ export { setPlaceTranslatorProvider, getPlaceTranslatorProvider, resetPlaceTranslatorProvider, } from "./factories/place-translator-provider.js";
12
12
  // Kinship translator
13
- export { default as KinshipTranslator } from "./kinship-translator/kinship-translator";
13
+ export { default as KinshipTranslator } from "./kinship-translator/kinship-translator.js";
14
14
  // Settings
15
- export * from "./types/types";
15
+ export * from "./types/types.js";
16
16
  // Classes - export everything from each class
17
- export * from "./classes/common";
18
- export * from "./classes/gedcom";
19
- export * from "./classes/indis";
20
- export * from "./classes/fam";
21
- export * from "./classes/fams";
22
- export * from "./classes/sour";
23
- export * from "./classes/sours";
24
- export * from "./classes/repo";
25
- export * from "./classes/repos";
26
- export * from "./classes/subm";
27
- export * from "./classes/subms";
28
- export * from "./classes/note";
29
- export * from "./classes/name";
30
- export * from "./classes/date";
31
- export * from "./classes/indi";
32
- export * from "./classes/obje";
33
- export * from "./classes/objes";
34
- export * from "./classes/list";
17
+ export * from "./classes/common.js";
18
+ export * from "./classes/gedcom.js";
19
+ export * from "./classes/indis.js";
20
+ export * from "./classes/fam.js";
21
+ export * from "./classes/fams.js";
22
+ export * from "./classes/sour.js";
23
+ export * from "./classes/sours.js";
24
+ export * from "./classes/repo.js";
25
+ export * from "./classes/repos.js";
26
+ export * from "./classes/subm.js";
27
+ export * from "./classes/subms.js";
28
+ export * from "./classes/note.js";
29
+ export * from "./classes/name.js";
30
+ export * from "./classes/date.js";
31
+ export * from "./classes/indi.js";
32
+ export * from "./classes/obje.js";
33
+ export * from "./classes/objes.js";
34
+ export * from "./classes/list.js";
35
35
  // Utils - commonly used utilities
36
- export * from "./utils/cache";
37
- export { getRawSize } from "./utils/get-raw-size";
38
- export * from "./utils/date-formatter";
39
- export * from "./utils/name-formatter";
40
- export * from "./utils/place-parser";
41
- export * from "./utils/get-places";
42
- export * from "./utils/place-translator";
36
+ export * from "./utils/cache.js";
37
+ export { getRawSize } from "./utils/get-raw-size.js";
38
+ export * from "./utils/date-formatter.js";
39
+ export * from "./utils/name-formatter.js";
40
+ export * from "./utils/place-parser.js";
41
+ export * from "./utils/get-places.js";
42
+ export * from "./utils/place-translator.js";
43
43
  // Range utilities are already exported from types/types
44
- export { inRange, isIntersectedRange, splitRange, fromTuple, parseRangeBounds, isRangeContained, extractSplitPoints, generateSplitRanges, splitOverlappingRanges, findMatchingRangeForSplitRange, extractSeparationYears, } from "./utils/range";
44
+ export { inRange, isIntersectedRange, splitRange, fromTuple, parseRangeBounds, isRangeContained, extractSplitPoints, generateSplitRanges, splitOverlappingRanges, findMatchingRangeForSplitRange, extractSeparationYears, } from "./utils/range.js";
@@ -1,10 +1,10 @@
1
1
  // Export kinship translator classes and types
2
- export { default as KinshipTranslatorBasic } from "./kinship-translator.basic";
3
- export { default as KinshipTranslatorDE } from "./kinship-translator.de";
4
- export { default as KinshipTranslatorEN } from "./kinship-translator.en";
5
- export { default as KinshipTranslatorES } from "./kinship-translator.es";
6
- export { default as KinshipTranslatorFR } from "./kinship-translator.fr";
7
- export { default as KinshipTranslatorHU } from "./kinship-translator.hu";
8
- export { default as KinshipTranslator } from "./kinship-translator";
9
- export * from "./types";
10
- export * as translators from "./translators";
2
+ export { default as KinshipTranslatorBasic } from "./kinship-translator.basic.js";
3
+ export { default as KinshipTranslatorDE } from "./kinship-translator.de.js";
4
+ export { default as KinshipTranslatorEN } from "./kinship-translator.en.js";
5
+ export { default as KinshipTranslatorES } from "./kinship-translator.es.js";
6
+ export { default as KinshipTranslatorFR } from "./kinship-translator.fr.js";
7
+ export { default as KinshipTranslatorHU } from "./kinship-translator.hu.js";
8
+ export { default as KinshipTranslator } from "./kinship-translator.js";
9
+ export * from "./types.js";
10
+ export * as translators from "./translators.js";
@@ -1,6 +1,6 @@
1
- import { nameFormatter } from "../utils/name-formatter";
2
- import KinshipTranslatorBasic from "./kinship-translator.basic";
3
- import { InLawsDe } from "./patterns.de";
1
+ import { nameFormatter } from "../utils/name-formatter.js";
2
+ import KinshipTranslatorBasic from "./kinship-translator.basic.js";
3
+ import { InLawsDe } from "./patterns.de.js";
4
4
  export default class KinshipTranslatorDe extends KinshipTranslatorBasic {
5
5
  directPrefix() {
6
6
  const level = Math.abs(this.pathN?.level ?? 0);
@@ -1,7 +1,7 @@
1
- import { nameFormatter } from "../utils/name-formatter";
2
- import { ordinalize } from "../utils/ordinalize";
3
- import KinshipTranslatorBasic from "./kinship-translator.basic";
4
- import { InLawsEn } from "./patterns.en";
1
+ import { nameFormatter } from "../utils/name-formatter.js";
2
+ import { ordinalize } from "../utils/ordinalize.js";
3
+ import KinshipTranslatorBasic from "./kinship-translator.basic.js";
4
+ import { InLawsEn } from "./patterns.en.js";
5
5
  export default class KinshipTranslatorEn extends KinshipTranslatorBasic {
6
6
  directPrefix() {
7
7
  const level = Math.abs(this.pathN?.level ?? 0);
@@ -1,7 +1,7 @@
1
- import { nameFormatter } from "../utils/name-formatter";
2
- import { ordinalize } from "../utils/ordinalize";
3
- import KinshipTranslatorBasic from "./kinship-translator.basic";
4
- import { InLawsEs } from "./patterns.es";
1
+ import { nameFormatter } from "../utils/name-formatter.js";
2
+ import { ordinalize } from "../utils/ordinalize.js";
3
+ import KinshipTranslatorBasic from "./kinship-translator.basic.js";
4
+ import { InLawsEs } from "./patterns.es.js";
5
5
  export default class KinshipTranslatorEs extends KinshipTranslatorBasic {
6
6
  directPrefix() {
7
7
  const level = Math.abs(this.pathN?.level ?? 0);
@@ -1,7 +1,7 @@
1
- import { nameFormatter } from "../utils/name-formatter";
2
- import { ordinalize } from "../utils/ordinalize";
3
- import KinshipTranslatorBasic from "./kinship-translator.basic";
4
- import { InLawsFr } from "./patterns.fr";
1
+ import { nameFormatter } from "../utils/name-formatter.js";
2
+ import { ordinalize } from "../utils/ordinalize.js";
3
+ import KinshipTranslatorBasic from "./kinship-translator.basic.js";
4
+ import { InLawsFr } from "./patterns.fr.js";
5
5
  export default class KinshipTranslatorFr extends KinshipTranslatorBasic {
6
6
  directPrefix() {
7
7
  const level = Math.abs(this.pathN?.level ?? 0);
@@ -1,7 +1,7 @@
1
- import { nameFormatter } from "../utils/name-formatter";
2
- import { hungarianOrdinalize } from "../utils/ordinalize";
3
- import KinshipTranslatorBasic from "./kinship-translator.basic";
4
- import { InLawsHu, casesHu, parentRelationsHu } from "./patterns.hu";
1
+ import { nameFormatter } from "../utils/name-formatter.js";
2
+ import { hungarianOrdinalize } from "../utils/ordinalize.js";
3
+ import KinshipTranslatorBasic from "./kinship-translator.basic.js";
4
+ import { InLawsHu, casesHu, parentRelationsHu } from "./patterns.hu.js";
5
5
  export default class KinshipTranslatorHU extends KinshipTranslatorBasic {
6
6
  directPrefix(l) {
7
7
  const level = l === undefined ? Math.abs(this.pathN?.level ?? 0) : l;
@@ -1,4 +1,4 @@
1
- import * as translators from "./translators";
1
+ import * as translators from "./translators.js";
2
2
  export default class KinshipTranslator {
3
3
  constructor(person1, person2, lang = "en", entirePath, displayName = "givenname") {
4
4
  this.displayName = displayName;
@@ -1,5 +1,5 @@
1
- export { default as hu } from "./kinship-translator.hu";
2
- export { default as en } from "./kinship-translator.en";
3
- export { default as de } from "./kinship-translator.de";
4
- export { default as fr } from "./kinship-translator.fr";
5
- export { default as es } from "./kinship-translator.es";
1
+ export { default as hu } from "./kinship-translator.hu.js";
2
+ export { default as en } from "./kinship-translator.en.js";
3
+ export { default as de } from "./kinship-translator.de.js";
4
+ export { default as fr } from "./kinship-translator.fr.js";
5
+ export { default as es } from "./kinship-translator.es.js";
@@ -1,4 +1,4 @@
1
1
  // Export all types
2
- export * from "./ancestry-media";
3
- export * from "./settings";
4
- export * from "./types";
2
+ export * from "./ancestry-media.js";
3
+ export * from "./settings.js";
4
+ export * from "./types.js";
@@ -1,5 +1,5 @@
1
- import debounce from "lodash/debounce";
2
- import { getCacheManagerFactory } from "../factories/cache-factory";
1
+ import debounce from "lodash-es/debounce.js";
2
+ import { getCacheManagerFactory } from "../factories/cache-factory.js";
3
3
  const caches = {
4
4
  pathCache: {},
5
5
  relativesOnDegreeCache: {},
@@ -1,14 +1,14 @@
1
- import { createCommon } from "../classes/common";
2
- import { createCommonDate } from "../classes/date";
3
- import { createFam } from "../classes/fam";
4
- import { GedCom } from "../classes/gedcom";
5
- import { createIndi, Indi } from "../classes/indi";
6
- import { createCommonName } from "../classes/name";
7
- import { createCommonNote } from "../classes/note";
8
- import { createObje } from "../classes/obje";
9
- import { createRepo } from "../classes/repo";
10
- import { createSour } from "../classes/sour";
11
- import { createSubm } from "../classes/subm";
1
+ import { createCommon } from "../classes/common.js";
2
+ import { createCommonDate } from "../classes/date.js";
3
+ import { createFam } from "../classes/fam.js";
4
+ import { GedCom } from "../classes/gedcom.js";
5
+ import { createIndi, Indi } from "../classes/indi.js";
6
+ import { createCommonName } from "../classes/name.js";
7
+ import { createCommonNote } from "../classes/note.js";
8
+ import { createObje } from "../classes/obje.js";
9
+ import { createRepo } from "../classes/repo.js";
10
+ import { createSour } from "../classes/sour.js";
11
+ import { createSubm } from "../classes/subm.js";
12
12
  export const create = (gedcom, type, id, nodes) => {
13
13
  let mainNode = nodes?.mainNode;
14
14
  const curNode = nodes?.curNode;
@@ -1,6 +1,6 @@
1
- import { createCommonDate } from "../classes/date";
2
- import { i18n } from "../factories/i18n-factory";
3
- import { getAllProp } from "./get-all-prop";
1
+ import { createCommonDate } from "../classes/date.js";
2
+ import { i18n } from "../factories/i18n-factory.js";
3
+ import { getAllProp } from "./get-all-prop.js";
4
4
  export const ACCEPTED_DATE_FORMATS = [
5
5
  "yyyy.MM.dd.",
6
6
  "yyyy-MM-dd",
@@ -1,4 +1,4 @@
1
- import { List } from "../classes/list";
1
+ import { List } from "../classes/list.js";
2
2
  export var PlaceType;
3
3
  (function (PlaceType) {
4
4
  PlaceType["All"] = "ALL";
@@ -1,4 +1,4 @@
1
- import PKG from "../../package.json";
1
+ import PKG from "../../package.json" with { type: "json" };
2
2
  export const isDevelopment = () => {
3
3
  return !process.env.NODE_ENV || process.env.NODE_ENV === "development";
4
4
  };
@@ -1,18 +1,18 @@
1
1
  // Utils exports - barrel file for easier imports
2
- export * from "./cache";
3
- export * from "./common-creator";
4
- export * from "./date-formatter";
5
- export * from "./get-all-prop";
6
- export * from "./get-family-with";
7
- export * from "./get-places";
8
- export * from "./get-product-details";
9
- export { getRawSize } from "./get-raw-size";
10
- export * from "./logger";
11
- export * from "./name-formatter";
12
- export * from "./nested-group";
13
- export * from "./ordinalize";
14
- export { default as GedcomTree } from "./parser";
15
- export * from "./place-parser";
16
- export * from "./place-translator";
2
+ export * from "./cache.js";
3
+ export * from "./common-creator.js";
4
+ export * from "./date-formatter.js";
5
+ export * from "./get-all-prop.js";
6
+ export * from "./get-family-with.js";
7
+ export * from "./get-places.js";
8
+ export * from "./get-product-details.js";
9
+ export { getRawSize } from "./get-raw-size.js";
10
+ export * from "./logger.js";
11
+ export * from "./name-formatter.js";
12
+ export * from "./nested-group.js";
13
+ export * from "./ordinalize.js";
14
+ export { default as GedcomTree } from "./parser.js";
15
+ export * from "./place-parser.js";
16
+ export * from "./place-translator.js";
17
17
  // Note: place-types is already exported by get-places
18
- export * from "./range";
18
+ export * from "./range.js";
@@ -1,5 +1,5 @@
1
- import { Indi } from "../classes/indi";
2
- import { createCommonName } from "../classes/name";
1
+ import { Indi } from "../classes/indi.js";
2
+ import { createCommonName } from "../classes/name.js";
3
3
  export const nameFormatter = (indiName, settings, letterOnAll = true, indi, debug) => {
4
4
  const { nameOrder = "first-last", maxGivennames = 0, maxSurnames = 0, } = settings ?? {};
5
5
  const rawName = indiName instanceof Indi
@@ -1,6 +1,6 @@
1
- import get from "lodash/get";
2
- import set from "lodash/set";
3
- import { Individuals as IndividualsClass } from "../classes/indis";
1
+ import get from "lodash-es/get.js";
2
+ import set from "lodash-es/set.js";
3
+ import { Individuals as IndividualsClass } from "../classes/indis.js";
4
4
  // Use a WeakMap to track unique items for each node without polluting the object
5
5
  const uniqueItemsCache = new WeakMap();
6
6
  export const setNestedGroup = (obj, key, value, uniqueCounting = true) => {