@treeviz/gedcom-parser 2.0.9 → 2.0.10
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/dist/classes/index.js +246 -2
- package/dist/cli/index.js +246 -2
- package/dist/constants/index.js +245 -1
- package/dist/factories/index.js +245 -1
- package/dist/index.js +247 -3
- package/dist/kinship-translator/index.d.ts +1 -0
- package/dist/kinship-translator/index.d.ts.map +1 -1
- package/dist/kinship-translator/index.js +246 -2
- package/dist/kinship-translator/kinship-translator.ru.d.ts +18 -0
- package/dist/kinship-translator/kinship-translator.ru.d.ts.map +1 -0
- package/dist/kinship-translator/patterns.ru.d.ts +2 -0
- package/dist/kinship-translator/patterns.ru.d.ts.map +1 -0
- package/dist/kinship-translator/translators.d.ts +1 -0
- package/dist/kinship-translator/translators.d.ts.map +1 -1
- package/dist/kinship-translator/types.d.ts +1 -1
- package/dist/kinship-translator/types.d.ts.map +1 -1
- package/dist/utils/index.js +246 -2
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1119,7 +1119,8 @@ __export(translators_exports, {
|
|
|
1119
1119
|
en: () => KinshipTranslatorEn,
|
|
1120
1120
|
es: () => KinshipTranslatorEs,
|
|
1121
1121
|
fr: () => KinshipTranslatorFr,
|
|
1122
|
-
hu: () => KinshipTranslatorHU
|
|
1122
|
+
hu: () => KinshipTranslatorHU,
|
|
1123
|
+
ru: () => KinshipTranslatorRu
|
|
1123
1124
|
});
|
|
1124
1125
|
|
|
1125
1126
|
// src/types/types.ts
|
|
@@ -5488,6 +5489,249 @@ var KinshipTranslatorEs = class extends KinshipTranslatorBasic {
|
|
|
5488
5489
|
}
|
|
5489
5490
|
};
|
|
5490
5491
|
|
|
5492
|
+
// src/kinship-translator/patterns.ru.ts
|
|
5493
|
+
var InLawsRu = {
|
|
5494
|
+
"\u0441\u0443\u043F\u0440\u0443\u0433(?:\u0430)? (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u0437\u044F\u0442\u044C/\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
5495
|
+
"\u0436\u0435\u043D\u0430 (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
5496
|
+
"\u043C\u0443\u0436 (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u0437\u044F\u0442\u044C",
|
|
5497
|
+
"\u043C\u0430\u0442\u044C (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0451\u0449\u0430",
|
|
5498
|
+
"\u043E\u0442\u0435\u0446 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0435\u0441\u0442\u044C",
|
|
5499
|
+
"\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0435\u0441\u0442\u044C/\u0442\u0451\u0449\u0430",
|
|
5500
|
+
"\u0436\u0435\u043D\u0430 (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
5501
|
+
"\u043C\u0443\u0436 (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u0437\u044F\u0442\u044C",
|
|
5502
|
+
"\u0441\u0443\u043F\u0440\u0443\u0433(?:\u0430)? (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u0437\u044F\u0442\u044C/\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
5503
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0441\u0435\u0441\u0442\u0440\u0430 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0437\u043E\u043B\u043E\u0432\u043A\u0430",
|
|
5504
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0431\u0440\u0430\u0442 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0448\u0443\u0440\u0438\u043D",
|
|
5505
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0441\u0438\u0431\u043B\u0438\u043D\u0433 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0448\u0443\u0440\u0438\u043D/\u0437\u043E\u043B\u043E\u0432\u043A\u0430"
|
|
5506
|
+
};
|
|
5507
|
+
|
|
5508
|
+
// src/kinship-translator/kinship-translator.ru.ts
|
|
5509
|
+
var GENITIVE = {
|
|
5510
|
+
\u0441\u044B\u043D: "\u0441\u044B\u043D\u0430",
|
|
5511
|
+
\u0434\u043E\u0447\u044C: "\u0434\u043E\u0447\u0435\u0440\u0438",
|
|
5512
|
+
\u0440\u0435\u0431\u0451\u043D\u043E\u043A: "\u0440\u0435\u0431\u0451\u043D\u043A\u0430",
|
|
5513
|
+
\u0431\u0440\u0430\u0442: "\u0431\u0440\u0430\u0442\u0430",
|
|
5514
|
+
\u0441\u0435\u0441\u0442\u0440\u0430: "\u0441\u0435\u0441\u0442\u0440\u044B",
|
|
5515
|
+
\u0441\u0438\u0431\u043B\u0438\u043D\u0433: "\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430",
|
|
5516
|
+
\u043E\u0442\u0435\u0446: "\u043E\u0442\u0446\u0430",
|
|
5517
|
+
\u043C\u0430\u0442\u044C: "\u043C\u0430\u0442\u0435\u0440\u0438",
|
|
5518
|
+
\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C: "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044F",
|
|
5519
|
+
\u043C\u0443\u0436: "\u043C\u0443\u0436\u0430",
|
|
5520
|
+
\u0436\u0435\u043D\u0430: "\u0436\u0435\u043D\u044B",
|
|
5521
|
+
\u0441\u0443\u043F\u0440\u0443\u0433: "\u0441\u0443\u043F\u0440\u0443\u0433\u0430",
|
|
5522
|
+
\u0441\u0443\u043F\u0440\u0443\u0433\u0430: "\u0441\u0443\u043F\u0440\u0443\u0433\u0438"
|
|
5523
|
+
};
|
|
5524
|
+
var toGenitive = (word) => GENITIVE[word] ?? word;
|
|
5525
|
+
var cousinWord = (degree, sex) => {
|
|
5526
|
+
const stem = degree <= 1 ? "\u0434\u0432\u043E\u044E\u0440\u043E\u0434\u043D" : degree === 2 ? "\u0442\u0440\u043E\u044E\u0440\u043E\u0434\u043D" : degree === 3 ? "\u0447\u0435\u0442\u0432\u0435\u0440\u043E\u044E\u0440\u043E\u0434\u043D" : `${degree + 1}-\u044E\u0440\u043E\u0434\u043D`;
|
|
5527
|
+
if (sex === "m") {
|
|
5528
|
+
return `${stem}\u044B\u0439 \u0431\u0440\u0430\u0442`;
|
|
5529
|
+
}
|
|
5530
|
+
if (sex === "f") {
|
|
5531
|
+
return `${stem}\u0430\u044F \u0441\u0435\u0441\u0442\u0440\u0430`;
|
|
5532
|
+
}
|
|
5533
|
+
return `${stem}\u044B\u0439 \u0431\u0440\u0430\u0442/\u0441\u0435\u0441\u0442\u0440\u0430`;
|
|
5534
|
+
};
|
|
5535
|
+
var praRepeat = (count) => count > 0 ? "\u043F\u0440\u0430".repeat(count) : "";
|
|
5536
|
+
var sexOf = (person) => {
|
|
5537
|
+
if (person?.isMale?.()) {
|
|
5538
|
+
return "m";
|
|
5539
|
+
}
|
|
5540
|
+
if (person?.isFemale?.()) {
|
|
5541
|
+
return "f";
|
|
5542
|
+
}
|
|
5543
|
+
return "n";
|
|
5544
|
+
};
|
|
5545
|
+
var KinshipTranslatorRu = class extends KinshipTranslatorBasic {
|
|
5546
|
+
indirect() {
|
|
5547
|
+
let degree = Math.abs(this.pathN?.degree ?? 0);
|
|
5548
|
+
if (degree > 0) {
|
|
5549
|
+
degree = degree - 1;
|
|
5550
|
+
}
|
|
5551
|
+
return cousinWord(degree, sexOf(this.personN));
|
|
5552
|
+
}
|
|
5553
|
+
removal() {
|
|
5554
|
+
const level = this.pathN?.level ?? 0;
|
|
5555
|
+
let degree = Math.abs(this.pathN?.degree ?? 0);
|
|
5556
|
+
if (degree > 0) {
|
|
5557
|
+
degree = degree - 1;
|
|
5558
|
+
}
|
|
5559
|
+
if (!degree) {
|
|
5560
|
+
return level < 0 ? this.nibling() : this.auncle();
|
|
5561
|
+
}
|
|
5562
|
+
const removed = Math.abs(level);
|
|
5563
|
+
return `${cousinWord(degree, sexOf(this.personN))} (${removed}\xD7 \u0447\u0435\u0440\u0435\u0437 \u043F\u043E\u043A\u043E\u043B\u0435\u043D\u0438\u0435)`;
|
|
5564
|
+
}
|
|
5565
|
+
auncle() {
|
|
5566
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
5567
|
+
const pra = praRepeat(Math.max(0, level - 2));
|
|
5568
|
+
const sex = sexOf(this.personN);
|
|
5569
|
+
if (sex === "m") {
|
|
5570
|
+
return `${pra}\u0434\u044F\u0434\u044F`;
|
|
5571
|
+
}
|
|
5572
|
+
if (sex === "f") {
|
|
5573
|
+
return `${pra}\u0442\u0451\u0442\u044F`;
|
|
5574
|
+
}
|
|
5575
|
+
return `${pra}\u0434\u044F\u0434\u044F/\u0442\u0451\u0442\u044F`;
|
|
5576
|
+
}
|
|
5577
|
+
nibling() {
|
|
5578
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
5579
|
+
const pra = praRepeat(Math.max(0, level - 2));
|
|
5580
|
+
const sex = sexOf(this.personN);
|
|
5581
|
+
if (sex === "m") {
|
|
5582
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u043A`;
|
|
5583
|
+
}
|
|
5584
|
+
if (sex === "f") {
|
|
5585
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u0446\u0430`;
|
|
5586
|
+
}
|
|
5587
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u043A/\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u0446\u0430`;
|
|
5588
|
+
}
|
|
5589
|
+
parent() {
|
|
5590
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
5591
|
+
const sex = sexOf(this.personN);
|
|
5592
|
+
if (level <= 1) {
|
|
5593
|
+
if (sex === "m") {
|
|
5594
|
+
return "\u043E\u0442\u0435\u0446";
|
|
5595
|
+
}
|
|
5596
|
+
if (sex === "f") {
|
|
5597
|
+
return "\u043C\u0430\u0442\u044C";
|
|
5598
|
+
}
|
|
5599
|
+
return "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C";
|
|
5600
|
+
}
|
|
5601
|
+
if (level === 2) {
|
|
5602
|
+
if (sex === "m") {
|
|
5603
|
+
return "\u0434\u0435\u0434";
|
|
5604
|
+
}
|
|
5605
|
+
if (sex === "f") {
|
|
5606
|
+
return "\u0431\u0430\u0431\u0443\u0448\u043A\u0430";
|
|
5607
|
+
}
|
|
5608
|
+
return "\u0434\u0435\u0434/\u0431\u0430\u0431\u0443\u0448\u043A\u0430";
|
|
5609
|
+
}
|
|
5610
|
+
const pra = praRepeat(level - 2);
|
|
5611
|
+
if (sex === "m") {
|
|
5612
|
+
return `${pra}\u0434\u0435\u0434`;
|
|
5613
|
+
}
|
|
5614
|
+
if (sex === "f") {
|
|
5615
|
+
return `${pra}\u0431\u0430\u0431\u0443\u0448\u043A\u0430`;
|
|
5616
|
+
}
|
|
5617
|
+
return `${pra}\u0434\u0435\u0434/\u0431\u0430\u0431\u0443\u0448\u043A\u0430`;
|
|
5618
|
+
}
|
|
5619
|
+
child() {
|
|
5620
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
5621
|
+
const sex = sexOf(this.personN);
|
|
5622
|
+
if (level <= 1) {
|
|
5623
|
+
if (sex === "m") {
|
|
5624
|
+
return "\u0441\u044B\u043D";
|
|
5625
|
+
}
|
|
5626
|
+
if (sex === "f") {
|
|
5627
|
+
return "\u0434\u043E\u0447\u044C";
|
|
5628
|
+
}
|
|
5629
|
+
return "\u0440\u0435\u0431\u0451\u043D\u043E\u043A";
|
|
5630
|
+
}
|
|
5631
|
+
if (level === 2) {
|
|
5632
|
+
if (sex === "m") {
|
|
5633
|
+
return "\u0432\u043D\u0443\u043A";
|
|
5634
|
+
}
|
|
5635
|
+
if (sex === "f") {
|
|
5636
|
+
return "\u0432\u043D\u0443\u0447\u043A\u0430";
|
|
5637
|
+
}
|
|
5638
|
+
return "\u0432\u043D\u0443\u043A/\u0432\u043D\u0443\u0447\u043A\u0430";
|
|
5639
|
+
}
|
|
5640
|
+
const pra = praRepeat(level - 2);
|
|
5641
|
+
if (sex === "m") {
|
|
5642
|
+
return `${pra}\u0432\u043D\u0443\u043A`;
|
|
5643
|
+
}
|
|
5644
|
+
if (sex === "f") {
|
|
5645
|
+
return `${pra}\u0432\u043D\u0443\u0447\u043A\u0430`;
|
|
5646
|
+
}
|
|
5647
|
+
return `${pra}\u0432\u043D\u0443\u043A/\u0432\u043D\u0443\u0447\u043A\u0430`;
|
|
5648
|
+
}
|
|
5649
|
+
sibling() {
|
|
5650
|
+
const sex = sexOf(this.personN);
|
|
5651
|
+
if (sex === "m") {
|
|
5652
|
+
return "\u0431\u0440\u0430\u0442";
|
|
5653
|
+
}
|
|
5654
|
+
if (sex === "f") {
|
|
5655
|
+
return "\u0441\u0435\u0441\u0442\u0440\u0430";
|
|
5656
|
+
}
|
|
5657
|
+
return "\u0441\u0438\u0431\u043B\u0438\u043D\u0433";
|
|
5658
|
+
}
|
|
5659
|
+
halfBlood(relation) {
|
|
5660
|
+
if (!relation || !this.isHalfBlood) {
|
|
5661
|
+
return relation ?? "";
|
|
5662
|
+
}
|
|
5663
|
+
if (/сестра|дочь|мать|тётя|бабушка|жена|племянница|внучка/.test(
|
|
5664
|
+
relation
|
|
5665
|
+
)) {
|
|
5666
|
+
return `\u0441\u0432\u043E\u0434\u043D\u0430\u044F ${relation}`;
|
|
5667
|
+
}
|
|
5668
|
+
return `\u0441\u0432\u043E\u0434\u043D\u044B\u0439 ${relation}`;
|
|
5669
|
+
}
|
|
5670
|
+
spouse() {
|
|
5671
|
+
const sex = sexOf(this.personN);
|
|
5672
|
+
if (sex === "m") {
|
|
5673
|
+
return "\u043C\u0443\u0436";
|
|
5674
|
+
}
|
|
5675
|
+
if (sex === "f") {
|
|
5676
|
+
return "\u0436\u0435\u043D\u0430";
|
|
5677
|
+
}
|
|
5678
|
+
return "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
5679
|
+
}
|
|
5680
|
+
ofSpouse(relation) {
|
|
5681
|
+
if (!relation) {
|
|
5682
|
+
return "";
|
|
5683
|
+
}
|
|
5684
|
+
const spouse = this.path?.[1].indi;
|
|
5685
|
+
const sex = sexOf(spouse);
|
|
5686
|
+
const spouseType = sex === "m" ? "\u043C\u0443\u0436" : sex === "f" ? "\u0436\u0435\u043D\u0430" : "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
5687
|
+
return `${relation} ${toGenitive(spouseType)}`;
|
|
5688
|
+
}
|
|
5689
|
+
spouseOf(relation) {
|
|
5690
|
+
if (!relation) {
|
|
5691
|
+
return "";
|
|
5692
|
+
}
|
|
5693
|
+
const spouse = this.path?.[this.path.length - 1].indi;
|
|
5694
|
+
const sex = sexOf(spouse);
|
|
5695
|
+
const spouseType = sex === "m" ? "\u043C\u0443\u0436" : sex === "f" ? "\u0436\u0435\u043D\u0430" : "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
5696
|
+
return `${spouseType} ${toGenitive(relation)}`;
|
|
5697
|
+
}
|
|
5698
|
+
of(relation) {
|
|
5699
|
+
const formattedName = nameFormatter(this.path?.[0]?.indi, {
|
|
5700
|
+
nameOrder: "first-last"
|
|
5701
|
+
});
|
|
5702
|
+
let name = formattedName.inOrder.filter(Boolean).join(" ");
|
|
5703
|
+
if (this.displayName === "none") {
|
|
5704
|
+
name = "";
|
|
5705
|
+
} else if (this.displayName === "givenname") {
|
|
5706
|
+
name = formattedName.givenname;
|
|
5707
|
+
} else if (this.displayName === "surname") {
|
|
5708
|
+
name = `${formattedName.surname}`;
|
|
5709
|
+
}
|
|
5710
|
+
if (!name || !relation) {
|
|
5711
|
+
return relation ?? "";
|
|
5712
|
+
}
|
|
5713
|
+
return `${name}: ${relation}`;
|
|
5714
|
+
}
|
|
5715
|
+
inLaw(relation) {
|
|
5716
|
+
let inLawRelation = relation;
|
|
5717
|
+
Object.keys(InLawsRu).find((pattern) => {
|
|
5718
|
+
const regex = new RegExp(`^${pattern}$`);
|
|
5719
|
+
if (relation?.match(regex)) {
|
|
5720
|
+
inLawRelation = InLawsRu[pattern];
|
|
5721
|
+
return true;
|
|
5722
|
+
}
|
|
5723
|
+
return false;
|
|
5724
|
+
});
|
|
5725
|
+
return inLawRelation ?? "";
|
|
5726
|
+
}
|
|
5727
|
+
relationType(relation) {
|
|
5728
|
+
if (!relation || !this.pathN?.relation) {
|
|
5729
|
+
return relation ?? "";
|
|
5730
|
+
}
|
|
5731
|
+
return `${this.pathN.relation} ${relation}`;
|
|
5732
|
+
}
|
|
5733
|
+
};
|
|
5734
|
+
|
|
5491
5735
|
// src/kinship-translator/kinship-translator.ts
|
|
5492
5736
|
var KinshipTranslator = class {
|
|
5493
5737
|
constructor(person1, person2, lang = "en", entirePath, displayName = "givenname") {
|
|
@@ -6918,7 +7162,7 @@ var Families = class _Families extends List {
|
|
|
6918
7162
|
// package.json
|
|
6919
7163
|
var package_default = {
|
|
6920
7164
|
name: "@treeviz/gedcom-parser",
|
|
6921
|
-
version: "2.0.
|
|
7165
|
+
version: "2.0.10"};
|
|
6922
7166
|
|
|
6923
7167
|
// src/utils/get-product-details.ts
|
|
6924
7168
|
var isDevelopment = () => {
|
|
@@ -8255,4 +8499,4 @@ if (isDev) {
|
|
|
8255
8499
|
}
|
|
8256
8500
|
var parser_default = GedcomTree;
|
|
8257
8501
|
|
|
8258
|
-
export { ACCEPTED_DATE_FORMATS, ACCEPTED_DATE_FORMATS_REGEX, ADOPTED, BIOLOGICAL, BIRTH, BIRTH_ASC, BIRTH_DESC, Common, CommonDate, CommonName, CommonNote, CustomTags, DATE_ASC, DATE_DESC, DEATH_ASC, DEATH_DESC, DEFAULT, EVERY, Existed, FEMALE, FOSTER, FRIEND, Fam, Families, GedCom, parser_default as GedcomTree, ID_GETTER_REG, ID_REG, ID_SPLIT_REG, Indi, Individuals, KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDe as KinshipTranslatorDE, KinshipTranslatorEn as KinshipTranslatorEN, KinshipTranslatorEs as KinshipTranslatorES, KinshipTranslatorFr as KinshipTranslatorFR, KinshipTranslatorHU, LINE_REG, List, MALE, MAX_FILE_SIZE_TO_SYNC, OTHER, Obje, Objects, PARTNER, PartnerType, PlaceType, REF_LINE_REG, Range, RelationType, Repo, Repositories, SEALING, SINGLE, SPOUSE, STEP, Sour, Sources, Subm, Submitters, UNKOWN, cacheDiscoveredPath, commonDateFormatter, create, createCommon, createCommonDate, createCommonName, createCommonNote, createFam, createGedCom, createIndi, createObje, createProxy, createRepo, createSour, createSubm, dateFormatter, parser_default as default, extractSeparationYears, extractSplitPoints, findMatchingRangeForSplitRange, fromTuple, generateSplitRanges, getAllProp, getBirthAsc, getCacheManagerFactory, getDateLocale, getFamilyWith, getI18n, getKinshipTranslatorClass, getListTag, getMarriageAsc, getMarriageAscAndBirth, getMarriageAscAndChildBirth, getName, getNameAsc, getNameAscAndBirth, getNameDesc, getPlaceParserProvider, getPlaceParts, getPlaceTranslatorProvider, getPlaces, getRawSize, getValidKey, getValidKeys, getValidTag, getVersion, hungarianOrdinalize, i18n, idGetter, implemented, inRange, initializeCache, isCommonDate, isDevelopment, isGedcomString, isId, isIntersectedRange, isOnlyMainProp, isRangeContained, isValidKey, marriageDateFormatter, mergeGedcoms, nameFormatter, notImplemented, noteDateFormatter, ordinalize, parseRangeBounds, pathCache, placeTranslator, profilePictureCache, relativesCache, resetCacheManagerFactory, resetDateLocaleProvider, resetI18nProvider, resetKinshipTranslatorClass, resetPlaceParserProvider, resetPlaceTranslatorProvider, resetRelativesCache, setCacheManagerFactory, setDateLocaleProvider, setI18nProvider, setKinshipTranslatorClass, setNestedGroup, setPlaceParserProvider, setPlaceTranslatorProvider, splitOverlappingRanges, splitRange, translators_exports as translators, validateGedcomContent };
|
|
8502
|
+
export { ACCEPTED_DATE_FORMATS, ACCEPTED_DATE_FORMATS_REGEX, ADOPTED, BIOLOGICAL, BIRTH, BIRTH_ASC, BIRTH_DESC, Common, CommonDate, CommonName, CommonNote, CustomTags, DATE_ASC, DATE_DESC, DEATH_ASC, DEATH_DESC, DEFAULT, EVERY, Existed, FEMALE, FOSTER, FRIEND, Fam, Families, GedCom, parser_default as GedcomTree, ID_GETTER_REG, ID_REG, ID_SPLIT_REG, Indi, Individuals, KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDe as KinshipTranslatorDE, KinshipTranslatorEn as KinshipTranslatorEN, KinshipTranslatorEs as KinshipTranslatorES, KinshipTranslatorFr as KinshipTranslatorFR, KinshipTranslatorHU, KinshipTranslatorRu as KinshipTranslatorRU, LINE_REG, List, MALE, MAX_FILE_SIZE_TO_SYNC, OTHER, Obje, Objects, PARTNER, PartnerType, PlaceType, REF_LINE_REG, Range, RelationType, Repo, Repositories, SEALING, SINGLE, SPOUSE, STEP, Sour, Sources, Subm, Submitters, UNKOWN, cacheDiscoveredPath, commonDateFormatter, create, createCommon, createCommonDate, createCommonName, createCommonNote, createFam, createGedCom, createIndi, createObje, createProxy, createRepo, createSour, createSubm, dateFormatter, parser_default as default, extractSeparationYears, extractSplitPoints, findMatchingRangeForSplitRange, fromTuple, generateSplitRanges, getAllProp, getBirthAsc, getCacheManagerFactory, getDateLocale, getFamilyWith, getI18n, getKinshipTranslatorClass, getListTag, getMarriageAsc, getMarriageAscAndBirth, getMarriageAscAndChildBirth, getName, getNameAsc, getNameAscAndBirth, getNameDesc, getPlaceParserProvider, getPlaceParts, getPlaceTranslatorProvider, getPlaces, getRawSize, getValidKey, getValidKeys, getValidTag, getVersion, hungarianOrdinalize, i18n, idGetter, implemented, inRange, initializeCache, isCommonDate, isDevelopment, isGedcomString, isId, isIntersectedRange, isOnlyMainProp, isRangeContained, isValidKey, marriageDateFormatter, mergeGedcoms, nameFormatter, notImplemented, noteDateFormatter, ordinalize, parseRangeBounds, pathCache, placeTranslator, profilePictureCache, relativesCache, resetCacheManagerFactory, resetDateLocaleProvider, resetI18nProvider, resetKinshipTranslatorClass, resetPlaceParserProvider, resetPlaceTranslatorProvider, resetRelativesCache, setCacheManagerFactory, setDateLocaleProvider, setI18nProvider, setKinshipTranslatorClass, setNestedGroup, setPlaceParserProvider, setPlaceTranslatorProvider, splitOverlappingRanges, splitRange, translators_exports as translators, validateGedcomContent };
|
|
@@ -4,6 +4,7 @@ export { default as KinshipTranslatorEN } from "./kinship-translator.en";
|
|
|
4
4
|
export { default as KinshipTranslatorES } from "./kinship-translator.es";
|
|
5
5
|
export { default as KinshipTranslatorFR } from "./kinship-translator.fr";
|
|
6
6
|
export { default as KinshipTranslatorHU } from "./kinship-translator.hu";
|
|
7
|
+
export { default as KinshipTranslatorRU } from "./kinship-translator.ru";
|
|
7
8
|
export type { default as KinshipTranslatorInterface } from "./kinship-translator.interface";
|
|
8
9
|
export { default as KinshipTranslator } from "./kinship-translator";
|
|
9
10
|
export type { Language, Cases, CrossCase, CrossCases } from "./types";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,YAAY,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AACzE,YAAY,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5F,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGpE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEtE,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC"}
|
|
@@ -194,7 +194,8 @@ __export(translators_exports, {
|
|
|
194
194
|
en: () => KinshipTranslatorEn,
|
|
195
195
|
es: () => KinshipTranslatorEs,
|
|
196
196
|
fr: () => KinshipTranslatorFr,
|
|
197
|
-
hu: () => KinshipTranslatorHU
|
|
197
|
+
hu: () => KinshipTranslatorHU,
|
|
198
|
+
ru: () => KinshipTranslatorRu
|
|
198
199
|
});
|
|
199
200
|
|
|
200
201
|
// src/utils/ordinalize.ts
|
|
@@ -1247,6 +1248,249 @@ var KinshipTranslatorEs = class extends KinshipTranslatorBasic {
|
|
|
1247
1248
|
}
|
|
1248
1249
|
};
|
|
1249
1250
|
|
|
1251
|
+
// src/kinship-translator/patterns.ru.ts
|
|
1252
|
+
var InLawsRu = {
|
|
1253
|
+
"\u0441\u0443\u043F\u0440\u0443\u0433(?:\u0430)? (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u0437\u044F\u0442\u044C/\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
1254
|
+
"\u0436\u0435\u043D\u0430 (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
1255
|
+
"\u043C\u0443\u0436 (\u0440\u0435\u0431\u0451\u043D\u043A\u0430|\u0434\u043E\u0447\u0435\u0440\u0438|\u0441\u044B\u043D\u0430)": "\u0437\u044F\u0442\u044C",
|
|
1256
|
+
"\u043C\u0430\u0442\u044C (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0451\u0449\u0430",
|
|
1257
|
+
"\u043E\u0442\u0435\u0446 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0435\u0441\u0442\u044C",
|
|
1258
|
+
"\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0442\u0435\u0441\u0442\u044C/\u0442\u0451\u0449\u0430",
|
|
1259
|
+
"\u0436\u0435\u043D\u0430 (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
1260
|
+
"\u043C\u0443\u0436 (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u0437\u044F\u0442\u044C",
|
|
1261
|
+
"\u0441\u0443\u043F\u0440\u0443\u0433(?:\u0430)? (\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?(\u0431\u0440\u0430\u0442\u0430|\u0441\u0435\u0441\u0442\u0440\u044B|\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430)": "\u0437\u044F\u0442\u044C/\u043D\u0435\u0432\u0435\u0441\u0442\u043A\u0430",
|
|
1262
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0441\u0435\u0441\u0442\u0440\u0430 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0437\u043E\u043B\u043E\u0432\u043A\u0430",
|
|
1263
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0431\u0440\u0430\u0442 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0448\u0443\u0440\u0438\u043D",
|
|
1264
|
+
"(\u0441\u0432\u043E\u0434\u043D(?:\u044B\u0439|\u0430\u044F) )?\u0441\u0438\u0431\u043B\u0438\u043D\u0433 (\u0441\u0443\u043F\u0440\u0443\u0433\u0430|\u0436\u0435\u043D\u044B|\u043C\u0443\u0436\u0430)": "\u0448\u0443\u0440\u0438\u043D/\u0437\u043E\u043B\u043E\u0432\u043A\u0430"
|
|
1265
|
+
};
|
|
1266
|
+
|
|
1267
|
+
// src/kinship-translator/kinship-translator.ru.ts
|
|
1268
|
+
var GENITIVE = {
|
|
1269
|
+
\u0441\u044B\u043D: "\u0441\u044B\u043D\u0430",
|
|
1270
|
+
\u0434\u043E\u0447\u044C: "\u0434\u043E\u0447\u0435\u0440\u0438",
|
|
1271
|
+
\u0440\u0435\u0431\u0451\u043D\u043E\u043A: "\u0440\u0435\u0431\u0451\u043D\u043A\u0430",
|
|
1272
|
+
\u0431\u0440\u0430\u0442: "\u0431\u0440\u0430\u0442\u0430",
|
|
1273
|
+
\u0441\u0435\u0441\u0442\u0440\u0430: "\u0441\u0435\u0441\u0442\u0440\u044B",
|
|
1274
|
+
\u0441\u0438\u0431\u043B\u0438\u043D\u0433: "\u0441\u0438\u0431\u043B\u0438\u043D\u0433\u0430",
|
|
1275
|
+
\u043E\u0442\u0435\u0446: "\u043E\u0442\u0446\u0430",
|
|
1276
|
+
\u043C\u0430\u0442\u044C: "\u043C\u0430\u0442\u0435\u0440\u0438",
|
|
1277
|
+
\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C: "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044F",
|
|
1278
|
+
\u043C\u0443\u0436: "\u043C\u0443\u0436\u0430",
|
|
1279
|
+
\u0436\u0435\u043D\u0430: "\u0436\u0435\u043D\u044B",
|
|
1280
|
+
\u0441\u0443\u043F\u0440\u0443\u0433: "\u0441\u0443\u043F\u0440\u0443\u0433\u0430",
|
|
1281
|
+
\u0441\u0443\u043F\u0440\u0443\u0433\u0430: "\u0441\u0443\u043F\u0440\u0443\u0433\u0438"
|
|
1282
|
+
};
|
|
1283
|
+
var toGenitive = (word) => GENITIVE[word] ?? word;
|
|
1284
|
+
var cousinWord = (degree, sex) => {
|
|
1285
|
+
const stem = degree <= 1 ? "\u0434\u0432\u043E\u044E\u0440\u043E\u0434\u043D" : degree === 2 ? "\u0442\u0440\u043E\u044E\u0440\u043E\u0434\u043D" : degree === 3 ? "\u0447\u0435\u0442\u0432\u0435\u0440\u043E\u044E\u0440\u043E\u0434\u043D" : `${degree + 1}-\u044E\u0440\u043E\u0434\u043D`;
|
|
1286
|
+
if (sex === "m") {
|
|
1287
|
+
return `${stem}\u044B\u0439 \u0431\u0440\u0430\u0442`;
|
|
1288
|
+
}
|
|
1289
|
+
if (sex === "f") {
|
|
1290
|
+
return `${stem}\u0430\u044F \u0441\u0435\u0441\u0442\u0440\u0430`;
|
|
1291
|
+
}
|
|
1292
|
+
return `${stem}\u044B\u0439 \u0431\u0440\u0430\u0442/\u0441\u0435\u0441\u0442\u0440\u0430`;
|
|
1293
|
+
};
|
|
1294
|
+
var praRepeat = (count) => count > 0 ? "\u043F\u0440\u0430".repeat(count) : "";
|
|
1295
|
+
var sexOf = (person) => {
|
|
1296
|
+
if (person?.isMale?.()) {
|
|
1297
|
+
return "m";
|
|
1298
|
+
}
|
|
1299
|
+
if (person?.isFemale?.()) {
|
|
1300
|
+
return "f";
|
|
1301
|
+
}
|
|
1302
|
+
return "n";
|
|
1303
|
+
};
|
|
1304
|
+
var KinshipTranslatorRu = class extends KinshipTranslatorBasic {
|
|
1305
|
+
indirect() {
|
|
1306
|
+
let degree = Math.abs(this.pathN?.degree ?? 0);
|
|
1307
|
+
if (degree > 0) {
|
|
1308
|
+
degree = degree - 1;
|
|
1309
|
+
}
|
|
1310
|
+
return cousinWord(degree, sexOf(this.personN));
|
|
1311
|
+
}
|
|
1312
|
+
removal() {
|
|
1313
|
+
const level = this.pathN?.level ?? 0;
|
|
1314
|
+
let degree = Math.abs(this.pathN?.degree ?? 0);
|
|
1315
|
+
if (degree > 0) {
|
|
1316
|
+
degree = degree - 1;
|
|
1317
|
+
}
|
|
1318
|
+
if (!degree) {
|
|
1319
|
+
return level < 0 ? this.nibling() : this.auncle();
|
|
1320
|
+
}
|
|
1321
|
+
const removed = Math.abs(level);
|
|
1322
|
+
return `${cousinWord(degree, sexOf(this.personN))} (${removed}\xD7 \u0447\u0435\u0440\u0435\u0437 \u043F\u043E\u043A\u043E\u043B\u0435\u043D\u0438\u0435)`;
|
|
1323
|
+
}
|
|
1324
|
+
auncle() {
|
|
1325
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
1326
|
+
const pra = praRepeat(Math.max(0, level - 2));
|
|
1327
|
+
const sex = sexOf(this.personN);
|
|
1328
|
+
if (sex === "m") {
|
|
1329
|
+
return `${pra}\u0434\u044F\u0434\u044F`;
|
|
1330
|
+
}
|
|
1331
|
+
if (sex === "f") {
|
|
1332
|
+
return `${pra}\u0442\u0451\u0442\u044F`;
|
|
1333
|
+
}
|
|
1334
|
+
return `${pra}\u0434\u044F\u0434\u044F/\u0442\u0451\u0442\u044F`;
|
|
1335
|
+
}
|
|
1336
|
+
nibling() {
|
|
1337
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
1338
|
+
const pra = praRepeat(Math.max(0, level - 2));
|
|
1339
|
+
const sex = sexOf(this.personN);
|
|
1340
|
+
if (sex === "m") {
|
|
1341
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u043A`;
|
|
1342
|
+
}
|
|
1343
|
+
if (sex === "f") {
|
|
1344
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u0446\u0430`;
|
|
1345
|
+
}
|
|
1346
|
+
return `${pra}\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u043A/\u043F\u043B\u0435\u043C\u044F\u043D\u043D\u0438\u0446\u0430`;
|
|
1347
|
+
}
|
|
1348
|
+
parent() {
|
|
1349
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
1350
|
+
const sex = sexOf(this.personN);
|
|
1351
|
+
if (level <= 1) {
|
|
1352
|
+
if (sex === "m") {
|
|
1353
|
+
return "\u043E\u0442\u0435\u0446";
|
|
1354
|
+
}
|
|
1355
|
+
if (sex === "f") {
|
|
1356
|
+
return "\u043C\u0430\u0442\u044C";
|
|
1357
|
+
}
|
|
1358
|
+
return "\u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C";
|
|
1359
|
+
}
|
|
1360
|
+
if (level === 2) {
|
|
1361
|
+
if (sex === "m") {
|
|
1362
|
+
return "\u0434\u0435\u0434";
|
|
1363
|
+
}
|
|
1364
|
+
if (sex === "f") {
|
|
1365
|
+
return "\u0431\u0430\u0431\u0443\u0448\u043A\u0430";
|
|
1366
|
+
}
|
|
1367
|
+
return "\u0434\u0435\u0434/\u0431\u0430\u0431\u0443\u0448\u043A\u0430";
|
|
1368
|
+
}
|
|
1369
|
+
const pra = praRepeat(level - 2);
|
|
1370
|
+
if (sex === "m") {
|
|
1371
|
+
return `${pra}\u0434\u0435\u0434`;
|
|
1372
|
+
}
|
|
1373
|
+
if (sex === "f") {
|
|
1374
|
+
return `${pra}\u0431\u0430\u0431\u0443\u0448\u043A\u0430`;
|
|
1375
|
+
}
|
|
1376
|
+
return `${pra}\u0434\u0435\u0434/\u0431\u0430\u0431\u0443\u0448\u043A\u0430`;
|
|
1377
|
+
}
|
|
1378
|
+
child() {
|
|
1379
|
+
const level = Math.abs(this.pathN?.level ?? 0);
|
|
1380
|
+
const sex = sexOf(this.personN);
|
|
1381
|
+
if (level <= 1) {
|
|
1382
|
+
if (sex === "m") {
|
|
1383
|
+
return "\u0441\u044B\u043D";
|
|
1384
|
+
}
|
|
1385
|
+
if (sex === "f") {
|
|
1386
|
+
return "\u0434\u043E\u0447\u044C";
|
|
1387
|
+
}
|
|
1388
|
+
return "\u0440\u0435\u0431\u0451\u043D\u043E\u043A";
|
|
1389
|
+
}
|
|
1390
|
+
if (level === 2) {
|
|
1391
|
+
if (sex === "m") {
|
|
1392
|
+
return "\u0432\u043D\u0443\u043A";
|
|
1393
|
+
}
|
|
1394
|
+
if (sex === "f") {
|
|
1395
|
+
return "\u0432\u043D\u0443\u0447\u043A\u0430";
|
|
1396
|
+
}
|
|
1397
|
+
return "\u0432\u043D\u0443\u043A/\u0432\u043D\u0443\u0447\u043A\u0430";
|
|
1398
|
+
}
|
|
1399
|
+
const pra = praRepeat(level - 2);
|
|
1400
|
+
if (sex === "m") {
|
|
1401
|
+
return `${pra}\u0432\u043D\u0443\u043A`;
|
|
1402
|
+
}
|
|
1403
|
+
if (sex === "f") {
|
|
1404
|
+
return `${pra}\u0432\u043D\u0443\u0447\u043A\u0430`;
|
|
1405
|
+
}
|
|
1406
|
+
return `${pra}\u0432\u043D\u0443\u043A/\u0432\u043D\u0443\u0447\u043A\u0430`;
|
|
1407
|
+
}
|
|
1408
|
+
sibling() {
|
|
1409
|
+
const sex = sexOf(this.personN);
|
|
1410
|
+
if (sex === "m") {
|
|
1411
|
+
return "\u0431\u0440\u0430\u0442";
|
|
1412
|
+
}
|
|
1413
|
+
if (sex === "f") {
|
|
1414
|
+
return "\u0441\u0435\u0441\u0442\u0440\u0430";
|
|
1415
|
+
}
|
|
1416
|
+
return "\u0441\u0438\u0431\u043B\u0438\u043D\u0433";
|
|
1417
|
+
}
|
|
1418
|
+
halfBlood(relation) {
|
|
1419
|
+
if (!relation || !this.isHalfBlood) {
|
|
1420
|
+
return relation ?? "";
|
|
1421
|
+
}
|
|
1422
|
+
if (/сестра|дочь|мать|тётя|бабушка|жена|племянница|внучка/.test(
|
|
1423
|
+
relation
|
|
1424
|
+
)) {
|
|
1425
|
+
return `\u0441\u0432\u043E\u0434\u043D\u0430\u044F ${relation}`;
|
|
1426
|
+
}
|
|
1427
|
+
return `\u0441\u0432\u043E\u0434\u043D\u044B\u0439 ${relation}`;
|
|
1428
|
+
}
|
|
1429
|
+
spouse() {
|
|
1430
|
+
const sex = sexOf(this.personN);
|
|
1431
|
+
if (sex === "m") {
|
|
1432
|
+
return "\u043C\u0443\u0436";
|
|
1433
|
+
}
|
|
1434
|
+
if (sex === "f") {
|
|
1435
|
+
return "\u0436\u0435\u043D\u0430";
|
|
1436
|
+
}
|
|
1437
|
+
return "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
1438
|
+
}
|
|
1439
|
+
ofSpouse(relation) {
|
|
1440
|
+
if (!relation) {
|
|
1441
|
+
return "";
|
|
1442
|
+
}
|
|
1443
|
+
const spouse = this.path?.[1].indi;
|
|
1444
|
+
const sex = sexOf(spouse);
|
|
1445
|
+
const spouseType = sex === "m" ? "\u043C\u0443\u0436" : sex === "f" ? "\u0436\u0435\u043D\u0430" : "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
1446
|
+
return `${relation} ${toGenitive(spouseType)}`;
|
|
1447
|
+
}
|
|
1448
|
+
spouseOf(relation) {
|
|
1449
|
+
if (!relation) {
|
|
1450
|
+
return "";
|
|
1451
|
+
}
|
|
1452
|
+
const spouse = this.path?.[this.path.length - 1].indi;
|
|
1453
|
+
const sex = sexOf(spouse);
|
|
1454
|
+
const spouseType = sex === "m" ? "\u043C\u0443\u0436" : sex === "f" ? "\u0436\u0435\u043D\u0430" : "\u0441\u0443\u043F\u0440\u0443\u0433";
|
|
1455
|
+
return `${spouseType} ${toGenitive(relation)}`;
|
|
1456
|
+
}
|
|
1457
|
+
of(relation) {
|
|
1458
|
+
const formattedName = nameFormatter(this.path?.[0]?.indi, {
|
|
1459
|
+
nameOrder: "first-last"
|
|
1460
|
+
});
|
|
1461
|
+
let name = formattedName.inOrder.filter(Boolean).join(" ");
|
|
1462
|
+
if (this.displayName === "none") {
|
|
1463
|
+
name = "";
|
|
1464
|
+
} else if (this.displayName === "givenname") {
|
|
1465
|
+
name = formattedName.givenname;
|
|
1466
|
+
} else if (this.displayName === "surname") {
|
|
1467
|
+
name = `${formattedName.surname}`;
|
|
1468
|
+
}
|
|
1469
|
+
if (!name || !relation) {
|
|
1470
|
+
return relation ?? "";
|
|
1471
|
+
}
|
|
1472
|
+
return `${name}: ${relation}`;
|
|
1473
|
+
}
|
|
1474
|
+
inLaw(relation) {
|
|
1475
|
+
let inLawRelation = relation;
|
|
1476
|
+
Object.keys(InLawsRu).find((pattern) => {
|
|
1477
|
+
const regex = new RegExp(`^${pattern}$`);
|
|
1478
|
+
if (relation?.match(regex)) {
|
|
1479
|
+
inLawRelation = InLawsRu[pattern];
|
|
1480
|
+
return true;
|
|
1481
|
+
}
|
|
1482
|
+
return false;
|
|
1483
|
+
});
|
|
1484
|
+
return inLawRelation ?? "";
|
|
1485
|
+
}
|
|
1486
|
+
relationType(relation) {
|
|
1487
|
+
if (!relation || !this.pathN?.relation) {
|
|
1488
|
+
return relation ?? "";
|
|
1489
|
+
}
|
|
1490
|
+
return `${this.pathN.relation} ${relation}`;
|
|
1491
|
+
}
|
|
1492
|
+
};
|
|
1493
|
+
|
|
1250
1494
|
// src/kinship-translator/kinship-translator.ts
|
|
1251
1495
|
var KinshipTranslator = class {
|
|
1252
1496
|
constructor(person1, person2, lang = "en", entirePath, displayName = "givenname") {
|
|
@@ -6495,4 +6739,4 @@ var KinshipTranslatorDe = class extends KinshipTranslatorBasic {
|
|
|
6495
6739
|
}
|
|
6496
6740
|
};
|
|
6497
6741
|
|
|
6498
|
-
export { KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDe as KinshipTranslatorDE, KinshipTranslatorEn as KinshipTranslatorEN, KinshipTranslatorEs as KinshipTranslatorES, KinshipTranslatorFr as KinshipTranslatorFR, KinshipTranslatorHU, translators_exports as translators };
|
|
6742
|
+
export { KinshipTranslator, KinshipTranslatorBasic, KinshipTranslatorDe as KinshipTranslatorDE, KinshipTranslatorEn as KinshipTranslatorEN, KinshipTranslatorEs as KinshipTranslatorES, KinshipTranslatorFr as KinshipTranslatorFR, KinshipTranslatorHU, KinshipTranslatorRu as KinshipTranslatorRU, translators_exports as translators };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import KinshipTranslatorBasic from "./kinship-translator.basic";
|
|
2
|
+
export default class KinshipTranslatorRu extends KinshipTranslatorBasic {
|
|
3
|
+
indirect(): string;
|
|
4
|
+
removal(): string;
|
|
5
|
+
auncle(): string;
|
|
6
|
+
nibling(): string;
|
|
7
|
+
parent(): string;
|
|
8
|
+
child(): string;
|
|
9
|
+
sibling(): "брат" | "сестра" | "сиблинг";
|
|
10
|
+
halfBlood(relation?: string | undefined): string;
|
|
11
|
+
spouse(): "муж" | "жена" | "супруг";
|
|
12
|
+
ofSpouse(relation?: string | undefined): string;
|
|
13
|
+
spouseOf(relation?: string | undefined): string;
|
|
14
|
+
of(relation?: string | undefined): string;
|
|
15
|
+
inLaw(relation?: string | undefined): string;
|
|
16
|
+
relationType(relation?: string | undefined): string;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=kinship-translator.ru.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kinship-translator.ru.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/kinship-translator.ru.ts"],"names":[],"mappings":"AAEA,OAAO,sBAAsB,MAAM,4BAA4B,CAAC;AAsDhE,MAAM,CAAC,OAAO,OAAO,mBAAoB,SAAQ,sBAAsB;IACtE,QAAQ;IASR,OAAO;IAeP,MAAM;IAaN,OAAO;IAaP,MAAM;IA+BN,KAAK;IA+BL,OAAO;IAWP,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAgBvC,MAAM;IAWN,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAatC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAatC,EAAE,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAsBhC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;IAgBnC,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS;CAO1C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.ru.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/patterns.ru.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAa3C,CAAC"}
|
|
@@ -3,4 +3,5 @@ export { default as en } from "./kinship-translator.en";
|
|
|
3
3
|
export { default as de } from "./kinship-translator.de";
|
|
4
4
|
export { default as fr } from "./kinship-translator.fr";
|
|
5
5
|
export { default as es } from "./kinship-translator.es";
|
|
6
|
+
export { default as ru } from "./kinship-translator.ru";
|
|
6
7
|
//# sourceMappingURL=translators.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translators.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/translators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"translators.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/translators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/kinship-translator/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE/D,MAAM,WAAW,KAAK;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,KAAK,EAAE,SAAS,CAAC,CAAC"}
|