UNPKG

taipa

Version:

Taiwanese morphological parsing library

106 lines (105 loc) 3.28 kB
export declare class Character { character: string; constructor(s: string); } declare class Characters { private carr; private o; constructor(); private assign; get(key: string): Character; get size(): number; } export declare const characters: Characters; export declare abstract class Grapheme { } export declare class AlphabeticGrapheme extends Grapheme { letter: AlphabeticLetter; constructor(letter: AlphabeticLetter); } /** Letter is a subword unit. */ export declare class Letter { literal: string; } export declare class AlphabeticLetter extends Letter { characters: Array<Character>; constructor(characters: Array<Character>); pushCharacter(c: Character): void; protected concat(): void; } export declare class MatchedSequence { characters: Array<Character>; get matchedLength(): number; toString(): string; } export declare class Letters { private arr; protected o: Map<string, AlphabeticLetter>; constructor(larr: string[]); private assign; handleN(characters: Character[], beginOfLetter: number, listLength: number): MatchedSequence; get(key: string): AlphabeticLetter; get size(): number; get values(): IterableIterator<AlphabeticLetter>; } /** Turn a string into graphemes. */ export declare class GraphemeMaker { private lowerLetters; private listOfLetters; constructor(lowerLetters: Letters); makeGraphemes(str: string): AlphabeticGrapheme[]; private getMatchedSequence; private make; } /** The sound tag of a given letter. */ export declare class Sound { name: string; characters: Array<Character>; toString(): string; makeCharacters(str: string): Character[]; } export declare const soundSequence: (sounds: Sound[]) => { sounds: Sound[]; includes(str: string): boolean; }; export declare const sgPipe: (...fns: ((sg: SoundGeneration) => SoundGeneration)[]) => (x: SoundGeneration) => SoundGeneration; /** Sound generation for syllable compositions. */ export declare class SoundGeneration { /** The letters to be matched. */ letters: string[]; /** Matched sounds accumulator. */ matchedSounds: Sound[]; /** flag for syllable matching process. */ matching: boolean; } export declare class MatchedPattern { letters: Array<AlphabeticLetter>; pattern: Array<Sound>; get matchedLength(): number; get lastLetter(): AlphabeticLetter; get lastSecondLetter(): AlphabeticLetter; } export declare abstract class Morpheme { } /** Syllable is a subword unit. */ export declare class Syllable { literal: string; letters: Array<AlphabeticLetter>; constructor(letters: Array<AlphabeticLetter>); pushLetter(l: AlphabeticLetter): void; replaceLetter(i: number, l: AlphabeticLetter): void; insertLetter(i: number, l: AlphabeticLetter): void; protected concat(): void; } export declare function makeMatchedPatterns(letters: Array<AlphabeticLetter>, syllabify: (letters: Array<AlphabeticLetter>, beginOfSyllable: number) => MatchedPattern): MatchedPattern[]; export declare abstract class Lexeme { } export declare class Word { literal: string; } export declare abstract class Phraseme { } export declare class Phrase { literal: string; } export {};