@treeviz/gedcom-parser 1.0.13 → 1.0.15

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 (367) hide show
  1. package/dist/classes/index.d.ts +2 -28
  2. package/dist/classes/index.js +6713 -21
  3. package/dist/classes/index.js.map +1 -0
  4. package/dist/cli/index.d.ts +0 -2
  5. package/dist/cli/index.js +7826 -24
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/constants/index.d.ts +49 -4
  8. package/dist/constants/index.js +5797 -4
  9. package/dist/constants/index.js.map +1 -0
  10. package/dist/factories/index.d.ts +202 -13
  11. package/dist/factories/index.js +5782 -8
  12. package/dist/factories/index.js.map +1 -0
  13. package/dist/index-BvW-KWJP.d.ts +1654 -0
  14. package/dist/index.d.ts +9 -28
  15. package/dist/index.js +7380 -35
  16. package/dist/index.js.map +1 -0
  17. package/dist/interfaces/index.d.ts +2 -12
  18. package/dist/interfaces/index.js +3 -1
  19. package/dist/interfaces/index.js.map +1 -0
  20. package/dist/kinship-translator/index.d.ts +146 -11
  21. package/dist/kinship-translator/index.js +5727 -9
  22. package/dist/kinship-translator/index.js.map +1 -0
  23. package/dist/place-parser-RlXCXZ8F.d.ts +37 -0
  24. package/dist/structures/index.d.ts +25 -27
  25. package/dist/structures/index.js +3 -1
  26. package/dist/structures/index.js.map +1 -0
  27. package/dist/types/index.d.ts +69 -8
  28. package/dist/types/index.js +31 -6
  29. package/dist/types/index.js.map +1 -0
  30. package/dist/utils/index.d.ts +91 -18
  31. package/dist/utils/index.js +6953 -17
  32. package/dist/utils/index.js.map +1 -0
  33. package/package.json +4 -3
  34. package/dist/classes/common.d.ts +0 -91
  35. package/dist/classes/common.d.ts.map +0 -1
  36. package/dist/classes/common.js +0 -488
  37. package/dist/classes/date.d.ts +0 -27
  38. package/dist/classes/date.d.ts.map +0 -1
  39. package/dist/classes/date.js +0 -178
  40. package/dist/classes/fam.d.ts +0 -19
  41. package/dist/classes/fam.d.ts.map +0 -1
  42. package/dist/classes/fam.js +0 -38
  43. package/dist/classes/fams.d.ts +0 -16
  44. package/dist/classes/fams.d.ts.map +0 -1
  45. package/dist/classes/fams.js +0 -41
  46. package/dist/classes/gedcom.d.ts +0 -139
  47. package/dist/classes/gedcom.d.ts.map +0 -1
  48. package/dist/classes/gedcom.js +0 -910
  49. package/dist/classes/index.d.ts.map +0 -1
  50. package/dist/classes/indi.d.ts +0 -323
  51. package/dist/classes/indi.d.ts.map +0 -1
  52. package/dist/classes/indi.js +0 -2131
  53. package/dist/classes/indis.d.ts +0 -55
  54. package/dist/classes/indis.d.ts.map +0 -1
  55. package/dist/classes/indis.js +0 -457
  56. package/dist/classes/list.d.ts +0 -55
  57. package/dist/classes/list.d.ts.map +0 -1
  58. package/dist/classes/list.js +0 -440
  59. package/dist/classes/name.d.ts +0 -20
  60. package/dist/classes/name.d.ts.map +0 -1
  61. package/dist/classes/name.js +0 -48
  62. package/dist/classes/note.d.ts +0 -12
  63. package/dist/classes/note.d.ts.map +0 -1
  64. package/dist/classes/note.js +0 -46
  65. package/dist/classes/obje.d.ts +0 -12
  66. package/dist/classes/obje.d.ts.map +0 -1
  67. package/dist/classes/obje.js +0 -81
  68. package/dist/classes/objes.d.ts +0 -8
  69. package/dist/classes/objes.d.ts.map +0 -1
  70. package/dist/classes/objes.js +0 -13
  71. package/dist/classes/repo.d.ts +0 -11
  72. package/dist/classes/repo.d.ts.map +0 -1
  73. package/dist/classes/repo.js +0 -6
  74. package/dist/classes/repos.d.ts +0 -8
  75. package/dist/classes/repos.d.ts.map +0 -1
  76. package/dist/classes/repos.js +0 -13
  77. package/dist/classes/sour.d.ts +0 -11
  78. package/dist/classes/sour.d.ts.map +0 -1
  79. package/dist/classes/sour.js +0 -6
  80. package/dist/classes/sours.d.ts +0 -8
  81. package/dist/classes/sours.d.ts.map +0 -1
  82. package/dist/classes/sours.js +0 -13
  83. package/dist/classes/subm.d.ts +0 -10
  84. package/dist/classes/subm.d.ts.map +0 -1
  85. package/dist/classes/subm.js +0 -6
  86. package/dist/classes/subms.d.ts +0 -8
  87. package/dist/classes/subms.d.ts.map +0 -1
  88. package/dist/classes/subms.js +0 -13
  89. package/dist/cli/commands/convert.d.ts +0 -3
  90. package/dist/cli/commands/convert.d.ts.map +0 -1
  91. package/dist/cli/commands/convert.js +0 -83
  92. package/dist/cli/commands/extract.d.ts +0 -3
  93. package/dist/cli/commands/extract.d.ts.map +0 -1
  94. package/dist/cli/commands/extract.js +0 -85
  95. package/dist/cli/commands/find.d.ts +0 -3
  96. package/dist/cli/commands/find.d.ts.map +0 -1
  97. package/dist/cli/commands/find.js +0 -97
  98. package/dist/cli/commands/info.d.ts +0 -3
  99. package/dist/cli/commands/info.d.ts.map +0 -1
  100. package/dist/cli/commands/info.js +0 -80
  101. package/dist/cli/commands/merge.d.ts +0 -3
  102. package/dist/cli/commands/merge.d.ts.map +0 -1
  103. package/dist/cli/commands/merge.js +0 -61
  104. package/dist/cli/commands/relatives.d.ts +0 -3
  105. package/dist/cli/commands/relatives.d.ts.map +0 -1
  106. package/dist/cli/commands/relatives.js +0 -107
  107. package/dist/cli/commands/show.d.ts +0 -3
  108. package/dist/cli/commands/show.d.ts.map +0 -1
  109. package/dist/cli/commands/show.js +0 -176
  110. package/dist/cli/commands/stats.d.ts +0 -3
  111. package/dist/cli/commands/stats.d.ts.map +0 -1
  112. package/dist/cli/commands/stats.js +0 -59
  113. package/dist/cli/commands/validate.d.ts +0 -3
  114. package/dist/cli/commands/validate.d.ts.map +0 -1
  115. package/dist/cli/commands/validate.js +0 -148
  116. package/dist/cli/index.d.ts.map +0 -1
  117. package/dist/cli/utils/formatters.d.ts +0 -69
  118. package/dist/cli/utils/formatters.d.ts.map +0 -1
  119. package/dist/cli/utils/formatters.js +0 -125
  120. package/dist/cli/utils/helpers.d.ts +0 -21
  121. package/dist/cli/utils/helpers.d.ts.map +0 -1
  122. package/dist/cli/utils/helpers.js +0 -58
  123. package/dist/constants/constants.d.ts +0 -14
  124. package/dist/constants/constants.d.ts.map +0 -1
  125. package/dist/constants/constants.js +0 -13
  126. package/dist/constants/filters.d.ts +0 -18
  127. package/dist/constants/filters.d.ts.map +0 -1
  128. package/dist/constants/filters.js +0 -44
  129. package/dist/constants/index.d.ts.map +0 -1
  130. package/dist/constants/orders.d.ts +0 -17
  131. package/dist/constants/orders.d.ts.map +0 -1
  132. package/dist/constants/orders.js +0 -240
  133. package/dist/factories/cache-factory.d.ts +0 -30
  134. package/dist/factories/cache-factory.d.ts.map +0 -1
  135. package/dist/factories/cache-factory.js +0 -43
  136. package/dist/factories/date-locale-factory.d.ts +0 -30
  137. package/dist/factories/date-locale-factory.d.ts.map +0 -1
  138. package/dist/factories/date-locale-factory.js +0 -34
  139. package/dist/factories/i18n-factory.d.ts +0 -40
  140. package/dist/factories/i18n-factory.d.ts.map +0 -1
  141. package/dist/factories/i18n-factory.js +0 -44
  142. package/dist/factories/index.d.ts.map +0 -1
  143. package/dist/factories/kinship-factory.d.ts +0 -38
  144. package/dist/factories/kinship-factory.d.ts.map +0 -1
  145. package/dist/factories/kinship-factory.js +0 -35
  146. package/dist/factories/place-parser-provider.d.ts +0 -32
  147. package/dist/factories/place-parser-provider.d.ts.map +0 -1
  148. package/dist/factories/place-parser-provider.js +0 -35
  149. package/dist/factories/place-translator-provider.d.ts +0 -32
  150. package/dist/factories/place-translator-provider.d.ts.map +0 -1
  151. package/dist/factories/place-translator-provider.js +0 -35
  152. package/dist/index.d.ts.map +0 -1
  153. package/dist/interfaces/common.d.ts +0 -43
  154. package/dist/interfaces/common.d.ts.map +0 -1
  155. package/dist/interfaces/common.js +0 -1
  156. package/dist/interfaces/fam.d.ts +0 -11
  157. package/dist/interfaces/fam.d.ts.map +0 -1
  158. package/dist/interfaces/fam.js +0 -1
  159. package/dist/interfaces/fams.d.ts +0 -9
  160. package/dist/interfaces/fams.d.ts.map +0 -1
  161. package/dist/interfaces/fams.js +0 -1
  162. package/dist/interfaces/gedcom.d.ts +0 -30
  163. package/dist/interfaces/gedcom.d.ts.map +0 -1
  164. package/dist/interfaces/gedcom.js +0 -1
  165. package/dist/interfaces/index.d.ts.map +0 -1
  166. package/dist/interfaces/indi.d.ts +0 -113
  167. package/dist/interfaces/indi.d.ts.map +0 -1
  168. package/dist/interfaces/indi.js +0 -1
  169. package/dist/interfaces/indis.d.ts +0 -31
  170. package/dist/interfaces/indis.d.ts.map +0 -1
  171. package/dist/interfaces/indis.js +0 -1
  172. package/dist/interfaces/list.d.ts +0 -52
  173. package/dist/interfaces/list.d.ts.map +0 -1
  174. package/dist/interfaces/list.js +0 -1
  175. package/dist/interfaces/obje.d.ts +0 -7
  176. package/dist/interfaces/obje.d.ts.map +0 -1
  177. package/dist/interfaces/obje.js +0 -1
  178. package/dist/interfaces/repo.d.ts +0 -7
  179. package/dist/interfaces/repo.d.ts.map +0 -1
  180. package/dist/interfaces/repo.js +0 -1
  181. package/dist/interfaces/sour.d.ts +0 -7
  182. package/dist/interfaces/sour.d.ts.map +0 -1
  183. package/dist/interfaces/sour.js +0 -1
  184. package/dist/interfaces/subm.d.ts +0 -6
  185. package/dist/interfaces/subm.d.ts.map +0 -1
  186. package/dist/interfaces/subm.js +0 -1
  187. package/dist/kinship-translator/index.d.ts.map +0 -1
  188. package/dist/kinship-translator/kinship-translator.basic.d.ts +0 -30
  189. package/dist/kinship-translator/kinship-translator.basic.d.ts.map +0 -1
  190. package/dist/kinship-translator/kinship-translator.basic.js +0 -74
  191. package/dist/kinship-translator/kinship-translator.d.ts +0 -26
  192. package/dist/kinship-translator/kinship-translator.d.ts.map +0 -1
  193. package/dist/kinship-translator/kinship-translator.de.d.ts +0 -18
  194. package/dist/kinship-translator/kinship-translator.de.d.ts.map +0 -1
  195. package/dist/kinship-translator/kinship-translator.de.js +0 -180
  196. package/dist/kinship-translator/kinship-translator.en.d.ts +0 -18
  197. package/dist/kinship-translator/kinship-translator.en.d.ts.map +0 -1
  198. package/dist/kinship-translator/kinship-translator.en.js +0 -182
  199. package/dist/kinship-translator/kinship-translator.es.d.ts +0 -18
  200. package/dist/kinship-translator/kinship-translator.es.d.ts.map +0 -1
  201. package/dist/kinship-translator/kinship-translator.es.js +0 -181
  202. package/dist/kinship-translator/kinship-translator.fr.d.ts +0 -18
  203. package/dist/kinship-translator/kinship-translator.fr.d.ts.map +0 -1
  204. package/dist/kinship-translator/kinship-translator.fr.js +0 -181
  205. package/dist/kinship-translator/kinship-translator.hu.d.ts +0 -19
  206. package/dist/kinship-translator/kinship-translator.hu.d.ts.map +0 -1
  207. package/dist/kinship-translator/kinship-translator.hu.js +0 -226
  208. package/dist/kinship-translator/kinship-translator.interface.d.ts +0 -19
  209. package/dist/kinship-translator/kinship-translator.interface.d.ts.map +0 -1
  210. package/dist/kinship-translator/kinship-translator.interface.js +0 -1
  211. package/dist/kinship-translator/kinship-translator.js +0 -103
  212. package/dist/kinship-translator/patterns.de.d.ts +0 -2
  213. package/dist/kinship-translator/patterns.de.d.ts.map +0 -1
  214. package/dist/kinship-translator/patterns.de.js +0 -14
  215. package/dist/kinship-translator/patterns.en.d.ts +0 -2
  216. package/dist/kinship-translator/patterns.en.d.ts.map +0 -1
  217. package/dist/kinship-translator/patterns.en.js +0 -14
  218. package/dist/kinship-translator/patterns.es.d.ts +0 -2
  219. package/dist/kinship-translator/patterns.es.d.ts.map +0 -1
  220. package/dist/kinship-translator/patterns.es.js +0 -14
  221. package/dist/kinship-translator/patterns.fr.d.ts +0 -2
  222. package/dist/kinship-translator/patterns.fr.d.ts.map +0 -1
  223. package/dist/kinship-translator/patterns.fr.js +0 -14
  224. package/dist/kinship-translator/patterns.hu.d.ts +0 -6
  225. package/dist/kinship-translator/patterns.hu.d.ts.map +0 -1
  226. package/dist/kinship-translator/patterns.hu.js +0 -97
  227. package/dist/kinship-translator/translators.d.ts +0 -6
  228. package/dist/kinship-translator/translators.d.ts.map +0 -1
  229. package/dist/kinship-translator/translators.js +0 -5
  230. package/dist/kinship-translator/types.d.ts +0 -9
  231. package/dist/kinship-translator/types.d.ts.map +0 -1
  232. package/dist/kinship-translator/types.js +0 -1
  233. package/dist/structures/address.d.ts +0 -14
  234. package/dist/structures/address.d.ts.map +0 -1
  235. package/dist/structures/address.js +0 -1
  236. package/dist/structures/association.d.ts +0 -13
  237. package/dist/structures/association.d.ts.map +0 -1
  238. package/dist/structures/association.js +0 -1
  239. package/dist/structures/change-date.d.ts +0 -8
  240. package/dist/structures/change-date.d.ts.map +0 -1
  241. package/dist/structures/change-date.js +0 -1
  242. package/dist/structures/creation-date.d.ts +0 -7
  243. package/dist/structures/creation-date.d.ts.map +0 -1
  244. package/dist/structures/creation-date.js +0 -1
  245. package/dist/structures/date.d.ts +0 -9
  246. package/dist/structures/date.d.ts.map +0 -1
  247. package/dist/structures/date.js +0 -1
  248. package/dist/structures/event-detail-structure.d.ts +0 -25
  249. package/dist/structures/event-detail-structure.d.ts.map +0 -1
  250. package/dist/structures/event-detail-structure.js +0 -1
  251. package/dist/structures/family.d.ts +0 -34
  252. package/dist/structures/family.d.ts.map +0 -1
  253. package/dist/structures/family.js +0 -1
  254. package/dist/structures/gedcom.d.ts +0 -59
  255. package/dist/structures/gedcom.d.ts.map +0 -1
  256. package/dist/structures/gedcom.js +0 -1
  257. package/dist/structures/index.d.ts.map +0 -1
  258. package/dist/structures/individual-event-detail-structure.d.ts +0 -9
  259. package/dist/structures/individual-event-detail-structure.d.ts.map +0 -1
  260. package/dist/structures/individual-event-detail-structure.js +0 -1
  261. package/dist/structures/individual-event-structure.d.ts +0 -83
  262. package/dist/structures/individual-event-structure.d.ts.map +0 -1
  263. package/dist/structures/individual-event-structure.js +0 -1
  264. package/dist/structures/individual.d.ts +0 -40
  265. package/dist/structures/individual.d.ts.map +0 -1
  266. package/dist/structures/individual.js +0 -1
  267. package/dist/structures/lds-ordinance-detail.d.ts +0 -17
  268. package/dist/structures/lds-ordinance-detail.d.ts.map +0 -1
  269. package/dist/structures/lds-ordinance-detail.js +0 -1
  270. package/dist/structures/lds-spouse-sealing.d.ts +0 -7
  271. package/dist/structures/lds-spouse-sealing.d.ts.map +0 -1
  272. package/dist/structures/lds-spouse-sealing.js +0 -1
  273. package/dist/structures/marriage-date.d.ts +0 -11
  274. package/dist/structures/marriage-date.d.ts.map +0 -1
  275. package/dist/structures/marriage-date.js +0 -1
  276. package/dist/structures/multimedia-link.d.ts +0 -16
  277. package/dist/structures/multimedia-link.d.ts.map +0 -1
  278. package/dist/structures/multimedia-link.js +0 -1
  279. package/dist/structures/non-event.d.ts +0 -12
  280. package/dist/structures/non-event.d.ts.map +0 -1
  281. package/dist/structures/non-event.js +0 -1
  282. package/dist/structures/note.d.ts +0 -16
  283. package/dist/structures/note.d.ts.map +0 -1
  284. package/dist/structures/note.js +0 -1
  285. package/dist/structures/personal-name-pieces.d.ts +0 -11
  286. package/dist/structures/personal-name-pieces.d.ts.map +0 -1
  287. package/dist/structures/personal-name-pieces.js +0 -1
  288. package/dist/structures/personal-name.d.ts +0 -16
  289. package/dist/structures/personal-name.d.ts.map +0 -1
  290. package/dist/structures/personal-name.js +0 -1
  291. package/dist/structures/place.d.ts +0 -20
  292. package/dist/structures/place.d.ts.map +0 -1
  293. package/dist/structures/place.js +0 -1
  294. package/dist/structures/repository.d.ts +0 -6
  295. package/dist/structures/repository.d.ts.map +0 -1
  296. package/dist/structures/repository.js +0 -1
  297. package/dist/structures/source-citation.d.ts +0 -27
  298. package/dist/structures/source-citation.d.ts.map +0 -1
  299. package/dist/structures/source-citation.js +0 -1
  300. package/dist/structures/source-repository-citation.d.ts +0 -13
  301. package/dist/structures/source-repository-citation.d.ts.map +0 -1
  302. package/dist/structures/source-repository-citation.js +0 -1
  303. package/dist/structures/source.d.ts +0 -28
  304. package/dist/structures/source.d.ts.map +0 -1
  305. package/dist/structures/source.js +0 -1
  306. package/dist/types/ancestry-media.d.ts +0 -65
  307. package/dist/types/ancestry-media.d.ts.map +0 -1
  308. package/dist/types/ancestry-media.js +0 -1
  309. package/dist/types/index.d.ts.map +0 -1
  310. package/dist/types/settings.d.ts +0 -12
  311. package/dist/types/settings.d.ts.map +0 -1
  312. package/dist/types/settings.js +0 -1
  313. package/dist/types/types.d.ts +0 -225
  314. package/dist/types/types.d.ts.map +0 -1
  315. package/dist/types/types.js +0 -26
  316. package/dist/utils/cache.d.ts +0 -22
  317. package/dist/utils/cache.d.ts.map +0 -1
  318. package/dist/utils/cache.js +0 -57
  319. package/dist/utils/common-creator.d.ts +0 -13
  320. package/dist/utils/common-creator.d.ts.map +0 -1
  321. package/dist/utils/common-creator.js +0 -72
  322. package/dist/utils/date-formatter.d.ts +0 -35
  323. package/dist/utils/date-formatter.d.ts.map +0 -1
  324. package/dist/utils/date-formatter.js +0 -207
  325. package/dist/utils/get-all-prop.d.ts +0 -4
  326. package/dist/utils/get-all-prop.d.ts.map +0 -1
  327. package/dist/utils/get-all-prop.js +0 -5
  328. package/dist/utils/get-family-with.d.ts +0 -5
  329. package/dist/utils/get-family-with.d.ts.map +0 -1
  330. package/dist/utils/get-family-with.js +0 -11
  331. package/dist/utils/get-places.d.ts +0 -21
  332. package/dist/utils/get-places.d.ts.map +0 -1
  333. package/dist/utils/get-places.js +0 -77
  334. package/dist/utils/get-product-details.d.ts +0 -4
  335. package/dist/utils/get-product-details.d.ts.map +0 -1
  336. package/dist/utils/get-product-details.js +0 -6
  337. package/dist/utils/get-raw-size.d.ts +0 -2
  338. package/dist/utils/get-raw-size.d.ts.map +0 -1
  339. package/dist/utils/get-raw-size.js +0 -3
  340. package/dist/utils/index.d.ts.map +0 -1
  341. package/dist/utils/logger.d.ts +0 -3
  342. package/dist/utils/logger.d.ts.map +0 -1
  343. package/dist/utils/logger.js +0 -11
  344. package/dist/utils/name-formatter.d.ts +0 -10
  345. package/dist/utils/name-formatter.d.ts.map +0 -1
  346. package/dist/utils/name-formatter.js +0 -45
  347. package/dist/utils/nested-group.d.ts +0 -4
  348. package/dist/utils/nested-group.d.ts.map +0 -1
  349. package/dist/utils/nested-group.js +0 -34
  350. package/dist/utils/ordinalize.d.ts +0 -3
  351. package/dist/utils/ordinalize.d.ts.map +0 -1
  352. package/dist/utils/ordinalize.js +0 -104
  353. package/dist/utils/parser.d.ts +0 -17
  354. package/dist/utils/parser.d.ts.map +0 -1
  355. package/dist/utils/parser.js +0 -321
  356. package/dist/utils/place-parser.d.ts +0 -16
  357. package/dist/utils/place-parser.d.ts.map +0 -1
  358. package/dist/utils/place-parser.js +0 -46
  359. package/dist/utils/place-translator.d.ts +0 -6
  360. package/dist/utils/place-translator.d.ts.map +0 -1
  361. package/dist/utils/place-translator.js +0 -8
  362. package/dist/utils/place-types.d.ts +0 -27
  363. package/dist/utils/place-types.d.ts.map +0 -1
  364. package/dist/utils/place-types.js +0 -14
  365. package/dist/utils/range.d.ts +0 -19
  366. package/dist/utils/range.d.ts.map +0 -1
  367. package/dist/utils/range.js +0 -265
@@ -1,55 +0,0 @@
1
- import type { IIndividuals } from "../interfaces/indis";
2
- import type { Settings } from "../types/settings";
3
- import { Range } from "../types/types";
4
- import type { IndiKey, Filter, OrderIterator, NestedGroup, Order, FilterIterator, GroupIterator, Group } from "../types/types";
5
- import type { IndiType } from "./indi";
6
- import { List } from "./list";
7
- export declare class Individuals extends List<IndiKey, IndiType> implements IIndividuals {
8
- copy(): Individuals;
9
- except(item: IndiType): Individuals;
10
- filter(filters: Filter | FilterIterator<IndiType, IndiKey>): Individuals;
11
- find(filters: Filter | FilterIterator<IndiType, IndiKey>): IndiType | undefined;
12
- unattachedFilter(useUnattached: boolean): Individuals;
13
- orderBy(orders: Order | OrderIterator<IndiType, IndiKey>): Individuals;
14
- getFirstEvent(): IndiType;
15
- getLastEvent(): IndiType;
16
- getFirstBirth(): IndiType;
17
- getLastBirth(): IndiType;
18
- getFirstDeath(): IndiType;
19
- getLastDeath(): IndiType;
20
- groupBy(group: Group | GroupIterator<IndiType, IndiKey>, sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, lessOccuranceLabel?: string): Record<string, Individuals>;
21
- groupByFirstLetters(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, settings?: Settings): Record<string, Individuals>;
22
- groupBySurnames(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number): Record<string, Individuals>;
23
- groupByTimeRanges(range: Range, sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number): Record<string, Individuals>;
24
- nestedGroupByPlacesAndTimeRanges(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, uniqueCounting?: boolean): NestedGroup;
25
- nestedGroupByTimeRangesAndPlaces(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, uniqueCounting?: boolean): NestedGroup;
26
- nestedGroupByPlaces(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, partOrder?: "original" | "reverse", translate?: boolean, uniqueCounting?: boolean, groupKeyTranslator?: (parts: string[]) => string | undefined): NestedGroup;
27
- groupByPlaces(sort?: "length" | "group" | OrderIterator<Individuals, string>, minOccurance?: number, partOrder?: "original" | "reverse", translate?: boolean, groupKeyTranslator?: (parts: string[]) => string | undefined): Record<string, Individuals>;
28
- getFacts(): List<import("../types/types").IdType, import("./common").Common<string, import("../types/types").IdType>>;
29
- private isRelativeOf;
30
- isSiblingOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
31
- isSpouseOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
32
- isParentOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
33
- isChildOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
34
- isParentInLawOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
35
- isChildInLawOf(indi?: IndiKey | IndiType, every?: boolean): boolean | `@I${number}@` | `@P${number}@` | `@XI${number}@` | `@XXI${number}@`;
36
- splitByFamily(type: "Spouses" | "Parents" | "Children", relativeTo?: IndiType): {
37
- items: Record<`@F${number}@` | `@XF${number}@` | `@XXF${number}@`, Individuals>;
38
- lengthOfFamily: number;
39
- lengthOfIndividuals: number;
40
- };
41
- getRelativesOnDegree(degree?: number): Individuals;
42
- getRelativesOnLevel(level?: number, filter?: Filter): Individuals;
43
- getAscendants(level?: number, filter?: Filter): Individuals;
44
- getDescendants(level?: number, filter?: Filter): Individuals;
45
- getAllAscendants(individuals?: Individuals): Individuals;
46
- getAllDescendants(individuals?: Individuals, containDescendantsInLaw?: boolean): Individuals;
47
- getSiblings(): Individuals;
48
- getChildren(): Individuals;
49
- getParents(): Individuals;
50
- getCoParents(): Individuals;
51
- getSpouses(): Individuals;
52
- toName(): List<import("../types/types").IdType, import("./common").Common<string, import("../types/types").IdType>>;
53
- toList(): Individuals;
54
- }
55
- //# sourceMappingURL=indis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"indis.d.ts","sourceRoot":"","sources":["../../src/classes/indis.ts"],"names":[],"mappings":"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"}
@@ -1,457 +0,0 @@
1
- import difference from "lodash-es/difference.js";
2
- import { BIRTH_ASC, BIRTH_DESC, DEATH_ASC, DEATH_DESC, } from "../constants/orders.js";
3
- import { getPlaceParserProvider } from "../factories/place-parser-provider.js";
4
- import { getPlaceTranslatorProvider } from "../factories/place-translator-provider.js";
5
- import { Range } from "../types/types.js";
6
- import { nameFormatter } from "../utils/name-formatter.js";
7
- import { setNestedGroup } from "../utils/nested-group.js";
8
- import { getPlaceParts } from "../utils/place-parser.js";
9
- import { placeTranslator } from "../utils/place-translator.js";
10
- import { List } from "./list.js";
11
- export class Individuals extends List {
12
- copy() {
13
- return super.copy(Individuals);
14
- }
15
- except(item) {
16
- return super.except(item, Individuals);
17
- }
18
- filter(filters) {
19
- return super.filter(filters, Individuals);
20
- }
21
- find(filters) {
22
- return super.find(filters, Individuals);
23
- }
24
- unattachedFilter(useUnattached) {
25
- if (useUnattached) {
26
- return this;
27
- }
28
- return this.filter((item) => !item.isUnattachedMember());
29
- }
30
- orderBy(orders) {
31
- return super.orderBy(orders, Individuals);
32
- }
33
- getFirstEvent() {
34
- const firstBirthPerson = this.getFirstBirth();
35
- const firstDeathPerson = this.getFirstDeath();
36
- const firstBirth = firstBirthPerson?.BIRT?.toList().index(0);
37
- const firstDeath = firstDeathPerson?.DEAT?.toList().index(0);
38
- if (!firstBirth?.DATE?.rawValue && !firstDeath?.DATE?.rawValue) {
39
- return undefined;
40
- }
41
- if (!firstBirth?.DATE?.rawValue) {
42
- return firstDeathPerson;
43
- }
44
- if (!firstDeath?.DATE?.rawValue) {
45
- return firstBirthPerson;
46
- }
47
- if (firstDeath.DATE.rawValue < firstBirth.DATE.rawValue) {
48
- return firstDeathPerson;
49
- }
50
- return firstBirthPerson;
51
- }
52
- getLastEvent() {
53
- const lastDeathPerson = this.getLastDeath();
54
- const lastBirthPerson = this.getLastBirth();
55
- const lastBirth = lastBirthPerson?.BIRT?.toList().index(0);
56
- const lastDeath = lastDeathPerson?.DEAT?.toList().index(0);
57
- if (!lastBirth?.DATE?.rawValue && !lastDeath?.DATE?.rawValue) {
58
- return undefined;
59
- }
60
- if (!lastDeath?.DATE?.rawValue) {
61
- return lastBirthPerson;
62
- }
63
- if (!lastBirth?.DATE?.rawValue) {
64
- return lastDeathPerson;
65
- }
66
- if (lastDeath.DATE.rawValue < lastBirth.DATE.rawValue) {
67
- return lastBirthPerson;
68
- }
69
- return lastDeathPerson;
70
- }
71
- getFirstBirth() {
72
- return this.filter((item) => {
73
- const birth = item.BIRT?.toList().index(0);
74
- if (birth?.DATE?.rawValue?.getTime() === 0) {
75
- return true;
76
- }
77
- return !!birth?.DATE?.rawValue?.getTime();
78
- })
79
- .orderBy(BIRTH_ASC)
80
- .index(0);
81
- }
82
- getLastBirth() {
83
- return this.filter((item) => {
84
- const birth = item.BIRT?.toList().index(0);
85
- if (birth?.DATE?.rawValue?.getTime() === 0) {
86
- return true;
87
- }
88
- return !!birth?.DATE?.rawValue?.getTime();
89
- })
90
- .orderBy(BIRTH_DESC)
91
- .index(0);
92
- }
93
- getFirstDeath() {
94
- return this.filter((item) => {
95
- const death = item.DEAT?.toList().index(0);
96
- if (death?.DATE?.rawValue?.getTime() === 0) {
97
- return true;
98
- }
99
- return !!death?.DATE?.rawValue?.getTime();
100
- })
101
- .orderBy(DEATH_ASC)
102
- .index(0);
103
- }
104
- getLastDeath() {
105
- return this.filter((item) => {
106
- const death = item.DEAT?.toList().index(0);
107
- if (death?.DATE?.rawValue?.getTime() === 0) {
108
- return true;
109
- }
110
- return !!death?.DATE?.rawValue?.getTime();
111
- })
112
- .orderBy(DEATH_DESC)
113
- .index(0);
114
- }
115
- groupBy(group, sort, minOccurance = -1, lessOccuranceLabel) {
116
- return super.groupBy(group, sort, minOccurance, lessOccuranceLabel, Individuals);
117
- }
118
- groupByFirstLetters(sort = "group", minOccurance = -1, settings) {
119
- return this.groupBy((item) => {
120
- const { letter } = nameFormatter(item, settings);
121
- return letter.trim() || "Unknown";
122
- }, sort, minOccurance, "Letters appearing less than 5 times");
123
- }
124
- groupBySurnames(sort, minOccurance = -1) {
125
- return this.groupBy("NAME.SURN", sort, minOccurance, "Surnames appearing less than 5 times");
126
- }
127
- groupByTimeRanges(range, sort = "group", minOccurance = -1) {
128
- return this.groupBy({
129
- ["BIRT.DATE.YEAR"]: {
130
- getter: (year) => {
131
- if (!Number(year)) {
132
- return;
133
- }
134
- if (range === Range.Year) {
135
- return `${Math.floor(Number(year) / range) * range}`;
136
- }
137
- return `${Math.floor(Number(year) / range) * range + 1}-${Math.ceil((Number(year) + 1) / range) * range}`;
138
- },
139
- },
140
- }, sort, minOccurance, "Time ranges appearing less than 5 times");
141
- }
142
- nestedGroupByPlacesAndTimeRanges(sort, minOccurance = -1, uniqueCounting = true) {
143
- const placesWithYear = this.groupBy((item) => item
144
- .getPlaces()
145
- .map((place) => {
146
- const date = place.obj?.get("DATE");
147
- if (date?.YEAR) {
148
- return `${place.place}, ${date.YEAR}`;
149
- }
150
- return `${place.place}, Unknown`;
151
- })
152
- .filter(Boolean), sort, minOccurance, "Places appearing less than 5 times");
153
- return Object.entries(placesWithYear).reduce((acc, [place, indis]) => {
154
- setNestedGroup(acc, place, indis, uniqueCounting);
155
- return acc;
156
- }, {});
157
- }
158
- nestedGroupByTimeRangesAndPlaces(sort, minOccurance = -1, uniqueCounting = true) {
159
- const placesWithYear = this.groupBy((item) => item
160
- .getPlaces()
161
- .map((place) => {
162
- const date = place.obj?.get("DATE");
163
- if (date?.YEAR) {
164
- return `${date.YEAR}, ${place.place}`;
165
- }
166
- return `Unknown, ${place.place}`;
167
- })
168
- .filter(Boolean), sort, minOccurance, "Places appearing less than 5 times");
169
- return Object.entries(placesWithYear).reduce((acc, [place, indis]) => {
170
- setNestedGroup(acc, place, indis, uniqueCounting);
171
- return acc;
172
- }, {});
173
- }
174
- nestedGroupByPlaces(sort, minOccurance = -1, partOrder = "reverse", translate = true, uniqueCounting = true, groupKeyTranslator) {
175
- const places = this.groupByPlaces(sort, minOccurance, partOrder, translate, groupKeyTranslator);
176
- return Object.entries(places).reduce((acc, [place, indis]) => {
177
- setNestedGroup(acc, place, indis, uniqueCounting);
178
- return acc;
179
- }, {});
180
- }
181
- groupByPlaces(sort, minOccurance = -1, partOrder = "reverse", translate = true, groupKeyTranslator) {
182
- return this.groupBy((item) => item
183
- .getPlaces()
184
- .map((place) => {
185
- // Use custom place parser if provided, otherwise use built-in
186
- const customPlaceParser = getPlaceParserProvider();
187
- const placeParts = customPlaceParser
188
- ? customPlaceParser(place.place || "")
189
- : getPlaceParts(place.place || "");
190
- const { leftParts = [], town, county, country, } = placeParts[0] || {};
191
- // Build normalized parts array in city-to-country order
192
- const normalizedParts = [
193
- ...leftParts,
194
- town,
195
- county,
196
- country,
197
- ].filter(Boolean);
198
- // Apply the requested order
199
- const orderedParts = partOrder === "original"
200
- ? normalizedParts
201
- : normalizedParts.toReversed();
202
- let newPlace = "";
203
- if (groupKeyTranslator) {
204
- // Use custom group key translator function
205
- newPlace = groupKeyTranslator(orderedParts);
206
- }
207
- else if (translate) {
208
- // Use custom place translator if provided, otherwise use built-in
209
- const customPlaceTranslator = getPlaceTranslatorProvider();
210
- if (customPlaceTranslator) {
211
- // Custom translator: pass as array
212
- newPlace = customPlaceTranslator(orderedParts);
213
- }
214
- else {
215
- // Built-in translator: expects string array
216
- newPlace = placeTranslator(orderedParts);
217
- }
218
- }
219
- else {
220
- // No translation, just join
221
- newPlace = orderedParts.join(", ");
222
- }
223
- if (!newPlace) {
224
- return undefined;
225
- }
226
- return {
227
- marker: place.place,
228
- group: newPlace,
229
- };
230
- })
231
- .filter(Boolean), sort, minOccurance, "Places appearing less than 5 times");
232
- }
233
- getFacts() {
234
- const facts = new List();
235
- this.values().forEach((indi) => {
236
- const indiFacts = indi?.getFacts();
237
- if (indi?.id && indiFacts) {
238
- facts.merge(indiFacts);
239
- }
240
- });
241
- return facts;
242
- }
243
- isRelativeOf(type, indi, every = false) {
244
- const usedIndi = typeof indi === "string"
245
- ? this.index(0)?.getGedcom()?.indi(indi)
246
- : indi;
247
- let getter;
248
- if (type === "sibling") {
249
- getter = "getSiblings";
250
- }
251
- if (type === "parent") {
252
- getter = "getParents";
253
- }
254
- if (type === "child") {
255
- getter = "getChildren";
256
- }
257
- if (type === "spouse") {
258
- getter = "getCoParents";
259
- }
260
- if (type === "parentInLaw") {
261
- getter = "getParentsInLaw";
262
- }
263
- if (type === "childInLaw") {
264
- getter = "getChildrenInLaw";
265
- }
266
- if (!usedIndi || !getter) {
267
- return false;
268
- }
269
- const relatives = usedIndi[getter]();
270
- const thisIds = this.keys();
271
- if (relatives.length <= 0 || this.length <= 0) {
272
- return false;
273
- }
274
- const filtered = relatives.filter({ id: thisIds });
275
- if (every) {
276
- return filtered.length === this.length
277
- ? filtered.index(0)?.id || true
278
- : false;
279
- }
280
- return filtered.length > 0 ? filtered.index(0)?.id || true : false;
281
- }
282
- isSiblingOf(indi, every = false) {
283
- return this.isRelativeOf("sibling", indi, every);
284
- }
285
- isSpouseOf(indi, every = false) {
286
- return this.isRelativeOf("spouse", indi, every);
287
- }
288
- isParentOf(indi, every = false) {
289
- return this.isRelativeOf("parent", indi, every);
290
- }
291
- isChildOf(indi, every = false) {
292
- return this.isRelativeOf("child", indi, every);
293
- }
294
- isParentInLawOf(indi, every = false) {
295
- return this.isRelativeOf("parentInLaw", indi, every);
296
- }
297
- isChildInLawOf(indi, every = false) {
298
- return this.isRelativeOf("childInLaw", indi, every);
299
- }
300
- splitByFamily(type, relativeTo) {
301
- const splittedList = {};
302
- const familiesRelativeTo = relativeTo
303
- ?.get(type !== "Parents" ? "FAMS" : "FAMC")
304
- ?.toValueList()
305
- .keys() ?? [];
306
- let lengthOfIndividuals = 0;
307
- this.forEach((indi) => {
308
- const families = indi
309
- .get(type === "Spouses" ? "FAMS" : "FAMC")
310
- ?.toValueList();
311
- if (families) {
312
- families.keys().forEach((fKey) => {
313
- const famKey = fKey;
314
- if (familiesRelativeTo &&
315
- !familiesRelativeTo.includes(famKey)) {
316
- return;
317
- }
318
- if (!splittedList[famKey]) {
319
- splittedList[famKey] = new Individuals();
320
- }
321
- splittedList[famKey]?.append(indi);
322
- lengthOfIndividuals++;
323
- });
324
- }
325
- });
326
- // Handle familiy with no co parent
327
- if (type === "Spouses" && relativeTo) {
328
- const missingFams = difference(familiesRelativeTo, Object.keys(splittedList));
329
- if (missingFams.length) {
330
- missingFams.forEach((fKey) => {
331
- const famKey = fKey;
332
- if (familiesRelativeTo &&
333
- !familiesRelativeTo.includes(famKey)) {
334
- return;
335
- }
336
- const missingChildren = relativeTo
337
- .getGedcom()
338
- ?.fam(famKey)
339
- ?.getChildren();
340
- if (!splittedList[famKey] && missingChildren?.length) {
341
- splittedList[famKey] = new Individuals();
342
- }
343
- });
344
- }
345
- }
346
- return {
347
- items: splittedList,
348
- lengthOfFamily: Object.keys(splittedList).length,
349
- lengthOfIndividuals,
350
- };
351
- }
352
- getRelativesOnDegree(degree = 0) {
353
- const persons = new Individuals();
354
- this.values().forEach((indi) => {
355
- if (indi) {
356
- persons.merge(indi.getRelativesOnLevel(degree));
357
- }
358
- });
359
- return persons;
360
- }
361
- getRelativesOnLevel(level = 0, filter) {
362
- const persons = new Individuals();
363
- this.values().forEach((indi) => {
364
- if (indi) {
365
- persons.merge(indi.getRelativesOnLevel(level, filter));
366
- }
367
- });
368
- return persons;
369
- }
370
- getAscendants(level = 0, filter) {
371
- const persons = new Individuals();
372
- this.values().forEach((indi) => {
373
- if (indi) {
374
- persons.merge(indi.getAscendants(level, filter));
375
- }
376
- });
377
- return persons;
378
- }
379
- getDescendants(level = 0, filter) {
380
- const persons = new Individuals();
381
- this.values().forEach((indi) => {
382
- if (indi) {
383
- persons.merge(indi.getDescendants(level, filter));
384
- }
385
- });
386
- return persons;
387
- }
388
- getAllAscendants(individuals) {
389
- const persons = new Individuals();
390
- this.values().forEach((indi) => {
391
- if (indi) {
392
- persons.merge(indi.getAllAscendants(individuals));
393
- }
394
- });
395
- return persons;
396
- }
397
- getAllDescendants(individuals, containDescendantsInLaw = false) {
398
- const persons = new Individuals();
399
- this.values().forEach((indi) => {
400
- if (indi) {
401
- persons.merge(indi.getAllDescendants(individuals, containDescendantsInLaw));
402
- }
403
- });
404
- return persons;
405
- }
406
- getSiblings() {
407
- const persons = new Individuals();
408
- this.values().forEach((indi) => {
409
- if (indi) {
410
- persons.merge(indi.getSiblings());
411
- }
412
- });
413
- return persons;
414
- }
415
- getChildren() {
416
- const persons = new Individuals();
417
- this.values().forEach((indi) => {
418
- if (indi) {
419
- persons.merge(indi.getChildren());
420
- }
421
- });
422
- return persons;
423
- }
424
- getParents() {
425
- const persons = new Individuals();
426
- this.values().forEach((indi) => {
427
- if (indi) {
428
- persons.merge(indi.getParents());
429
- }
430
- });
431
- return persons;
432
- }
433
- getCoParents() {
434
- const persons = new Individuals();
435
- this.values().forEach((indi) => {
436
- if (indi) {
437
- persons.merge(indi.getCoParents());
438
- }
439
- });
440
- return persons;
441
- }
442
- getSpouses() {
443
- const persons = new Individuals();
444
- this.values().forEach((indi) => {
445
- if (indi) {
446
- persons.merge(indi.getCoParents());
447
- }
448
- });
449
- return persons;
450
- }
451
- toName() {
452
- return super.toProp("NAME")?.toValue();
453
- }
454
- toList() {
455
- return new Individuals().concat(this.getItems());
456
- }
457
- }
@@ -1,55 +0,0 @@
1
- import type { ConvertOptions } from "../interfaces/common";
2
- import type { IList } from "../interfaces/list";
3
- import type { IdType, Filter, FilterIterator, MultiTag, Order, OrderIterator, Group, GroupIterator } from "../types/types";
4
- import type { Common } from "./common";
5
- export declare class List<K extends IdType = IdType, T extends Common = Common> implements IList<K, T> {
6
- private items;
7
- isListable: boolean;
8
- marker: string | undefined;
9
- constructor(items?: Partial<Record<K, T>> | T[]);
10
- get length(): number;
11
- has(indi?: K | T): boolean;
12
- get(name: MultiTag): List<IdType, Common<string, IdType>>;
13
- getIf(name: MultiTag, condition: string, name2: MultiTag): List<IdType, Common<string, IdType>>;
14
- keys(): K[];
15
- values(): (T | undefined)[];
16
- entries(): [K, T | undefined][];
17
- setLength(_type?: "increase" | "decrease"): void;
18
- first(): Partial<Record<K, T>>[K];
19
- last(): Partial<Record<K, T>>[K];
20
- index(index: number): Partial<Record<K, T>>[K];
21
- item(name: K, value?: T): T | undefined;
22
- removeItem(name: K): void;
23
- exclude(excludedList: List<K, T>): this;
24
- concat(items?: Partial<Record<K, T>> | T[]): this;
25
- merge(mergedList?: List<K, T>): this;
26
- intersection(mergedList?: List<K, T>): List<K, T>;
27
- difference(mergedList?: List<K, T>): List<K, T>;
28
- prepend(item: T): this;
29
- append(item: T): this;
30
- delete(item: T): this;
31
- copy(ClassName?: typeof List<K, T>): List<K, T>;
32
- except(item: T, ClassName?: typeof List<K, T>): List<K, T>;
33
- forEach(iterate: (item: T, key: K, index: number) => void): void;
34
- map<R>(iterate: (item: T, key: K, index: number) => R): R[];
35
- reduce<R>(iterate: (acc: R, item: T, key: K, index: number) => R, initialValue: R): R;
36
- filter(filters: Filter | FilterIterator<T, K>, ClassName?: typeof List<K, T>): List<K, T>;
37
- find(filters: Filter | FilterIterator<T, K>, _ClassName?: typeof List<K, T>): T;
38
- orderBy(orders: Order | OrderIterator<T, K>, ClassName?: typeof List<K, T>): List<K, T>;
39
- groupBy(groups: Group | GroupIterator<T, K>, sort?: "length" | "group" | OrderIterator<List<K, T>, string>, minOccurance?: number, lessOccuranceLabel?: string, ClassName?: typeof List<K, T>): Record<string, List<K, T>>;
40
- findIndex(item: T): number;
41
- getItems(): Partial<Record<K, T>>;
42
- toJson(tag: MultiTag, options?: ConvertOptions): string;
43
- toObject(tag: MultiTag, options?: ConvertOptions): Record<string, string | ({
44
- value?: string;
45
- } & Record<string, unknown>) | (string | ({
46
- value?: string;
47
- } & Record<string, unknown>))[]>;
48
- toGedcom(tag: MultiTag, level?: number, options?: ConvertOptions): string;
49
- toGedcomLines(tag: MultiTag, level?: number, options?: ConvertOptions): string[];
50
- toValue(): List<IdType, Common<string, IdType>>;
51
- toProp(tag: MultiTag): List<IdType, Common<string, IdType>>;
52
- toList(): List<IdType, Common<string, IdType>>;
53
- toValueList(): List<IdType, Common<string, IdType>>;
54
- }
55
- //# sourceMappingURL=list.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/classes/list.ts"],"names":[],"mappings":"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"}