@freeword/meta
Version:
Meta package for Freeword: exports all core types, constants, and utilities from the src/ directory.
49 lines • 1.88 kB
TypeScript
import * as UF from '../lib/UF.ts';
import type * as TY from '../types.ts';
import type { Wordform } from './Wordform.ts';
export declare class LemmaDef {
/** core word, eg. `accede` */ core: TY.Word;
/** word forms, */ wordforms: Wordform[];
/** odd properties */ tmi: TY.AnyBag;
/** false if parse failed */ ok: boolean;
get words(): string[];
get stemcores(): string[];
get suffixes(): string[];
get poses(): ("adj" | "adv" | "verb" | "noun" | "intj" | "prep" | "conj" | "pron" | "art")[];
get stemkinds(): UF.Stemkind[];
get stemsplits(): string[];
static make<RT extends LemmaDef>(this: {
new (rawline: string): RT;
}, rawline: string): RT;
parseRawLine(): this;
prettyA({ indent }?: {
indent?: string;
}): string;
get pretty(): string;
static parseDictStar<RT extends LemmaDef>(this: {
new (rawline: string): RT;
}, rawlines: AsyncIterable<string> | Iterable<string>): AsyncGenerator<RT, {
oopsies: RT[];
oopsieCount: number;
}>;
static slurpLexicon<RT extends LemmaDef>(this: {
new (rawline: string): RT;
}, filename: string): Promise<ParseDictResult<RT>>;
static parseDict<RT extends LemmaDef>(this: {
make: (rawline: string) => RT;
}, rawlines: string[]): ParseDictResult<RT>;
}
export interface OppsieResult<RT extends LemmaDef> {
oopsies: RT[];
oopsieCount: number;
}
export interface ParseDictResult<RT extends LemmaDef> extends OppsieResult<RT> {
defs: RT[];
}
export type LemmaDefFactory<RT extends LemmaDef> = {
new (rawline: string): RT;
make: (rawline: string) => RT;
parseDictStar: (rawlines: TY.AnyIterable<string>) => AsyncGenerator<RT, OppsieResult<RT>, any>;
parseDict: (rawlines: string[]) => ParseDictResult<RT>;
};
//# sourceMappingURL=LemmaDef.d.ts.map