@fpw/en-wiktionary-la-modules 0.0.11 → 0.0.14
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/LaEngine.js +6 -6
- package/dist/LaEngine.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/modules/conjugation/LaVerb.js +375 -374
- package/dist/modules/conjugation/LaVerb.js.map +1 -1
- package/dist/modules/conjugation/VerbForm.js +2 -2
- package/dist/modules/conjugation/VerbForm.js.map +1 -1
- package/dist/modules/conjugation/VerbType.d.ts +1 -0
- package/dist/modules/conjugation/VerbType.js +3 -2
- package/dist/modules/conjugation/VerbType.js.map +1 -1
- package/dist/modules/declination/LaAdjData.js +498 -436
- package/dist/modules/declination/LaAdjData.js.map +1 -1
- package/dist/modules/declination/LaNominal.d.ts +10 -0
- package/dist/modules/declination/LaNominal.js +75 -72
- package/dist/modules/declination/LaNominal.js.map +1 -1
- package/dist/modules/declination/LaNounData.js +460 -421
- package/dist/modules/declination/LaNounData.js.map +1 -1
- package/dist/modules/declination/NominalForm.js +2 -2
- package/dist/modules/declination/NominalForm.js.map +1 -1
- package/dist/modules/headword/HeadwordParser.js +17 -17
- package/dist/modules/headword/HeadwordParser.js.map +1 -1
- package/package.json +8 -6
- package/src/LaEngine.ts +82 -0
- package/src/index.ts +16 -0
- package/src/modules/common.ts +164 -0
- package/src/modules/conjugation/LaVerb.ts +2490 -0
- package/src/modules/conjugation/VerbAffix.ts +18 -0
- package/src/modules/conjugation/VerbForm.ts +223 -0
- package/src/modules/conjugation/VerbType.ts +51 -0
- package/src/modules/declination/LaAdjData.ts +913 -0
- package/src/modules/declination/LaNominal.ts +1992 -0
- package/src/modules/declination/LaNounData.ts +896 -0
- package/src/modules/declination/LaPersonalPronoun.ts +77 -0
- package/src/modules/declination/NominalForm.ts +89 -0
- package/src/modules/headword/HeadWord.ts +132 -0
- package/src/modules/headword/HeadwordParser.ts +514 -0
- package/dist/modules/LaEngine.d.ts +0 -15
- package/dist/modules/LaEngine.js +0 -46
- package/dist/modules/LaEngine.js.map +0 -1
- package/dist/modules/LaWiktionary.d.ts +0 -18
- package/dist/modules/LaWiktionary.js +0 -171
- package/dist/modules/LaWiktionary.js.map +0 -1
|
@@ -32,7 +32,7 @@ var NumberTantum;
|
|
|
32
32
|
NumberTantum["Both"] = "both";
|
|
33
33
|
})(NumberTantum = exports.NumberTantum || (exports.NumberTantum = {}));
|
|
34
34
|
class LaNominal {
|
|
35
|
-
constructor() {
|
|
35
|
+
constructor(options) {
|
|
36
36
|
this.cases = ["nom", "gen", "dat", "acc", "abl", "voc", "loc"];
|
|
37
37
|
this.genders = ["m", "f", "n"];
|
|
38
38
|
this.nums = ["sg", "pl"];
|
|
@@ -86,20 +86,21 @@ class LaNominal {
|
|
|
86
86
|
["4", "fourth"],
|
|
87
87
|
["5", "fifth"],
|
|
88
88
|
]);
|
|
89
|
+
this.options = options || {};
|
|
89
90
|
}
|
|
90
91
|
do_generate_noun_forms(args, pos = "nouns", from_headword = false) {
|
|
91
92
|
var _a;
|
|
92
93
|
const parsed_run = this.parse_segment_run_allowing_alternants(((_a = args.get("1")) === null || _a === void 0 ? void 0 : _a.trim()) || "");
|
|
93
94
|
parsed_run.loc = parsed_run.loc || args.has("loc_sg") || args.has("loc_pl");
|
|
94
95
|
let num = args.get("num");
|
|
95
|
-
if (num !== undefined && !common_1.is_enum_value(NumberTantum, num)) {
|
|
96
|
+
if (num !== undefined && !(0, common_1.is_enum_value)(NumberTantum, num)) {
|
|
96
97
|
num = undefined;
|
|
97
98
|
}
|
|
98
99
|
parsed_run.num = num || parsed_run.num;
|
|
99
100
|
const declensions = this.decline_segment_run(parsed_run, pos, false);
|
|
100
101
|
if (!parsed_run.loc) {
|
|
101
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_sg", undefined);
|
|
102
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_pl", undefined);
|
|
102
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_sg", undefined);
|
|
103
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_pl", undefined);
|
|
103
104
|
}
|
|
104
105
|
declensions.title = [this.construct_title(args.get("title"), declensions.title.join(""), false, parsed_run)];
|
|
105
106
|
const all_data = {
|
|
@@ -117,10 +118,10 @@ class LaNominal {
|
|
|
117
118
|
num_type: args.get("type"),
|
|
118
119
|
// only if headword
|
|
119
120
|
indecl: args.has("indecl"),
|
|
120
|
-
m: common_1.read_list(args, "m"),
|
|
121
|
-
f: common_1.read_list(args, "f"),
|
|
122
|
-
overriding_lemma: common_1.read_list(args, "lemma"),
|
|
123
|
-
overriding_genders: common_1.read_list(args, "g")
|
|
121
|
+
m: (0, common_1.read_list)(args, "m"),
|
|
122
|
+
f: (0, common_1.read_list)(args, "f"),
|
|
123
|
+
overriding_lemma: (0, common_1.read_list)(args, "lemma"),
|
|
124
|
+
overriding_genders: (0, common_1.read_list)(args, "g")
|
|
124
125
|
};
|
|
125
126
|
for (const slot of this.iter_noun_slots()) {
|
|
126
127
|
const noteses = declensions.notes.get(slot);
|
|
@@ -142,27 +143,27 @@ class LaNominal {
|
|
|
142
143
|
const parsed_run = this.parse_segment_run_allowing_alternants(segment_run);
|
|
143
144
|
parsed_run.loc = parsed_run.loc || (args.has("loc_sg_m") || args.has("loc_sg_f") || args.has("loc_sg_n") || args.has("loc_pl_m") || args.has("loc_pl_f") || args.has("loc_pl_n"));
|
|
144
145
|
let num = args.get("num");
|
|
145
|
-
if (num !== undefined && !common_1.is_enum_value(NumberTantum, num)) {
|
|
146
|
+
if (num !== undefined && !(0, common_1.is_enum_value)(NumberTantum, num)) {
|
|
146
147
|
num = undefined;
|
|
147
148
|
}
|
|
148
149
|
parsed_run.num = num || parsed_run.num;
|
|
149
150
|
const overriding_voc = (args.has("voc_sg_m") || args.has("voc_sg_f") || args.has("voc_sg_n") || args.has("voc_pl_m") || args.has("voc_pl_f") || args.has("voc_pl_n"));
|
|
150
151
|
const declensions = this.decline_segment_run(parsed_run, pos, true);
|
|
151
152
|
if (!parsed_run.loc) {
|
|
152
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_sg_m", undefined);
|
|
153
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_sg_f", undefined);
|
|
154
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_sg_n", undefined);
|
|
155
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_pl_m", undefined);
|
|
156
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_pl_f", undefined);
|
|
157
|
-
NominalForm_1.setNominalForm(declensions.forms, "loc_pl_n", undefined);
|
|
153
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_sg_m", undefined);
|
|
154
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_sg_f", undefined);
|
|
155
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_sg_n", undefined);
|
|
156
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_pl_m", undefined);
|
|
157
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_pl_f", undefined);
|
|
158
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "loc_pl_n", undefined);
|
|
158
159
|
}
|
|
159
160
|
if (!overriding_voc && !declensions.voc) {
|
|
160
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_sg_m", undefined);
|
|
161
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_sg_f", undefined);
|
|
162
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_sg_n", undefined);
|
|
163
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_pl_m", undefined);
|
|
164
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_pl_f", undefined);
|
|
165
|
-
NominalForm_1.setNominalForm(declensions.forms, "voc_pl_n", undefined);
|
|
161
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_sg_m", undefined);
|
|
162
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_sg_f", undefined);
|
|
163
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_sg_n", undefined);
|
|
164
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_pl_m", undefined);
|
|
165
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_pl_f", undefined);
|
|
166
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, "voc_pl_n", undefined);
|
|
166
167
|
}
|
|
167
168
|
declensions.title = [this.construct_title(args.get("title"), declensions.title.join(""), from_headword, parsed_run)];
|
|
168
169
|
const all_data = {
|
|
@@ -180,11 +181,11 @@ class LaNominal {
|
|
|
180
181
|
pos: pos,
|
|
181
182
|
num_type: args.get("type"),
|
|
182
183
|
// only if headword
|
|
183
|
-
overriding_lemma: common_1.read_list(args, "lemma"),
|
|
184
|
+
overriding_lemma: (0, common_1.read_list)(args, "lemma"),
|
|
184
185
|
indecl: args.has("indecl"),
|
|
185
|
-
comp: common_1.read_list(args, "comp"),
|
|
186
|
-
sup: common_1.read_list(args, "sup"),
|
|
187
|
-
adv: common_1.read_list(args, "adv")
|
|
186
|
+
comp: (0, common_1.read_list)(args, "comp"),
|
|
187
|
+
sup: (0, common_1.read_list)(args, "sup"),
|
|
188
|
+
adv: (0, common_1.read_list)(args, "adv")
|
|
188
189
|
};
|
|
189
190
|
for (const slot of this.iter_adj_slots()) {
|
|
190
191
|
const noteses = declensions.notes.get(slot);
|
|
@@ -257,18 +258,18 @@ class LaNominal {
|
|
|
257
258
|
data.user_specified.add(slot);
|
|
258
259
|
}
|
|
259
260
|
else {
|
|
260
|
-
val = NominalForm_1.getNominalForm(data.forms, slot) || [];
|
|
261
|
+
val = (0, NominalForm_1.getNominalForm)(data.forms, slot) || [];
|
|
261
262
|
}
|
|
262
263
|
}
|
|
263
264
|
if (val) {
|
|
264
265
|
if ((data.num == "pl" && slot.includes("sg")) || (data.num == "sg" && slot.includes("pl"))) {
|
|
265
|
-
NominalForm_1.setNominalForm(data.forms, slot, [""]);
|
|
266
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, [""]);
|
|
266
267
|
}
|
|
267
268
|
else if (val[0] == "" || val[0] == "-" || val[0] == "—") {
|
|
268
|
-
NominalForm_1.setNominalForm(data.forms, slot, [LaNominal.EmptyForm]);
|
|
269
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, [LaNominal.EmptyForm]);
|
|
269
270
|
}
|
|
270
271
|
else {
|
|
271
|
-
NominalForm_1.setNominalForm(data.forms, slot, val);
|
|
272
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, val);
|
|
272
273
|
}
|
|
273
274
|
}
|
|
274
275
|
}
|
|
@@ -281,7 +282,7 @@ class LaNominal {
|
|
|
281
282
|
}
|
|
282
283
|
for (const slot of this.iter_adj_slots()) {
|
|
283
284
|
if (data.noneut && slot.match(/_n/)) {
|
|
284
|
-
NominalForm_1.setNominalForm(data.forms, slot, undefined);
|
|
285
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, undefined);
|
|
285
286
|
}
|
|
286
287
|
let val;
|
|
287
288
|
const ovr = args.get(slot);
|
|
@@ -296,18 +297,18 @@ class LaNominal {
|
|
|
296
297
|
data.user_specified.add(slot);
|
|
297
298
|
}
|
|
298
299
|
else {
|
|
299
|
-
val = NominalForm_1.getNominalForm(data.forms, slot);
|
|
300
|
+
val = (0, NominalForm_1.getNominalForm)(data.forms, slot);
|
|
300
301
|
}
|
|
301
302
|
}
|
|
302
303
|
if (val) {
|
|
303
304
|
if ((data.num == "pl" && slot.match(/sg/)) || (data.num == "sg" && slot.match(/pl/))) {
|
|
304
|
-
NominalForm_1.setNominalForm(data.forms, slot, undefined);
|
|
305
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, undefined);
|
|
305
306
|
}
|
|
306
307
|
else if (val[0] == "" || val[0] == "-" || val[0] == "—") {
|
|
307
|
-
NominalForm_1.setNominalForm(data.forms, slot, [LaNominal.EmptyForm]);
|
|
308
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, [LaNominal.EmptyForm]);
|
|
308
309
|
}
|
|
309
310
|
else {
|
|
310
|
-
NominalForm_1.setNominalForm(data.forms, slot, val);
|
|
311
|
+
(0, NominalForm_1.setNominalForm)(data.forms, slot, val);
|
|
311
312
|
}
|
|
312
313
|
}
|
|
313
314
|
}
|
|
@@ -315,9 +316,9 @@ class LaNominal {
|
|
|
315
316
|
let other_is_masc = true;
|
|
316
317
|
for (const cas of this.cases) {
|
|
317
318
|
for (const num of this.nums) {
|
|
318
|
-
const genderForm = NominalForm_1.getNominalForm(data.forms, cas + "_" + num + "_" + gender);
|
|
319
|
-
const amscForm = NominalForm_1.getNominalForm(data.forms, cas + "_" + num + "_m");
|
|
320
|
-
if (!common_1.array_equals(genderForm, amscForm)) {
|
|
319
|
+
const genderForm = (0, NominalForm_1.getNominalForm)(data.forms, cas + "_" + num + "_" + gender);
|
|
320
|
+
const amscForm = (0, NominalForm_1.getNominalForm)(data.forms, cas + "_" + num + "_m");
|
|
321
|
+
if (!(0, common_1.array_equals)(genderForm, amscForm)) {
|
|
321
322
|
other_is_masc = false;
|
|
322
323
|
break;
|
|
323
324
|
}
|
|
@@ -326,10 +327,10 @@ class LaNominal {
|
|
|
326
327
|
break;
|
|
327
328
|
}
|
|
328
329
|
}
|
|
329
|
-
if (other_is_masc) {
|
|
330
|
+
if (other_is_masc && !this.options.populateAllTerminations) {
|
|
330
331
|
for (const cas of this.cases) {
|
|
331
332
|
for (const num of this.nums) {
|
|
332
|
-
NominalForm_1.setNominalForm(data.forms, cas + "_" + num + "_" + gender, undefined);
|
|
333
|
+
(0, NominalForm_1.setNominalForm)(data.forms, cas + "_" + num + "_" + gender, undefined);
|
|
333
334
|
}
|
|
334
335
|
}
|
|
335
336
|
}
|
|
@@ -541,7 +542,7 @@ class LaNominal {
|
|
|
541
542
|
}
|
|
542
543
|
gender = gender || parsed_segment.gender;
|
|
543
544
|
parsed_segment.orig_prefix = segments[i - 1];
|
|
544
|
-
parsed_segment.prefix = common_1.remove_links(segments[i - 1]);
|
|
545
|
+
parsed_segment.prefix = (0, common_1.remove_links)(segments[i - 1]);
|
|
545
546
|
parsed_segments.push(parsed_segment);
|
|
546
547
|
const props = {
|
|
547
548
|
decl: parsed_segment.decl,
|
|
@@ -562,7 +563,7 @@ class LaNominal {
|
|
|
562
563
|
loc: false,
|
|
563
564
|
types: new Set(),
|
|
564
565
|
orig_prefix: segments[segments.length - 1],
|
|
565
|
-
prefix: common_1.remove_links(segments[segments.length - 1])
|
|
566
|
+
prefix: (0, common_1.remove_links)(segments[segments.length - 1])
|
|
566
567
|
});
|
|
567
568
|
}
|
|
568
569
|
return {
|
|
@@ -608,7 +609,7 @@ class LaNominal {
|
|
|
608
609
|
if (!orig_lemma) {
|
|
609
610
|
throw Error("No lemma");
|
|
610
611
|
}
|
|
611
|
-
const lemma = common_1.remove_links(orig_lemma);
|
|
612
|
+
const lemma = (0, common_1.remove_links)(orig_lemma);
|
|
612
613
|
let stem2 = stems[1];
|
|
613
614
|
if (stems.length > 2) {
|
|
614
615
|
throw Error(`Too many stems, at most 2 should be give: ${stem_part}`);
|
|
@@ -879,13 +880,13 @@ class LaNominal {
|
|
|
879
880
|
if (typeof (ending) != "string") {
|
|
880
881
|
const lemma_ending = ending[0];
|
|
881
882
|
const stem2_ending = ending[1];
|
|
882
|
-
base = common_1.extract_base(lemma, lemma_ending);
|
|
883
|
+
base = (0, common_1.extract_base)(lemma, lemma_ending);
|
|
883
884
|
if (base && base + stem2_ending != stem2) {
|
|
884
885
|
base = undefined;
|
|
885
886
|
}
|
|
886
887
|
}
|
|
887
888
|
else {
|
|
888
|
-
base = common_1.extract_base(lemma, ending);
|
|
889
|
+
base = (0, common_1.extract_base)(lemma, ending);
|
|
889
890
|
}
|
|
890
891
|
if (base !== undefined) {
|
|
891
892
|
const new_subtypes = [];
|
|
@@ -1128,13 +1129,13 @@ class LaNominal {
|
|
|
1128
1129
|
if (Array.isArray(ending)) {
|
|
1129
1130
|
const lemma_ending = ending[0];
|
|
1130
1131
|
const stem2_ending = ending[1];
|
|
1131
|
-
const base = common_1.extract_base(lemma, lemma_ending);
|
|
1132
|
+
const base = (0, common_1.extract_base)(lemma, lemma_ending);
|
|
1132
1133
|
if (base && (base + stem2_ending) == stem2) {
|
|
1133
1134
|
return [base, stem2, new Set(subtypes)];
|
|
1134
1135
|
}
|
|
1135
1136
|
}
|
|
1136
1137
|
else {
|
|
1137
|
-
const base = common_1.extract_base(lemma, ending);
|
|
1138
|
+
const base = (0, common_1.extract_base)(lemma, ending);
|
|
1138
1139
|
if (base) {
|
|
1139
1140
|
return [base, stem2, new Set(subtypes)];
|
|
1140
1141
|
}
|
|
@@ -1158,7 +1159,7 @@ class LaNominal {
|
|
|
1158
1159
|
noneut: false,
|
|
1159
1160
|
};
|
|
1160
1161
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1161
|
-
NominalForm_1.setNominalForm(declensions.forms, slot, [""]);
|
|
1162
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, slot, [""]);
|
|
1162
1163
|
}
|
|
1163
1164
|
for (const seg of parsed_run.segments) {
|
|
1164
1165
|
if (seg.type == "Segment" && seg.decl) {
|
|
@@ -1174,6 +1175,7 @@ class LaNominal {
|
|
|
1174
1175
|
}
|
|
1175
1176
|
potential_lemma_slots = this.potential_adj_lemma_slots;
|
|
1176
1177
|
data = {
|
|
1178
|
+
declOpts: this.options,
|
|
1177
1179
|
subtitles: [],
|
|
1178
1180
|
footnote: "",
|
|
1179
1181
|
num: seg.num,
|
|
@@ -1225,6 +1227,7 @@ class LaNominal {
|
|
|
1225
1227
|
}
|
|
1226
1228
|
potential_lemma_slots = this.potential_noun_lemma_slots;
|
|
1227
1229
|
data = {
|
|
1230
|
+
declOpts: this.options,
|
|
1228
1231
|
subtitles: [],
|
|
1229
1232
|
footnote: "",
|
|
1230
1233
|
num: seg.num,
|
|
@@ -1287,7 +1290,7 @@ class LaNominal {
|
|
|
1287
1290
|
}
|
|
1288
1291
|
}
|
|
1289
1292
|
for (const slot of potential_lemma_slots) {
|
|
1290
|
-
const forms = NominalForm_1.getNominalForm(data.forms, slot);
|
|
1293
|
+
const forms = (0, NominalForm_1.getNominalForm)(data.forms, slot);
|
|
1291
1294
|
if (forms) {
|
|
1292
1295
|
const linked_forms = [];
|
|
1293
1296
|
for (const form of forms) {
|
|
@@ -1298,7 +1301,7 @@ class LaNominal {
|
|
|
1298
1301
|
linked_forms.push(form);
|
|
1299
1302
|
}
|
|
1300
1303
|
}
|
|
1301
|
-
NominalForm_1.setNominalForm(data.forms, `linked_${slot}`, linked_forms);
|
|
1304
|
+
(0, NominalForm_1.setNominalForm)(data.forms, `linked_${slot}`, linked_forms);
|
|
1302
1305
|
}
|
|
1303
1306
|
}
|
|
1304
1307
|
if (seg.types.has("lig")) {
|
|
@@ -1314,20 +1317,20 @@ class LaNominal {
|
|
|
1314
1317
|
if (!seg.is_adj) {
|
|
1315
1318
|
throw Error(`Can't decline noun '${seg.lemma}' when overall term is an adjective`);
|
|
1316
1319
|
}
|
|
1317
|
-
new_forms = NominalForm_1.getNominalForm(data.forms, slot);
|
|
1320
|
+
new_forms = (0, NominalForm_1.getNominalForm)(data.forms, slot);
|
|
1318
1321
|
if (!new_forms && slot.match(/_[fn]$/)) {
|
|
1319
|
-
new_forms = NominalForm_1.getNominalForm(data.forms, slot.replace(/_[fn]$/, "_m"));
|
|
1322
|
+
new_forms = (0, NominalForm_1.getNominalForm)(data.forms, slot.replace(/_[fn]$/, "_m"));
|
|
1320
1323
|
}
|
|
1321
1324
|
}
|
|
1322
1325
|
else if (seg.is_adj) {
|
|
1323
1326
|
if (!seg.gender) {
|
|
1324
1327
|
throw Error(`Declining modifying adjective ${seg.lemma} but don't know gender of associated noun`);
|
|
1325
1328
|
}
|
|
1326
|
-
new_forms = NominalForm_1.getNominalForm(data.forms, slot + "_" + seg.gender.toLowerCase()) ||
|
|
1327
|
-
NominalForm_1.getNominalForm(data.forms, slot + "_m");
|
|
1329
|
+
new_forms = (0, NominalForm_1.getNominalForm)(data.forms, slot + "_" + seg.gender.toLowerCase()) ||
|
|
1330
|
+
(0, NominalForm_1.getNominalForm)(data.forms, slot + "_m");
|
|
1328
1331
|
}
|
|
1329
1332
|
else {
|
|
1330
|
-
new_forms = NominalForm_1.getNominalForm(data.forms, slot);
|
|
1333
|
+
new_forms = (0, NominalForm_1.getNominalForm)(data.forms, slot);
|
|
1331
1334
|
}
|
|
1332
1335
|
const new_notes = [];
|
|
1333
1336
|
if (new_forms) {
|
|
@@ -1338,9 +1341,9 @@ class LaNominal {
|
|
|
1338
1341
|
}
|
|
1339
1342
|
}
|
|
1340
1343
|
}
|
|
1341
|
-
const oldForms = NominalForm_1.getNominalForm(declensions.forms, slot);
|
|
1344
|
+
const oldForms = (0, NominalForm_1.getNominalForm)(declensions.forms, slot);
|
|
1342
1345
|
const [forms, notes] = this.append_form(oldForms, declensions.notes.get(slot), new_forms, new_notes, slot.includes("linked") ? seg.orig_prefix : seg.prefix);
|
|
1343
|
-
NominalForm_1.setNominalForm(declensions.forms, slot, forms);
|
|
1346
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, slot, forms);
|
|
1344
1347
|
declensions.notes.set(slot, notes);
|
|
1345
1348
|
}
|
|
1346
1349
|
if (!seg.types.has("nocat") && (is_adj || !seg.is_adj)) {
|
|
@@ -1419,7 +1422,7 @@ class LaNominal {
|
|
|
1419
1422
|
for (const slot of (this.iter_slots(is_adj))) {
|
|
1420
1423
|
if ((this_parsed_run.num == "sg" && slot.includes("pl")) ||
|
|
1421
1424
|
(this_parsed_run.num == "pl" && slot.includes("sg"))) {
|
|
1422
|
-
NominalForm_1.setNominalForm(this_declensions.forms, slot, []);
|
|
1425
|
+
(0, NominalForm_1.setNominalForm)(this_declensions.forms, slot, []);
|
|
1423
1426
|
this_declensions.notes.set(slot, []);
|
|
1424
1427
|
}
|
|
1425
1428
|
}
|
|
@@ -1429,8 +1432,8 @@ class LaNominal {
|
|
|
1429
1432
|
}
|
|
1430
1433
|
else {
|
|
1431
1434
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1432
|
-
const curforms = NominalForm_1.getNominalForm(seg_declensions.forms, slot) || [];
|
|
1433
|
-
const newforms = NominalForm_1.getNominalForm(this_declensions.forms, slot) || [];
|
|
1435
|
+
const curforms = (0, NominalForm_1.getNominalForm)(seg_declensions.forms, slot) || [];
|
|
1436
|
+
const newforms = (0, NominalForm_1.getNominalForm)(this_declensions.forms, slot) || [];
|
|
1434
1437
|
const newform_index_to_new_index = [];
|
|
1435
1438
|
newforms.forEach((form, newj) => {
|
|
1436
1439
|
let did_break = false;
|
|
@@ -1446,7 +1449,7 @@ class LaNominal {
|
|
|
1446
1449
|
newform_index_to_new_index[newj] = curforms.length - 1;
|
|
1447
1450
|
}
|
|
1448
1451
|
});
|
|
1449
|
-
NominalForm_1.setNominalForm(seg_declensions.forms, slot, curforms);
|
|
1452
|
+
(0, NominalForm_1.setNominalForm)(seg_declensions.forms, slot, curforms);
|
|
1450
1453
|
const curnotes = seg_declensions.notes.get(slot) || [];
|
|
1451
1454
|
const newnotes = this_declensions.notes.get(slot);
|
|
1452
1455
|
if (newnotes) {
|
|
@@ -1480,10 +1483,10 @@ class LaNominal {
|
|
|
1480
1483
|
}
|
|
1481
1484
|
this.propagate_number_restrictions(seg_declensions === null || seg_declensions === void 0 ? void 0 : seg_declensions.forms, parsed_run.num, is_adj);
|
|
1482
1485
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1483
|
-
const declForms = NominalForm_1.getNominalForm(declensions.forms, slot);
|
|
1484
|
-
const segForms = NominalForm_1.getNominalForm(seg_declensions.forms, slot);
|
|
1486
|
+
const declForms = (0, NominalForm_1.getNominalForm)(declensions.forms, slot);
|
|
1487
|
+
const segForms = (0, NominalForm_1.getNominalForm)(seg_declensions.forms, slot);
|
|
1485
1488
|
const [newForms, notes] = this.append_form(declForms, declensions.notes.get(slot), segForms, seg_declensions.notes.get(slot), undefined);
|
|
1486
|
-
NominalForm_1.setNominalForm(declensions.forms, slot, newForms);
|
|
1489
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, slot, newForms);
|
|
1487
1490
|
declensions.notes.set(slot, notes);
|
|
1488
1491
|
}
|
|
1489
1492
|
if (is_adj || !seg.is_adj) {
|
|
@@ -1616,8 +1619,8 @@ class LaNominal {
|
|
|
1616
1619
|
else {
|
|
1617
1620
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1618
1621
|
const prefix = slot.includes("linked") ? seg.orig_prefix : seg.prefix;
|
|
1619
|
-
const [forms, notes] = this.append_form(NominalForm_1.getNominalForm(declensions.forms, slot), declensions.notes.get(slot), [prefix || ""], undefined, undefined);
|
|
1620
|
-
NominalForm_1.setNominalForm(declensions.forms, slot, forms);
|
|
1622
|
+
const [forms, notes] = this.append_form((0, NominalForm_1.getNominalForm)(declensions.forms, slot), declensions.notes.get(slot), [prefix || ""], undefined, undefined);
|
|
1623
|
+
(0, NominalForm_1.setNominalForm)(declensions.forms, slot, forms);
|
|
1621
1624
|
declensions.notes.set(slot, notes);
|
|
1622
1625
|
}
|
|
1623
1626
|
declensions.title.push("indeclinable portion");
|
|
@@ -1714,35 +1717,35 @@ class LaNominal {
|
|
|
1714
1717
|
}
|
|
1715
1718
|
apply_ligatures(forms, is_adj) {
|
|
1716
1719
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1717
|
-
const ffs = NominalForm_1.getNominalForm(forms, slot) || [];
|
|
1720
|
+
const ffs = (0, NominalForm_1.getNominalForm)(forms, slot) || [];
|
|
1718
1721
|
for (let i = 0; i < ffs.length; i++) {
|
|
1719
1722
|
ffs[i] = ffs[i].replace(/Ae/g, "Æ");
|
|
1720
1723
|
ffs[i] = ffs[i].replace(/Oe/g, "Œ");
|
|
1721
1724
|
ffs[i] = ffs[i].replace(/ae/g, "æ");
|
|
1722
1725
|
ffs[i] = ffs[i].replace(/oe/g, "œ");
|
|
1723
1726
|
}
|
|
1724
|
-
NominalForm_1.setNominalForm(forms, slot, ffs);
|
|
1727
|
+
(0, NominalForm_1.setNominalForm)(forms, slot, ffs);
|
|
1725
1728
|
}
|
|
1726
1729
|
}
|
|
1727
1730
|
apply_sufn(forms, is_adj) {
|
|
1728
1731
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1729
|
-
const ffs = NominalForm_1.getNominalForm(forms, slot) || [];
|
|
1732
|
+
const ffs = (0, NominalForm_1.getNominalForm)(forms, slot) || [];
|
|
1730
1733
|
if (ffs.length == 1 && !slot.includes("linked")) {
|
|
1731
1734
|
const form = ffs[0];
|
|
1732
1735
|
if (form.match(/m$/)) {
|
|
1733
|
-
NominalForm_1.setNominalForm(forms, slot, [form.replace(/m$/, "n"), ...ffs]);
|
|
1736
|
+
(0, NominalForm_1.setNominalForm)(forms, slot, [form.replace(/m$/, "n"), ...ffs]);
|
|
1734
1737
|
}
|
|
1735
1738
|
}
|
|
1736
1739
|
else {
|
|
1737
1740
|
let final_m = false;
|
|
1738
|
-
for (const form of NominalForm_1.getNominalForm(forms, slot) || []) {
|
|
1741
|
+
for (const form of (0, NominalForm_1.getNominalForm)(forms, slot) || []) {
|
|
1739
1742
|
if (form.match(/m$/)) {
|
|
1740
1743
|
final_m = true;
|
|
1741
1744
|
}
|
|
1742
1745
|
}
|
|
1743
1746
|
if (final_m) {
|
|
1744
1747
|
const newval = [];
|
|
1745
|
-
for (const form of NominalForm_1.getNominalForm(forms, slot) || []) {
|
|
1748
|
+
for (const form of (0, NominalForm_1.getNominalForm)(forms, slot) || []) {
|
|
1746
1749
|
if (form.match(/m$/)) {
|
|
1747
1750
|
const val = form.replace(/m$/, "n");
|
|
1748
1751
|
newval.push(val);
|
|
@@ -1758,7 +1761,7 @@ class LaNominal {
|
|
|
1758
1761
|
for (const slot of this.iter_slots(is_adj)) {
|
|
1759
1762
|
if (slot.match(num)) {
|
|
1760
1763
|
const other_num_slot = (num == "sg") ? slot.replace("sg", "pl") : slot.replace("pl", "sg");
|
|
1761
|
-
NominalForm_1.setNominalForm(forms, other_num_slot, NominalForm_1.getNominalForm(forms, slot) || []);
|
|
1764
|
+
(0, NominalForm_1.setNominalForm)(forms, other_num_slot, (0, NominalForm_1.getNominalForm)(forms, slot) || []);
|
|
1762
1765
|
}
|
|
1763
1766
|
}
|
|
1764
1767
|
}
|