@fpw/en-wiktionary-la-modules 0.0.9 → 0.0.12

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 (40) hide show
  1. package/dist/LaEngine.js +6 -6
  2. package/dist/LaEngine.js.map +1 -1
  3. package/dist/index.js +5 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/common.js +1 -1
  6. package/dist/modules/common.js.map +1 -1
  7. package/dist/modules/conjugation/LaVerb.d.ts +1 -1
  8. package/dist/modules/conjugation/LaVerb.js +379 -375
  9. package/dist/modules/conjugation/LaVerb.js.map +1 -1
  10. package/dist/modules/conjugation/VerbForm.js +2 -2
  11. package/dist/modules/conjugation/VerbForm.js.map +1 -1
  12. package/dist/modules/conjugation/VerbType.d.ts +1 -0
  13. package/dist/modules/conjugation/VerbType.js +3 -2
  14. package/dist/modules/conjugation/VerbType.js.map +1 -1
  15. package/dist/modules/declination/LaAdjData.d.ts +1 -1
  16. package/dist/modules/declination/LaAdjData.js +431 -416
  17. package/dist/modules/declination/LaAdjData.js.map +1 -1
  18. package/dist/modules/declination/LaNominal.js +74 -71
  19. package/dist/modules/declination/LaNominal.js.map +1 -1
  20. package/dist/modules/declination/LaNounData.js +427 -416
  21. package/dist/modules/declination/LaNounData.js.map +1 -1
  22. package/dist/modules/declination/NominalForm.js +2 -2
  23. package/dist/modules/declination/NominalForm.js.map +1 -1
  24. package/dist/modules/headword/HeadwordParser.js +17 -17
  25. package/dist/modules/headword/HeadwordParser.js.map +1 -1
  26. package/package.json +6 -5
  27. package/src/LaEngine.ts +82 -0
  28. package/src/index.ts +16 -0
  29. package/src/modules/common.ts +164 -0
  30. package/src/modules/conjugation/LaVerb.ts +2490 -0
  31. package/src/modules/conjugation/VerbAffix.ts +18 -0
  32. package/src/modules/conjugation/VerbForm.ts +223 -0
  33. package/src/modules/conjugation/VerbType.ts +51 -0
  34. package/src/modules/declination/LaAdjData.ts +845 -0
  35. package/src/modules/declination/LaNominal.ts +1975 -0
  36. package/src/modules/declination/LaNounData.ts +859 -0
  37. package/src/modules/declination/LaPersonalPronoun.ts +77 -0
  38. package/src/modules/declination/NominalForm.ts +89 -0
  39. package/src/modules/headword/HeadWord.ts +132 -0
  40. package/src/modules/headword/HeadwordParser.ts +514 -0
@@ -0,0 +1,18 @@
1
+ export enum VerbAffix {
2
+ Prefix = "prefix",
3
+ PassivePrefix = "passive_prefix",
4
+ PluralPrefix = "plural_prefix",
5
+ PluralPassivePrefix = "plural_passive_prefix",
6
+ GenitivePrefix = "gen_prefix",
7
+ DativePrefix = "dat_prefix",
8
+ AccusativePrefix = "acc_prefix",
9
+ AblativePrefix = "abl_prefix",
10
+ Suffix = "suffix",
11
+ PassiveSuffix = "passive_suffix",
12
+ PluralSuffix = "plural_suffix",
13
+ PluralPassiveSuffix = "plural_passive_suffix",
14
+ GenitiveSuffix = "gen_suffix",
15
+ DativeSuffix = "dat_suffix",
16
+ AccusativeSuffive = "acc_suffix",
17
+ AblativeSuffix = "abl_suffix",
18
+ }
@@ -0,0 +1,223 @@
1
+ import { FormMap, is_enum_value } from "../common";
2
+
3
+ export enum VerbForm {
4
+ pres_actv_indc_1s = "1s_pres_actv_indc",
5
+ pres_actv_indc_2s = "2s_pres_actv_indc",
6
+ pres_actv_indc_3s = "3s_pres_actv_indc",
7
+ pres_actv_indc_1p = "1p_pres_actv_indc",
8
+ pres_actv_indc_2p = "2p_pres_actv_indc",
9
+ pres_actv_indc_3p = "3p_pres_actv_indc",
10
+
11
+ impf_actv_indc_1s = "1s_impf_actv_indc",
12
+ impf_actv_indc_2s = "2s_impf_actv_indc",
13
+ impf_actv_indc_3s = "3s_impf_actv_indc",
14
+ impf_actv_indc_1p = "1p_impf_actv_indc",
15
+ impf_actv_indc_2p = "2p_impf_actv_indc",
16
+ impf_actv_indc_3p = "3p_impf_actv_indc",
17
+
18
+ futr_actv_indc_1s = "1s_futr_actv_indc",
19
+ futr_actv_indc_2s = "2s_futr_actv_indc",
20
+ futr_actv_indc_3s = "3s_futr_actv_indc",
21
+ futr_actv_indc_1p = "1p_futr_actv_indc",
22
+ futr_actv_indc_2p = "2p_futr_actv_indc",
23
+ futr_actv_indc_3p = "3p_futr_actv_indc",
24
+
25
+ perf_actv_indc_1s = "1s_perf_actv_indc",
26
+ perf_actv_indc_2s = "2s_perf_actv_indc",
27
+ perf_actv_indc_3s = "3s_perf_actv_indc",
28
+ perf_actv_indc_1p = "1p_perf_actv_indc",
29
+ perf_actv_indc_2p = "2p_perf_actv_indc",
30
+ perf_actv_indc_3p = "3p_perf_actv_indc",
31
+
32
+ plup_actv_indc_1s = "1s_plup_actv_indc",
33
+ plup_actv_indc_2s = "2s_plup_actv_indc",
34
+ plup_actv_indc_3s = "3s_plup_actv_indc",
35
+ plup_actv_indc_1p = "1p_plup_actv_indc",
36
+ plup_actv_indc_2p = "2p_plup_actv_indc",
37
+ plup_actv_indc_3p = "3p_plup_actv_indc",
38
+
39
+ futp_actv_indc_1s = "1s_futp_actv_indc",
40
+ futp_actv_indc_2s = "2s_futp_actv_indc",
41
+ futp_actv_indc_3s = "3s_futp_actv_indc",
42
+ futp_actv_indc_1p = "1p_futp_actv_indc",
43
+ futp_actv_indc_2p = "2p_futp_actv_indc",
44
+ futp_actv_indc_3p = "3p_futp_actv_indc",
45
+
46
+ pres_actv_subj_1s = "1s_pres_actv_subj",
47
+ pres_actv_subj_2s = "2s_pres_actv_subj",
48
+ pres_actv_subj_3s = "3s_pres_actv_subj",
49
+ pres_actv_subj_1p = "1p_pres_actv_subj",
50
+ pres_actv_subj_2p = "2p_pres_actv_subj",
51
+ pres_actv_subj_3p = "3p_pres_actv_subj",
52
+
53
+ impf_actv_subj_1s = "1s_impf_actv_subj",
54
+ impf_actv_subj_2s = "2s_impf_actv_subj",
55
+ impf_actv_subj_3s = "3s_impf_actv_subj",
56
+ impf_actv_subj_1p = "1p_impf_actv_subj",
57
+ impf_actv_subj_2p = "2p_impf_actv_subj",
58
+ impf_actv_subj_3p = "3p_impf_actv_subj",
59
+
60
+ perf_actv_subj_1s = "1s_perf_actv_subj",
61
+ perf_actv_subj_2s = "2s_perf_actv_subj",
62
+ perf_actv_subj_3s = "3s_perf_actv_subj",
63
+ perf_actv_subj_1p = "1p_perf_actv_subj",
64
+ perf_actv_subj_2p = "2p_perf_actv_subj",
65
+ perf_actv_subj_3p = "3p_perf_actv_subj",
66
+
67
+ plup_actv_subj_1s = "1s_plup_actv_subj",
68
+ plup_actv_subj_2s = "2s_plup_actv_subj",
69
+ plup_actv_subj_3s = "3s_plup_actv_subj",
70
+ plup_actv_subj_1p = "1p_plup_actv_subj",
71
+ plup_actv_subj_2p = "2p_plup_actv_subj",
72
+ plup_actv_subj_3p = "3p_plup_actv_subj",
73
+
74
+ pres_actv_impr_1s = "1s_pres_actv_impr",
75
+ pres_actv_impr_2s = "2s_pres_actv_impr",
76
+ pres_actv_impr_3s = "3s_pres_actv_impr",
77
+ pres_actv_impr_1p = "1p_pres_actv_impr",
78
+ pres_actv_impr_2p = "2p_pres_actv_impr",
79
+ pres_actv_impr_3p = "3p_pres_actv_impr",
80
+
81
+ futr_actv_impr_1s = "1s_futr_actv_impr",
82
+ futr_actv_impr_2s = "2s_futr_actv_impr",
83
+ futr_actv_impr_3s = "3s_futr_actv_impr",
84
+ futr_actv_impr_1p = "1p_futr_actv_impr",
85
+ futr_actv_impr_2p = "2p_futr_actv_impr",
86
+ futr_actv_impr_3p = "3p_futr_actv_impr",
87
+
88
+ pres_pasv_indc_1s = "1s_pres_pasv_indc",
89
+ pres_pasv_indc_2s = "2s_pres_pasv_indc",
90
+ pres_pasv_indc_3s = "3s_pres_pasv_indc",
91
+ pres_pasv_indc_1p = "1p_pres_pasv_indc",
92
+ pres_pasv_indc_2p = "2p_pres_pasv_indc",
93
+ pres_pasv_indc_3p = "3p_pres_pasv_indc",
94
+
95
+ impf_pasv_indc_1s = "1s_impf_pasv_indc",
96
+ impf_pasv_indc_2s = "2s_impf_pasv_indc",
97
+ impf_pasv_indc_3s = "3s_impf_pasv_indc",
98
+ impf_pasv_indc_1p = "1p_impf_pasv_indc",
99
+ impf_pasv_indc_2p = "2p_impf_pasv_indc",
100
+ impf_pasv_indc_3p = "3p_impf_pasv_indc",
101
+
102
+ futr_pasv_indc_1s = "1s_futr_pasv_indc",
103
+ futr_pasv_indc_2s = "2s_futr_pasv_indc",
104
+ futr_pasv_indc_3s = "3s_futr_pasv_indc",
105
+ futr_pasv_indc_1p = "1p_futr_pasv_indc",
106
+ futr_pasv_indc_2p = "2p_futr_pasv_indc",
107
+ futr_pasv_indc_3p = "3p_futr_pasv_indc",
108
+
109
+ perf_pasv_indc_1s = "1s_perf_pasv_indc",
110
+ perf_pasv_indc_2s = "2s_perf_pasv_indc",
111
+ perf_pasv_indc_3s = "3s_perf_pasv_indc",
112
+ perf_pasv_indc_1p = "1p_perf_pasv_indc",
113
+ perf_pasv_indc_2p = "2p_perf_pasv_indc",
114
+ perf_pasv_indc_3p = "3p_perf_pasv_indc",
115
+
116
+ plup_pasv_indc_1s = "1s_plup_pasv_indc",
117
+ plup_pasv_indc_2s = "2s_plup_pasv_indc",
118
+ plup_pasv_indc_3s = "3s_plup_pasv_indc",
119
+ plup_pasv_indc_1p = "1p_plup_pasv_indc",
120
+ plup_pasv_indc_2p = "2p_plup_pasv_indc",
121
+ plup_pasv_indc_3p = "3p_plup_pasv_indc",
122
+
123
+ futp_pasv_indc_1s = "1s_futp_pasv_indc",
124
+ futp_pasv_indc_2s = "2s_futp_pasv_indc",
125
+ futp_pasv_indc_3s = "3s_futp_pasv_indc",
126
+ futp_pasv_indc_1p = "1p_futp_pasv_indc",
127
+ futp_pasv_indc_2p = "2p_futp_pasv_indc",
128
+ futp_pasv_indc_3p = "3p_futp_pasv_indc",
129
+
130
+ pres_pasv_subj_1s = "1s_pres_pasv_subj",
131
+ pres_pasv_subj_2s = "2s_pres_pasv_subj",
132
+ pres_pasv_subj_3s = "3s_pres_pasv_subj",
133
+ pres_pasv_subj_1p = "1p_pres_pasv_subj",
134
+ pres_pasv_subj_2p = "2p_pres_pasv_subj",
135
+ pres_pasv_subj_3p = "3p_pres_pasv_subj",
136
+
137
+ impf_pasv_subj_1s = "1s_impf_pasv_subj",
138
+ impf_pasv_subj_2s = "2s_impf_pasv_subj",
139
+ impf_pasv_subj_3s = "3s_impf_pasv_subj",
140
+ impf_pasv_subj_1p = "1p_impf_pasv_subj",
141
+ impf_pasv_subj_2p = "2p_impf_pasv_subj",
142
+ impf_pasv_subj_3p = "3p_impf_pasv_subj",
143
+
144
+ perf_pasv_subj_1s = "1s_perf_pasv_subj",
145
+ perf_pasv_subj_2s = "2s_perf_pasv_subj",
146
+ perf_pasv_subj_3s = "3s_perf_pasv_subj",
147
+ perf_pasv_subj_1p = "1p_perf_pasv_subj",
148
+ perf_pasv_subj_2p = "2p_perf_pasv_subj",
149
+ perf_pasv_subj_3p = "3p_perf_pasv_subj",
150
+
151
+ plup_pasv_subj_1s = "1s_plup_pasv_subj",
152
+ plup_pasv_subj_2s = "2s_plup_pasv_subj",
153
+ plup_pasv_subj_3s = "3s_plup_pasv_subj",
154
+ plup_pasv_subj_1p = "1p_plup_pasv_subj",
155
+ plup_pasv_subj_2p = "2p_plup_pasv_subj",
156
+ plup_pasv_subj_3p = "3p_plup_pasv_subj",
157
+
158
+ pres_pasv_impr_1s = "1s_pres_pasv_impr",
159
+ pres_pasv_impr_2s = "2s_pres_pasv_impr",
160
+ pres_pasv_impr_3s = "3s_pres_pasv_impr",
161
+ pres_pasv_impr_1p = "1p_pres_pasv_impr",
162
+ pres_pasv_impr_2p = "2p_pres_pasv_impr",
163
+ pres_pasv_impr_3p = "3p_pres_pasv_impr",
164
+
165
+ futr_pasv_impr_1s = "1s_futr_pasv_impr",
166
+ futr_pasv_impr_2s = "2s_futr_pasv_impr",
167
+ futr_pasv_impr_3s = "3s_futr_pasv_impr",
168
+ futr_pasv_impr_1p = "1p_futr_pasv_impr",
169
+ futr_pasv_impr_2p = "2p_futr_pasv_impr",
170
+ futr_pasv_impr_3p = "3p_futr_pasv_impr",
171
+
172
+ pres_actv_inf = "pres_actv_inf",
173
+ perf_actv_inf = "perf_actv_inf",
174
+ futr_actv_inf = "futr_actv_inf",
175
+ pres_pasv_inf = "pres_pasv_inf",
176
+ perf_pasv_inf = "perf_pasv_inf",
177
+ futr_pasv_inf = "futr_pasv_inf",
178
+ pres_actv_ptc = "pres_actv_ptc",
179
+ perf_actv_ptc = "perf_actv_ptc",
180
+ futr_actv_ptc = "futr_actv_ptc",
181
+ pres_pasv_ptc = "pres_pasv_ptc",
182
+ perf_pasv_ptc = "perf_pasv_ptc",
183
+ futr_pasv_ptc = "futr_pasv_ptc",
184
+
185
+ linked_pres_actv_indc_1s = "linked_1s_pres_actv_indc",
186
+ linked_pres_actv_indc_3s = "linked_3s_pres_actv_indc",
187
+ linked_perf_actv_indc_1s = "linked_1s_perf_actv_indc",
188
+ linked_perf_actv_indc_3s = "linked_3s_perf_actv_indc",
189
+
190
+ plup_pasv_subj = "plup_pasv_subj",
191
+ perf_pasv_subj = "perf_pasv_subj",
192
+ futp_pasv_indc = "futp_pasv_indc",
193
+ plup_pasv_indc = "plup_pasv_indc",
194
+ perf_pasv_indc = "perf_pasv_indc",
195
+ plup_actv_subj = "plup_actv_subj",
196
+ perf_actv_subj = "perf_actv_subj",
197
+ futp_actv_indc = "futp_actv_indc",
198
+ plup_actv_indc = "plup_actv_indc",
199
+ perf_actv_indc = "perf_actv_indc",
200
+
201
+ ger_nom = "ger_nom",
202
+ ger_gen = "ger_gen",
203
+ ger_dat = "ger_dat",
204
+ ger_acc = "ger_acc",
205
+ ger_abl = "ger_abl",
206
+
207
+ sup_acc = "sup_acc",
208
+ sup_abl = "sup_abl",
209
+ }
210
+
211
+ export function setVerbForm(forms: FormMap<VerbForm>, form: string, values: string[]) {
212
+ if (!is_enum_value(VerbForm, form)) {
213
+ throw Error(`Invalid verb form ${form}: ${values}`);
214
+ }
215
+ forms.set(form, values);
216
+ }
217
+
218
+ export function getVerbForm(forms: FormMap<VerbForm>, form: string): string[] | undefined {
219
+ if (!is_enum_value(VerbForm, form)) {
220
+ throw Error(`Invalid verb form ${form}`);
221
+ }
222
+ return forms.get(form);
223
+ }
@@ -0,0 +1,51 @@
1
+ import { is_enum_value } from "../common";
2
+
3
+ export enum VerbType {
4
+ Impersonal = "impers",
5
+ Irregular = "irreg",
6
+ ThirdPersOnly = "3only",
7
+ Deponent = "depon",
8
+ SemiDeponent = "semidepon",
9
+ OptSemiDeponent = "optsemidepon",
10
+ NoPassive = "nopass",
11
+ PassiveThirdOnly = "pass3only",
12
+ PassiveImpersonal = "passimpers",
13
+ PerfectAsPresence = "perfaspres",
14
+ NoPerfect = "noperf",
15
+ NoPassivePerfect = "nopasvperf",
16
+ NoSupine = "nosup",
17
+ SupineFutrActvOnly = "supfutractvonly",
18
+ NoImperfect = "noimp",
19
+ NoFuture = "nofut",
20
+ PoeticInfinitive = "p3inf",
21
+ PoetSyncopatedPerfect = "poetsyncperf",
22
+ OptionalSyncopatedPerfect = "optsyncperf",
23
+ AlwaysSyncopatedPerfect = "alwayssyncperf",
24
+ IStem = "I",
25
+ Masculine = "m",
26
+ Feminine = "f",
27
+ Neuter = "n",
28
+ MasculinePlural = "mp",
29
+ FemininePlural = "fp",
30
+ NeuterPlural = "np",
31
+ HighlyDefective = "highlydef",
32
+ SigM = "sigm",
33
+
34
+ NoIStem = "-I",
35
+ NoDeponent = "-depon",
36
+ NoImpersonal = "-impers",
37
+ }
38
+
39
+ export function addVerbType(types: Set<VerbType>, verbType: string) {
40
+ if (!is_enum_value(VerbType, verbType)) {
41
+ throw Error(`Invalid verb type ${verbType}`);
42
+ }
43
+ types.add(verbType);
44
+ }
45
+
46
+ export function hasVerbType(types: Set<VerbType>, verbType: string): boolean {
47
+ if (!is_enum_value(VerbType, verbType)) {
48
+ throw Error(`Invalid verb type ${verbType}`);
49
+ }
50
+ return types.has(verbType);
51
+ }