shevchenko
Version:
JavaScript library for declension of Ukrainian anthroponyms
20 lines (19 loc) • 790 B
TypeScript
import { GrammaticalCase, GrammaticalGender, WordClass } from '../language';
import { ApplicationType, DeclensionRule } from './declension-types';
export type CustomRuleFilter = (declensionRule: DeclensionRule, index: number, declensionRules: DeclensionRule[]) => boolean;
export type DeclensionParams = {
grammaticalCase: GrammaticalCase;
gender: GrammaticalGender;
wordClass?: WordClass;
applicationType?: ApplicationType;
customRuleFilter?: CustomRuleFilter;
};
export declare class WordInflector {
private readonly declensionRules;
constructor(declensionRules: DeclensionRule[]);
inflect(word: string, params: DeclensionParams): Promise<string>;
/**
* Finds matching declension rules for the given word.
*/
private findMatchingRules;
}