pashto-inflector/src/library.ts

235 lines
5.4 KiB
TypeScript
Raw Normal View History

2021-03-09 12:39:13 +00:00
/**
* 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 {
2021-03-09 12:39:13 +00:00
conjugateVerb,
} from "./lib/verb-conjugation";
import {
inflectWord,
} from "./lib/pashto-inflector";
import {
getVerbInfo,
} from "./lib/verb-info";
import ConjugationViewer from "./components/ConjugationViewer";
import InflectionsTable from "./components/InflectionsTable";
import Pashto from "./components/Pashto";
import Phonetics from "./components/Phonetics";
import InlinePs from "./components/InlinePs";
import ButtonSelect from "./components/ButtonSelect";
import VerbFormDisplay from "./components/VerbFormDisplay";
import VerbTable from "./components/VerbTable";
import Examples from "./components/Examples";
import Hider from "./components/Hider";
import EntrySelect from "./components/EntrySelect";
2021-03-09 12:39:13 +00:00
import VerbInfo, { RootsAndStems } from "./components/verb-info/VerbInfo";
import VPExplorer from "./components/vp-explorer/VPExplorer";
import useStickyState from "./lib/useStickyState";
2021-03-09 12:39:13 +00:00
import {
makePsString,
removeFVarients,
} from "./lib/accent-and-ps-utils";
import {
addToForm,
concatPsString,
2021-07-15 09:57:04 +00:00
isVerbBlock,
isImperativeBlock,
2021-09-15 00:55:47 +00:00
isPluralInflectionSet,
isUnisexSet,
2021-07-15 09:57:04 +00:00
isInflectionSet,
2021-10-06 01:31:45 +00:00
addEnglish,
2021-10-16 01:58:56 +00:00
endsWith,
2022-03-18 21:32:01 +00:00
hasBaParticle,
2022-03-20 12:45:47 +00:00
psRemove,
firstVariation,
psStringFromEntry,
getLong,
capitalizeFirstLetter,
2021-03-09 12:39:13 +00:00
} from "./lib/p-text-helpers";
2021-10-05 01:15:13 +00:00
import {
getEnglishWord,
} from "./lib/get-english-word";
2021-09-16 17:52:52 +00:00
import {
standardizePashto,
standardizePhonetics,
} from "./lib/standardize-pashto";
2021-03-18 12:01:52 +00:00
import { phoneticsToDiacritics } from "./lib/phonetics-to-diacritics";
import {
randomPerson,
isInvalidSubjObjCombo,
randomSubjObj,
} from "./lib/np-tools";
2021-03-09 12:39:13 +00:00
import {
2021-07-24 15:43:53 +00:00
convertSpelling,
revertSpelling,
2021-03-09 12:39:13 +00:00
} from "./lib/convert-spelling";
import {
dictionaryEntryBooleanFields,
dictionaryEntryNumberFields,
dictionaryEntryTextFields,
} from "./lib/fields";
import {
2021-09-16 17:52:52 +00:00
validateEntry,
standardizeEntry,
2021-03-09 12:39:13 +00:00
} from "./lib/validate-entry";
2021-03-10 11:37:35 +00:00
import {
readDictionary,
writeDictionary,
readDictionaryInfo,
writeDictionaryInfo,
} from "./lib/protobuf";
2021-03-10 16:51:40 +00:00
import {
pashtoConsonants,
} from "./lib/pashto-consonants";
import {
isNounAdjOrVerb,
2021-07-14 00:44:27 +00:00
getEnglishPersonInfo,
getPersonFromVerbForm,
getPersonNumber,
2021-07-15 09:57:04 +00:00
personFromVerbBlockPos,
2021-10-05 03:27:26 +00:00
getVerbBlockPosFromPerson,
2021-10-06 00:52:54 +00:00
personIsPlural,
2021-10-06 01:13:47 +00:00
personGender,
2021-10-07 17:17:04 +00:00
parseEc,
personNumber,
2022-05-06 20:33:00 +00:00
randFromArray,
2022-05-06 20:54:15 +00:00
chooseLength,
2021-03-10 16:51:40 +00:00
} from "./lib/misc-helpers";
2022-05-06 20:54:15 +00:00
import {
flattenLengths,
} from "./lib/phrase-building/segment";
2021-03-16 13:35:41 +00:00
import {
simplifyPhonetics,
} from "./lib/simplify-phonetics";
2021-03-18 12:05:49 +00:00
import {
translatePhonetics,
} from "./lib/translate-phonetics";
2021-06-05 16:29:35 +00:00
import {
addDiacritics,
} from "./lib/diacritics";
2021-09-02 12:37:45 +00:00
import {
removeAccents,
2021-09-03 11:27:02 +00:00
hasAccents,
splitUpSyllables,
countSyllables,
2021-09-02 12:37:45 +00:00
} from "./lib/accent-helpers";
2022-05-06 19:57:39 +00:00
import {
makeNounSelection,
} from "./components/np-picker/picker-tools";
2022-05-06 20:33:00 +00:00
import {
renderEP,
} from "./lib/phrase-building/render-ep";
import {
renderVP,
} from "./lib/phrase-building/render-vp";
import {
compileEP,
compileVP,
} from "./lib/phrase-building/compile";
2022-04-14 17:11:45 +00:00
import NPPicker from "./components/np-picker/NPPicker";
2022-04-26 08:02:18 +00:00
import EPExplorer from "./components/ep-explorer/EPExplorer";
2022-04-12 08:39:03 +00:00
import shuffleArray from "./lib/shuffle-array";
2021-03-09 12:39:13 +00:00
import defaultTextOptions from "./lib/default-text-options";
import * as grammarUnits from "./lib/grammar-units";
2021-11-03 00:33:39 +00:00
import genderColors from "./lib/gender-colors";
2021-03-09 12:39:13 +00:00
import * as Types from "./types";
import * as typePredicates from "./lib/type-predicates";
2021-03-09 12:39:13 +00:00
export {
// FUNCTIONS
conjugateVerb,
getVerbInfo,
inflectWord,
addToForm,
concatPsString,
makePsString,
removeFVarients,
2021-03-09 12:39:13 +00:00
standardizePashto,
2021-09-16 17:52:52 +00:00
standardizePhonetics,
2021-07-24 15:43:53 +00:00
convertSpelling,
revertSpelling,
2021-03-09 12:39:13 +00:00
validateEntry,
2021-09-16 17:52:52 +00:00
standardizeEntry,
2021-03-10 16:51:40 +00:00
isNounAdjOrVerb,
2021-03-16 13:35:41 +00:00
simplifyPhonetics,
2021-03-18 12:01:52 +00:00
phoneticsToDiacritics,
2021-06-05 16:29:35 +00:00
addDiacritics,
2021-03-18 12:05:49 +00:00
translatePhonetics,
2021-07-14 00:44:27 +00:00
getEnglishPersonInfo,
getPersonFromVerbForm,
getPersonNumber,
2021-07-15 09:57:04 +00:00
isVerbBlock,
isImperativeBlock,
isInflectionSet,
2021-09-15 00:55:47 +00:00
isPluralInflectionSet,
isUnisexSet,
2021-07-15 09:57:04 +00:00
personFromVerbBlockPos,
2021-09-02 12:37:45 +00:00
removeAccents,
2021-09-03 11:27:02 +00:00
hasAccents,
2021-10-05 01:15:13 +00:00
getEnglishWord,
2021-10-05 03:27:26 +00:00
getVerbBlockPosFromPerson,
2021-10-06 00:52:54 +00:00
personIsPlural,
2021-10-06 01:13:47 +00:00
personGender,
2021-10-06 01:31:45 +00:00
addEnglish,
2021-10-07 17:17:04 +00:00
parseEc,
2021-10-16 01:58:56 +00:00
endsWith,
splitUpSyllables,
countSyllables,
2022-03-18 21:32:01 +00:00
hasBaParticle,
2022-03-20 12:45:47 +00:00
psRemove,
firstVariation,
capitalizeFirstLetter,
psStringFromEntry,
getLong,
useStickyState,
randomPerson,
isInvalidSubjObjCombo,
randomSubjObj,
2022-04-12 08:39:03 +00:00
shuffleArray,
personNumber,
2022-05-06 19:57:39 +00:00
makeNounSelection,
2022-05-06 20:33:00 +00:00
randFromArray,
renderEP,
renderVP,
compileEP,
compileVP,
2022-05-06 20:54:15 +00:00
chooseLength,
flattenLengths,
2021-03-10 11:37:35 +00:00
// protobuf helpers
readDictionary,
writeDictionary,
readDictionaryInfo,
writeDictionaryInfo,
2021-03-09 12:39:13 +00:00
// COMPONENTS
2022-04-26 08:02:18 +00:00
EPExplorer,
VPExplorer,
ConjugationViewer, // TODO: Deprecated - remove
2021-03-09 12:39:13 +00:00
Examples,
VerbFormDisplay,
VerbTable,
VerbInfo,
RootsAndStems,
InflectionsTable,
Pashto,
Phonetics,
InlinePs,
ButtonSelect,
Hider,
EntrySelect,
2022-04-14 17:11:45 +00:00
NPPicker,
2021-03-09 12:39:13 +00:00
// OTHER
typePredicates,
2021-03-09 12:39:13 +00:00
grammarUnits,
2021-03-10 16:51:40 +00:00
pashtoConsonants,
2021-03-09 12:39:13 +00:00
defaultTextOptions,
dictionaryEntryTextFields,
dictionaryEntryNumberFields,
dictionaryEntryBooleanFields,
2021-11-03 00:33:39 +00:00
genderColors,
2021-03-09 12:39:13 +00:00
// TYPES
Types,
}