add habitual past to passive

This commit is contained in:
lingdocs 2022-03-31 10:21:30 +05:00
parent f974e4d8df
commit 3964ae70f2
3 changed files with 9 additions and 1 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "@lingdocs/pashto-inflector", "name": "@lingdocs/pashto-inflector",
"version": "1.6.1", "version": "1.6.3",
"author": "lingdocs.com", "author": "lingdocs.com",
"description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations", "description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations",
"homepage": "https://verbs.lingdocs.com", "homepage": "https://verbs.lingdocs.com",

View File

@ -178,10 +178,12 @@ function conjugateDynamicCompound(info: T.DynamicCompoundVerbInfo): T.VerbConjug
const nonImperative = addToForm([complement, " "], passive[aspect].nonImperative); const nonImperative = addToForm([complement, " "], passive[aspect].nonImperative);
const future = addToForm([baParticle, " "], nonImperative); const future = addToForm([baParticle, " "], nonImperative);
const past = addToForm([complement, " "], passive[aspect].past); const past = addToForm([complement, " "], passive[aspect].past);
const habitualPast = addToForm([baParticle, " "], past);
return { return {
nonImperative, nonImperative,
future, future,
past, past,
habitualPast,
}; };
} }
return { return {
@ -447,10 +449,12 @@ function makePassiveContent(info: T.NonComboVerbInfo): {
[info.complement, " ", bridge, " "], [info.complement, " ", bridge, " "],
stativeAux.intransitive[aspect].past, stativeAux.intransitive[aspect].past,
); );
const habitualPast = addToForm([baParticle, " "], past);
return { return {
nonImperative, nonImperative,
future, future,
past, past,
habitualPast,
}; };
} }
const root = noPersInfs(info.root[aspect]).long; const root = noPersInfs(info.root[aspect]).long;
@ -458,10 +462,12 @@ function makePassiveContent(info: T.NonComboVerbInfo): {
const nonImperative = addToForm([root, " "], aux.nonImperative); const nonImperative = addToForm([root, " "], aux.nonImperative);
const future = addToForm([baParticle, " "], nonImperative); const future = addToForm([baParticle, " "], nonImperative);
const past = addToForm([root, " "], aux.past); const past = addToForm([root, " "], aux.past);
const habitualPast = addToForm([baParticle, " "], past);
return { return {
nonImperative, // ROOT LONG + kedulStat[aspect].nonImperative nonImperative, // ROOT LONG + kedulStat[aspect].nonImperative
future, // به ba + ROOT LONG + this.nonImperative future, // به ba + ROOT LONG + this.nonImperative
past, // ROOT LONG + kedulStat[aspect].past past, // ROOT LONG + kedulStat[aspect].past
habitualPast,
}; };
} }
const simpleVerbParticiple = { const simpleVerbParticiple = {
@ -562,6 +568,7 @@ function enforceObject(conj: T.VerbConjugation, person: T.Person): T.VerbConjuga
nonImperative: allOnePersonVerbForm(as.nonImperative, person), nonImperative: allOnePersonVerbForm(as.nonImperative, person),
future: allOnePersonVerbForm(as.future, person), future: allOnePersonVerbForm(as.future, person),
past: allOnePersonVerbForm(as.past, person), past: allOnePersonVerbForm(as.past, person),
habitualPast: allOnePersonInflection(as.past, person),
}); });
return { return {
...conj, ...conj,

View File

@ -316,6 +316,7 @@ export type AspectContentPassive = {
nonImperative: VerbForm; // ROOT LONG + kedulStat[ASPECT].nonImperative nonImperative: VerbForm; // ROOT LONG + kedulStat[ASPECT].nonImperative
future: VerbForm; // ba + this.nonImperative future: VerbForm; // ba + this.nonImperative
past: VerbForm; // ROOT LONG + kedulStat[ASPECT].past past: VerbForm; // ROOT LONG + kedulStat[ASPECT].past
habitualPast: VerbForm;
} }
export type ParticipleForm = SingleOrLengthOpts<UnisexInflections> | SingleOrLengthOpts<PsString>; export type ParticipleForm = SingleOrLengthOpts<UnisexInflections> | SingleOrLengthOpts<PsString>;