fix ability issue with tlul verbs
This commit is contained in:
parent
0008f18e85
commit
4228878017
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "@lingdocs/pashto-inflector",
|
||||
"version": "3.6.0",
|
||||
"version": "3.6.1",
|
||||
"author": "lingdocs.com",
|
||||
"description": "A Pashto inflection and verb conjugation engine, inculding React components for displaying Pashto text, inflections, and conjugations",
|
||||
"homepage": "https://verbs.lingdocs.com",
|
||||
|
|
|
@ -25,6 +25,7 @@ import {
|
|||
isNounEntry,
|
||||
isPattern4Entry,
|
||||
isPerfectTense,
|
||||
isTlulVerb,
|
||||
} from "../type-predicates";
|
||||
import { renderEnglishVPBase } from "./english-vp-rendering";
|
||||
import { personGender } from "../../lib/misc-helpers";
|
||||
|
@ -498,6 +499,7 @@ export function isStativeHelper(v: T.VerbEntry): boolean {
|
|||
}
|
||||
|
||||
function splitUpIfModal(v: T.VerbRenderedBlock): [T.VerbRenderedBlock] | [T.ModalVerbBlock, T.ModalVerbKedulPart] {
|
||||
console.log("in split up", v);
|
||||
if (!isModalTense(v.block.tense)) {
|
||||
return [v];
|
||||
}
|
||||
|
@ -555,7 +557,9 @@ function getPsVerbConjugation(conj: T.VerbConjugation, vs: T.VerbSelectionComple
|
|||
if (perfective) {
|
||||
const past = isPastTense(vs.tense);
|
||||
const splitInfo = conj.info[(past || isModalTense(vs.tense)) ? "root" : "stem"].perfectiveSplit;
|
||||
if (!splitInfo) return { ps: { head: undefined, rest: removeBaFromForm(verbForm) }, hasBa };
|
||||
if (!splitInfo || (isTlulVerb(vs.verb.entry) && isModalTense(vs.tense))) {
|
||||
return { ps: { head: undefined, rest: removeBaFromForm(verbForm) }, hasBa };
|
||||
}
|
||||
// TODO: Either solve this in the inflector or here, it seems silly (or redundant)
|
||||
// to have a length option in the perfective split stem??
|
||||
const [splitHead] = getLong(getMatrixBlock(splitInfo, objectPerson, person));
|
||||
|
|
|
@ -3,6 +3,10 @@ import { pashtoConsonants } from "./pashto-consonants";
|
|||
import { endsWith } from "../lib/p-text-helpers";
|
||||
import { countSyllables } from "../lib/accent-helpers";
|
||||
|
||||
export function isTlulVerb(e: T.VerbEntry | T.VerbDictionaryEntry): boolean {
|
||||
const entry = "entry" in e ? e.entry : e;
|
||||
return entry.f === "tlul" || entry.p === "راتلل" || entry.p === "درتلل" || entry.p === "ورتلل";
|
||||
}
|
||||
|
||||
export function isNounEntry(e: T.Entry | T.DictionaryEntry): e is T.NounEntry {
|
||||
if ("entry" in e) return false;
|
||||
|
|
|
@ -58,6 +58,7 @@ import {
|
|||
noPersInfs,
|
||||
} from "./misc-helpers";
|
||||
import * as T from "../types";
|
||||
import { isTlulVerb } from "./type-predicates";
|
||||
|
||||
const eyEndingUnaccented: T.PsString = { p: "ی", f: "ey" };
|
||||
|
||||
|
@ -986,7 +987,9 @@ function makeDynamicPerfectiveSplit(comp: T.PsString, auxSplit: T.SplitInfo): T.
|
|||
}
|
||||
|
||||
export function getAbilityRootsAndStems(info: T.NonComboVerbInfo): T.AbilityRootsAndStems {
|
||||
const isIntransitiveStativeCompound = info.type === "stative compound" && info.transitivity === "intransitive"
|
||||
const isIntransitiveStativeCompound =
|
||||
(info.type === "stative compound" && info.transitivity === "intransitive")
|
||||
|| isTlulVerb(info.entry);
|
||||
const roots = getAbilityRoots(info.root, isIntransitiveStativeCompound);
|
||||
return addAbilityHelperRootsAndStems(roots, isIntransitiveStativeCompound);
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,6 +7,7 @@
|
|||
*/
|
||||
|
||||
module.exports = [
|
||||
1527815216, // راتلل - to come
|
||||
1527813473, // الوتل - to fly
|
||||
1527814012, // اوښتل - to pass over, overturn, be flipped over, spill over, shift, change, diverge, pass, cross, abandon
|
||||
1527822843, // برېښېدل - to appear, seem; to shine, sparkle; to smart, have a pricking pain
|
||||
|
|
Loading…
Reference in New Issue