fixed kRaay shee thing
This commit is contained in:
parent
b58c5635da
commit
81086aafc8
|
@ -150,7 +150,6 @@ export function renderVerb({
|
|||
const transitive = object !== undefined;
|
||||
const king = transitive && isPast ? object : subject;
|
||||
const base = isPast ? "root" : "stem";
|
||||
|
||||
// #1 get the appropriate root / stem
|
||||
const [vHead, rest] = getRootStem({
|
||||
verb,
|
||||
|
|
|
@ -2251,8 +2251,27 @@ describe("passive roots and stems", () => {
|
|||
type: "welded",
|
||||
left: {
|
||||
type: "VB",
|
||||
ps: [{ p: "کړل", f: "kRul" }],
|
||||
ps: [
|
||||
{ p: "کړل", f: "kRul" },
|
||||
{
|
||||
f: "kRulay",
|
||||
p: "کړلی",
|
||||
},
|
||||
{
|
||||
f: "kRulaay",
|
||||
p: "کړلای",
|
||||
},
|
||||
{
|
||||
f: "kRay",
|
||||
p: "کړی",
|
||||
},
|
||||
{
|
||||
f: "kRaay",
|
||||
p: "کړای",
|
||||
},
|
||||
],
|
||||
},
|
||||
|
||||
right: {
|
||||
type: "VB",
|
||||
ps: {
|
||||
|
|
|
@ -30,6 +30,7 @@ import {
|
|||
makeComplement,
|
||||
vTransitivity,
|
||||
isKedul,
|
||||
addOptionalTailsToPassive,
|
||||
} from "./rs-helpers";
|
||||
import { inflectPattern3 } from "./new-inflectors";
|
||||
import { fmapSingleOrLengthOpts } from "../fp-ps";
|
||||
|
@ -458,7 +459,7 @@ function getPassiveRs(
|
|||
genderNumber: T.GenderNumber
|
||||
): [[] | [T.VHead], [T.VB]] {
|
||||
const [vHead, [basicRoot]] = getRoot(verb, genderNumber, aspect);
|
||||
const longRoot = getLongVB(basicRoot);
|
||||
const longRoot = addOptionalTailsToPassive(getLongVB(basicRoot), aspect);
|
||||
const kedulVba = getRootStem({
|
||||
verb: statVerb.intransitive,
|
||||
aspect,
|
||||
|
|
|
@ -209,15 +209,16 @@ export function tlulPerfectiveStem(person: {
|
|||
];
|
||||
}
|
||||
|
||||
export const abilityEnding: T.PsString[] = [
|
||||
{ p: "ی", f: "ay" },
|
||||
{ p: "ای", f: "aay" },
|
||||
];
|
||||
|
||||
export function addAbilityEnding(
|
||||
vb: T.VB,
|
||||
verb: T.VerbEntry,
|
||||
aspect: T.Aspect
|
||||
): T.VBP {
|
||||
const abilityEnding: T.PsString[] = [
|
||||
{ p: "ی", f: "ay" },
|
||||
{ p: "ای", f: "aay" },
|
||||
];
|
||||
if (vb.type === "welded") {
|
||||
return {
|
||||
...vb,
|
||||
|
@ -301,6 +302,23 @@ export function possiblePPartLengths(vba: T.VBNoLenghts<T.VB>): T.VB {
|
|||
return vba;
|
||||
}
|
||||
|
||||
export function addOptionalTailsToPassive(
|
||||
vb: T.VBNoLenghts<T.VB>,
|
||||
aspect: T.Aspect
|
||||
): T.VBNoLenghts<T.VB> {
|
||||
if (aspect !== "perfective" || vb.type !== "VB" || vb.ps[0].p !== "کړل") {
|
||||
return vb;
|
||||
}
|
||||
return {
|
||||
...vb,
|
||||
ps: [
|
||||
...vb.ps,
|
||||
...verbEndingConcat(vb.ps, abilityEnding),
|
||||
...verbEndingConcat([{ p: "کړ", f: "kR" }], abilityEnding),
|
||||
],
|
||||
};
|
||||
}
|
||||
|
||||
export function getLongVB(vb: T.VB): T.VBNoLenghts<T.VB> {
|
||||
if (vb.type === "welded") {
|
||||
return {
|
||||
|
|
Loading…
Reference in New Issue