@dcoffey/espells
Version:
Pure JS/TS spellchecker, using Hunspell dictionaries. Based on Spylls.
87 lines (86 loc) • 3.08 kB
TypeScript
import type { Aff } from "../aff/index.js";
import type { CapType, CompoundPos } from "../constants.js";
import type { Dic } from "../dic/index.js";
/**
* A word (a string) wrapped with metadata. Can be iterated, and will
* coerce itself to a string.
*/
export declare class LKWord {
/** The {@link Aff} data the word derives metadata from. */
aff: Aff;
/** The {@link dic} data the word derives forms and stems from. */
dic: Dic;
/** The word itself. */
word: string;
/** The capitalization type of the word. */
type: CapType;
/** The position of the word in a compound, if any. */
pos?: CompoundPos | undefined;
constructor(
/** The {@link Aff} data the word derives metadata from. */
aff: Aff,
/** The {@link dic} data the word derives forms and stems from. */
dic: Dic,
/** The word itself. */
word: string,
/** The capitalization type of the word. */
type: CapType,
/** The position of the word in a compound, if any. */
pos?: CompoundPos | undefined);
/**
* Reuses this instance's metadata on a new word.
*
* @param word - The new word string to use.
*/
to(word: string, captype?: CapType): LKWord;
/**
* Reuses this instance, but changes the compound position.
*
* @param pos - The new compound position.
*/
shift(pos: CompoundPos): LKWord;
/**
* Returns a new {@link LKWord} from a section of this word.
*
* @param from - The starting index of the section. Can be negative.
* @param to - The ending index of the section.
*/
slice(from?: number, to?: number): LKWord;
/**
* Executes an ordinary text replacement operation on this word and
* returns a new instance from the result.
*
* @param pat - The object that will search for matches in the word.
* @param repl - The replacement string for the found match.
*/
replace(pat: {
[Symbol.replace](s: string, r: string): string;
}, repl?: string): LKWord;
/**
* Executes an ordinary text replacement operation on this word and
* returns a new instance from the result. Replaces all matches, rather
* than just the first one found.
*
* @param pat - The global `RegExp` or string to match with.
* @param repl - The replacement string for the found match.
*/
replaceAll(pat: string | RegExp, repl?: string): LKWord;
/**
* Adds (concatenates) a string (or another {@link LKWord}) to this word
* and returns a new instance from the result.
*
* @param str - The string or {@link LKWord} to add.
*/
add(str: string | LKWord): LKWord;
/**
* Gets the character at the specified index. Accepts negative numbers.
*
* @param n - The index of the desired character. Can be negative.
*/
at(n: number): string;
/** The length of the word. */
get length(): number;
[Symbol.toStringTag](): string;
[Symbol.iterator](): Generator<string, void, undefined>;
[Symbol.toPrimitive](): string;
}