This commit is contained in:
parent
ee8e0598f4
commit
adc375f2ce
|
@ -1,43 +0,0 @@
|
||||||
import {
|
|
||||||
Types as T,
|
|
||||||
getEnglishWord,
|
|
||||||
inflectWord,
|
|
||||||
isUnisexSet,
|
|
||||||
personGender,
|
|
||||||
personIsPlural,
|
|
||||||
typePredicates as tp,
|
|
||||||
psStringFromEntry,
|
|
||||||
} from "@lingdocs/pashto-inflector";
|
|
||||||
|
|
||||||
export function evaluateCompliment(c: Compliment, person: T.Person): { ps: T.PsString[], e: string } {
|
|
||||||
const e = getEnglishWord(c.entry);
|
|
||||||
if (!e || typeof e !== "string") {
|
|
||||||
console.log(e);
|
|
||||||
throw new Error("error getting english for compliment");
|
|
||||||
}
|
|
||||||
if (tp.isLocativeAdverbEntry(c.entry)) {
|
|
||||||
return {
|
|
||||||
ps: [psStringFromEntry(c.entry)],
|
|
||||||
e,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
if (tp.isAdjectiveEntry(c.entry)) {
|
|
||||||
const infs = inflectWord(c.entry);
|
|
||||||
if (!infs) return {
|
|
||||||
ps: [psStringFromEntry(c.entry)],
|
|
||||||
e,
|
|
||||||
}
|
|
||||||
if (!infs.inflections || !isUnisexSet(infs.inflections)) {
|
|
||||||
throw new Error("error getting inflections for adjective, looks like a noun's inflections");
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
ps: chooseInflection(infs.inflections, person),
|
|
||||||
e,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
throw new Error("noun complements not yet implemented");
|
|
||||||
}
|
|
||||||
|
|
||||||
function chooseInflection(inflections: T.UnisexSet<T.InflectionSet>, pers: T.Person): T.ArrayOneOrMore<T.PsString> {
|
|
||||||
return inflections[personGender(pers)][personIsPlural(pers) ? 1 : 0];
|
|
||||||
}
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
type Pronoun = {
|
||||||
|
type: "pronoun",
|
||||||
|
pronounType: "near" | "far",
|
||||||
|
person: import("@lingdocs/pashto-inflector").Types.Person,
|
||||||
|
};
|
|
@ -1684,10 +1684,10 @@
|
||||||
pbf "^3.2.1"
|
pbf "^3.2.1"
|
||||||
rambda "^6.7.0"
|
rambda "^6.7.0"
|
||||||
|
|
||||||
"@lingdocs/pashto-inflector@^2.3.4":
|
"@lingdocs/pashto-inflector@^2.3.5":
|
||||||
version "2.3.4"
|
version "2.3.5"
|
||||||
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-2.3.4.tgz#041c829a3a23c4ce5cadb4dfac0d50da6b583bc6"
|
resolved "https://npm.lingdocs.com/@lingdocs%2fpashto-inflector/-/pashto-inflector-2.3.5.tgz#2fc387f470f403eb12a82848b4d380c66aa4677c"
|
||||||
integrity sha512-QaXKkzlucTd7PxiHr/MS9pl9wX6Zf+1doxD2k5vnER/FHgZWkKilr/4bIqQTTKW0zcxGupqd4ejyN6ynAZcsjQ==
|
integrity sha512-e8JB4WRBGoI0qvrd2wfdhDusk0fFNUyfkl05WoRSZp7JCijvouFbutev3SNP8guQFx3KmvrLdDUx7xhnQfYvng==
|
||||||
dependencies:
|
dependencies:
|
||||||
classnames "^2.2.6"
|
classnames "^2.2.6"
|
||||||
pbf "^3.2.1"
|
pbf "^3.2.1"
|
||||||
|
|
Loading…
Reference in New Issue