UNPKG

hebrew-transliteration

Version:
461 lines (460 loc) 10.4 kB
/** * @categoryDescription Taamim * Also called "accent" characters * * @categoryDescription Vowels * Hebrew vowel characters * * @categoryDescription Punctuation * Characters not bound to other characters (e.g. paseq) */ /** * Options for removing characters from Hebrew text, divided into categories */ export interface RemoveOptions { /** * HEBREW ACCENT ETNAHTA (U+0591) * ◌֑ * @category Taamim */ ETNAHTA?: boolean; /** * HEBREW ACCENT SEGOL (U+0592) * ◌֒ * @category Taamim */ SEGOLTA?: boolean; /** * HEBREW ACCENT SHALSHELET (U+0593) * ◌֓ * @category Taamim */ SHALSHELET?: boolean; /** * HEBREW ACCENT ZAQEF QATAN (U+0594) * ◌֔ * @category Taamim */ ZAQEF_QATAN?: boolean; /** * HEBREW ACCENT ZAQEF GADOL (U+0595) * ◌֕ * @category Taamim */ ZAQEF_GADOL?: boolean; /** * HEBREW ACCENT TIPEHA (U+0596) * ◌֖ * @category Taamim */ TIPEHA?: boolean; /** * HEBREW ACCENT REVIA (U+0597) * ◌֗ * @category Taamim */ REVIA?: boolean; /** * HEBREW ACCENT ZARQA (U+0598) * ◌֘ * @category Taamim */ ZARQA?: boolean; /** * HEBREW ACCENT PASHTA (U+0599) * ◌֙ * @category Taamim */ PASHTA?: boolean; /** * HEBREW ACCENT YETIV (U+059A) * ◌֚ * @category Taamim */ YETIV?: boolean; /** * HEBREW ACCENT TEVIR (U+059B) * ◌֛ * @category Taamim */ TEVIR?: boolean; /** * HEBREW ACCENT GERESH (U+059C) * ◌֜ * @category Taamim */ GERESH?: boolean; /** * HEBREW ACCENT GERESH MUQDAM (U+059D) * ◌֝ * @category Taamim */ GERESH_MUQDAM?: boolean; /** * HEBREW ACCENT GERSHAYIM (U+059E) * ◌֞ * @category Taamim */ GERSHAYIM?: boolean; /** * HEBREW ACCENT QARNEY PARA (U+059F) * ◌֟ * @category Taamim */ QARNEY_PARA?: boolean; /** * HEBREW ACCENT TELISHA GEDOLA (U+05A0) * ◌֠ * @category Taamim */ TELISHA_GEDOLA?: boolean; /** * HEBREW ACCENT PAZER (U+05A1) * ◌֡ * @category Taamim */ PAZER?: boolean; /** * HEBREW ACCENT ATNAH HAFUKH (U+05A2) * ◌֢ * @category Taamim */ ATNAH_HAFUKH?: boolean; /** * HEBREW ACCENT MUNAH (U+05A3) * ◌֣ * @category Taamim */ MUNAH?: boolean; /** * HEBREW ACCENT MAHAPAKH (U+05A4) * ◌֤ * @category Taamim */ MAHAPAKH?: boolean; /** * HEBREW ACCENT MERKHA (U+05A5) * ◌֥ * @category Taamim */ MERKHA?: boolean; /** * HEBREW ACCENT MERKHA KEFULA (U+05A6) * ◌֦ * @category Taamim */ MERKHA_KEFULA?: boolean; /** * HEBREW ACCENT DARGA (U+05A7) * ◌֧ * @category Taamim */ DARGA?: boolean; /** * HEBREW ACCENT QADMA (U+05A8) * ◌֨ * @category Taamim */ QADMA?: boolean; /** * HEBREW ACCENT TELISHA QETANA (U+05A9) * ◌֩ * @category Taamim */ TELISHA_QETANA?: boolean; /** * HEBREW ACCENT YERAH BEN YOMO (U+05AA) * ◌֪ * @category Taamim */ YERAH_BEN_YOMO?: boolean; /** * HEBREW ACCENT OLE (U+05AB) * ◌֫ * @category Taamim */ OLE?: boolean; /** * HEBREW ACCENT ILUY (U+05AC) * ◌֬ * @category Taamim */ ILUY?: boolean; /** * HEBREW ACCENT DEHI (U+05AD) * ◌֭ * @category Taamim */ DEHI?: boolean; /** * HEBREW ACCENT ZINOR (U+05AE) * ◌֮ * @category Taamim */ ZINOR?: boolean; /** * HEBREW POINT SHEVA (U+05B0) * ◌ְ * @category Vowels */ SHEVA?: boolean; /** * HEBREW POINT HATAF SEGOL (U+05B1) * ◌ֱ * @category Vowels */ HATAF_SEGOL?: boolean; /** * HEBREW POINT HATAF PATAH (U+05B2) * ◌ֲ * @category Vowels */ HATAF_PATAH?: boolean; /** * HEBREW POINT HATAF QAMATS (U+05B3) * ◌ֳ * @category Vowels */ HATAF_QAMATS?: boolean; /** * HEBREW POINT HIRIQ (U+05B4) * ◌ִ * @category Vowels */ HIRIQ?: boolean; /** * HEBREW POINT TSERE (U+05B5) * ◌ֵ * @category Vowels */ TSERE?: boolean; /** * HEBREW POINT SEGOL (U+05B6) * ◌ֶ * @category Vowels */ SEGOL?: boolean; /** * HEBREW POINT PATAH (U+05B7) * ◌ַ * @category Vowels */ PATAH?: boolean; /** * HEBREW POINT QAMATS (U+05B8) * ◌ָ * @category Vowels */ QAMATS?: boolean; /** * HEBREW POINT HOLAM (U+05B9) * ◌ֹ * @category Vowels */ HOLAM?: boolean; /** * HEBREW POINT QUBUTS (U+05BB) * ◌ֻ * @category Vowels */ QUBUTS?: boolean; /** * HEBREW POINT DAGESH OR MAPIQ (U+05BC) * ◌ּ * @category Vowels */ DAGESH?: boolean; /** * HEBREW POINT METEG (U+05BD) * ◌ֽ * @category Vowels */ METEG?: boolean; /** * HEBREW POINT RAFE (U+05BF) * ◌ֿ * @category Vowels */ RAFE?: boolean; /** * HEBREW POINT SHIN DOT (U+05C1) * ◌ׁ * @category Vowels */ SHIN_DOT?: boolean; /** * HEBREW POINT SIN DOT (U+05C2) * ◌ׂ * @category Vowels */ SIN_DOT?: boolean; /** * HEBREW POINT QAMATS QATAN (U+05C7) * ◌ׇ * @category Vowels */ QAMATS_QATAN?: boolean; /** * HEBREW PUNCTUATION MAQAF (U+05BE) * ־◌ * @category Punctuation * * @remarks * Unlike other characters, this is replaced with a space instead of being removed. */ MAQAF?: boolean; /** * HEBREW PUNCTUATION PASEQ (U+05C0) * ׀ ◌ * @category Punctuation */ PASEQ?: boolean; /** * HEBREW PUNCTUATION SOF PASUQ (U+05C3) * ׃◌ * @category Punctuation */ SOF_PASUQ?: boolean; /** * HEBREW PUNCTUATION NUN HAFUKHA (U+05C6) * ׆ * @category Punctuation */ NUN_HAFUKHA?: boolean; /** * HEBREW PUNCTUATION GERESH (U+05F3) * ׳◌ * @category Punctuation * @category Taamim * * @remarks * Distinguished from {@link RemoveOptions.GERESH | GERESH (U+059C)}. This character is mostly used in Modern Hebrew, but could be used in place of the other. */ PUNC_GERESH?: boolean; /** * HEBREW PUNCTUATION GERSHAYIM (U+05F4) * ״◌ * @category Punctuation * @category Taamim * * @remarks * Distinguished from {@link RemoveOptions.GERSHAYIM | GERSHAYIM (U+059E)}. This character is mostly used in Modern Hebrew, but could be used in place of the other. */ PUNC_GERSHAYIM?: boolean; /** * HEBREW MARK MASORA CIRCLE (U+05AF) * ◌֯ * @category Punctuation * @category Taamim */ MASORA_CIRCLE?: boolean; /** * HEBREW MARK UPPER DOT (U+05C4) * ◌ׄ * @category Punctuation * @category Taamim */ UPPER_DOT?: boolean; /** * HEBREW MARK LOWER DOT (U+05C5) * ◌ׅ * @category Punctuation * @category Taamim */ LOWER_DOT?: boolean; /** * A callback that is invoked when removal is complete * * @example * Modifying the result * ```ts * import { remove, accents } from "hebrew-transliteration"; * * remove("שָׂרַ֣י אִשְׁתְּךָ֔", { * ...accents, * ON_COMPLETE: (result) => result.replace("ת", "t"), * }); * // "שׂרי אשתכ" * ``` * * @example * Accessing callback arguments * ```ts * import { remove, accents } from "hebrew-transliteration"; * * remove("שָׂרַ֣י אִשְׁתְּךָ֔", { * ...accents, * ON_COMPLETE: (result, { original, options }) => { * console.log("Original Hebrew:", original); * console.log("Options used:", options); * return result; * }, * }); * // Original Hebrew: שָׂרַ֣י אִשְׁתְּךָ֔ * // Options used: { ETNAHTA: true, ... } * ``` */ ON_COMPLETE?: (result: string, context: { original: string; options: RemoveOptions; }) => string; } /** * removes all chars called HEBREW ACCENT (U+0591-05AF) */ export declare const accents: RemoveOptions; /** * removes all chars called HEBREW POINT (U+05B0-05BD, U+05BF, U+05C1-05C2 and U+05C7) */ export declare const points: RemoveOptions; /** * removes chars called HEBREW POINT (U+05B0-05BC and U+05C7) except for: * - SHIN_DOT * - SIN_DOT * - METEG * - RAFE */ export declare const vowels: RemoveOptions; /** * removes all chars called HEBREW PUNCTUATION (U+05BE, U+05C0, U+05C3, and U+05C6) */ export declare const punctuation: RemoveOptions; /** * removes all chars called HEBREW MARK (U+05AF, U+05C4, and U+05C5) */ export declare const marks: RemoveOptions; export declare const all: RemoveOptions; /** * Removes niqqud from Hebrew text * * @param text - a string of Hebrew characters * @param options * @returns Hebrew characters with accents and niqqud optionally removed * * @example * Default * ```ts * // by default removes all accents and metheg and rafe * remove("שָׂרַ֣י אִשְׁתְּךָ֔, וַֽיִּמְצְא֗וּ"); * // שָׂרַי אִשְׁתְּךָ, וַיִּמְצְאוּ * ``` * * @example * Remove accents and vowels, but not shin/sin dots * ```ts * import { accents, vowels } from "hebrew-transliteration/removeOptions"; * * remove("שָׂרַ֣י אִשְׁתְּךָ֔, וַֽיִּמְצְא֗וּ", { ...accents, ...vowels, METEG: true }); * // שׂרי אשׁתך, וימצאו * ``` * * @example * Remove all * ```ts * import { all } from "hebrew-transliteration/removeOptions"; * * remove("שָׂרַ֣י אִשְׁתְּךָ֔, וַֽיִּמְצְא֗וּ", all); * // שרי אשתך, וימצאו * ``` */ export declare const remove: (text: string, options?: RemoveOptions) => string;