w new g field

This commit is contained in:
Bill D 2021-03-16 17:35:41 +04:00
parent f2bb16a929
commit 0aa38bfb00
14 changed files with 305 additions and 128 deletions

View File

@ -14,14 +14,11 @@ jobs:
env: env:
LINGDOCS_DICTIONARY_URL: ${{ secrets.LINGDOCS_DICTIONARY_URL }} LINGDOCS_DICTIONARY_URL: ${{ secrets.LINGDOCS_DICTIONARY_URL }}
LINGDOCS_NPM_TOKEN: ${{ secrets.LINGDOCS_NPM_TOKEN }} LINGDOCS_NPM_TOKEN: ${{ secrets.LINGDOCS_NPM_TOKEN }}
strategy:
matrix:
node-version: [12.x, 14.x, 15.x]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-node@v1 - uses: actions/setup-node@v1
with: with:
node-version: ${{ matrix.node-version }} node-version: 12
- run: yarn install - run: yarn install
- run: yarn build-library - run: yarn build-library
- run: yarn test - run: yarn test

View File

@ -1,6 +1,6 @@
{ {
"name": "@lingdocs/pashto-inflector", "name": "@lingdocs/pashto-inflector",
"version": "0.2.7", "version": "0.2.8",
"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",
@ -63,7 +63,7 @@
"test": "react-scripts test", "test": "react-scripts test",
"eject": "react-scripts eject", "eject": "react-scripts eject",
"build-website": "node get-verbs.js && npm run build", "build-website": "node get-verbs.js && npm run build",
"build-library": "node get-verbs.js && rimraf dist && rimraf dist-cjs && tsc --project library-tsconfig.json && node library-post-build.js && rollup -c", "build-library": "rimraf dist && rimraf dist-cjs && tsc --project library-tsconfig.json && node library-post-build.js && rollup -c",
"test-ci": "npm run test -- --watchAll=false" "test-ci": "npm run test -- --watchAll=false"
}, },
"eslintConfig": { "eslintConfig": {

View File

@ -1,4 +1,4 @@
// code generated by pbf v3.2.1 - modified below on line 32 // code generated by pbf v3.2.1
// DictionaryInfo ======================================== // DictionaryInfo ========================================
@ -29,19 +29,19 @@ DictionaryInfo.write = function (obj, pbf) {
var Entry = exports.Entry = {}; var Entry = exports.Entry = {};
Entry.read = function (pbf, end) { Entry.read = function (pbf, end) {
// modified so that objects do not include non-required fields unless added with Entry._readField below return pbf.readFields(Entry._readField, {ts: 0, i: 0, p: "", f: "", g: "", e: ""}, end);
return pbf.readFields(Entry._readField, {ts: 0, i: 0, p: "", f: "", e: ""}, end);
}; };
Entry._readField = function (tag, obj, pbf) { Entry._readField = function (tag, obj, pbf) {
if (tag === 1) obj.ts = pbf.readVarint(true); if (tag === 1) obj.ts = pbf.readVarint(true);
else if (tag === 2) obj.i = pbf.readVarint(true); else if (tag === 2) obj.i = pbf.readVarint(true);
else if (tag === 3) obj.p = pbf.readString(); else if (tag === 3) obj.p = pbf.readString();
else if (tag === 4) obj.f = pbf.readString(); else if (tag === 4) obj.f = pbf.readString();
else if (tag === 5) obj.e = pbf.readString(); else if (tag === 5) obj.g = pbf.readString();
else if (tag === 6) obj.c = pbf.readString(); else if (tag === 6) obj.e = pbf.readString();
else if (tag === 7) obj.l = pbf.readString(); else if (tag === 7) obj.c = pbf.readString();
else if (tag === 8) obj.infap = pbf.readString(); else if (tag === 8) obj.l = pbf.readVarint(true);
else if (tag === 9) obj.infaf = pbf.readString(); else if (tag === 9) obj.infap = pbf.readString();
else if (tag === 10) obj.infaf = pbf.readString();
else if (tag === 11) obj.infbp = pbf.readString(); else if (tag === 11) obj.infbp = pbf.readString();
else if (tag === 12) obj.infbf = pbf.readString(); else if (tag === 12) obj.infbf = pbf.readString();
else if (tag === 13) obj.noInf = pbf.readString(); else if (tag === 13) obj.noInf = pbf.readString();
@ -71,11 +71,12 @@ Entry.write = function (obj, pbf) {
if (obj.i) pbf.writeVarintField(2, obj.i); if (obj.i) pbf.writeVarintField(2, obj.i);
if (obj.p) pbf.writeStringField(3, obj.p); if (obj.p) pbf.writeStringField(3, obj.p);
if (obj.f) pbf.writeStringField(4, obj.f); if (obj.f) pbf.writeStringField(4, obj.f);
if (obj.e) pbf.writeStringField(5, obj.e); if (obj.g) pbf.writeStringField(5, obj.g);
if (obj.c) pbf.writeStringField(6, obj.c); if (obj.e) pbf.writeStringField(6, obj.e);
if (obj.l) pbf.writeStringField(7, obj.l); if (obj.c) pbf.writeStringField(7, obj.c);
if (obj.infap) pbf.writeStringField(8, obj.infap); if (obj.l) pbf.writeVarintField(8, obj.l);
if (obj.infaf) pbf.writeStringField(9, obj.infaf); if (obj.infap) pbf.writeStringField(9, obj.infap);
if (obj.infaf) pbf.writeStringField(10, obj.infaf);
if (obj.infbp) pbf.writeStringField(11, obj.infbp); if (obj.infbp) pbf.writeStringField(11, obj.infbp);
if (obj.infbf) pbf.writeStringField(12, obj.infbf); if (obj.infbf) pbf.writeStringField(12, obj.infbf);
if (obj.noInf) pbf.writeStringField(13, obj.noInf); if (obj.noInf) pbf.writeStringField(13, obj.noInf);

View File

@ -13,12 +13,13 @@ message Entry {
int32 ts = 1; int32 ts = 1;
int32 i = 2; int32 i = 2;
string p = 3; string p = 3;
string f = 4; string f = 4;
string e = 5; string g = 5;
string c = 6; string e = 6;
string l = 7; string c = 7;
string infap = 8; int32 l = 8;
string infaf = 9; string infap = 9;
string infaf = 10;
string infbp = 11; string infbp = 11;
string infbf = 12; string infbf = 12;
string noInf = 13; string noInf = 13;

View File

@ -17,16 +17,17 @@ export const dynamicAuxVerbs: Array<
} }
> = [ > = [
{ {
entry: {"i":10058,"ts":1527812752,"p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true}, entry: {"i":10058,"ts":1527812752,g: "","p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true},
}, },
{ {
entry: {"i":10122,"ts":1527812754,"p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true}, entry: {"i":10122,"ts":1527812754,g: "","p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true},
}, },
{ {
entry: { entry: {
ts:1527813914, ts:1527813914,
p:"ورکول", p:"ورکول",
f:"wărkawul", f:"wărkawul",
g: "",
e:"to give (to him, her, them, others)", e:"to give (to him, her, them, others)",
c: "v. trans.", c: "v. trans.",
i:12350, i:12350,
@ -37,18 +38,20 @@ export const dynamicAuxVerbs: Array<
ts: 1527812157, ts: 1527812157,
p: "تېرول", p: "تېرول",
f: "terawul", f: "terawul",
g: "",
e: "to pass (time), to take across, to pass, endure (difficulties)", e: "to pass (time), to take across, to pass, endure (difficulties)",
c: "v. stat. comp. trans.", c: "v. stat. comp. trans.",
l: 1527813139, l: 1527813139,
i: 3459, i: 3459,
}, },
complement: {"i":3774,"ts":1527813139,"p":"تېر","f":"ter","e":"last, past, previous, passed, gone over","c":"adj."}, complement: {"i":3774,"ts":1527813139,g: "","p":"تېر","f":"ter","e":"last, past, previous, passed, gone over","c":"adj."},
}, },
{ {
entry: { entry: {
ts: 1527815399, ts: 1527815399,
p: "وهل", p: "وهل",
f: "wahul", f: "wahul",
g: "",
e: "to hit", e: "to hit",
c: "v. trans.", c: "v. trans.",
i: 12183, i: 12183,
@ -61,6 +64,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527817026, ts: 1527817026,
p: "کښل", p: "کښل",
f: "kxul", f: "kxul",
g: "",
e: "to drag, pull, take out, draw, get", e: "to drag, pull, take out, draw, get",
c: "v. trans.", c: "v. trans.",
i: 8862, i: 8862,
@ -71,6 +75,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527814084, ts: 1527814084,
p: "لګول", p: "لګول",
f: "lagawul", f: "lagawul",
g: "",
e: "to touch, join, use, take, place", e: "to touch, join, use, take, place",
c: "v. trans.", c: "v. trans.",
i: 9794, i: 9794,
@ -81,6 +86,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527814084, ts: 1527814084,
p: "لګول", p: "لګول",
f: "lagawul", f: "lagawul",
g: "",
e: "to touch, join, use, take, place", e: "to touch, join, use, take, place",
c: "v. trans.", c: "v. trans.",
i: 9794, i: 9794,
@ -91,6 +97,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527817013, ts: 1527817013,
p: "ویل", p: "ویل",
f: "wayul, wayl", f: "wayul, wayl",
g: "",
e: "to say, to tell", e: "to say, to tell",
c: "v. trans. indir.", c: "v. trans. indir.",
i: 12229, i: 12229,
@ -101,6 +108,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527815396, ts: 1527815396,
p: "وایل", p: "وایل",
f: "waayul", f: "waayul",
g: "",
e: "to say, to tell", e: "to say, to tell",
c: "v. trans. indir.", c: "v. trans. indir.",
i: 11929, i: 11929,
@ -111,6 +119,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527812447, ts: 1527812447,
p: "اخستل", p: "اخستل",
f: "akhustul", f: "akhustul",
g: "",
e: "to take, buy, purchase, receive; to shave, cut with scissors", e: "to take, buy, purchase, receive; to shave, cut with scissors",
c: "v. trans.", c: "v. trans.",
i: 251, i: 251,
@ -123,6 +132,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527817298, ts: 1527817298,
p: "اخیستل", p: "اخیستل",
f: "akheestul", f: "akheestul",
g: "",
e: "to take, buy, purchase, receive; to shave, cut with scissors", e: "to take, buy, purchase, receive; to shave, cut with scissors",
c: "v. trans.", c: "v. trans.",
i: 266, i: 266,
@ -133,6 +143,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527814617, ts: 1527814617,
p: "نیول", p: "نیول",
f: "neewul", f: "neewul",
g: "",
e: "to catch, grab, take, arrest; bear (fruit)", e: "to catch, grab, take, arrest; bear (fruit)",
c: "v. trans. irreg.", c: "v. trans. irreg.",
i: 11880, i: 11880,
@ -145,6 +156,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527811872, ts: 1527811872,
p: "اچول", p: "اچول",
f: "achawul", f: "achawul",
g: "",
e: "to pour, drop, throw, put on", e: "to pour, drop, throw, put on",
c: "v. trans.", c: "v. trans.",
i: 194, i: 194,
@ -155,6 +167,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527812790, ts: 1527812790,
p: "خوړل", p: "خوړل",
f: "khoRul", f: "khoRul",
g: "",
e: "to eat, to bite", e: "to eat, to bite",
c: "v. trans.", c: "v. trans.",
i: 4769, i: 4769,
@ -169,6 +182,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527811868, ts: 1527811868,
p: "غښتل", p: "غښتل",
f: "ghuxtul", f: "ghuxtul",
g: "",
e: "to twist, curl, roll up, wrap up", e: "to twist, curl, roll up, wrap up",
c: "v. trans.", c: "v. trans.",
i: 7958, i: 7958,
@ -179,6 +193,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527816127, ts: 1527816127,
p: "اړول", p: "اړول",
f: "aRawul", f: "aRawul",
g: "",
e: "to turn over, flip over; convert, change; to move over to, establish oneself in a new spot; divert, turn away, hijack; oblige, force", e: "to turn over, flip over; convert, change; to move over to, establish oneself in a new spot; divert, turn away, hijack; oblige, force",
c: "v. trans.", c: "v. trans.",
i: 389, i: 389,
@ -189,6 +204,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527812868, ts: 1527812868,
p: "لرل", p: "لرل",
f: "larul", f: "larul",
g: "",
e: "to have, possess", e: "to have, possess",
c: "v. trans.", c: "v. trans.",
i: 9707, i: 9707,
@ -201,6 +217,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527813572, ts: 1527813572,
p: "رسول", p: "رسول",
f: "rasawul", f: "rasawul",
g: "",
e: "to deliver, to make arrive, provide, send, supply, bring to,", e: "to deliver, to make arrive, provide, send, supply, bring to,",
c: "v. trans.", c: "v. trans.",
i: 5897, i: 5897,
@ -211,6 +228,7 @@ export const dynamicAuxVerbs: Array<
ts: 1581619940636, ts: 1581619940636,
p: "باسل", p: "باسل",
f: "baasul", f: "baasul",
g: "",
e: "to take out, extract, pull out, tear out", e: "to take out, extract, pull out, tear out",
c: "v. trans.", c: "v. trans.",
i: 1115, i: 1115,
@ -221,6 +239,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527816146, ts: 1527816146,
p: "ایستل", p: "ایستل",
f: "eestul", f: "eestul",
g: "",
e: "to throw out, discard, chuck, toss; to extract, to take out", e: "to throw out, discard, chuck, toss; to extract, to take out",
c: "v. trans.", c: "v. trans.",
i: 1025, i: 1025,
@ -233,6 +252,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527818123, ts: 1527818123,
p: "څنډل", p: "څنډل",
f: "tsanDúl", f: "tsanDúl",
g: "",
e: "to shake out, shake off, brush aside", e: "to shake out, shake off, brush aside",
c: "v. trans.", c: "v. trans.",
i: 4975, i: 4975,
@ -245,6 +265,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527814862, ts: 1527814862,
p: "وژل", p: "وژل",
f: "wajzul", f: "wajzul",
g: "",
e: "to kill, slaughter", e: "to kill, slaughter",
c: "v. trans. irreg.", c: "v. trans. irreg.",
i: 12071, i: 12071,
@ -259,6 +280,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527813019, ts: 1527813019,
p: "ګرول", p: "ګرول",
f: "grawul", f: "grawul",
g: "",
e: "to scratch, scrape", e: "to scratch, scrape",
c: "v. trans.", c: "v. trans.",
i: 9370, i: 9370,
@ -269,6 +291,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527818260, ts: 1527818260,
p: "بادول", p: "بادول",
f: "baadawúl", f: "baadawúl",
g: "",
e: "to winnow, toss, throw to the wind, squander", e: "to winnow, toss, throw to the wind, squander",
c: "v. stat. comp. trans.", c: "v. stat. comp. trans.",
l: 1527816345, l: 1527816345,
@ -278,6 +301,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527816345, ts: 1527816345,
p: "باد", p: "باد",
f: "baad", f: "baad",
g: "",
e: "wind, air; swelling, rheumitism", e: "wind, air; swelling, rheumitism",
c: "n. m.", c: "n. m.",
i: 1076, i: 1076,
@ -288,6 +312,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527815343, ts: 1527815343,
p: "تېرېدل", p: "تېرېدل",
f: "teredul", f: "teredul",
g: "",
e: "to pass, go across, go by", e: "to pass, go across, go by",
c: "v. stat. comp. intrans.", c: "v. stat. comp. intrans.",
l: 1527813139, l: 1527813139,
@ -297,6 +322,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527813139, ts: 1527813139,
p: "تېر", p: "تېر",
f: "ter", f: "ter",
g: "",
e: "last, past, previous, passed, gone over", e: "last, past, previous, passed, gone over",
c: "adj.", c: "adj.",
i: 3449, i: 3449,
@ -307,6 +333,7 @@ export const dynamicAuxVerbs: Array<
ts: 1571859113828, ts: 1571859113828,
p: "پخول", p: "پخول",
f: "pukhawul", f: "pukhawul",
g: "",
e: "to cook, prepare, to cause to ripen", e: "to cook, prepare, to cause to ripen",
c: "v. stat. comp. trans.", c: "v. stat. comp. trans.",
l: 1574867531681, l: 1574867531681,
@ -316,6 +343,7 @@ export const dynamicAuxVerbs: Array<
ts: 1574867531681, ts: 1574867531681,
p: "پوخ", p: "پوخ",
f: "pokh", f: "pokh",
g: "",
e: "mature, ripe, ready, cooked, able, skillful, experienced, tried, tested, true", e: "mature, ripe, ready, cooked, able, skillful, experienced, tried, tested, true",
c: "adj. irreg.", c: "adj. irreg.",
i: 2321, i: 2321,
@ -330,6 +358,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527817706, ts: 1527817706,
p: "ټکول", p: "ټکول",
f: "Takawul", f: "Takawul",
g: "",
e: "to knock, tap", e: "to knock, tap",
c: "v. trans.", c: "v. trans.",
i: 3568, i: 3568,
@ -340,6 +369,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527812869, ts: 1527812869,
p: "لټول", p: "لټول",
f: "luTawul", f: "luTawul",
g: "",
e: "to search, seek", e: "to search, seek",
c: "v. trans.", c: "v. trans.",
i: 9686, i: 9686,
@ -350,6 +380,7 @@ export const dynamicAuxVerbs: Array<
ts: 1574784362578, ts: 1574784362578,
p: "ډنګول", p: "ډنګول",
f: "Dangawul", f: "Dangawul",
g: "",
e: "to make sound, to make ring out, to meat to make a sound (like a symbal, pan, etc.)", e: "to make sound, to make ring out, to meat to make a sound (like a symbal, pan, etc.)",
c: "v. trans.", c: "v. trans.",
i: 5653, i: 5653,
@ -360,6 +391,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527811289, ts: 1527811289,
p: "کېنول", p: "کېنول",
f: "kenawul", f: "kenawul",
g: "",
e: "to seat, to make or have someone sit down", e: "to seat, to make or have someone sit down",
c: "v. trans.", c: "v. trans.",
i: 9240, i: 9240,
@ -371,6 +403,7 @@ export const dynamicAuxVerbs: Array<
ts: 1527812873, ts: 1527812873,
p: "لوستل", p: "لوستل",
f: "lwustul", f: "lwustul",
g: "",
e: "to read, study", e: "to read, study",
c: "v. trans. irreg.", c: "v. trans. irreg.",
i: 10163, i: 10163,
@ -384,24 +417,25 @@ export const dynamicAuxVerbs: Array<
ts:1527814586, ts:1527814586,
p:"چلول", p:"چلول",
f:"chalawul", f:"chalawul",
g: "",
e:"to drive, operate, handle, put forward, circulate", e:"to drive, operate, handle, put forward, circulate",
c:"v. trans.", c:"v. trans.",
}, },
}, },
{ {
entry: {"i":6731,"ts":1527815240,"p":"ساتل","f":"saatul","e":"to keep, protect, watch over; to hold","c":"v. trans."}, entry: {"i":6731,"ts":1527815240,"p":"ساتل","f":"saatul",g: "","e":"to keep, protect, watch over; to hold","c":"v. trans."},
}, },
{ {
entry: {"i":11782,"ts":1527814053,"p":"موندل","f":"moondúl","e":"to find, acquire, discover, get","c":"v. trans. irreg.","psp":"موم","psf":"moom"}, entry: {"i":11782,"ts":1527814053,"p":"موندل","f":"moondúl",g: "","e":"to find, acquire, discover, get","c":"v. trans. irreg.","psp":"موم","psf":"moom"},
}, },
{ {
entry: {"i":4212,"ts":1527812712,"p":"جوړول","f":"joRawul","e":"to make, form, build, mend","l":1527812711,"c":"v. stat. comp. trans."}, entry: {"i":4212,"ts":1527812712,"p":"جوړول",g: "","f":"joRawul","e":"to make, form, build, mend","l":1527812711,"c":"v. stat. comp. trans."},
complement: {"i":4206,"ts":1527812711,"p":"جوړ","f":"joR","e":"well, healthy, whole, made","c":"adj."}, complement: {"i":4206,"ts":1527812711,g: "","p":"جوړ","f":"joR","e":"well, healthy, whole, made","c":"adj."},
}, },
{ {
entry: {"i":13869,"ts":1527816865,"p":"وړل","f":"wuRúl, oRúl, wRul","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true}, entry: {"i":13869,"ts":1527816865,g: "","p":"وړل","f":"wuRúl, oRúl, wRul","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true},
}, },
{ {
entry: {"i":6503,"ts":1527815214,"p":"راوړل","f":"raawRúl","e":"to bring, deliver (inanimate objects)","separationAtP":2,"separationAtF":3,"c":"v. trans. irreg.","noOo":true}, entry: {"i":6503,"ts":1527815214,g: "","p":"راوړل","f":"raawRúl","e":"to bring, deliver (inanimate objects)","separationAtP":2,"separationAtF":3,"c":"v. trans. irreg.","noOo":true},
}, },
]; ];

View File

@ -24,6 +24,7 @@ const adjectives: Array<{
ts: 1527815451, ts: 1527815451,
p: "زوړ", p: "زوړ",
f: "zoR", f: "zoR",
g: "",
e: "old", e: "old",
c: "adj. irreg.", c: "adj. irreg.",
i: 6264, i: 6264,
@ -51,6 +52,7 @@ const adjectives: Array<{
ts: 1527815306, ts: 1527815306,
p: "ستړی", p: "ستړی",
f: "stúRey", f: "stúRey",
g: "",
e: "tired", e: "tired",
c: "adj.", c: "adj.",
i: 6564, i: 6564,
@ -74,6 +76,7 @@ const adjectives: Array<{
ts: 1527813636, ts: 1527813636,
p: "وروستی", p: "وروستی",
f: "wroostéy", f: "wroostéy",
g: "",
e: "last, latest, recent", e: "last, latest, recent",
c: "adj.", c: "adj.",
i: 12026, i: 12026,
@ -97,6 +100,7 @@ const adjectives: Array<{
ts: 1527813498, ts: 1527813498,
p: "سپک", p: "سپک",
f: "spuk", f: "spuk",
g: "",
e: "light; dishonorable, not respectable", e: "light; dishonorable, not respectable",
c: "adj.", c: "adj.",
i: 6502, i: 6502,
@ -119,6 +123,7 @@ const adjectives: Array<{
ts: 1527812862, ts: 1527812862,
p: "لوی", p: "لوی",
f: "looy", f: "looy",
g: "",
e: "big, great, large", e: "big, great, large",
c: "adj.", c: "adj.",
i: 9945, i: 9945,
@ -141,6 +146,7 @@ const adjectives: Array<{
ts: 1527811469, ts: 1527811469,
p: "پوه", p: "پوه",
f: "poh", f: "poh",
g: "",
e: "understanding, having understood; intelligent, quick, wise, clever; expert", e: "understanding, having understood; intelligent, quick, wise, clever; expert",
c: "adj.", c: "adj.",
i: 2430, i: 2430,
@ -164,6 +170,7 @@ const adjectives: Array<{
ts: 1527812798, ts: 1527812798,
p: "خفه", p: "خفه",
f: "khufa", f: "khufa",
g: "",
e: "sad, upset, angry; choked, suffocated", e: "sad, upset, angry; choked, suffocated",
c: "adj.", c: "adj.",
i: 4631, i: 4631,
@ -175,6 +182,7 @@ const adjectives: Array<{
ts: 1527814727, ts: 1527814727,
p: "اجباري", p: "اجباري",
f: "ijbaaree", f: "ijbaaree",
g: "",
e: "compulsory, obligatory", e: "compulsory, obligatory",
c: "adj.", c: "adj.",
i: 167, i: 167,
@ -195,6 +203,7 @@ const nouns: Array<{
p: "مېلمه", p: "مېلمه",
f: "melmá", f: "melmá",
e: "guest", e: "guest",
g: "",
c: "n. m. irreg. unisex", c: "n. m. irreg. unisex",
i: 11244, i: 11244,
infap: "مېلمانه", infap: "مېلمانه",
@ -221,6 +230,7 @@ const nouns: Array<{
ts: 1527814159, ts: 1527814159,
p: "ملګری", p: "ملګری",
f: "malgúrey", f: "malgúrey",
g: "",
e: "friend, companion", e: "friend, companion",
c: "n. m. unisex", c: "n. m. unisex",
i: 10943, i: 10943,
@ -244,6 +254,7 @@ const nouns: Array<{
ts: 1527816431, ts: 1527816431,
p: "ترورزی", p: "ترورزی",
f: "trorzéy", f: "trorzéy",
g: "",
e: "cousin (son of paternal aunt)", e: "cousin (son of paternal aunt)",
c: "n. m. unisex", c: "n. m. unisex",
i: 2900, i: 2900,
@ -267,6 +278,7 @@ const nouns: Array<{
ts: 1527820043, ts: 1527820043,
p: "چرګ", p: "چرګ",
f: "churg", f: "churg",
g: "",
e: "rooster, cock; chicken, poultry", e: "rooster, cock; chicken, poultry",
c: "n. m. unisex", c: "n. m. unisex",
i: 4101, i: 4101,
@ -291,6 +303,7 @@ const nouns: Array<{
ts: 1527815251, ts: 1527815251,
p: "سړی", p: "سړی",
f: "saRey", f: "saRey",
g: "",
e: "man", e: "man",
c: "n. m.", c: "n. m.",
i: 6750, i: 6750,
@ -309,6 +322,7 @@ const nouns: Array<{
ts: 1527818511, ts: 1527818511,
p: "ترېلی", p: "ترېلی",
f: "treléy", f: "treléy",
g: "",
e: "pool, reservoir", e: "pool, reservoir",
c: "n. m.", c: "n. m.",
i: 2931, i: 2931,
@ -328,6 +342,7 @@ const nouns: Array<{
ts: 1586760783536, ts: 1586760783536,
p: "مشرتوب", p: "مشرتوب",
f: "mushurtob", f: "mushurtob",
g: "",
e: "leadership, authority, presidency", e: "leadership, authority, presidency",
c: "n. m.", c: "n. m.",
}, },
@ -345,6 +360,7 @@ const nouns: Array<{
ts: 1527813809, ts: 1527813809,
p: "لمونځ", p: "لمونځ",
f: "lamoondz", f: "lamoondz",
g: "",
e: "Muslim ritual prayers (namaz, salah, salat)", e: "Muslim ritual prayers (namaz, salah, salat)",
c: "n. m. irreg.", c: "n. m. irreg.",
i: 9835, i: 9835,
@ -367,6 +383,7 @@ const nouns: Array<{
ts: 1527812817, ts: 1527812817,
p: "کتاب", p: "کتاب",
f: "kitaab", f: "kitaab",
g: "",
e: "book", e: "book",
c: "n. m.", c: "n. m.",
i: 8640, i: 8640,
@ -380,6 +397,7 @@ const nouns: Array<{
ts: 1527812797, ts: 1527812797,
p: "ښځه", p: "ښځه",
f: "xudza", f: "xudza",
g: "",
e: "woman, wife", e: "woman, wife",
c: "n. f.", c: "n. f.",
i: 7444, i: 7444,
@ -397,6 +415,7 @@ const nouns: Array<{
ts: 1527821380, ts: 1527821380,
p: "اره", p: "اره",
f: "ará", f: "ará",
g: "",
e: "saw (the tool)", e: "saw (the tool)",
c: "n. f.", c: "n. f.",
i: 365, i: 365,
@ -415,6 +434,7 @@ const nouns: Array<{
ts: 1527820693, ts: 1527820693,
p: "مرجع", p: "مرجع",
f: "marja'", f: "marja'",
g: "",
e: "reference, authority, body, place to go (for help, shelter, etc.)", e: "reference, authority, body, place to go (for help, shelter, etc.)",
c: "n. f.", c: "n. f.",
i: 10661, i: 10661,
@ -434,6 +454,7 @@ const nouns: Array<{
ts: 1527820212, ts: 1527820212,
p: "منبع", p: "منبع",
f: "manbá", f: "manbá",
g: "",
e: "source, origin, resource, cause", e: "source, origin, resource, cause",
c: "n. f.", c: "n. f.",
i: 11201, i: 11201,
@ -454,6 +475,7 @@ const nouns: Array<{
ts: 1527815506, ts: 1527815506,
p: "ذبح", p: "ذبح",
f: "zabha", f: "zabha",
g: "",
e: "slaughter, killing, butchering", e: "slaughter, killing, butchering",
c: "n. f.", c: "n. f.",
i: 5813, i: 5813,
@ -472,6 +494,7 @@ const nouns: Array<{
ts: 1527814150, ts: 1527814150,
p: "لار", p: "لار",
f: "laar", f: "laar",
g: "",
e: "road, way, path", e: "road, way, path",
c: "n. f.", c: "n. f.",
i: 9593, i: 9593,
@ -490,6 +513,7 @@ const nouns: Array<{
ts: 1527812928, ts: 1527812928,
p: "مور", p: "مور",
f: "mor", f: "mor",
g: "",
e: "mother, mom", e: "mother, mom",
c: "n. f. anim.", c: "n. f. anim.",
i: 11113, i: 11113,
@ -502,6 +526,7 @@ const nouns: Array<{
ts: 1527811877, ts: 1527811877,
p: "دوستي", p: "دوستي",
f: "dostee", f: "dostee",
g: "",
e: "friendship", e: "friendship",
c: "n. f.", c: "n. f.",
i: 5503, i: 5503,
@ -520,6 +545,7 @@ const nouns: Array<{
ts: 1527814203, ts: 1527814203,
p: "کرسۍ", p: "کرسۍ",
f: "kUrsuy", f: "kUrsuy",
g: "",
e: "chair, seat, stool", e: "chair, seat, stool",
c: "n. f.", c: "n. f.",
i: 8718, i: 8718,
@ -538,6 +564,7 @@ const nouns: Array<{
ts: 1527812456, ts: 1527812456,
p: "اړتیا", p: "اړتیا",
f: "aRtiyaa, aRtyaa", f: "aRtiyaa, aRtyaa",
g: "",
e: "need, necessity", e: "need, necessity",
c: "n. f.", c: "n. f.",
i: 376, i: 376,
@ -556,6 +583,7 @@ const nouns: Array<{
ts: 1527821388, ts: 1527821388,
p: "وداع", p: "وداع",
f: "widáa'", f: "widáa'",
g: "",
e: "farewell, goodbye", e: "farewell, goodbye",
c: "n. f.", c: "n. f.",
i: 12205, i: 12205,
@ -574,6 +602,7 @@ const nouns: Array<{
ts: 1527815402, ts: 1527815402,
p: "وړ", p: "وړ",
f: "waR", f: "waR",
g: "",
e: "worthy of, deserving, -able", e: "worthy of, deserving, -able",
c: "suff. / adj.", c: "suff. / adj.",
i: 12045, i: 12045,
@ -588,6 +617,7 @@ const others: T.DictionaryEntry[] = [
ts: 1527812612, ts: 1527812612,
p: "ګنډل", p: "ګنډل",
f: "ganDul", f: "ganDul",
g: "",
e: "to sew, mend, make, knit", e: "to sew, mend, make, knit",
c: "v. trans.", c: "v. trans.",
i: 9448, i: 9448,
@ -596,6 +626,7 @@ const others: T.DictionaryEntry[] = [
ts: 1527812457, ts: 1527812457,
p: "اصلاً", p: "اصلاً",
f: "aslan", f: "aslan",
g: "",
e: "actually", e: "actually",
c: "adv.", c: "adv.",
i: 550, i: 550,

View File

@ -18,7 +18,7 @@ const sampleDictionaryInfo: T.DictionaryInfo = {
const sampleDictionary: T.Dictionary = { const sampleDictionary: T.Dictionary = {
info: sampleDictionaryInfo, info: sampleDictionaryInfo,
entries: [ entries: [
{"i":616,"ts":1527813108,"p":"اظهار","f":"izháar","e":"expression, statement, declaration","c":"n. m."}, {"i":616,"ts":1527813108,"p":"اظهار","f":"izháar","g":"izhaar","e":"expression, statement, declaration","c":"n. m."},
], ],
} }

View File

@ -0,0 +1,27 @@
/**
* Copyright (c) 2021 lingdocs.com
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
import { simplifyPhonetics } from "./simplify-phonetics";
const toTest: [string, string][] = [
["saRéy", "saRey"],
["Utráa`ee", "Utraaee"],
["be kaar", "bekaar"],
["ma'alóom", "maaloom"],
["lÚtfan", "lUtfan"],
["písta", "pista"],
["săr", "sar"],
["kawúl", "kawul"],
["sắr", "sar"],
];
test("simplifyPhonetics should work", () => {
toTest.forEach((pair) => {
expect(simplifyPhonetics(pair[0])).toEqual(pair[1]);
});
});

View File

@ -0,0 +1,32 @@
/**
* Copyright (c) 2021 lingdocs.com
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
*/
const matcher = {
q: "k",
á: "a",
ă: "a",
ú: "u",
é: "e",
í: "i",
ó: "o",
G: "g",
Ú: "U",
"\u0301": "",
" ": "",
"'": "",
"`": "",
};
const fRepRegex = / |Ú|á|ă|ú|é|í|ó|G|q|'|`|\u0301/g;
export function simplifyPhonetics(f: string): string {
return f.replace(fRepRegex, (mtch) => {
// @ts-ignore
return matcher[mtch];
});
}

View File

@ -45,7 +45,7 @@ import {
} from "./misc-helpers"; } from "./misc-helpers";
import * as T from "../types"; import * as T from "../types";
const dummyEntry: T.DictionaryEntry = { i: 0, p: "", f: "", e: "", c: "", ts: 0 }; const dummyEntry: T.DictionaryEntry = { i: 0, p: "", f: "", g: "", e: "", c: "", ts: 0 };
const getAayTail = (type: T.AayTail): T.PsString => ( const getAayTail = (type: T.AayTail): T.PsString => (
type === "ey" type === "ey"

View File

@ -13,7 +13,7 @@ import {
const toTest = [ const toTest = [
// simple verbs // simple verbs
{ {
entry: {"i":10996,"ts":1527812856,"p":"لیکل","f":"leekul","e":"to write","c":"v. trans."}, entry: {"i":10996,"ts":1527812856,"p":"لیکل","g":"","f":"leekul","e":"to write","c":"v. trans."},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -50,7 +50,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10243,"ts":1527812645,"p":"ګرځېدل","f":"gurdzedul","e":"to walk, wander, turn about; to become, to be","c":"v. intrans.","shortIntrans":true}, entry: {"i":10243,"ts":1527812645,"p":"ګرځېدل","g":"","f":"gurdzedul","e":"to walk, wander, turn about; to become, to be","c":"v. intrans.","shortIntrans":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -102,7 +102,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":13664,"ts":1527823376,"p":"وتل","f":"watul","e":"to go out, exit, leave, emerge","c":"v. intrans. irreg.","psp":"وځ","psf":"oodz","tppp":"واته","tppf":"waatu"}, entry: {"i":13664,"ts":1527823376,"p":"وتل","g":"","f":"watul","e":"to go out, exit, leave, emerge","c":"v. intrans. irreg.","psp":"وځ","psf":"oodz","tppp":"واته","tppf":"waatu"},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -155,7 +155,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":13801,"ts":1527816865,"p":"وړل","f":"oRúl, wRul, wuRúl","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true}, entry: {"i":13801,"ts":1527816865,"p":"وړل","g":"","f":"oRúl, wRul, wuRúl","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -204,7 +204,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":13801,"ts":1527816865,"p":"وړل","f":"wRul, oRúl, wuRúl","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true}, entry: {"i":13801,"ts":1527816865,"p":"وړل","g":"","f":"wRul, oRúl, wuRúl","e":"to take, carry, bear, move (inanimate objects); to win, earn (subjunctive یوسي - yósee or ویسي - wéesee, simple past یو یې وړلو - yo ye wRulo)","separationAtP":2,"separationAtF":2,"c":"v. trans. irreg.","ssp":"یوس","ssf":"yos","prp":"یوړل","prf":"yóRul","noOo":true,"diacExcept":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -253,7 +253,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":6503,"ts":1527815214,"p":"راوړل","f":"raawRúl","e":"to bring, deliver (inanimate objects)","separationAtP":2,"separationAtF":3,"c":"v. trans. irreg.","noOo":true}, entry: {"i":6503,"ts":1527815214,"p":"راوړل","g":"","f":"raawRúl","e":"to bring, deliver (inanimate objects)","separationAtP":2,"separationAtF":3,"c":"v. trans. irreg.","noOo":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -302,7 +302,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":5514,"ts":1527812790,"p":"خوړل","f":"khoRul","e":"to eat, to bite","c":"v. trans.","psp":"خور","psf":"khor","tppp":"خوړ","tppf":"khoR"}, entry: {"i":5514,"ts":1527812790,"p":"خوړل","g":"","f":"khoRul","e":"to eat, to bite","c":"v. trans.","psp":"خور","psf":"khor","tppp":"خوړ","tppf":"khoR"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -349,7 +349,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":1675,"ts":1527822381,"p":"بنګېدل","f":"bungedúl","e":"to buzz, hum, jingle; to snuffle, to speak nasally, or with a twang","c":"v. intrans."}, entry: {"i":1675,"ts":1527822381,"p":"بنګېدل","g":"","f":"bungedúl","e":"to buzz, hum, jingle; to snuffle, to speak nasally, or with a twang","c":"v. intrans."},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -390,7 +390,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10144,"ts":1527812759,"p":"کېناستل","f":"kenaastul","e":"to sit","separationAtP":2,"separationAtF":2,"c":"v. intrans. irreg.","psp":"کېن","psf":"ken","noOo":true}, entry: {"i":10144,"ts":1527812759,"p":"کېناستل","g":"","f":"kenaastul","e":"to sit","separationAtP":2,"separationAtF":2,"c":"v. intrans. irreg.","psp":"کېن","psf":"ken","noOo":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -431,7 +431,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":445,"ts":1527811605,"p":"ازمویل","f":"azmoyul","e":"to attempt, try; to experiment, test","c":"v. trans.","sepOo":true}, entry: {"i":445,"ts":1527811605,"p":"ازمویل","g":"","f":"azmoyul","e":"to attempt, try; to experiment, test","c":"v. trans.","sepOo":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -462,7 +462,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":8896,"ts":1527812627,"p":"غوښتل","f":"ghwuxtul, ghoxtul","e":"to want, to request","c":"v. trans.","psp":"غواړ","psf":"ghwaaR"}, entry: {"i":8896,"ts":1527812627,"p":"غوښتل","g":"","f":"ghwuxtul, ghoxtul","e":"to want, to request","c":"v. trans.","psp":"غواړ","psf":"ghwaaR"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -498,7 +498,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":300,"ts":1527817298,"p":"اخیستل","f":"akheestul","e":"to take, buy, purchase, receive; to shave, cut with scissors","c":"v. trans.","psp":"اخل","psf":"akhl"}, entry: {"i":300,"ts":1527817298,"p":"اخیستل","g":"","f":"akheestul","e":"to take, buy, purchase, receive; to shave, cut with scissors","c":"v. trans.","psp":"اخل","psf":"akhl"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -534,7 +534,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":300,"ts":1527817299,"p":"آخیستل","f":"aakheestul","e":"to take, buy, purchase, receive; to shave, cut with scissors","c":"v. trans.","psp":"اخل","psf":"akhl"}, entry: {"i":300,"ts":1527817299,"p":"آخیستل","g":"","f":"aakheestul","e":"to take, buy, purchase, receive; to shave, cut with scissors","c":"v. trans.","psp":"اخل","psf":"akhl"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -571,7 +571,7 @@ const toTest = [
}, },
// TODO: IS THE SPLIT HERE CORRECT?? // TODO: IS THE SPLIT HERE CORRECT??
{ {
entry: {"i":1105,"ts":1527816146,"p":"ایستل","f":"eestul","e":"to throw out, discard, chuck, toss; to extract, to take out","c":"v. trans.","psp":"باس","psf":"baas"}, entry: {"i":1105,"ts":1527816146,"p":"ایستل","g":"","f":"eestul","e":"to throw out, discard, chuck, toss; to extract, to take out","c":"v. trans.","psp":"باس","psf":"baas"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -607,7 +607,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":1106,"ts":1596485537794,"p":"اېستل","f":"estul","e":"to throw out, discard, chuck, toss; to extract, to take out","c":"v. trans.","psp":"باس","psf":"baas"}, entry: {"i":1106,"ts":1596485537794,"p":"اېستل","g":"","f":"estul","e":"to throw out, discard, chuck, toss; to extract, to take out","c":"v. trans.","psp":"باس","psf":"baas"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -641,7 +641,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":2766,"ts":1527815165,"p":"پېژندل","f":"pejzandul","e":"to recognize, know, meet","c":"v. trans.","psp":"پېژن","psf":"pejzan","tppp":"پېژاند","tppf":"pejzaand"}, entry: {"i":2766,"ts":1527815165,"p":"پېژندل","g":"","f":"pejzandul","e":"to recognize, know, meet","c":"v. trans.","psp":"پېژن","psf":"pejzan","tppp":"پېژاند","tppf":"pejzaand"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -676,7 +676,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":5413,"ts":1527812767,"p":"خندل","f":"khandul","e":"to laugh","c":"v. gramm. trans.","psp":"خاند","psf":"khaand"}, entry: {"i":5413,"ts":1527812767,"p":"خندل","g":"","f":"khandul","e":"to laugh","c":"v. gramm. trans.","psp":"خاند","psf":"khaand"},
result: { result: {
transitivity: "grammatically transitive", transitivity: "grammatically transitive",
type: "simple", type: "simple",
@ -708,8 +708,8 @@ const toTest = [
}, },
// stative compounds // stative compounds
{ {
entry: {"i":5367,"ts":1577898915919,"p":"خفه کول","f":"khufa kawul","e":"to make sad, to grieve, to annoy; to choke, to make suffocate","l":1527812798,"c":"v. stat. comp. trans."}, entry: {"i":5367,"ts":1577898915919,"p":"خفه کول","g":"","f":"khufa kawul","e":"to make sad, to grieve, to annoy; to choke, to make suffocate","l":1527812798,"c":"v. stat. comp. trans."},
complement: {"i":5366,"ts":1527812798,"p":"خفه","f":"khufa","e":"sad, upset, angry; choked, suffocated","c":"adj."}, complement: {"i":5366,"ts":1527812798,"p":"خفه","g":"","f":"khufa","e":"sad, upset, angry; choked, suffocated","c":"adj."},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "stative compound", type: "stative compound",
@ -760,8 +760,8 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":5368,"ts":1577898920635,"p":"خفه کېدل","f":"khufa kedul","e":"to be sad, grieved, annoyed, upset; to be choked, to suffocate","l":1527812798,"c":"v. stat. comp. intrans."}, entry: {"i":5368,"ts":1577898920635,"p":"خفه کېدل","g":"","f":"khufa kedul","e":"to be sad, grieved, annoyed, upset; to be choked, to suffocate","l":1527812798,"c":"v. stat. comp. intrans."},
complement: {"i":5366,"ts":1527812798,"p":"خفه","f":"khufa","e":"sad, upset, angry; choked, suffocated","c":"adj."}, complement: {"i":5366,"ts":1527812798,"p":"خفه","g":"","f":"khufa","e":"sad, upset, angry; choked, suffocated","c":"adj."},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "stative compound", type: "stative compound",
@ -804,8 +804,8 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":2182,"ts":1571859113828,"p":"پخول","f":"pakhawul","e":"to cook, prepare, to cause to ripen, mature","l":1574867531681,"c":"v. stat. comp. trans."}, entry: {"i":2182,"ts":1571859113828,"p":"پخول","g":"","f":"pakhawul","e":"to cook, prepare, to cause to ripen, mature","l":1574867531681,"c":"v. stat. comp. trans."},
complement: {"i":2610,"ts":1574867531681,"p":"پوخ","f":"pokh","e":"mature, ripe, ready, cooked, able, skillful, experienced, tried, tested, true","c":"adj. irreg.","infap":"پاخه","infaf":"paakhu","infbp":"پخ","infbf":"pakh"}, complement: {"i":2610,"ts":1574867531681,"p":"پوخ","g":"","f":"pokh","e":"mature, ripe, ready, cooked, able, skillful, experienced, tried, tested, true","c":"adj. irreg.","infap":"پاخه","infaf":"paakhu","infbp":"پخ","infbf":"pakh"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "stative compound", type: "stative compound",
@ -923,8 +923,8 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":7205,"ts":1591033069786,"p":"ستړی کېدل","f":"stuRey kedul","e":"to get tired, fatigued","l":1527815306,"c":"v. stat. comp. intrans."}, entry: {"i":7205,"ts":1591033069786,"p":"ستړی کېدل","g":"","f":"stuRey kedul","e":"to get tired, fatigued","l":1527815306,"c":"v. stat. comp. intrans."},
complement: {"i":7204,"ts":1527815306,"p":"ستړی","f":"stúRey","e":"tired","c":"adj."}, complement: {"i":7204,"ts":1527815306,"p":"ستړی","g":"","f":"stúRey","e":"tired","c":"adj."},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "stative compound", type: "stative compound",
@ -1034,8 +1034,8 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":1895,"ts":1527812277,"p":"بیانول","f":"bayaanawul","e":"to describe, tell, explain, narrate","l":1527814259,"c":"v. stat. comp. trans."}, entry: {"i":1895,"ts":1527812277,"p":"بیانول","g":"","f":"bayaanawul","e":"to describe, tell, explain, narrate","l":1527814259,"c":"v. stat. comp. trans."},
complement: {"i":1893,"ts":1527814259,"p":"بیان","f":"bayaan","e":"description, statement, speaking, narration, sermon","c":"n. m.","app":"بیانات","apf":"bayaanaat"}, complement: {"i":1893,"ts":1527814259,"p":"بیان","g":"","f":"bayaan","e":"description, statement, speaking, narration, sermon","c":"n. m.","app":"بیانات","apf":"bayaanaat"},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "stative compound", type: "stative compound",
@ -1086,7 +1086,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":1068,"ts":1527815139,"p":"اوسېدل","f":"osedul","e":"to live, reside, stay, be","c":"v. intrans.","shortIntrans":true,"diacExcept":true}, entry: {"i":1068,"ts":1527815139,"p":"اوسېدل","g":"","f":"osedul","e":"to live, reside, stay, be","c":"v. intrans.","shortIntrans":true,"diacExcept":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -1132,7 +1132,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":2058,"ts":1527814038,"p":"پاڅېدل","f":"paatsedul","e":"to get up, rise, wake up","c":"v. intrans.","separationAtP":2,"separationAtF":3,"shortIntrans":true,"noOo":true}, entry: {"i":2058,"ts":1527814038,"p":"پاڅېدل","g":"","f":"paatsedul","e":"to get up, rise, wake up","c":"v. intrans.","separationAtP":2,"separationAtF":3,"shortIntrans":true,"noOo":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -1176,7 +1176,7 @@ const toTest = [
}, },
// auxilary kawul/kedul verbs // auxilary kawul/kedul verbs
{ {
entry: {"i":10246,"ts":1527812752,"p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true}, entry: {"i":10246,"ts":1527812752,"p":"کول","g":"","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -1221,7 +1221,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10059,"ts":1579015359582,"p":"کول","f":"kawul","e":"to make ____ ____ (as in \"He's making me angry.\")","c":"v. trans. irreg. stat. aux.","ssp":"کړ","ssf":"kR","prp":"کړل","prf":"kRul","pprtp":"کړی","pprtf":"kúRey","noOo":true}, entry: {"i":10059,"ts":1579015359582,"p":"کول","g":"","f":"kawul","e":"to make ____ ____ (as in \"He's making me angry.\")","c":"v. trans. irreg. stat. aux.","ssp":"کړ","ssf":"kR","prp":"کړل","prf":"kRul","pprtp":"کړی","pprtf":"kúRey","noOo":true},
result: { result: {
transitivity: "transitive", transitivity: "transitive",
type: "simple", type: "simple",
@ -1257,7 +1257,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10124,"ts":1581086654898,"p":"کېدل","f":"kedul","e":"to become _____","c":"v. intrans. irreg. aux. stat.","ssp":"ش","ssf":"sh","prp":"شول","prf":"shwul","pprtp":"شوی","pprtf":"shúwey","noOo":true}, entry: {"i":10124,"ts":1581086654898,"p":"کېدل","g":"","f":"kedul","e":"to become _____","c":"v. intrans. irreg. aux. stat.","ssp":"ش","ssf":"sh","prp":"شول","prf":"shwul","pprtp":"شوی","pprtf":"shúwey","noOo":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -1289,7 +1289,7 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10124,"ts":1527812754,"p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true}, entry: {"i":10124,"ts":1527812754,"p":"کېدل","g":"","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true},
result: { result: {
transitivity: "intransitive", transitivity: "intransitive",
type: "simple", type: "simple",
@ -1321,8 +1321,8 @@ const toTest = [
}, },
// dynamic compound verbs // dynamic compound verbs
{ {
entry: {"i":9371,"ts":1527812732,"p":"کار کول","f":"kaar kawul","e":"to work","l":1527822084,"c":"v. dyn. comp. trans."}, entry: {"i":9371,"ts":1527812732,"p":"کار کول","g":"","f":"kaar kawul","e":"to work","l":1527822084,"c":"v. dyn. comp. trans."},
complement: {"i":9369,"ts":1527822084,"p":"کار","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."}, complement: {"i":9369,"ts":1527822084,"p":"کار","g":"","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."},
result: { result: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "transitive", transitivity: "transitive",
@ -1359,10 +1359,10 @@ const toTest = [
present: { p: "کار کوونکی", f: "kaar kawóonkey" }, present: { p: "کار کوونکی", f: "kaar kawóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":9369,"ts":1527822084,"p":"کار","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."}, entry: {"i":9369,"ts":1527822084,"p":"کار","g":"","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."},
person: 4, person: 4,
}, },
auxVerb: {"i":10058,"ts":1527812752,"p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true}, auxVerb: {"i":10058,"ts":1527812752,"p":"کول","g":"","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true},
intransitiveForm: { intransitiveForm: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "intransitive", transitivity: "intransitive",
@ -1391,16 +1391,16 @@ const toTest = [
present: { p: "کار کېدونکی", f: "kaar kedóonkey" }, present: { p: "کار کېدونکی", f: "kaar kedóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":9369,"ts":1527822084,"p":"کار","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."}, entry: {"i":9369,"ts":1527822084,"p":"کار","g":"","f":"kaar","e":"work, job, business, stuff to do","c":"n. m."},
person: 4, person: 4,
}, },
auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true}, auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","g":"","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true},
}, },
}, },
}, },
{ {
entry: {"i":12101,"ts":1527812939,"p":"منډې وهل","f":"munDe wahul","e":"to run","l":1527815805,"c":"v. dyn. comp. trans. sing. or plur."}, entry: {"i":12101,"ts":1527812939,"p":"منډې وهل","g":"","f":"munDe wahul","e":"to run","l":1527815805,"c":"v. dyn. comp. trans. sing. or plur."},
complement: {"i":12098,"ts":1527815805,"p":"منډه","f":"múnDa","e":"run, running","c":"n. f."}, complement: {"i":12098,"ts":1527815805,"p":"منډه","g":"","f":"múnDa","e":"run, running","c":"n. f."},
result: { result: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "transitive", transitivity: "transitive",
@ -1429,7 +1429,7 @@ const toTest = [
present: { p: "منډې وهونکی", f: "munDe wahóonkey" }, present: { p: "منډې وهونکی", f: "munDe wahóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":12098,"ts":1527815805,"p":"منډه","f":"múnDa","e":"run, running","c":"n. f."}, entry: {"i":12098,"ts":1527815805,"p":"منډه","g":"","f":"múnDa","e":"run, running","c":"n. f."},
plural: { p: "منډې", f: "munDe" }, plural: { p: "منډې", f: "munDe" },
person: 11, person: 11,
}, },
@ -1437,6 +1437,7 @@ const toTest = [
ts: 1527815399, ts: 1527815399,
p: "وهل", p: "وهل",
f: "wahul", f: "wahul",
g:"",
e: "to hit", e: "to hit",
c: "v. trans.", c: "v. trans.",
i: 12183, i: 12183,
@ -1471,13 +1472,14 @@ const toTest = [
present: { p: "منډه وهونکی", f: "múnDa wahóonkey" }, present: { p: "منډه وهونکی", f: "múnDa wahóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":12098,"ts":1527815805,"p":"منډه","f":"múnDa","e":"run, running","c":"n. f."}, entry: {"i":12098,"ts":1527815805,"p":"منډه","g":"","f":"múnDa","e":"run, running","c":"n. f."},
person: 5, person: 5,
}, },
auxVerb: { auxVerb: {
ts: 1527815399, ts: 1527815399,
p: "وهل", p: "وهل",
f: "wahul", f: "wahul",
g:"",
e: "to hit", e: "to hit",
c: "v. trans.", c: "v. trans.",
i: 12183, i: 12183,
@ -1488,8 +1490,8 @@ const toTest = [
}, },
}, },
{ {
entry: {"i":10554,"ts":1579034883717,"p":"لاړې تېرول","f":"laaRe terawul","e":"to spit ?? (other fluids too??)","l":1527823566,"c":"v. dyn. comp. trans."}, entry: {"i":10554,"ts":1579034883717,"p":"لاړې تېرول","g":"","f":"laaRe terawul","e":"to spit ?? (other fluids too??)","l":1527823566,"c":"v. dyn. comp. trans."},
complement: {"i":10553,"ts":1527823567,"p":"لاړې","f":"laaRe","e":"spit, saliva, slobber, slime","c":"n. f. pl."}, complement: {"i":10553,"ts":1527823567,"p":"لاړې","g":"","f":"laaRe","e":"spit, saliva, slobber, slime","c":"n. f. pl."},
result: { result: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "transitive", transitivity: "transitive",
@ -1526,17 +1528,17 @@ const toTest = [
present: { p: "لاړې تېروونکی", f: "laaRe terawóonkey" }, present: { p: "لاړې تېروونکی", f: "laaRe terawóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":10553,"ts":1527823567,"p":"لاړې","f":"laaRe","e":"spit, saliva, slobber, slime","c":"n. f. pl."}, entry: {"i":10553,"ts":1527823567,"p":"لاړې","g":"","f":"laaRe","e":"spit, saliva, slobber, slime","c":"n. f. pl."},
person: 11, person: 11,
}, },
auxVerb: {"i":3459,"ts":1527812157,"p":"تېرول","f":"terawul","e":"to pass (time), to take across, to pass, endure (difficulties)","l":1527813139,"c":"v. stat. comp. trans."}, auxVerb: {"i":3459,"ts":1527812157,"p":"تېرول","g":"","f":"terawul","e":"to pass (time), to take across, to pass, endure (difficulties)","l":1527813139,"c":"v. stat. comp. trans."},
auxVerbComplement: {"i":3774,"ts":1527813139,"p":"تېر","f":"ter","e":"last, past, previous, passed, gone over","c":"adj."}, auxVerbComplement: {"i":3774,"ts":1527813139,"p":"تېر","g":"","f":"ter","e":"last, past, previous, passed, gone over","c":"adj."},
}, },
}, },
// stative or dynamic compound verb // stative or dynamic compound verb
{ {
entry: {"i":7910,"ts":1527819253,"p":"شروع کول","f":"shUróo' kawul","e":"to start, to begin","l":1527819252,"c":"v. dyn./stat. comp. trans."}, entry: {"i":7910,"ts":1527819253,"p":"شروع کول","g":"","f":"shUróo' kawul","e":"to start, to begin","l":1527819252,"c":"v. dyn./stat. comp. trans."},
complement: {"i":7909,"ts":1527819252,"p":"شروع","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."}, complement: {"i":7909,"ts":1527819252,"p":"شروع","g":"","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."},
result: { result: {
type: "dynamic or stative compound", type: "dynamic or stative compound",
transitivity: "transitive", transitivity: "transitive",
@ -1576,10 +1578,10 @@ const toTest = [
present: { p: "شروع کوونکی", f: "shUróo' kawóonkey" }, present: { p: "شروع کوونکی", f: "shUróo' kawóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":7909,"ts":1527819252,"p":"شروع","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."}, entry: {"i":7909,"ts":1527819252,"p":"شروع","g":"","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."},
person: 4, person: 4,
}, },
auxVerb: {"i":10058,"ts":1527812752,"p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true}, auxVerb: {"i":10058,"ts":1527812752,"p":"کول","g":"","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true},
intransitiveForm: { intransitiveForm: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "intransitive", transitivity: "intransitive",
@ -1608,10 +1610,10 @@ const toTest = [
present: { p: "شروع کېدونکی", f: "shUróo' kedóonkey" }, present: { p: "شروع کېدونکی", f: "shUróo' kedóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":7909,"ts":1527819252,"p":"شروع","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."}, entry: {"i":7909,"ts":1527819252,"p":"شروع","g":"","f":"shUróo'","e":"beginning, start, undertaking","c":"n. m."},
person: 4, person: 4,
}, },
auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true}, auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","g":"","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true},
}, },
}, },
stative: { stative: {
@ -1666,8 +1668,8 @@ const toTest = [
}, },
// dynamic or generative stative compound verb // dynamic or generative stative compound verb
{ {
entry: {"i":4770,"ts":1608137130992,"p":"چیغه کول","f":"chéegha kawul","e":"to yell, scream, cry out","l":1527813972,"c":"v. gen. stat./dyn. comp. trans."}, entry: {"i":4770,"ts":1608137130992,"p":"چیغه کول","g":"","f":"chéegha kawul","e":"to yell, scream, cry out","l":1527813972,"c":"v. gen. stat./dyn. comp. trans."},
complement: {"i":4769,"ts":1527813972,"p":"چیغه","f":"chéegha","e":"yell, scream, cry","c":"n. f."}, complement: {"i":4769,"ts":1527813972,"p":"چیغه","g":"","f":"chéegha","e":"yell, scream, cry","c":"n. f."},
result: { result: {
type: "dynamic or generative stative compound", type: "dynamic or generative stative compound",
transitivity: "transitive", transitivity: "transitive",
@ -1707,10 +1709,10 @@ const toTest = [
present: { p: "چیغه کوونکی", f: "chéegha kawóonkey" }, present: { p: "چیغه کوونکی", f: "chéegha kawóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":4769,"ts":1527813972,"p":"چیغه","f":"chéegha","e":"yell, scream, cry","c":"n. f."}, entry: {"i":4769,"ts":1527813972,"p":"چیغه","g":"","f":"chéegha","e":"yell, scream, cry","c":"n. f."},
person: 5, person: 5,
}, },
auxVerb: {"i":10058,"ts":1527812752,"p":"کول","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true}, auxVerb: {"i":10058,"ts":1527812752,"p":"کول","g":"","f":"kawul","e":"to do (an action or activity)","c":"v. trans. irreg. dyn. aux.","ssp":"وکړ","ssf":"óokR","prp":"وکړل","prf":"óokRul","pprtp":"کړی","pprtf":"kúRey","diacExcept":true},
intransitiveForm: { intransitiveForm: {
type: "dynamic compound", type: "dynamic compound",
transitivity: "intransitive", transitivity: "intransitive",
@ -1739,10 +1741,10 @@ const toTest = [
present: { p: "چیغه کېدونکی", f: "chéegha kedóonkey" }, present: { p: "چیغه کېدونکی", f: "chéegha kedóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":4769,"ts":1527813972,"p":"چیغه","f":"chéegha","e":"yell, scream, cry","c":"n. f."}, entry: {"i":4769,"ts":1527813972,"p":"چیغه","g":"","f":"chéegha","e":"yell, scream, cry","c":"n. f."},
person: 5, person: 5,
}, },
auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true}, auxVerb: {"i":10122,"ts":1527812754,"p":"کېدل","g":"","f":"kedul","e":"to happen, occur","c":"v. intrans. irreg. aux. dyn.","ssp":"وش","ssf":"óosh","prp":"وشول","prf":"óoshwul","pprtp":"شوی","pprtf":"shúwey","diacExcept":true},
}, },
}, },
stative: { stative: {
@ -1781,7 +1783,7 @@ const toTest = [
present: { p: "چیغه کوونکی", f: "chéegha kawóonkey" }, present: { p: "چیغه کوونکی", f: "chéegha kawóonkey" },
}, },
objComplement: { objComplement: {
entry: {"i":4769,"ts":1527813972,"p":"چیغه","f":"chéegha","e":"yell, scream, cry","c":"n. f."}, entry: {"i":4769,"ts":1527813972,"p":"چیغه","g":"","f":"chéegha","e":"yell, scream, cry","c":"n. f."},
person: 5, person: 5,
}, },
}, },
@ -1789,8 +1791,8 @@ const toTest = [
}, },
// with plural form // with plural form
{ {
entry: {"i":4770,"ts":1608137130992,"p":"چیغې کول","f":"chéeghe kawul","e":"to yell, scream, cry out","l":1527813972,"c":"v. gen. stat./dyn. comp. trans."}, entry: {"i":4770,"ts":1608137130992,"p":"چیغې کول","g":"","f":"chéeghe kawul","e":"to yell, scream, cry out","l":1527813972,"c":"v. gen. stat./dyn. comp. trans."},
complement: {"i":4769,"ts":1527813972,"p":"چیغه","f":"chéegha","e":"yell, scream, cry","c":"n. f."}, complement: {"i":4769,"ts":1527813972,"p":"چیغه","g":"","f":"chéegha","e":"yell, scream, cry","c":"n. f."},
result: { result: {
"type": "dynamic or generative stative compound", "type": "dynamic or generative stative compound",
"transitivity": "transitive", "transitivity": "transitive",
@ -1895,6 +1897,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -1909,6 +1912,7 @@ const toTest = [
"ts": 1527812752, "ts": 1527812752,
"p": "کول", "p": "کول",
"f": "kawul", "f": "kawul",
"g": "",
"e": "to do (an action or activity)", "e": "to do (an action or activity)",
"c": "v. trans. irreg. dyn. aux.", "c": "v. trans. irreg. dyn. aux.",
"ssp": "وکړ", "ssp": "وکړ",
@ -2020,6 +2024,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2030,6 +2035,7 @@ const toTest = [
"ts": 1527812752, "ts": 1527812752,
"p": "کول", "p": "کول",
"f": "kawul", "f": "kawul",
"g": "",
"e": "to do (an action or activity)", "e": "to do (an action or activity)",
"c": "v. trans. irreg. dyn. aux.", "c": "v. trans. irreg. dyn. aux.",
"ssp": "وکړ", "ssp": "وکړ",
@ -2115,6 +2121,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2129,6 +2136,7 @@ const toTest = [
"ts": 1527812754, "ts": 1527812754,
"p": "کېدل", "p": "کېدل",
"f": "kedul", "f": "kedul",
"g":"",
"e": "to happen, occur", "e": "to happen, occur",
"c": "v. intrans. irreg. aux. dyn.", "c": "v. intrans. irreg. aux. dyn.",
"ssp": "وش", "ssp": "وش",
@ -2214,6 +2222,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2224,6 +2233,7 @@ const toTest = [
"ts": 1527812754, "ts": 1527812754,
"p": "کېدل", "p": "کېدل",
"f": "kedul", "f": "kedul",
"g":"",
"e": "to happen, occur", "e": "to happen, occur",
"c": "v. intrans. irreg. aux. dyn.", "c": "v. intrans. irreg. aux. dyn.",
"ssp": "وش", "ssp": "وش",
@ -2312,6 +2322,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g":"",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2326,6 +2337,7 @@ const toTest = [
"ts": 1527812754, "ts": 1527812754,
"p": "کېدل", "p": "کېدل",
"f": "kedul", "f": "kedul",
"g":"",
"e": "to happen, occur", "e": "to happen, occur",
"c": "v. intrans. irreg. aux. dyn.", "c": "v. intrans. irreg. aux. dyn.",
"ssp": "وش", "ssp": "وش",
@ -2411,6 +2423,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g":"",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2421,6 +2434,7 @@ const toTest = [
"ts": 1527812754, "ts": 1527812754,
"p": "کېدل", "p": "کېدل",
"f": "kedul", "f": "kedul",
"g":"",
"e": "to happen, occur", "e": "to happen, occur",
"c": "v. intrans. irreg. aux. dyn.", "c": "v. intrans. irreg. aux. dyn.",
"ssp": "وش", "ssp": "وش",
@ -2535,6 +2549,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2645,6 +2660,7 @@ const toTest = [
"ts": 1527813972, "ts": 1527813972,
"p": "چیغه", "p": "چیغه",
"f": "chéegha", "f": "chéegha",
"g": "",
"e": "yell, scream, cry", "e": "yell, scream, cry",
"c": "n. f." "c": "n. f."
}, },
@ -2669,12 +2685,12 @@ test(`verb info should work`, () => {
// test(`verb info should not work if no parts of speech`, () => { // test(`verb info should not work if no parts of speech`, () => {
// expect(() => { // expect(() => {
// getVerbInfo({"i":5413,"ts":1527812767,"p":"خندل","f":"khandul","e":"to laugh"}); // getVerbInfo({"i":5413,"ts":1527812767,"p":"خندل","g":"","f":"khandul","e":"to laugh"});
// }).toThrow("No part of speech info"); // }).toThrow("No part of speech info");
// }); // });
// test(`verb info should not work if a complement is not provided for a compound verb`, () => { // test(`verb info should not work if a complement is not provided for a compound verb`, () => {
// expect(() => { // expect(() => {
// getVerbInfo({"i":5368,"ts":1577898920635,"p":"خفه کېدل","f":"khufa kedul","e":"to be sad, grieved, annoyed, upset; to be choked, to suffocate","l":1527812798,"c":"v. stat. comp. intrans."}); // getVerbInfo({"i":5368,"ts":1577898920635,"p":"خفه کېدل","g":"","f":"khufa kedul","e":"to be sad, grieved, annoyed, upset; to be choked, to suffocate","l":1527812798,"c":"v. stat. comp. intrans."});
// }).toThrow("complement required for compound verb"); // }).toThrow("complement required for compound verb");
// }); // });

View File

@ -80,6 +80,7 @@ export function getVerbInfo(
const transitivity = getTransitivity(entry); const transitivity = getTransitivity(entry);
if (type !== "simple") { if (type !== "simple") {
if (!complement) { if (!complement) {
console.log(entry);
throw new Error("complement required for compound verb"); throw new Error("complement required for compound verb");
} }
if (type === "dynamic compound") { if (type === "dynamic compound") {

View File

@ -56,6 +56,9 @@ import {
import { import {
isNounAdjOrVerb, isNounAdjOrVerb,
} from "./lib/misc-helpers"; } from "./lib/misc-helpers";
import {
simplifyPhonetics,
} from "./lib/simplify-phonetics";
import defaultTextOptions from "./lib/default-text-options"; import defaultTextOptions from "./lib/default-text-options";
import * as grammarUnits from "./lib/grammar-units"; import * as grammarUnits from "./lib/grammar-units";
import * as Types from "./types"; import * as Types from "./types";
@ -74,6 +77,7 @@ export {
convertPkToAfSpelling, convertPkToAfSpelling,
validateEntry, validateEntry,
isNounAdjOrVerb, isNounAdjOrVerb,
simplifyPhonetics,
// protobuf helpers // protobuf helpers
readDictionary, readDictionary,
writeDictionary, writeDictionary,

View File

@ -29,49 +29,82 @@ export type Dictionary = {
export type DictionaryEntry = { export type DictionaryEntry = {
// BASE REQUIRED INFO // BASE REQUIRED INFO
ts: number; // timestamp /** timestamp - used for word id */
i: number; // Pashto Alphabetical Index ts: number;
p: string; // Pashto word /** Pashto alphabetical index */
f: string; // Phonetics word i: number;
e: string; // English word /** entry in Pashto */
p: string;
/** entry in Phonetics */
f: string;
/** entry in simplified phonetics */
g: string;
/** entry in English */
e: string;
// PART OF SPEECH AND LINK INFO // PART OF SPEECH AND LINK INFO
c?: string; // Part of Speech Info /** part of speech info */
l?: number; // timestamp link to related word c?: string;
/** link - timestamp of related word */
l?: number;
// INFLECTION INFO // INFLECTION INFO
infap?: string; // Special (irregular) inflection info /** first masculine irregular inflection in Pashto */
infap?: string;
/** first masculine irregular inflection in Phonetics */
infaf?: string; infaf?: string;
/** base for second masculine / feminine irregular inflection in Pashto */
infbp?: string; infbp?: string;
/** base for second masculine / feminine irregular inflection in Phonetics */
infbf?: string; infbf?: string;
noInf?: boolean; // No Inflections? /** entry does not inflect? */
noInf?: boolean;
// PLURAL INFO // PLURAL INFO
app?: string; // Arabic plural in Pashto /** Arabic plural in Pashto */
apf?: string; // Arabic plural in Phonetics app?: string;
ppp?: string; // Pashto plural in Pashto /** Arabic plural in Phonetics */
ppf?: string; // Pashto plural in Phonetics apf?: string;
/** Pashto irregular plural in Pashto */
ppp?: string;
/** Pashto irregular plural in phonetics */
ppf?: string;
// VERB INFO // VERB INFO
psp?: string; // Present stem in Pashto /** imperfective (present) stem in Pashto */
psf?: string; // Present stem in Phonetics psp?: string;
/** The subjuctive / perfective stem in Pashto */ /** imperfective (present) stem in Phonetics */
psf?: string;
/** perfective (subjunctive) stem in Pashto */
ssp?: string; ssp?: string;
/** The subjunctive / perfective stem in Phonetics */ /** perfective (subjunctive) stem in Phonetics */
ssf?: string; ssf?: string;
prp?: string; // Perfective root in Pashto /** perfective root in Pashto */
prf?: string; // Perfective root in Phonetics prp?: string;
/** The past participle in Pashto */ /** perfective root in Phonetics */
prf?: string;
/** past participle in Pashto */
pprtp?: string; pprtp?: string;
/** The past participle in Phonetics */ /** past participle in Phonetics */
pprtf?: string; pprtf?: string;
/** The idiosyncratic third person singular masc. short past in Pashto */ /** The idiosyncratic third person singular masc. short past in Pashto */
tppp?: string; tppp?: string;
/** The idiosyncratic third person singular masc. short past in Phonetics */ /** The idiosyncratic third person singular masc. short past in Phonetics */
tppf?: string; tppf?: string;
shortIntrans?: boolean; // Short version is available like ګرځېږي and ګرځي /** intransitive short version is available like ګرځېږي and ګرځي */
noOo?: boolean; // No و - oo verb prefix? shortIntrans?: boolean;
sepOo?: boolean; // Separate oo prefix? /** does not take a و - oo perfective verb prefix? */
separationAtP?: number; // Pashto separation point for separable verbs noOo?: boolean;
separationAtF?: number; // Phonetics separation point for separable verbs /** takes a seperate و - oo perfective verb prefix? */
sepOo?: boolean;
/** Pashto separation point for seperable verbs */
separationAtP?: number;
/** Phonetics separation point for seperable verbs */
separationAtF?: number;
// PHONETICS - PASHTO - DIACRITICS INFO // PHONETICS - PASHTO - DIACRITICS INFO
diacExcept?: boolean; // Is an exception to the diacritics thing /** Is an exception to the rules of diacritics for Pashto/Phonetics */
diacExcept?: boolean;
} }
export type DictionaryEntryTextField = "p" | "f" | "e" | "c" | "infap" | "infaf" | "infbp" | "infbf" | "app" | "apf" | "ppp" | "ppf" | "psp" | "psf" | "ssp" | "ssf" | "prp" | "prf" | "pprtp" | "pprtf" | "tppp" | "tppf"; export type DictionaryEntryTextField = "p" | "f" | "e" | "c" | "infap" | "infaf" | "infbp" | "infbf" | "app" | "apf" | "ppp" | "ppf" | "psp" | "psf" | "ssp" | "ssf" | "prp" | "prf" | "pprtp" | "pprtf" | "tppp" | "tppf";