hebrew-transliteration 2.7.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/schema.ts"],
4
- "sourcesContent": ["import { Cluster } from \"havarotjs/cluster\";\nimport { Syllable } from \"havarotjs/syllable\";\nimport { SylOpts } from \"havarotjs/text\";\nimport { NameToCharMap } from \"havarotjs/utils/vowelMap\";\nimport { Word } from \"havarotjs/word\";\n\n// export for documentation\nexport type { SylOpts };\n\nexport interface HebrewFeature {\n /**\n * The Hebrew text \u2014 use consonants and vowels; do not use taamim\n *\n * @remarks\n * The text is parsed as a Regex so special characters like `?` and `|` can be used\n *\n */\n HEBREW: string | RegExp;\n}\n\nexport interface PassThrough {\n /**\n * If `true` passes the characters of the result of the `TRANSLITERATION` callback to the be mapped to the schema.\n * If `TRANSLITERATION` is a string, this does nothing.\n *\n * @default\n * true\n *\n * @example\n * ```js\n * // with PASS_THROUGH true or undefined; the rest of the characters are passed through\n * // to regular mapping on the schema\n * heb.transliterate(\"\u05D1\u05BC\u05B0\u05E8\u05B5\u05D0\u05E9\u05C1\u05B4\u0596\u05D9\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"(?<![\\u{05B1}-\\u{05BB}\\u{05C7}].*)\\u{05B0}\",\n * FEATURE: \"syllable\",\n * PASS_THROUGH: true,\n * TRANSLITERATION: function (syllable, _hebrew, schema) {\n * const next = syllable.next;\n * const nextVowel = next.vowelName === \"SHEVA\" ? \"VOCAL_SHEVA\" : next.vowelName\n *\n * if (next && nextVowel) {\n * const vowel = schema[nextVowel] || \"\";\n * return syllable.text.replacenew RegExp(\"\\u{05B0}\", \"u\"; vowel);\n * }\n *\n * return syllable.text;\n * }\n * }]\n * });\n * ```\n *\n * @example\n * ```js\n * // with PASS_THROUGH false, a custom mapping needs to be implemented,\n * // or Hebrew characters are returned for the rest of the `FEATURE`\n * heb.transliterate(\"\u05D1\u05BC\u05B0\u05E8\u05B5\u05D0\u05E9\u05C1\u05B4\u0596\u05D9\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"(?<![\\u{05B1}-\\u{05BB}\\u{05C7}].*)\\u{05B0}\",\n * FEATURE: \"syllable\",\n * PASS_THROUGH: false,\n * TRANSLITERATION: function (syllable, _hebrew, schema) {\n * const next = syllable.next;\n * const nextVowel = next.vowelName === \"SHEVA\" ? \"VOCAL_SHEVA\" : next.vowelName\n *\n * if (next && nextVowel) {\n * const vowel = schema[nextVowel] || \"\";\n * return syllable.text.replacenew RegExp(\"\\u{05B0}\", \"u\"; vowel);\n * }\n *\n * return syllable.text;\n * }\n * }]\n * });\n * // \u05D1\u05BC\u0113r\u0113\u02BE\u0161\u00EEt\n * ```\n *\n * @remarks\n * This is generally most useful when the callback does not transliterate the entire `FEATURE`\n */\n PASS_THROUGH?: boolean;\n}\n\n/**\n * @param word the `Word` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type WordCallback = (word: Word, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface WordFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature.\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"word\";\n /**\n * a string or callback. The callback takes three par\n *\n * Using a string\n * @example\n *\n * ```js\n * transliterate(\"\u05D5\u05B0\u05D0\u05B5\u05A5\u05EA \u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"word\",\n * HEBREW: \"\u05D4\u05B8\u05D0\u05B8\u05E8\u05B6\u05E5\",\n * TRANSLITERATION: \"The Earth\"\n * }]\n * });\n *\n * // w\u01DD\u02BE\u0113t The Earth\n * ```\n *\n * Using a callback\n * @example\n *\n * ```js\n * transliterate(heb, {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\",\n * FEATURE: \"word\",\n * TRANSLITERATION: function (_word, _hebrew, schema) {\n * return (\n * schema[\"SHIN\"] +\n * (schema[\"TAV_DAGESH\"] ?? schema[\"TAV\"]) +\n * schema[\"PATAH\"] +\n * schema[\"YOD\"] +\n * schema[\"HIRIQ\"] +\n * schema[\"FINAL_MEM\"]\n * );\n * }\n * }]\n * });\n *\n * // \u0161tayim\n * ```\n */\n TRANSLITERATION: string | WordCallback;\n}\n\n/**\n * @param syllable the `Syllable` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type SyllableCallback = (syllable: Syllable, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface SyllableFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature:\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"syllable\";\n /**\n * A string or callback to customize output\n *\n * @example\n * Using a string\n * ```js\n * transliterate(\"\u05DE\u05B0\u05D7\u05B4\u05D9\u05BC\u05D9\u05B8\u05D0\u05B5\u0597\u05DC\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\u05D9\u05BC(?![\\u{05B4}-\\u{05BB}])/u, // a yod with a dagesh, not followed by a vowel character\n * TRANSLITERATION: \"Y\"\n * }]\n * });\n *\n * m\u01DD\u1E25iYy\u0101\u02BE\u0113l\n * ```\n *\n * @example\n * Using a callback\n * ```js\n * transliterate(\"\u05E0\u05B8\u05E2\u05B3\u05DE\u05B4\u05D9\u0599\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\\u{05C7}/u,\n * TRANSLITERATION: (syllable) => {\n * // If the syllable contains a qamets qatan character (U+05C7), check the text of the next syllable\n * const next = syllable?.next?.value?.text;\n *\n * // If the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n * if (next && next.includes(\"\\u05B3\")) {\n * return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n * }\n * return syllable.text;\n * }\n * }]\n * });\n *\n * // n\u0101\u02BF\u014Fm\u00EE\n * ```\n */\n TRANSLITERATION: string | SyllableCallback;\n}\n\n/**\n * @param cluster the `Cluster` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type ClusterCallback = (cluster: Cluster, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface ClusterFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature.\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"cluster\";\n /**\n * A string or callback to customize the output\n *\n * @example\n * Using a string\n * ```js\n * transliterate(\"\u05D4\u05B7\u05D6\u05BC\u05B9\u05D0\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"cluster\",\n * HEBREW: \"\u05D6\u05BC\",\n * TRANSLITERATION: \"tz\"\n * }]\n * });\n *\n * // hatz\u014D\u02BEt\n * ```\n *\n * @example\n * Using a callback\n * ```js\n * transliterate(\"\u05D5\u05B7\u05EA\u05BC\u05B5\u05A8\u05E9\u05C1\u05B6\u05D1\", {\n * TAV_DAGESH: \"t\u02B0\",,\n * ADDITIONAL_FEATURES: [{\n * FEATURE: 'cluster',\n * HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n * TRANSLITERATION: (cluster, _, schema) => {\n * // if there is a dagesh, but it is the beginning of the word\n * // we can return the text, as the character w/ the dagesh will not be doubled\n * if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n * return cluster.text;\n * }\n *\n * // if there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n * // if it is a dagesh lene, then like the beginning of the word,\n * // the character w/ the dagesh will not be doubled\n * const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n * if (!prevCoda?.includes(\"\u05EA\",)) {\n * return cluster.text;\n * }\n *\n * // because the *_DAGESH value is a digraph, we need to replace the first character\n * // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n * const noAspiration = schema['TAV_DAGESH']?.replace(\"\u02B0\",, '') ?? '';\n * return cluster.text.replace(\"\u05EA\u05BC\",,`${noAspiration + schema['TAV_DAGESH']}`);\n * },\n * }]\n * });\n *\n * // watt\u02B0\u0113\u0161eb\n * ```\n */\n TRANSLITERATION: string | ClusterCallback;\n}\n\ntype SchemaVowels = Record<keyof NameToCharMap, string>;\n\n/**\n * @categoryDescription Consonants\n * Hebrew characters being used as consonants\n *\n * @categoryDescription Vowels\n * Hebrew characters being used as vowels, including the vocal sheva and ligatures\n *\n * @categoryDescription Taamim\n * Hebrew characters that that are used as taamim (i.e. accents)\n *\n * @categoryDescription Marks\n * Hebrew characters that are not consonants, vowels, or taamim, serving some other purpose, such as the dagesh or the paseq\n *\n * @categoryDescription Orthographic Features\n * Multiple Hebrew characters that form a semantic group, like the 3MS Suffix or a consonant with a dagesh\n *\n * @categoryDescription Syllabification\n * Options from havarotjs for syllabifying words\n */\n\n/**\n * Class for defining a schema for transliteration.\n *\n * @remarks\n * Examples are truncated for brevity.\n */\nexport class Schema implements SylOpts, SchemaVowels {\n /**\n * HEBREW POINT SHEVA (U+05B0) \u05B0\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * VOCAL_SHEVA: \"\u01DD\",\n * });\n * transliterate(\"\u05E1\u05B0\u05DC\u05B4\u05A3\u05E7\", schema);\n * // s\u01DDliq\n * ```\n */\n VOCAL_SHEVA: string;\n /**\n * HEBREW POINT HATAF SEGOL (U+05B1) \u05B1\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_SEGOL: \"\u0115\",\n * });\n * transliterate(\"\u05D0\u05B1\u05DC\u05B9\u05D4\u05B4\u0591\u05D9\u05DD\", schema);\n * // \u02BE\u0115l\u014Dh\u00EEm\n * ```\n */\n HATAF_SEGOL: string;\n /**\n * HEBREW POINT HATAF PATAH (U+05B2) \u05B2\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_PATAH: \"\u0103\",\n * });\n * transliterate(\"\u05E0\u05B7\u05BD\u05E2\u05B2\u05E9\u05C2\u05B6\u05A5\u05D4\", schema);\n * // na\u02BF\u0103\u015B\u00EA\n * ```\n */\n HATAF_PATAH: string;\n /**\n * HEBREW POINT HATAF QAMATS (U+05B3) \u05B3\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_QAMATS: \"\u014F\",\n * });\n * transliterate(\"\u05D0\u05B3\u05E8\u05B8\u05E0\u05B4\u05D9\u05DD\", schema);\n * // \u02BE\u014Fr\u0101n\u00EEm\n * ```\n */\n HATAF_QAMATS: string;\n /**\n * HEBREW POINT HIRIQ (U+05B4) \u05B4\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HIRIQ: \"i\",\n * });\n * transliterate(\"\u05D4\u05B4\u05E0\u05BC\u05B5\u05D4\u05A9\", schema);\n * // hinn\u00EA\n * ```\n */\n HIRIQ: string;\n /**\n * HEBREW POINT TSERE (U+05B5) \u05B5\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE: \"\u0113\",\n * });\n * transliterate(\"\u05D0\u05B5\u05E9\u05C1\", schema);\n * // \u02BE\u0113\u0161\n * ```\n */\n TSERE: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) \u05B6\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL: \"e\",\n * });\n * transliterate(\"\u05D0\u05B6\u05DC\", schema);\n * // \u02BEel\n * ```\n */\n SEGOL: string;\n /**\n * HEBREW POINT PATAH (U+05B7) \u05B7\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PATAH: \"a\",\n * });\n * transliterate(\"\u05E0\u05B7\u0597\u05E2\u05B7\u05E8\", schema);\n * // na\u02BFar\n * ```\n */\n PATAH: string;\n /**\n * HEBREW POINT QAMATS (U+05B8) \u05B8\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS: \"\u0101\",\n * });\n * transliterate(\"\u05D3\u05B8\u05D1\u05B8\u05E8\u0599\", schema);\n * // d\u0101b\u0101r\n * ```\n */\n QAMATS: string;\n /**\n * HEBREW POINT HOLAM (U+05B9) \u05B9\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM: \"\u014D\",\n * });\n * transliterate(\"\u05DC\u05B9\u05D0\", schema);\n * // l\u014D\u02BE\n * ```\n */\n HOLAM: string;\n /**\n * HEBREW POINT HOLAM HASER FOR VAV (U+05BA) \u05B9\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM_HASER: \"\u014D\",\n * });\n * transliterate(\"\u05E2\u05B8\u05D5\u05BA\u05DF\u0599\", schema);\n * // \u02BF\u0101w\u014Dn\n * ```\n *\n * @remarks\n * See {@link holemHaser} for more about this character\n */\n HOLAM_HASER: string;\n /**\n * HEBREW POINT QUBUTS (U+05BB) \u05BB\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QUBUTS: \"u\",\n * });\n * transliterate(\"\u05E7\u05BB\u05A3\u05DD\", schema);\n * // q\u016Bm\n * ```\n */\n QUBUTS: string;\n /**\n * HEBREW POINT DAGESH OR MAPIQ (U+05BC) \u05BC\u25CC\n *\n * @category Marks\n *\n * @example\n * A blank string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH: \"\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B5\u0591\u05DF\", schema);\n * // k\u0113n\n * ```\n *\n * @example\n * A character\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH: \".\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B5\u0591\u05DF\", schema);\n * // k.\u0113n\n * ```\n *\n * @remarks\n * Typically, this should be a blank string.\n */\n DAGESH: string;\n /**\n * HEBREW POINT DAGESH OR MAPIQ (U+05BC) \u05BC\u25CC\n *\n * A string or boolean, and if set to `true`, the consonant with the dagesh is repeated.\n *\n * @category Marks\n * @category Orthographic Features\n *\n * @example\n * As a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH_CHAZAQ: \"\\u0301\",\n * });\n * transliterate(\"\u05E9\u05C1\u05B7\u05D1\u05BC\u05B8\u05EA\", schema);\n * // \u0161ab\u0301\u0101t\n * ```\n *\n * @example\n * As a boolean\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH_CHAZAQ: true,\n * });\n * transliterate(\"\u05E9\u05C1\u05B7\u05D1\u05BC\u05B8\u05EA\", schema);\n * // \u0161abb\u0101t\n * ```\n */\n DAGESH_CHAZAQ: boolean | string;\n /**\n * HEBREW PUNCTUATION MAQAF (U+05BE) \u05BE\u25CC\n *\n * @category Marks\n * @category Taamim\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * { MAQAF: \"-\" }\n * });\n * transliterate(\"\u05D0\u05B7\u05DC\u05BE\", schema);\n * // \u02BEal-\n * ```\n */\n MAQAF: string;\n /**\n * HEBREW PUNCTUATION PASEQ (U+05C0) \u05C0 \u25CC\n *\n * @category Marks\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PASEQ: \"\",\n })\n * transliterate(\"\u05DB\u05BC\u05B0\u05E9\u05C1\u05B6\u05A3\u05D1\u05B6\u05EA \u05C0 \u05D4\u05B7\u05DE\u05BC\u05B6\u05A3\u05DC\u05B6\u05DA\u05B0\", schema);\n * // k\u01DD\u0161ebet hammelek\n * ```\n *\n * @remarks\n * If a blank string, two spaces will occur between words; see example.\n */\n PASEQ: string;\n /**\n * HEBREW PUNCTUATION SOF PASUQ (U+05C3) \u05C3\u25CC\n *\n * @category Marks\n * @category Taamim\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SOF_PASUQ: \".\",\n * });\n * transliterate(\"\u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\u05C3\", schema);\n * // h\u0101\u02BE\u0101re\u1E63.\n * ```\n */\n SOF_PASUQ: string;\n /**\n * HEBREW POINT QAMATS QATAN (U+05C7) \u05C7\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS QATAN: \"o\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u05DC\u05BE\u05D4\u05B8\u05E2\u05B8\u0596\u05DD\", schema);\n * // kol-h\u0101\u02BF\u0101m\n * ```\n *\n * @remarks\n * See {@link qametsQatan} for details about this character.\n */\n QAMATS_QATAN: string;\n /**\n * HEBREW POINT PATAH (U+05B7) \u25CC\u05B7 as a furtive patah\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FURTIVE_PATAH: \"a\",\n * });\n * transliterate(\"\u05E0\u05B9\u0596\u05D7\u05B7\", schema);\n * // n\u014Da\u1E25\n * ```\n */\n FURTIVE_PATAH: string;\n /**\n * HEBREW POINT HIRIQ (U+05B4) and YOD (U+05D9) \u05D9\u25CC\u05B4\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HIRIQ_YOD: \"\u00EE\",\n * });\n * transliterate(\"\u05E2\u05B4\u0594\u05D9\u05E8\", schema);\n * // \u02BF\u00EEr\n * ```\n */\n HIRIQ_YOD: string;\n /**\n * HEBREW POINT TSERE (U+05B5) and YOD (U+05D9) \u05D9\u25CC\u05B5\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE_YOD: \"\u00EA\",\n * });\n * transliterate(\"\u05D0\u05B5\u05A4\u05D9\u05DF\", schema);\n * // \u02BE\u00EAn\n * ```\n */\n TSERE_YOD: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) and YOD (U+05D9) \u05D9\u25CC\u05B6\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL_YOD: \"\u00EA\",\n * });\n * transliterate(\"\u05D0\u05B1\u05DC\u05B9\u05D4\u05B6\u0591\u05D9\u05DA\u05B8\", schema);\n * // \u02BE\u0115l\u014Dh\u00EAk\u0101\n * ```\n */\n SEGOL_YOD: string;\n /**\n * HEBREW LETTER VAV (U+05D5) and DAGESH (U+05BC) \u05D5\u05BC\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SHUREQ: \"\u00FB\",\n * });\n * transliterate(\"\u05E7\u05D5\u05BC\u05DD\", schema);\n * // q\u00FBm\n * ```\n */\n SHUREQ: string;\n /**\n * HEBREW LETTER HOLAM (U+05B9) and VAV (U+05D5) \u05B9\u05D5\u25CC\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM_VAV: \"\u00F4\",\n * });\n * transliterate(\"\u05E1\u05A3\u05D5\u05B9\u05D0\", schema);\n * // s\u00F4\u02BE\n * ```\n */\n HOLAM_VAV: string;\n /**\n * HEBREW POINT QAMATS (U+05B8) and HE (U+05D4) \u05D4\u25CC\u05B8\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS_HE: \"\u00E2\",\n * });\n * transliterate(\"\u05E2\u05B5\u05E6\u05B8\u0596\u05D4\", schema);\n * // \u02BF\u0113\u1E63\u00E2\n * ```\n */\n QAMATS_HE: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) and HE (U+05D4) \u05D4\u25CC\u05B6\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL_HE: \"\u00EA\",\n * });\n * transliterate(\"\u05D9\u05B4\u05E7\u05B0\u05E8\u05B6\u05A5\u05D4\", schema);\n * // yiqr\u00EA\n * ```\n */\n SEGOL_HE: string;\n /**\n * HEBREW POINT TSERE (U+05B5) and HE (U+05D4) \u05D4\u25CC\u05B5\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE_HE: \"\u00EA\",\n * });\n * transliterate(\"\u05D4\u05B8\u05D0\u05B7\u05E8\u05B0\u05D9\u05B5\u0594\u05D4\", schema);\n * // h\u0101\u02BEary\u00EA\n * ```\n */\n TSERE_HE: string;\n /**\n * HEBREW LETTER QAMATS (U+05B8) and YOD (U+05D9) and VAV (U+05D5) \u05D9\u05D5\u25CC\u05B8\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * MS_SUFX: \u201D\u0101yw\u201D,\n * });\n * transliterate(\"\u05D9\u05B8\u05D3\u05B8\u059B\u05D9\u05D5\", schema);\n * // y\u0101d\u0101yw\n * ```\n */\n MS_SUFX: string;\n /**\n * HEBREW LETTER ALEF (U+05D0) \u05D0\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ALEF: \"\u02BE\",\n * });\n * transliterate(\"\u05D0\u05B8\u05D1\", schema);\n * // \u02BE\u0101b\n * ```\n */\n ALEF: string;\n /**\n * HEBREW LETTER BET (U+05D1) \u05D1\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u01DDb\u00EAt\n * ```\n */\n BET: string;\n /**\n * HEBREW LETTER BET (U+05D1) and DAGESH (U+05BC) \u05BC\u05D1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `BET` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u01DDb\u00EAt\n *```\n *\n * @example\n * With `BET` and `BET_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"v\",\n * BET_DAGESH: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u01DDv\u00EAt\n * ```\n *\n * @remarks\n * The letter bet with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n BET_DAGESH?: string;\n /**\n * HEBREW LETTER GIMEL (U+05D2) \u05D2\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"g\",\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\u05BC\", schema);\n * // gag\n * ```\n */\n GIMEL: string;\n /**\n * HEBREW LETTER GIMEL (U+05D2) and DAGESH (U+05BC) \u05D2\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `GIMEL` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"g\"\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\", schema);\n * // gag\n * ```\n *\n * @example\n * With `GIMEL` and `GIMEL_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"gh\",\n * GIMEL_DAGESH: \"g\",\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\", schema);\n * // gagh\n * ```\n *\n * @remarks\n * The letter gimel with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n GIMEL_DAGESH?: string;\n /**\n * HEBREW LETTER DALET (U+05D3) \u05D3\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Dd\n * ```\n */\n DALET: string;\n /**\n * HEBREW LETTER DALET (U+05D3) and DAGESH (U+05BC) \u05D3\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `DALET` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Dd\n * ```\n *\n * @example\n * With `DALET` and `DALET_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"dh\",\n * DALET_DAGESH: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Ddh\n * ```\n *\n * @remarks\n * The letter dalet with a dagesh kal.\n * Ue when need to distinguish between spirantized forms\n */\n DALET_DAGESH?: string;\n /**\n * HEBREW LETTER HE (U+05D4) \u05D4\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HE: \"h\",\n * });\n * transliterate(\"\u05D4\u05B5\u0597\u05DD\", schema);\n * // h\u0113m\n * ```\n */\n HE: string;\n /**\n * HEBREW LETTER VAV (U+05D5) \u05D5\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * VAV: \"w\",\n * });\n * transliterate(\"\u05D5\u05B8\u05D5\u05B4\u0596\u05D9\u05DD\", schema);\n * // w\u0101w\u00EEm\n * ```\n */\n VAV: string;\n /**\n * HEBREW LETTER ZAYIN (U+05D6) \u05D6\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ZAYIN: \"z\",\n * });\n * transliterate(\"\u05D6\u05B5\u05A3\u05D3\", schema);\n * // z\u0113d\n * ```\n */\n ZAYIN: string;\n /**\n * HEBREW LETTER HET (U+05D7) \u05D7\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HET: \"\u1E25\"\n * });\n * transliterate(\"\u05D7\u05B7\u05A3\u05D2\", schema);\n * // \u1E25ag\n * ```\n */\n HET: string;\n /**\n * HEBREW LETTER TET (U+05D8) \u05D8\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TET: \"\u1E6D\",\n * });\n * transliterate(\"\u05D8\u05B4\u05BD\u05D9\u05D8\", schema);\n * // \u1E6D\u00EE\u1E6D\n * ```\n */\n TET: string;\n /**\n * HEBREW LETTER YOD (U+05D9) \u05D9\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * YOD: \"y\",\n * });\n * transliterate(\"\u05D9\u05B8\u0597\u05D3\", schema);\n * // y\u0101d\n * ```\n */\n YOD: string;\n /**\n * HEBREW LETTER FINAL KAF (U+05DA) \u05DA\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL KAF: \"k\",\n * });\n * transliterate(\"\u05DC\u05B6\u05DA\u05B0\", schema);\n * // lek\n * ```\n */\n FINAL_KAF: string;\n /**\n * HEBREW LETTER KAF (U+05DB) \u05DB\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101k\u00E2\n * ```\n */\n KAF: string;\n /**\n * HEBREW LETTER KAF (U+05DB) and DAGESH (U+05BC) \u05DB\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `KAF` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101k\u00E2\n * ```\n *\n * @example\n * With `KAF` set and `KAF_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"kh\",\n * KAF_DAGESH: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101kh\u00E2\n * ```\n *\n * @remarks\n * The letter kaf with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n KAF_DAGESH?: string;\n /**\n * HEBREW LETTER LAMED (U+05DC) \u05DC\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * LAMED: \"l\",\n * });\n * transliterate(\"\u05E2\u05B7\u05DC\", schema);\n * // \u02BFal\n * ```\n */\n LAMED: string;\n /**\n * HEBREW LETTER FINAL MEM (U+05DD) \u05DD\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL MEM: \"m\",\n * });\n * transliterate(\"\u05DE\u05B7\u0596\u05D9\u05B4\u05DD\", schema);\n * // mayim\n * ```\n */\n FINAL_MEM: string;\n /**\n * HEBREW LETTER MEM (U+05DE) \u05DE\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * MEM: \"m\",\n * });\n * transliterate(\"\u05DE\u05B7\u0596\u05D9\u05B4\u05DD\", schema);\n * // mayim\n * ```\n */\n MEM: string;\n /**\n * HEBREW LETTER FINAL NUN (U+05DF) \u05DF\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL NUN: \"n\",\n * });\n * transliterate(\"\u05E0\u0594\u05D5\u05BC\u05DF\", schema);\n * // n\u00FBn\n * ```\n */\n FINAL_NUN: string;\n /**\n * HEBREW LETTER NUN (U+05E0) \u05E0\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * NUN: \"n\",\n * });\n * transliterate(\"\u05E0\u0594\u05D5\u05BC\u05DF\", schema);\n * // n\u00FBn\n * ```\n */\n NUN: string;\n /**\n * HEBREW LETTER SAMEKH (U+05E1) \u05E1\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SAMEKH: \"s\",\n * });\n * transliterate(\"\u05E1\u05A5\u05D5\u05BC\u05E1\", schema);\n * // s\u00FBs\n * ```\n */\n SAMEKH: string;\n /**\n * HEBREW LETTER AYIN (U+05E2) \u05E2\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * AYIN: \"\u02BF\",\n * });\n * transliterate(\"\u05E2\u05B8\u0591\u05D9\u05B4\u05DF\", schema);\n * // \u02BF\u0101yin\n * ```\n */\n AYIN: string;\n /**\n * HEBREW LETTER FINAL PE (U+05E3) \u05E3\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL PE: \"p\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B7\u05A3\u05E3\", schema);\n * // kap\n * ```\n */\n FINAL_PE: string;\n /**\n * HEBREW LETTER PE (U+05E4) \u05E4\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25op\u0161\u00EE\n * ```\n */\n PE: string;\n /**\n * HEBREW LETTER PE (U+05E4) and DAGESH (U+05BC) \u05E4\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `PE` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE_DAGESH: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25op\u0161\u00EE\n * ```\n *\n * @example\n * With `PE` and `PE_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE: \"f\",\n * PE_DAGESH: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25of\u0161\u00EE\n * ```\n *\n * @remarks\n * The letter pe with a dagesh kal\n * Use when need to distinguish between spirantized forms\n */\n PE_DAGESH?: string;\n /**\n * HEBREW LETTER FINAL TSADI (U+05E5) \u05E5\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL TSADI: \"\u1E63\",\n * });\n * transliterate(\"\u05E6\u05B8\u059A\u05E5\", schema);\n * // \u1E63\u0101\u1E63\n * ```\n */\n FINAL_TSADI: string;\n /**\n * HEBREW LETTER TSADI (U+05E6) \u05E6\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSADI: \"\u1E63\",\n * });\n * transliterate(\"\u05E6\u05B8\u059A\u05E5\", schema);\n * // \u1E63\u0101\u1E63\n * ```\n */\n TSADI: string;\n /**\n * HEBREW LETTER QOF (U+05E7) \u05E7\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QOF: \"q\",\n * });\n * transliterate(\"\u05E8\u05B7\u05A5\u05E7\", schema);\n * // raq\n * ```\n */\n QOF: string;\n /**\n * HEBREW LETTER RESH (U+05E8) \u05E8\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * RESH: \"r\",\n * });\n * transliterate(\"\u05E8\u05B7\u05A5\u05E7\", schema);\n * // raq\n * ```\n */\n RESH: string;\n /**\n * HEBREW LETTER SHIN (U+05E9) and SHIN DOT (U+05C1) \u05E9\u05C1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SHIN: \"\u0161\",\n * });\n * transliterate(\"\u05E9\u05C1\u05B5\u0596\u05DF\", schema);\n * // \u0161\u0113n\n * ```\n */\n SHIN: string;\n /**\n * HEBREW LETTER SHIN (U+05E9) and SIN DOT (U+05C2) \u05E9\u05C1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SIN: \"\u015B\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B7\u05E9\u05C2\u05B0\u05D3\u05BC\u05B4\u0594\u05D9\u05DD\", schema);\n * // ka\u015Bd\u00EEm\n * ```\n */\n SIN: string;\n /**\n * HEBREW LETTER TAV (U+05EA) \u05EA\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113t\n * ```\n */\n TAV: string;\n /**\n * HEBREW LETTER TAV (U+05EA) and DAGESH (U+05BC) \u05EA\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `TAV` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113t\n * ```\n *\n * @example\n * With `TAV` and `TAV_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"th\",\n * TAV_DAGESH: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113th\n * ```\n *\n * @remarks\n * The letter tav with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n TAV_DAGESH?: string;\n /**\n * Rules for customized output\n *\n * This property is an array of objects with the following properties each:\n * - `FEATURE`: the type of feature that the rule is checking \u2014 \"word\", \"syllable\", or \"cluster\"\n * - `HEBREW`: the Hebrew text that the rule matches, given as a string or Regex\n * - `PASS_THROUGH?`: An optional property; `true` if the rule should pass the characters of the result of the `TRANSLITERATION` callback to the be mapped to the schema\n * - `TRANSLITERATION`: the output of the rule, either a string or a callback whose properties differ based on the `FEATURE`\n *\n * The examples give the best indication of how to use these features, though see the particular types for more details\n *\n * @category Orthographic Features\n *\n * @example\n * `FEATURE` is `\"word\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"word\",\n * HEBREW: \"\u05D4\u05B8\u05D0\u05B8\u05E8\u05B6\u05E5\",\n * TRANSLITERATION: \"The Earth\"\n * }]\n })\n * transliterate(\"\u05D5\u05B0\u05D0\u05B5\u05A5\u05EA \u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\", schema);\n * // w\u01DD\u02BE\u0113t The Earth\n * ```\n *\n * @example\n * `FEATURE` is `\"word\"` and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\",\n * FEATURE: \"word\",\n * TRANSLITERATION: function (_word, _hebrew, schema) {\n * return (\n * schema[\"SHIN\"] +\n * (schema[\"TAV_DAGESH\"] ?? schema[\"TAV\"]) +\n * schema[\"PATAH\"] +\n * schema[\"YOD\"] +\n * schema[\"HIRIQ\"] +\n * schema[\"FINAL_MEM\"]\n * );\n * }\n * }]\n * });\n * transliterate(\"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\", schema);\n * // \u0161tayim\n * ```\n * @example\n * `FEATURE` is `\"syllable\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\u05D9\u05BC(?![\\u{05B4}-\\u{05BB}])/u, // a yod with a dagesh, not followed by a vowel character\n * TRANSLITERATION: \"Y\"\n * }]\n * });\n * transliterate(\"\u05DE\u05B0\u05D7\u05B4\u05D9\u05BC\u05D9\u05B8\u05D0\u05B5\u0597\u05DC\", schema);\n * // m\u01DD\u1E25iYy\u0101\u02BE\u0113l\n * ```\n *\n * @example\n * `FEATURE` is `\"syllable\"` and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\\u{05C7}/u,\n * TRANSLITERATION: (syllable) => {\n * // If the syllable contains a qamets qatan character (U+05C7), check the text of the next syllable\n * const next = syllable?.next?.value?.text;\n *\n * // If the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n * if (next && next.includes(\"\\u05B3\")) {\n * return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n * }\n * return syllable.text;\n * }\n * }]\n * });\n * transliterate(\"\u05E0\u05B8\u05E2\u05B3\u05DE\u05B4\u05D9\u0599\", schema);\n * // n\u0101\u02BF\u014Fm\u00EE\n * ```\n *\n * @example\n * `FEATURE` is `\"cluster\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"cluster\",\n * HEBREW: \"\u05D6\u05BC\",\n * TRANSLITERATION: \"tz\"\n * }]\n * });;\n * transliterate(\"\u05D4\u05B7\u05D6\u05BC\u05B9\u05D0\u05EA\", schema);\n * // hatz\u014D\u02BEt\n * ```\n *\n * @example\n * `FEATURE` is \"cluster\" and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV_DAGESH: \"t\u02B0\",,\n * ADDITIONAL_FEATURES: [{\n * FEATURE: 'cluster',\n * HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n * TRANSLITERATION: (cluster, _, schema) => {\n * // Because the *_DAGESH value is a digraph, we need to replace the first character\n * // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n *\n *\n * // If there is a dagesh, but it is the beginning of the word\n * // we can return the text, as the character w/ the dagesh will not be doubled\n * if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n * return cluster.text;\n * }\n *\n * // If there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n * // If it is a dagesh lene, then like the beginning of the word,\n * // the character w/ the dagesh will not be doubled\n * const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n * if (!prevCoda?.includes(\"\u05EA\",)) {\n * return cluster.text;\n * }\n *\n * // convert \"t\u02B0t\u02B0\" to \"tt\u02B0\"\n * const noAspiration = schema['TAV_DAGESH']?.replace(\"\u02B0\",, '') ?? '';\n * return cluster.text.replace(\"\u05EA\u05BC\",,`${noAspiration + schema['TAV_DAGESH']}`);\n * },\n * }]\n * });\n * transliterate(\"\u05D5\u05B7\u05EA\u05BC\u05B5\u05A8\u05E9\u05C1\u05B6\u05D1\", schema);\n * // watt\u02B0\u0113\u0161eb\n * ```\n *\n */\n ADDITIONAL_FEATURES?: (WordFeature | SyllableFeature | ClusterFeature)[];\n /**\n * The full form of the divine name - \u05D9\u05D4\u05D5\u05D4\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DIVINE_NAME: \"yhwh\",\n * });\n * transliterate(\"\u05D9\u05B0\u05D4\u05B9\u05D5\u05B8\u0597\u05D4\", schema);\n * // yhwh\n * ```\n */\n DIVINE_NAME: string;\n /**\n * The full form of the divine name pointed as 'elohim\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DIVINE_NAME_ELOHIM: \"\u02BE\u0115l\u014Dh\u00EEm\",\n * });\n * transliterate(\"\u05D9\u05B1\u05D4\u05B9\u05D5\u05B4\u05D4\", schema);\n * // \u02BE\u0115l\u014Dh\u00EEm\n * ```\n *\n * @remarks\n * Matches on the forms:\n * - \u05D9\u05B1\u05D4\u05B9\u05D5\u05B4\u05D4\n * - \u05D9\u05B1\u05D4\u05D5\u05B4\u05D4\n * - \u05D9\u05B0\u05D4\u05B9\u05D5\u05B4\u05D4\n * - \u05D9\u05B0\u05D4\u05D5\u05B4\u05D4\n * If `undefined`, defaults to value of {@link DIVINE_NAME}\n */\n DIVINE_NAME_ELOHIM?: string;\n /**\n * A syllable separator, usually an empty string\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SYLLABLE_SEPARATOR: \"-\",\n * });\n * transliterate('\u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5', schema);\n * // h\u0101-\u02BE\u0101-re\u1E63\n * ```\n */\n SYLLABLE_SEPARATOR?: string;\n /**\n * A mark for indentifying the stressed syllable\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * },\n * });\n * transliterate(\"\u05DE\u05B6\u05A3\u05DC\u05B6\u05DA\u05B0\", schema);\n * // me\u0341lek\n * ```\n *\n * @remarks\n * Taamim are needed in the Hebrew text to correctly identify stress.\n */\n STRESS_MARKER?: {\n /**\n * The location of the mark\n */\n location: \"before-syllable\" | \"after-syllable\" | \"before-vowel\" | \"after-vowel\";\n /**\n * A string to use as the marker\n */\n mark: string;\n /**\n * Whether to exclude the mark on certain syllables\n *\n * @default\n * \"never\"\n *\n * @example\n * `undefined` and `\"never\"` are the same\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4\u0301m \u02BEe\u1E25\u0101\u0301d\n * ```\n *\n * @example\n * Exclude only single syllable words using `\"single\"`\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * exclude: \"single\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4m \u02BEe\u1E25\u0101\u0301d\n * ```\n *\n * @example\n * Exclude when accent is on the final syllable, implicitly excluding single syllable words using `\"final\"`\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * exclude: \"final\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4m \u02BEe\u1E25\u0101d\n * ```\n */\n exclude?: \"never\" | \"final\" | \"single\";\n };\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n allowNoNiqqud: SylOpts[\"allowNoNiqqud\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n article: SylOpts[\"article\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n holemHaser: SylOpts[\"holemHaser\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n *\n */\n ketivQeres?: SylOpts[\"ketivQeres\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n longVowels: SylOpts[\"longVowels\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n qametsQatan: SylOpts[\"qametsQatan\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n shevaAfterMeteg: SylOpts[\"shevaAfterMeteg\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n shevaWithMeteg?: SylOpts[\"shevaWithMeteg\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n sqnmlvy: SylOpts[\"sqnmlvy\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n strict: SylOpts[\"strict\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n wawShureq: SylOpts[\"wawShureq\"];\n /**@category Constructors */\n constructor(schema: Schema) {\n this.VOCAL_SHEVA = schema.VOCAL_SHEVA;\n this.HATAF_SEGOL = schema.HATAF_SEGOL;\n this.HATAF_PATAH = schema.HATAF_PATAH;\n this.HATAF_QAMATS = schema.HATAF_QAMATS;\n this.HIRIQ = schema.HIRIQ;\n this.TSERE = schema.TSERE;\n this.SEGOL = schema.SEGOL;\n this.PATAH = schema.PATAH;\n this.QAMATS = schema.QAMATS;\n this.HOLAM = schema.HOLAM;\n this.HOLAM_HASER = schema.HOLAM_HASER;\n this.QUBUTS = schema.QUBUTS;\n this.DAGESH = schema.DAGESH;\n this.DAGESH_CHAZAQ = schema.DAGESH_CHAZAQ;\n this.MAQAF = schema.MAQAF;\n this.PASEQ = schema.PASEQ;\n this.SOF_PASUQ = schema.SOF_PASUQ;\n this.QAMATS_QATAN = schema.QAMATS_QATAN;\n this.FURTIVE_PATAH = schema.FURTIVE_PATAH;\n this.HIRIQ_YOD = schema.HIRIQ_YOD;\n this.TSERE_YOD = schema.TSERE_YOD;\n this.SEGOL_YOD = schema.SEGOL_YOD;\n this.SHUREQ = schema.SHUREQ;\n this.HOLAM_VAV = schema.HOLAM_VAV;\n this.QAMATS_HE = schema.QAMATS_HE;\n this.SEGOL_HE = schema.SEGOL_HE;\n this.TSERE_HE = schema.TSERE_HE;\n this.MS_SUFX = schema.MS_SUFX;\n this.ALEF = schema.ALEF;\n this.BET_DAGESH = schema.BET_DAGESH;\n this.BET = schema.BET;\n this.GIMEL = schema.GIMEL;\n this.GIMEL_DAGESH = schema.GIMEL_DAGESH;\n this.DALET = schema.DALET;\n this.DALET_DAGESH = schema.DALET_DAGESH;\n this.HE = schema.HE;\n this.VAV = schema.VAV;\n this.ZAYIN = schema.ZAYIN;\n this.HET = schema.HET;\n this.TET = schema.TET;\n this.YOD = schema.YOD;\n this.FINAL_KAF = schema.FINAL_KAF;\n this.KAF = schema.KAF;\n this.KAF_DAGESH = schema.KAF_DAGESH;\n this.LAMED = schema.LAMED;\n this.FINAL_MEM = schema.FINAL_MEM;\n this.MEM = schema.MEM;\n this.FINAL_NUN = schema.FINAL_NUN;\n this.NUN = schema.NUN;\n this.SAMEKH = schema.SAMEKH;\n this.AYIN = schema.AYIN;\n this.FINAL_PE = schema.FINAL_PE;\n this.PE = schema.PE;\n this.PE_DAGESH = schema.PE_DAGESH;\n this.FINAL_TSADI = schema.FINAL_TSADI;\n this.TSADI = schema.TSADI;\n this.QOF = schema.QOF;\n this.RESH = schema.RESH;\n this.SHIN = schema.SHIN;\n this.SIN = schema.SIN;\n this.TAV = schema.TAV;\n this.TAV_DAGESH = schema.TAV_DAGESH;\n this.DIVINE_NAME = schema.DIVINE_NAME;\n this.DIVINE_NAME_ELOHIM = schema.DIVINE_NAME_ELOHIM;\n this.SYLLABLE_SEPARATOR = schema.SYLLABLE_SEPARATOR;\n this.ADDITIONAL_FEATURES = schema.ADDITIONAL_FEATURES;\n this.STRESS_MARKER = schema.STRESS_MARKER;\n this.longVowels = schema.longVowels;\n this.qametsQatan = schema.qametsQatan;\n this.sqnmlvy = schema.sqnmlvy;\n this.shevaAfterMeteg = schema.shevaAfterMeteg;\n this.shevaWithMeteg = schema.shevaWithMeteg;\n this.wawShureq = schema.wawShureq;\n this.article = schema.article;\n this.allowNoNiqqud = schema.allowNoNiqqud;\n this.strict = schema.strict;\n this.holemHaser = schema.holemHaser;\n this.ketivQeres = schema.ketivQeres;\n }\n}\n\n/**\n * The default schema according to SBL's academic style guide.\n *\n * Whereas a new {@link Schema} must have all required properties when constructed,\n * this schema is meant to be used as a default so particular properties can be overidden (see example).\n *\n * If the property is not set, the default value will be used. Each property is documented below with their default values.\n *\n * Click into each property's \"Overrides\" for more information about that property.\n *\n * @param schema a {@link Schema | Partial\\<Schema\\>}\n *\n * @example\n * Extend the default schema\n * ```js\n * transliterate(\"\u05E9\u05C1\u05B8\u05DC\u05D5\u05B9\u05DD\", { SHIN: \"sh\" });\n * // sh\u0101l\u00F4m\n * ```\n *\n * @privateRemarks\n * In order for documentation output to be the way I wanted, the properties are all redefined with their type from the Schema.\n * This is not necessary for the implementation, just the docs.\n */\nexport class SBL extends Schema {\n /** @category Vowels @default \"\u01DD\" */\n declare VOCAL_SHEVA: Schema[\"VOCAL_SHEVA\"];\n /** @category Vowels @default \"\u0115\" */\n declare HATAF_SEGOL: Schema[\"HATAF_SEGOL\"];\n /** @category Vowels @default \"\u0103\" */\n declare HATAF_PATAH: Schema[\"HATAF_PATAH\"];\n /** @category Vowels @default \"\u014F\" */\n declare HATAF_QAMATS: Schema[\"HATAF_QAMATS\"];\n /** @category Vowels @default \"i\" */\n declare HIRIQ: Schema[\"HIRIQ\"];\n /** @category Vowels @default \"\u0113\" */\n declare TSERE: Schema[\"TSERE\"];\n /** @category Vowels @default \"e\" */\n declare SEGOL: Schema[\"SEGOL\"];\n /** @category Vowels @default \"a\" */\n declare PATAH: Schema[\"PATAH\"];\n /** @category Vowels @default \"\u0101\" */\n declare QAMATS: Schema[\"QAMATS\"];\n /** @category Vowels @default \"\u014D\" */\n declare HOLAM: Schema[\"HOLAM\"];\n /** @category Vowels @default \"\u014D\" */\n declare HOLAM_HASER: Schema[\"HOLAM_HASER\"];\n /** @category Vowels @default \"\u016B\" */\n declare QUBUTS: Schema[\"QUBUTS\"];\n /** @category Marks @default \"\" */\n declare DAGESH: Schema[\"DAGESH\"];\n /** @category Marks @category Orthographic Features @default true */\n declare DAGESH_CHAZAQ: Schema[\"DAGESH_CHAZAQ\"];\n /** @category Marks @category Taamim @default \"-\" */\n declare MAQAF: Schema[\"MAQAF\"];\n /** @category Marks @default \"\" */\n declare PASEQ: Schema[\"PASEQ\"];\n /** @category Marks @category Taamim @default \"\" */\n declare SOF_PASUQ: Schema[\"SOF_PASUQ\"];\n /** @category Vowels @default \"o\" */\n declare QAMATS_QATAN: Schema[\"QAMATS_QATAN\"];\n /** @category Vowels @category Orthographic Features @default \"a\" */\n declare FURTIVE_PATAH: Schema[\"FURTIVE_PATAH\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EE\" */\n declare HIRIQ_YOD: Schema[\"HIRIQ_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare TSERE_YOD: Schema[\"TSERE_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare SEGOL_YOD: Schema[\"SEGOL_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00FB\" */\n declare SHUREQ: Schema[\"SHUREQ\"];\n /** @category Vowels @category Orthographic Features @default \"\u00F4\" */\n declare HOLAM_VAV: Schema[\"HOLAM_VAV\"];\n /** @category Vowels @category Orthographic Features @default \"\u00E2\" */\n declare QAMATS_HE: Schema[\"QAMATS_HE\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare SEGOL_HE: Schema[\"SEGOL_HE\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare TSERE_HE: Schema[\"TSERE_HE\"];\n /** @category Vowel @category Orthographic Features @default \"\u0101yw\" */\n declare MS_SUFX: Schema[\"MS_SUFX\"];\n /** @category Consonants @default \"\u02BE\" */\n declare ALEF: Schema[\"ALEF\"];\n /** @category Consonants @default \"b\" */\n declare BET: Schema[\"BET\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare BET_DAGESH: Schema[\"BET_DAGESH\"];\n /** @category Consonants @default \"g\" */\n declare GIMEL: Schema[\"GIMEL\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare GIMEL_DAGESH: Schema[\"GIMEL_DAGESH\"];\n /** @category Consonants @default \"d\" */\n declare DALET: Schema[\"DALET\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare DALET_DAGESH: Schema[\"DALET_DAGESH\"];\n /** @category Consonants @default \"h\" */\n declare HE: Schema[\"HE\"];\n /** @category Consonants @default \"w\" */\n declare VAV: Schema[\"VAV\"];\n /** @category Consonants @default \"z\" */\n declare ZAYIN: Schema[\"ZAYIN\"];\n /** @category Consonants @default \"\u1E25\" */\n declare HET: Schema[\"HET\"];\n /** @category Consonants @default \"\u1E6D\" */\n declare TET: Schema[\"TET\"];\n /** @category Consonants @default \"y\" */\n declare YOD: Schema[\"YOD\"];\n /** @category Consonants @default \"k\" */\n declare FINAL_KAF: Schema[\"FINAL_KAF\"];\n /** @category Consonants @default \"k\" */\n declare KAF: Schema[\"KAF\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare KAF_DAGESH: Schema[\"KAF_DAGESH\"];\n /** @category Consonants @default \"l\" */\n declare LAMED: Schema[\"LAMED\"];\n /** @category Consonants @default \"m\" */\n declare FINAL_MEM: Schema[\"FINAL_MEM\"];\n /** @category Consonants @default \"m\" */\n declare MEM: Schema[\"MEM\"];\n /** @category Consonants @default \"n\" */\n declare FINAL_NUN: Schema[\"FINAL_NUN\"];\n /** @category Consonants @default \"n\" */\n declare NUN: Schema[\"NUN\"];\n /** @category Consonants @default \"s\" */\n declare SAMEKH: Schema[\"SAMEKH\"];\n /** @category Consonants @default \"\u02BF\" */\n declare AYIN: Schema[\"AYIN\"];\n /** @category Consonants @default \"p\" */\n declare FINAL_PE: Schema[\"FINAL_PE\"];\n /** @category Consonants @default \"p\" */\n declare PE: Schema[\"PE\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare PE_DAGESH: Schema[\"PE_DAGESH\"];\n /** @category Consonants @default \"\u1E63\" */\n declare FINAL_TSADI: Schema[\"FINAL_TSADI\"];\n /** @category Consonants @default \"\u1E63\" */\n declare TSADI: Schema[\"TSADI\"];\n /** @category Consonants @default \"q\" */\n declare QOF: Schema[\"QOF\"];\n /** @category Consonants @default \"r\" */\n declare RESH: Schema[\"RESH\"];\n /** @category Consonants @category Orthographic Features @default \"\u0161\" */\n declare SHIN: Schema[\"SHIN\"];\n /** @category Consonants @category Orthographic Features @default \"\u015B\" */\n declare SIN: Schema[\"SIN\"];\n /** @category Consonants @default \"t\" */\n declare TAV: Schema[\"TAV\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare TAV_DAGESH: Schema[\"TAV_DAGESH\"];\n /** @category Orthographic Features @default \"yhwh\" */\n declare DIVINE_NAME: Schema[\"DIVINE_NAME\"];\n /** @category Orthographic Features @default undefined */\n declare DIVINE_NAME_ELOHIM: Schema[\"DIVINE_NAME_ELOHIM\"];\n /** @category Orthographic Features @default undefined */\n declare SYLLABLE_SEPARATOR: Schema[\"SYLLABLE_SEPARATOR\"];\n /** @category Orthographic Features @default undefined */\n declare ADDITIONAL_FEATURES: Schema[\"ADDITIONAL_FEATURES\"];\n /** @category Orthographic Features @default undefined */\n declare STRESS_MARKER: Schema[\"STRESS_MARKER\"];\n /** @category Syllabification @default true */\n declare longVowels: Schema[\"longVowels\"];\n /** @category Syllabification @default true */\n declare qametsQatan: Schema[\"qametsQatan\"];\n /** @category Syllabification @default true */\n declare shevaAfterMeteg: Schema[\"shevaAfterMeteg\"];\n /** @category Syllabification @default false */\n declare shevaWithMeteg: Schema[\"shevaWithMeteg\"];\n /** @category Syllabification @default true */\n declare sqnmlvy: Schema[\"sqnmlvy\"];\n /** @category Syllabification @default true */\n declare wawShureq: Schema[\"wawShureq\"];\n /** @category Syllabification @default true */\n declare article: Schema[\"article\"];\n /** @category Syllabification @default true */\n declare allowNoNiqqud: Schema[\"allowNoNiqqud\"];\n /** @category Syllabification @default false */\n declare strict: Schema[\"strict\"];\n /** @category Syllabification @default \"remove\" */\n declare holemHaser: Schema[\"holemHaser\"];\n /** @category Syllabification @default undefined */\n declare ketivQeres: Schema[\"ketivQeres\"];\n constructor(schema: Partial<Schema>) {\n super({\n VOCAL_SHEVA: schema.VOCAL_SHEVA ?? \"\u01DD\",\n HATAF_SEGOL: schema.HATAF_SEGOL ?? \"\u0115\",\n HATAF_PATAH: schema.HATAF_PATAH ?? \"\u0103\",\n HATAF_QAMATS: schema.HATAF_QAMATS ?? \"\u014F\",\n HIRIQ: schema.HIRIQ ?? \"i\",\n TSERE: schema.TSERE ?? \"\u0113\",\n SEGOL: schema.SEGOL ?? \"e\",\n PATAH: schema.PATAH ?? \"a\",\n QAMATS: schema.QAMATS ?? \"\u0101\",\n HOLAM: schema.HOLAM ?? \"\u014D\",\n HOLAM_HASER: schema.HOLAM_HASER ?? \"\u014D\",\n QUBUTS: schema.QUBUTS ?? \"\u016B\",\n DAGESH: schema.DAGESH ?? \"\",\n DAGESH_CHAZAQ: schema.DAGESH_CHAZAQ ?? true,\n MAQAF: schema.MAQAF ?? \"-\",\n PASEQ: schema.PASEQ ?? \"\",\n SOF_PASUQ: schema.SOF_PASUQ ?? \"\",\n QAMATS_QATAN: schema.QAMATS_QATAN ?? \"o\",\n FURTIVE_PATAH: schema.FURTIVE_PATAH ?? \"a\",\n HIRIQ_YOD: schema.HIRIQ_YOD ?? \"\u00EE\",\n TSERE_YOD: schema.TSERE_YOD ?? \"\u00EA\",\n SEGOL_YOD: schema.SEGOL_YOD ?? \"\u00EA\",\n SHUREQ: schema.SHUREQ ?? \"\u00FB\",\n HOLAM_VAV: schema.HOLAM_VAV ?? \"\u00F4\",\n QAMATS_HE: schema.QAMATS_HE ?? \"\u00E2\",\n SEGOL_HE: schema.SEGOL_HE ?? \"\u00EA\",\n TSERE_HE: schema.TSERE_HE ?? \"\u00EA\",\n MS_SUFX: schema.MS_SUFX ?? \"\u0101yw\",\n ALEF: schema.ALEF ?? \"\u02BE\",\n BET: schema.BET ?? \"b\",\n BET_DAGESH: schema.BET_DAGESH ?? undefined,\n GIMEL: schema.GIMEL ?? \"g\",\n GIMEL_DAGESH: schema.GIMEL_DAGESH ?? undefined,\n DALET: schema.DALET ?? \"d\",\n DALET_DAGESH: schema.DALET_DAGESH ?? undefined,\n HE: schema.HE ?? \"h\",\n VAV: schema.VAV ?? \"w\",\n ZAYIN: schema.ZAYIN ?? \"z\",\n HET: schema.HET ?? \"\u1E25\",\n TET: schema.TET ?? \"\u1E6D\",\n YOD: schema.YOD ?? \"y\",\n FINAL_KAF: schema.FINAL_KAF ?? \"k\",\n KAF: schema.KAF ?? \"k\",\n KAF_DAGESH: schema.KAF_DAGESH ?? undefined,\n LAMED: schema.LAMED ?? \"l\",\n FINAL_MEM: schema.FINAL_MEM ?? \"m\",\n MEM: schema.MEM ?? \"m\",\n FINAL_NUN: schema.FINAL_NUN ?? \"n\",\n NUN: schema.NUN ?? \"n\",\n SAMEKH: schema.SAMEKH ?? \"s\",\n AYIN: schema.AYIN ?? \"\u02BF\",\n FINAL_PE: schema.FINAL_PE ?? \"p\",\n PE: schema.PE ?? \"p\",\n PE_DAGESH: schema.PE_DAGESH ?? undefined,\n FINAL_TSADI: schema.FINAL_TSADI ?? \"\u1E63\",\n TSADI: schema.TSADI ?? \"\u1E63\",\n QOF: schema.QOF ?? \"q\",\n RESH: schema.RESH ?? \"r\",\n SHIN: schema.SHIN ?? \"\u0161\",\n SIN: schema.SIN ?? \"\u015B\",\n TAV: schema.TAV ?? \"t\",\n TAV_DAGESH: schema.TAV_DAGESH ?? undefined,\n DIVINE_NAME: schema.DIVINE_NAME ?? \"yhwh\",\n DIVINE_NAME_ELOHIM: schema.DIVINE_NAME_ELOHIM ?? undefined,\n SYLLABLE_SEPARATOR: schema.SYLLABLE_SEPARATOR ?? undefined,\n ADDITIONAL_FEATURES: schema.ADDITIONAL_FEATURES ?? undefined,\n STRESS_MARKER: schema.STRESS_MARKER ?? undefined,\n longVowels: schema.longVowels ?? true,\n qametsQatan: schema.qametsQatan ?? true,\n shevaAfterMeteg: schema.shevaAfterMeteg ?? true,\n shevaWithMeteg: schema.shevaWithMeteg ?? false,\n sqnmlvy: schema.sqnmlvy ?? true,\n wawShureq: schema.wawShureq ?? true,\n article: schema.article ?? true,\n allowNoNiqqud: schema.allowNoNiqqud ?? true,\n strict: schema.strict ?? false,\n holemHaser: schema.holemHaser || \"remove\",\n ketivQeres: schema.ketivQeres || undefined\n });\n\n this.VOCAL_SHEVA = schema.VOCAL_SHEVA ?? \"\u01DD\";\n this.HATAF_SEGOL = schema.HATAF_SEGOL ?? \"\u0115\";\n this.HATAF_PATAH = schema.HATAF_PATAH ?? \"\u0103\";\n this.HATAF_QAMATS = schema.HATAF_QAMATS ?? \"\u014F\";\n this.HIRIQ = schema.HIRIQ ?? \"i\";\n this.TSERE = schema.TSERE ?? \"\u0113\";\n this.SEGOL = schema.SEGOL ?? \"e\";\n this.PATAH = schema.PATAH ?? \"a\";\n this.QAMATS = schema.QAMATS ?? \"\u0101\";\n this.HOLAM = schema.HOLAM ?? \"\u014D\";\n this.HOLAM_HASER = schema.HOLAM_HASER ?? \"\u014D\";\n this.QUBUTS = schema.QUBUTS ?? \"\u016B\";\n this.DAGESH = schema.DAGESH ?? \"\";\n this.DAGESH_CHAZAQ = schema.DAGESH_CHAZAQ ?? true;\n this.MAQAF = schema.MAQAF ?? \"-\";\n this.PASEQ = schema.PASEQ ?? \"\";\n this.SOF_PASUQ = schema.SOF_PASUQ ?? \"\";\n this.QAMATS_QATAN = schema.QAMATS_QATAN ?? \"o\";\n this.FURTIVE_PATAH = schema.FURTIVE_PATAH ?? \"a\";\n this.HIRIQ_YOD = schema.HIRIQ_YOD ?? \"\u00EE\";\n this.TSERE_YOD = schema.TSERE_YOD ?? \"\u00EA\";\n this.SEGOL_YOD = schema.SEGOL_YOD ?? \"\u00EA\";\n this.SHUREQ = schema.SHUREQ ?? \"\u00FB\";\n this.HOLAM_VAV = schema.HOLAM_VAV ?? \"\u00F4\";\n this.QAMATS_HE = schema.QAMATS_HE ?? \"\u00E2\";\n this.SEGOL_HE = schema.SEGOL_HE ?? \"\u00EA\";\n this.TSERE_HE = schema.TSERE_HE ?? \"\u00EA\";\n this.MS_SUFX = schema.MS_SUFX ?? \"\u0101yw\";\n this.ALEF = schema.ALEF ?? \"\u02BE\";\n this.BET = schema.BET ?? \"b\";\n this.BET_DAGESH = schema.BET_DAGESH ?? undefined;\n this.GIMEL = schema.GIMEL ?? \"g\";\n this.GIMEL_DAGESH = schema.GIMEL_DAGESH ?? undefined;\n this.DALET = schema.DALET ?? \"d\";\n this.DALET_DAGESH = schema.DALET_DAGESH ?? undefined;\n this.HE = schema.HE ?? \"h\";\n this.VAV = schema.VAV ?? \"w\";\n this.ZAYIN = schema.ZAYIN ?? \"z\";\n this.HET = schema.HET ?? \"\u1E25\";\n this.TET = schema.TET ?? \"\u1E6D\";\n this.YOD = schema.YOD ?? \"y\";\n this.FINAL_KAF = schema.FINAL_KAF ?? \"k\";\n this.KAF = schema.KAF ?? \"k\";\n this.KAF_DAGESH = schema.KAF_DAGESH ?? undefined;\n this.LAMED = schema.LAMED ?? \"l\";\n this.FINAL_MEM = schema.FINAL_MEM ?? \"m\";\n this.MEM = schema.MEM ?? \"m\";\n this.FINAL_NUN = schema.FINAL_NUN ?? \"n\";\n this.NUN = schema.NUN ?? \"n\";\n this.SAMEKH = schema.SAMEKH ?? \"s\";\n this.AYIN = schema.AYIN ?? \"\u02BF\";\n this.FINAL_PE = schema.FINAL_PE ?? \"p\";\n this.PE = schema.PE ?? \"p\";\n this.PE_DAGESH = schema.PE_DAGESH ?? undefined;\n this.FINAL_TSADI = schema.FINAL_TSADI ?? \"\u1E63\";\n this.TSADI = schema.TSADI ?? \"\u1E63\";\n this.QOF = schema.QOF ?? \"q\";\n this.RESH = schema.RESH ?? \"r\";\n this.SHIN = schema.SHIN ?? \"\u0161\";\n this.SIN = schema.SIN ?? \"\u015B\";\n this.TAV = schema.TAV ?? \"t\";\n this.TAV_DAGESH = schema.TAV_DAGESH ?? undefined;\n this.DIVINE_NAME = schema.DIVINE_NAME ?? \"yhwh\";\n this.DIVINE_NAME_ELOHIM = schema.DIVINE_NAME_ELOHIM ?? undefined;\n this.SYLLABLE_SEPARATOR = schema.SYLLABLE_SEPARATOR ?? undefined;\n this.ADDITIONAL_FEATURES = schema.ADDITIONAL_FEATURES ?? undefined;\n this.STRESS_MARKER = schema.STRESS_MARKER ?? undefined;\n this.longVowels = schema.longVowels ?? true;\n this.qametsQatan = schema.qametsQatan ?? true;\n this.shevaAfterMeteg = schema.shevaAfterMeteg ?? true;\n this.shevaWithMeteg = schema.shevaWithMeteg ?? false;\n this.sqnmlvy = schema.sqnmlvy ?? true;\n this.wawShureq = schema.wawShureq ?? true;\n this.article = schema.article ?? true;\n this.allowNoNiqqud = schema.allowNoNiqqud ?? true;\n this.strict = schema.strict ?? false;\n this.holemHaser = schema.holemHaser ?? \"remove\";\n this.ketivQeres = schema.ketivQeres ?? undefined;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
4
+ "sourcesContent": ["import type { Cluster } from \"havarotjs/cluster\";\nimport type { Syllable } from \"havarotjs/syllable\";\nimport type { SylOpts } from \"havarotjs/text\";\nimport type { VowelNameToCharMap } from \"havarotjs/utils/charMap\";\nimport type { Word } from \"havarotjs/word\";\n\n// export for documentation\nexport type { SylOpts };\n\nexport interface HebrewFeature {\n /**\n * The Hebrew text \u2014 use consonants and vowels; do not use taamim\n *\n * @remarks\n * The text is parsed as a Regex so special characters like `?` and `|` can be used\n *\n */\n HEBREW: string | RegExp;\n}\n\nexport interface PassThrough {\n /**\n * If `true` passes the characters of the result of the `TRANSLITERATION` callback to the be mapped to the schema.\n * If `TRANSLITERATION` is a string, this does nothing.\n *\n * @default\n * true\n *\n * @example\n * ```js\n * // with PASS_THROUGH true or undefined; the rest of the characters are passed through\n * // to regular mapping on the schema\n * heb.transliterate(\"\u05D1\u05BC\u05B0\u05E8\u05B5\u05D0\u05E9\u05C1\u05B4\u0596\u05D9\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"(?<![\\u{05B1}-\\u{05BB}\\u{05C7}].*)\\u{05B0}\",\n * FEATURE: \"syllable\",\n * PASS_THROUGH: true,\n * TRANSLITERATION: function (syllable, _hebrew, schema) {\n * const next = syllable.next;\n * const nextVowel = next.vowelName === \"SHEVA\" ? \"VOCAL_SHEVA\" : next.vowelName\n *\n * if (next && nextVowel) {\n * const vowel = schema[nextVowel] || \"\";\n * return syllable.text.replacenew RegExp(\"\\u{05B0}\", \"u\"; vowel);\n * }\n *\n * return syllable.text;\n * }\n * }]\n * });\n * ```\n *\n * @example\n * ```js\n * // with PASS_THROUGH false, a custom mapping needs to be implemented,\n * // or Hebrew characters are returned for the rest of the `FEATURE`\n * heb.transliterate(\"\u05D1\u05BC\u05B0\u05E8\u05B5\u05D0\u05E9\u05C1\u05B4\u0596\u05D9\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"(?<![\\u{05B1}-\\u{05BB}\\u{05C7}].*)\\u{05B0}\",\n * FEATURE: \"syllable\",\n * PASS_THROUGH: false,\n * TRANSLITERATION: function (syllable, _hebrew, schema) {\n * const next = syllable.next;\n * const nextVowel = next.vowelName === \"SHEVA\" ? \"VOCAL_SHEVA\" : next.vowelName\n *\n * if (next && nextVowel) {\n * const vowel = schema[nextVowel] || \"\";\n * return syllable.text.replacenew RegExp(\"\\u{05B0}\", \"u\"; vowel);\n * }\n *\n * return syllable.text;\n * }\n * }]\n * });\n * // \u05D1\u05BC\u0113r\u0113\u02BE\u0161\u00EEt\n * ```\n *\n * @remarks\n * This is generally most useful when the callback does not transliterate the entire `FEATURE`\n */\n PASS_THROUGH?: boolean;\n}\n\n/**\n * @param word the `Word` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type WordCallback = (word: Word, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface WordFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature.\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"word\";\n /**\n * a string or callback. The callback takes three par\n *\n * Using a string\n * @example\n *\n * ```js\n * transliterate(\"\u05D5\u05B0\u05D0\u05B5\u05A5\u05EA \u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"word\",\n * HEBREW: \"\u05D4\u05B8\u05D0\u05B8\u05E8\u05B6\u05E5\",\n * TRANSLITERATION: \"The Earth\"\n * }]\n * });\n *\n * // w\u0259\u02BE\u0113t The Earth\n * ```\n *\n * Using a callback\n * @example\n *\n * ```js\n * transliterate(heb, {\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\",\n * FEATURE: \"word\",\n * TRANSLITERATION: function (_word, _hebrew, schema) {\n * return (\n * schema[\"SHIN\"] +\n * (schema[\"TAV_DAGESH\"] ?? schema[\"TAV\"]) +\n * schema[\"PATAH\"] +\n * schema[\"YOD\"] +\n * schema[\"HIRIQ\"] +\n * schema[\"FINAL_MEM\"]\n * );\n * }\n * }]\n * });\n *\n * // \u0161tayim\n * ```\n */\n TRANSLITERATION: string | WordCallback;\n}\n\n/**\n * @param syllable the `Syllable` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type SyllableCallback = (syllable: Syllable, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface SyllableFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature:\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"syllable\";\n /**\n * A string or callback to customize output\n *\n * @example\n * Using a string\n * ```js\n * transliterate(\"\u05DE\u05B0\u05D7\u05B4\u05D9\u05BC\u05D9\u05B8\u05D0\u05B5\u0597\u05DC\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\u05D9\u05BC(?![\\u{05B4}-\\u{05BB}])/u, // a yod with a dagesh, not followed by a vowel character\n * TRANSLITERATION: \"Y\"\n * }]\n * });\n *\n * m\u0259\u1E25iYy\u0101\u02BE\u0113l\n * ```\n *\n * @example\n * Using a callback\n * ```js\n * transliterate(\"\u05E0\u05B8\u05E2\u05B3\u05DE\u05B4\u05D9\u0599\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\\u{05C7}/u,\n * TRANSLITERATION: (syllable) => {\n * // If the syllable contains a qamets qatan character (U+05C7), check the text of the next syllable\n * const next = syllable?.next?.value?.text;\n *\n * // If the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n * if (next && next.includes(\"\\u05B3\")) {\n * return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n * }\n * return syllable.text;\n * }\n * }]\n * });\n *\n * // n\u0101\u02BF\u014Fm\u00EE\n * ```\n */\n TRANSLITERATION: string | SyllableCallback;\n}\n\n/**\n * @param cluster the `Cluster` object that matches the `HEBREW` property\n * @param hebrew the `HEBREW` property\n * @param schema the `Schema` being used\n */\nexport type ClusterCallback = (cluster: Cluster, hebrew: string | RegExp, schema: Schema) => string;\n\nexport interface ClusterFeature extends HebrewFeature, PassThrough {\n /**\n * Additional orthographic feature.\n *\n * - `\"cluster\"` is any combination of a single character and optionally a _dagesh_ and vowel.\n * - `\"syllable\"` is any combination of a multiple characters and a single vowel and optionally a _dagesh_\n * - `\"word\"` covers everything else\n */\n FEATURE: \"cluster\";\n /**\n * A string or callback to customize the output\n *\n * @example\n * Using a string\n * ```js\n * transliterate(\"\u05D4\u05B7\u05D6\u05BC\u05B9\u05D0\u05EA\", {\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"cluster\",\n * HEBREW: \"\u05D6\u05BC\",\n * TRANSLITERATION: \"tz\"\n * }]\n * });\n *\n * // hatz\u014D\u02BEt\n * ```\n *\n * @example\n * Using a callback\n * ```js\n * transliterate(\"\u05D5\u05B7\u05EA\u05BC\u05B5\u05A8\u05E9\u05C1\u05B6\u05D1\", {\n * TAV_DAGESH: \"t\u02B0\",,\n * ADDITIONAL_FEATURES: [{\n * FEATURE: 'cluster',\n * HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n * TRANSLITERATION: (cluster, _, schema) => {\n * // if there is a dagesh, but it is the beginning of the word\n * // we can return the text, as the character w/ the dagesh will not be doubled\n * if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n * return cluster.text;\n * }\n *\n * // if there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n * // if it is a dagesh lene, then like the beginning of the word,\n * // the character w/ the dagesh will not be doubled\n * const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n * if (!prevCoda?.includes(\"\u05EA\",)) {\n * return cluster.text;\n * }\n *\n * // because the *_DAGESH value is a digraph, we need to replace the first character\n * // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n * const noAspiration = schema['TAV_DAGESH']?.replace(\"\u02B0\",, '') ?? '';\n * return cluster.text.replace(\"\u05EA\u05BC\",,`${noAspiration + schema['TAV_DAGESH']}`);\n * },\n * }]\n * });\n *\n * // watt\u02B0\u0113\u0161eb\n * ```\n */\n TRANSLITERATION: string | ClusterCallback;\n}\n\ntype SchemaVowels = Record<keyof VowelNameToCharMap, string>;\n\n/**\n * @categoryDescription Consonants\n * Hebrew characters being used as consonants\n *\n * @categoryDescription Vowels\n * Hebrew characters being used as vowels, including the vocal sheva and ligatures\n *\n * @categoryDescription Taamim\n * Hebrew characters that that are used as taamim (i.e. accents)\n *\n * @categoryDescription Marks\n * Hebrew characters that are not consonants, vowels, or taamim, serving some other purpose, such as the dagesh or the paseq\n *\n * @categoryDescription Orthographic Features\n * Multiple Hebrew characters that form a semantic group, like the 3MS Suffix or a consonant with a dagesh\n *\n * @categoryDescription Syllabification\n * Options from havarotjs for syllabifying words\n */\n\n/**\n * Class for defining a schema for transliteration.\n *\n * @remarks\n * Examples are truncated for brevity.\n */\nexport class Schema implements SylOpts, SchemaVowels {\n /**\n * HEBREW POINT SHEVA (U+05B0) \u05B0\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * VOCAL_SHEVA: \"\u0259\",\n * });\n * transliterate(\"\u05E1\u05B0\u05DC\u05B4\u05A3\u05E7\", schema);\n * // s\u0259liq\n * ```\n */\n VOCAL_SHEVA: string;\n /**\n * HEBREW POINT HATAF SEGOL (U+05B1) \u05B1\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_SEGOL: \"\u0115\",\n * });\n * transliterate(\"\u05D0\u05B1\u05DC\u05B9\u05D4\u05B4\u0591\u05D9\u05DD\", schema);\n * // \u02BE\u0115l\u014Dh\u00EEm\n * ```\n */\n HATAF_SEGOL: string;\n /**\n * HEBREW POINT HATAF PATAH (U+05B2) \u05B2\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_PATAH: \"\u0103\",\n * });\n * transliterate(\"\u05E0\u05B7\u05BD\u05E2\u05B2\u05E9\u05C2\u05B6\u05A5\u05D4\", schema);\n * // na\u02BF\u0103\u015B\u00EA\n * ```\n */\n HATAF_PATAH: string;\n /**\n * HEBREW POINT HATAF QAMATS (U+05B3) \u05B3\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HATAF_QAMATS: \"\u014F\",\n * });\n * transliterate(\"\u05D0\u05B3\u05E8\u05B8\u05E0\u05B4\u05D9\u05DD\", schema);\n * // \u02BE\u014Fr\u0101n\u00EEm\n * ```\n */\n HATAF_QAMATS: string;\n /**\n * HEBREW POINT HIRIQ (U+05B4) \u05B4\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HIRIQ: \"i\",\n * });\n * transliterate(\"\u05D4\u05B4\u05E0\u05BC\u05B5\u05D4\u05A9\", schema);\n * // hinn\u00EA\n * ```\n */\n HIRIQ: string;\n /**\n * HEBREW POINT TSERE (U+05B5) \u05B5\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE: \"\u0113\",\n * });\n * transliterate(\"\u05D0\u05B5\u05E9\u05C1\", schema);\n * // \u02BE\u0113\u0161\n * ```\n */\n TSERE: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) \u05B6\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL: \"e\",\n * });\n * transliterate(\"\u05D0\u05B6\u05DC\", schema);\n * // \u02BEel\n * ```\n */\n SEGOL: string;\n /**\n * HEBREW POINT PATAH (U+05B7) \u05B7\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PATAH: \"a\",\n * });\n * transliterate(\"\u05E0\u05B7\u0597\u05E2\u05B7\u05E8\", schema);\n * // na\u02BFar\n * ```\n */\n PATAH: string;\n /**\n * HEBREW POINT QAMATS (U+05B8) \u05B8\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS: \"\u0101\",\n * });\n * transliterate(\"\u05D3\u05B8\u05D1\u05B8\u05E8\u0599\", schema);\n * // d\u0101b\u0101r\n * ```\n */\n QAMATS: string;\n /**\n * HEBREW POINT HOLAM (U+05B9) \u05B9\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM: \"\u014D\",\n * });\n * transliterate(\"\u05DC\u05B9\u05D0\", schema);\n * // l\u014D\u02BE\n * ```\n */\n HOLAM: string;\n /**\n * HEBREW POINT HOLAM HASER FOR VAV (U+05BA) \u05B9\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM_HASER: \"\u014D\",\n * });\n * transliterate(\"\u05E2\u05B8\u05D5\u05BA\u05DF\u0599\", schema);\n * // \u02BF\u0101w\u014Dn\n * ```\n *\n * @remarks\n * See {@link holemHaser} for more about this character\n */\n HOLAM_HASER: string;\n /**\n * HEBREW POINT QUBUTS (U+05BB) \u05BB\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QUBUTS: \"u\",\n * });\n * transliterate(\"\u05E7\u05BB\u05A3\u05DD\", schema);\n * // q\u016Bm\n * ```\n */\n QUBUTS: string;\n /**\n * HEBREW POINT DAGESH OR MAPIQ (U+05BC) \u05BC\u25CC\n *\n * @category Marks\n *\n * @example\n * A blank string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH: \"\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B5\u0591\u05DF\", schema);\n * // k\u0113n\n * ```\n *\n * @example\n * A character\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH: \".\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B5\u0591\u05DF\", schema);\n * // k.\u0113n\n * ```\n *\n * @remarks\n * Typically, this should be a blank string.\n */\n DAGESH: string;\n /**\n * HEBREW POINT DAGESH OR MAPIQ (U+05BC) \u05BC\u25CC\n *\n * A string or boolean, and if set to `true`, the consonant with the dagesh is repeated.\n *\n * @category Marks\n * @category Orthographic Features\n *\n * @example\n * As a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH_CHAZAQ: \"\\u0301\",\n * });\n * transliterate(\"\u05E9\u05C1\u05B7\u05D1\u05BC\u05B8\u05EA\", schema);\n * // \u0161ab\u0301\u0101t\n * ```\n *\n * @example\n * As a boolean\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DAGESH_CHAZAQ: true,\n * });\n * transliterate(\"\u05E9\u05C1\u05B7\u05D1\u05BC\u05B8\u05EA\", schema);\n * // \u0161abb\u0101t\n * ```\n */\n DAGESH_CHAZAQ: boolean | string;\n /**\n * HEBREW PUNCTUATION MAQAF (U+05BE) \u05BE\u25CC\n *\n * @category Marks\n * @category Taamim\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * { MAQAF: \"-\" }\n * });\n * transliterate(\"\u05D0\u05B7\u05DC\u05BE\", schema);\n * // \u02BEal-\n * ```\n */\n MAQAF: string;\n /**\n * HEBREW PUNCTUATION PASEQ (U+05C0) \u05C0 \u25CC\n *\n * @category Marks\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PASEQ: \"\",\n })\n * transliterate(\"\u05DB\u05BC\u05B0\u05E9\u05C1\u05B6\u05A3\u05D1\u05B6\u05EA \u05C0 \u05D4\u05B7\u05DE\u05BC\u05B6\u05A3\u05DC\u05B6\u05DA\u05B0\", schema);\n * // k\u0259\u0161ebet hammelek\n * ```\n *\n * @remarks\n * If a blank string, two spaces will occur between words; see example.\n */\n PASEQ: string;\n /**\n * HEBREW PUNCTUATION SOF PASUQ (U+05C3) \u05C3\u25CC\n *\n * @category Marks\n * @category Taamim\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SOF_PASUQ: \".\",\n * });\n * transliterate(\"\u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\u05C3\", schema);\n * // h\u0101\u02BE\u0101re\u1E63.\n * ```\n */\n SOF_PASUQ: string;\n /**\n * HEBREW POINT QAMATS QATAN (U+05C7) \u05C7\u25CC\n *\n * @category Vowels\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS QATAN: \"o\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u05DC\u05BE\u05D4\u05B8\u05E2\u05B8\u0596\u05DD\", schema);\n * // kol-h\u0101\u02BF\u0101m\n * ```\n *\n * @remarks\n * See {@link qametsQatan} for details about this character.\n */\n QAMATS_QATAN: string;\n /**\n * HEBREW POINT PATAH (U+05B7) \u25CC\u05B7 as a furtive patah\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FURTIVE_PATAH: \"a\",\n * });\n * transliterate(\"\u05E0\u05B9\u0596\u05D7\u05B7\", schema);\n * // n\u014Da\u1E25\n * ```\n */\n FURTIVE_PATAH: string;\n /**\n * HEBREW POINT HIRIQ (U+05B4) and YOD (U+05D9) \u05D9\u25CC\u05B4\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HIRIQ_YOD: \"\u00EE\",\n * });\n * transliterate(\"\u05E2\u05B4\u0594\u05D9\u05E8\", schema);\n * // \u02BF\u00EEr\n * ```\n */\n HIRIQ_YOD: string;\n /**\n * HEBREW POINT TSERE (U+05B5) and YOD (U+05D9) \u05D9\u25CC\u05B5\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE_YOD: \"\u00EA\",\n * });\n * transliterate(\"\u05D0\u05B5\u05A4\u05D9\u05DF\", schema);\n * // \u02BE\u00EAn\n * ```\n */\n TSERE_YOD: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) and YOD (U+05D9) \u05D9\u25CC\u05B6\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL_YOD: \"\u00EA\",\n * });\n * transliterate(\"\u05D0\u05B1\u05DC\u05B9\u05D4\u05B6\u0591\u05D9\u05DA\u05B8\", schema);\n * // \u02BE\u0115l\u014Dh\u00EAk\u0101\n * ```\n */\n SEGOL_YOD: string;\n /**\n * HEBREW LETTER VAV (U+05D5) and DAGESH (U+05BC) \u05D5\u05BC\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SHUREQ: \"\u00FB\",\n * });\n * transliterate(\"\u05E7\u05D5\u05BC\u05DD\", schema);\n * // q\u00FBm\n * ```\n */\n SHUREQ: string;\n /**\n * HEBREW LETTER HOLAM (U+05B9) and VAV (U+05D5) \u05B9\u05D5\u25CC\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HOLAM_VAV: \"\u00F4\",\n * });\n * transliterate(\"\u05E1\u05A3\u05D5\u05B9\u05D0\", schema);\n * // s\u00F4\u02BE\n * ```\n */\n HOLAM_VAV: string;\n /**\n * HEBREW POINT QAMATS (U+05B8) and HE (U+05D4) \u05D4\u25CC\u05B8\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QAMATS_HE: \"\u00E2\",\n * });\n * transliterate(\"\u05E2\u05B5\u05E6\u05B8\u0596\u05D4\", schema);\n * // \u02BF\u0113\u1E63\u00E2\n * ```\n */\n QAMATS_HE: string;\n /**\n * HEBREW POINT SEGOL (U+05B6) and HE (U+05D4) \u05D4\u25CC\u05B6\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SEGOL_HE: \"\u00EA\",\n * });\n * transliterate(\"\u05D9\u05B4\u05E7\u05B0\u05E8\u05B6\u05A5\u05D4\", schema);\n * // yiqr\u00EA\n * ```\n */\n SEGOL_HE?: string;\n /**\n * HEBREW POINT TSERE (U+05B5) and HE (U+05D4) \u05D4\u25CC\u05B5\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSERE_HE: \"\u00EA\",\n * });\n * transliterate(\"\u05D4\u05B8\u05D0\u05B7\u05E8\u05B0\u05D9\u05B5\u0594\u05D4\", schema);\n * // h\u0101\u02BEary\u00EA\n * ```\n */\n TSERE_HE?: string;\n /**\n * HEBREW LETTER QAMATS (U+05B8) and YOD (U+05D9) and VAV (U+05D5) \u05D9\u05D5\u25CC\u05B8\n *\n * @category Vowels\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * MS_SUFX: \u201D\u0101yw\u201D,\n * });\n * transliterate(\"\u05D9\u05B8\u05D3\u05B8\u059B\u05D9\u05D5\", schema);\n * // y\u0101d\u0101yw\n * ```\n */\n MS_SUFX: string;\n /**\n * HEBREW LETTER ALEF (U+05D0) \u05D0\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ALEF: \"\u02BE\",\n * });\n * transliterate(\"\u05D0\u05B8\u05D1\", schema);\n * // \u02BE\u0101b\n * ```\n */\n ALEF: string;\n /**\n * HEBREW LETTER BET (U+05D1) \u05D1\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u0259b\u00EAt\n * ```\n */\n BET: string;\n /**\n * HEBREW LETTER BET (U+05D1) and DAGESH (U+05BC) \u05BC\u05D1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `BET` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u0259b\u00EAt\n *```\n *\n * @example\n * With `BET` and `BET_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * BET: \"v\",\n * BET_DAGESH: \"b\",\n * });\n * transliterate(\"\u05D1\u05BC\u05B0\u05D1\u05B5\u05D9\u05EA\", schema);\n * // b\u0259v\u00EAt\n * ```\n *\n * @remarks\n * The letter bet with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n BET_DAGESH?: string;\n /**\n * HEBREW LETTER GIMEL (U+05D2) \u05D2\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"g\",\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\u05BC\", schema);\n * // gag\n * ```\n */\n GIMEL: string;\n /**\n * HEBREW LETTER GIMEL (U+05D2) and DAGESH (U+05BC) \u05D2\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `GIMEL` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"g\"\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\", schema);\n * // gag\n * ```\n *\n * @example\n * With `GIMEL` and `GIMEL_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * GIMEL: \"gh\",\n * GIMEL_DAGESH: \"g\",\n * });\n * transliterate(\"\u05D2\u05BC\u05B7\u05A3\u05D2\", schema);\n * // gagh\n * ```\n *\n * @remarks\n * The letter gimel with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n GIMEL_DAGESH?: string;\n /**\n * HEBREW LETTER DALET (U+05D3) \u05D3\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Dd\n * ```\n */\n DALET: string;\n /**\n * HEBREW LETTER DALET (U+05D3) and DAGESH (U+05BC) \u05D3\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `DALET` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Dd\n * ```\n *\n * @example\n * With `DALET` and `DALET_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DALET: \"dh\",\n * DALET_DAGESH: \"d\",\n * });\n * transliterate(\"\u05D3\u05BC\u05B9\u05A3\u05D3\", schema);\n * // d\u014Ddh\n * ```\n *\n * @remarks\n * The letter dalet with a dagesh kal.\n * Ue when need to distinguish between spirantized forms\n */\n DALET_DAGESH?: string;\n /**\n * HEBREW LETTER HE (U+05D4) \u05D4\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HE: \"h\",\n * });\n * transliterate(\"\u05D4\u05B5\u0597\u05DD\", schema);\n * // h\u0113m\n * ```\n */\n HE: string;\n /**\n * HEBREW LETTER VAV (U+05D5) \u05D5\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * VAV: \"w\",\n * });\n * transliterate(\"\u05D5\u05B8\u05D5\u05B4\u0596\u05D9\u05DD\", schema);\n * // w\u0101w\u00EEm\n * ```\n */\n VAV: string;\n /**\n * HEBREW LETTER ZAYIN (U+05D6) \u05D6\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ZAYIN: \"z\",\n * });\n * transliterate(\"\u05D6\u05B5\u05A3\u05D3\", schema);\n * // z\u0113d\n * ```\n */\n ZAYIN: string;\n /**\n * HEBREW LETTER HET (U+05D7) \u05D7\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * HET: \"\u1E25\"\n * });\n * transliterate(\"\u05D7\u05B7\u05A3\u05D2\", schema);\n * // \u1E25ag\n * ```\n */\n HET: string;\n /**\n * HEBREW LETTER TET (U+05D8) \u05D8\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TET: \"\u1E6D\",\n * });\n * transliterate(\"\u05D8\u05B4\u05BD\u05D9\u05D8\", schema);\n * // \u1E6D\u00EE\u1E6D\n * ```\n */\n TET: string;\n /**\n * HEBREW LETTER YOD (U+05D9) \u05D9\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * YOD: \"y\",\n * });\n * transliterate(\"\u05D9\u05B8\u0597\u05D3\", schema);\n * // y\u0101d\n * ```\n */\n YOD: string;\n /**\n * HEBREW LETTER FINAL KAF (U+05DA) \u05DA\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL KAF: \"k\",\n * });\n * transliterate(\"\u05DC\u05B6\u05DA\u05B0\", schema);\n * // lek\n * ```\n */\n FINAL_KAF: string;\n /**\n * HEBREW LETTER KAF (U+05DB) \u05DB\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101k\u00E2\n * ```\n */\n KAF: string;\n /**\n * HEBREW LETTER KAF (U+05DB) and DAGESH (U+05BC) \u05DB\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `KAF` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101k\u00E2\n * ```\n *\n * @example\n * With `KAF` set and `KAF_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * KAF: \"kh\",\n * KAF_DAGESH: \"k\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B8\u059A\u05DB\u05B8\u05D4\", schema);\n * // k\u0101kh\u00E2\n * ```\n *\n * @remarks\n * The letter kaf with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n KAF_DAGESH?: string;\n /**\n * HEBREW LETTER LAMED (U+05DC) \u05DC\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * LAMED: \"l\",\n * });\n * transliterate(\"\u05E2\u05B7\u05DC\", schema);\n * // \u02BFal\n * ```\n */\n LAMED: string;\n /**\n * HEBREW LETTER FINAL MEM (U+05DD) \u05DD\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL MEM: \"m\",\n * });\n * transliterate(\"\u05DE\u05B7\u0596\u05D9\u05B4\u05DD\", schema);\n * // mayim\n * ```\n */\n FINAL_MEM: string;\n /**\n * HEBREW LETTER MEM (U+05DE) \u05DE\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * MEM: \"m\",\n * });\n * transliterate(\"\u05DE\u05B7\u0596\u05D9\u05B4\u05DD\", schema);\n * // mayim\n * ```\n */\n MEM: string;\n /**\n * HEBREW LETTER FINAL NUN (U+05DF) \u05DF\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL NUN: \"n\",\n * });\n * transliterate(\"\u05E0\u0594\u05D5\u05BC\u05DF\", schema);\n * // n\u00FBn\n * ```\n */\n FINAL_NUN: string;\n /**\n * HEBREW LETTER NUN (U+05E0) \u05E0\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * NUN: \"n\",\n * });\n * transliterate(\"\u05E0\u0594\u05D5\u05BC\u05DF\", schema);\n * // n\u00FBn\n * ```\n */\n NUN: string;\n /**\n * HEBREW LETTER SAMEKH (U+05E1) \u05E1\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SAMEKH: \"s\",\n * });\n * transliterate(\"\u05E1\u05A5\u05D5\u05BC\u05E1\", schema);\n * // s\u00FBs\n * ```\n */\n SAMEKH: string;\n /**\n * HEBREW LETTER AYIN (U+05E2) \u05E2\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * AYIN: \"\u02BF\",\n * });\n * transliterate(\"\u05E2\u05B8\u0591\u05D9\u05B4\u05DF\", schema);\n * // \u02BF\u0101yin\n * ```\n */\n AYIN: string;\n /**\n * HEBREW LETTER FINAL PE (U+05E3) \u05E3\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL PE: \"p\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B7\u05A3\u05E3\", schema);\n * // kap\n * ```\n */\n FINAL_PE: string;\n /**\n * HEBREW LETTER PE (U+05E4) \u05E4\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25op\u0161\u00EE\n * ```\n */\n PE: string;\n /**\n * HEBREW LETTER PE (U+05E4) and DAGESH (U+05BC) \u05E4\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `PE` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE_DAGESH: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25op\u0161\u00EE\n * ```\n *\n * @example\n * With `PE` and `PE_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * PE: \"f\",\n * PE_DAGESH: \"p\",\n * });\n * transliterate(\"\u05E4\u05BC\u05B6\u05A3\u05E8\u05B6\u05D0 \u05D7\u05B8\u05E4\u05B0\u05E9\u05C1\u05B4\u0591\u05D9\", schema);\n * // pere\u02BE \u1E25of\u0161\u00EE\n * ```\n *\n * @remarks\n * The letter pe with a dagesh kal\n * Use when need to distinguish between spirantized forms\n */\n PE_DAGESH?: string;\n /**\n * HEBREW LETTER FINAL TSADI (U+05E5) \u05E5\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * FINAL TSADI: \"\u1E63\",\n * });\n * transliterate(\"\u05E6\u05B8\u059A\u05E5\", schema);\n * // \u1E63\u0101\u1E63\n * ```\n */\n FINAL_TSADI: string;\n /**\n * HEBREW LETTER TSADI (U+05E6) \u05E6\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TSADI: \"\u1E63\",\n * });\n * transliterate(\"\u05E6\u05B8\u059A\u05E5\", schema);\n * // \u1E63\u0101\u1E63\n * ```\n */\n TSADI: string;\n /**\n * HEBREW LETTER QOF (U+05E7) \u05E7\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * QOF: \"q\",\n * });\n * transliterate(\"\u05E8\u05B7\u05A5\u05E7\", schema);\n * // raq\n * ```\n */\n QOF: string;\n /**\n * HEBREW LETTER RESH (U+05E8) \u05E8\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * RESH: \"r\",\n * });\n * transliterate(\"\u05E8\u05B7\u05A5\u05E7\", schema);\n * // raq\n * ```\n */\n RESH: string;\n /**\n * HEBREW LETTER SHIN (U+05E9) and SHIN DOT (U+05C1) \u05E9\u05C1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SHIN: \"\u0161\",\n * });\n * transliterate(\"\u05E9\u05C1\u05B5\u0596\u05DF\", schema);\n * // \u0161\u0113n\n * ```\n */\n SHIN: string;\n /**\n * HEBREW LETTER SHIN (U+05E9) and SIN DOT (U+05C2) \u05E9\u05C1\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SIN: \"\u015B\",\n * });\n * transliterate(\"\u05DB\u05BC\u05B7\u05E9\u05C2\u05B0\u05D3\u05BC\u05B4\u0594\u05D9\u05DD\", schema);\n * // ka\u015Bd\u00EEm\n * ```\n */\n SIN: string;\n /**\n * HEBREW LETTER TAV (U+05EA) \u05EA\n *\n * @category Consonants\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113t\n * ```\n */\n TAV: string;\n /**\n * HEBREW LETTER TAV (U+05EA) and DAGESH (U+05BC) \u05EA\u05BC\n *\n * @category Consonants\n * @category Orthographic Features\n *\n * @example\n * With only `TAV` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113t\n * ```\n *\n * @example\n * With `TAV` and `TAV_DAGESH` set\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV: \"th\",\n * TAV_DAGESH: \"t\",\n * });\n * transliterate(\"\u05EA\u05BC\u05B5\u059B\u05EA\", schema);\n * // t\u0113th\n * ```\n *\n * @remarks\n * The letter tav with a dagesh kal.\n * Use when need to distinguish between spirantized forms\n */\n TAV_DAGESH?: string;\n /**\n * Rules for customized output\n *\n * This property is an array of objects with the following properties each:\n * - `FEATURE`: the type of feature that the rule is checking \u2014 \"word\", \"syllable\", or \"cluster\"\n * - `HEBREW`: the Hebrew text that the rule matches, given as a string or Regex\n * - `PASS_THROUGH?`: An optional property; `true` if the rule should pass the characters of the result of the `TRANSLITERATION` callback to the be mapped to the schema\n * - `TRANSLITERATION`: the output of the rule, either a string or a callback whose properties differ based on the `FEATURE`\n *\n * The examples give the best indication of how to use these features, though see the particular types for more details\n *\n * @category Orthographic Features\n *\n * @example\n * `FEATURE` is `\"word\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"word\",\n * HEBREW: \"\u05D4\u05B8\u05D0\u05B8\u05E8\u05B6\u05E5\",\n * TRANSLITERATION: \"The Earth\"\n * }]\n })\n * transliterate(\"\u05D5\u05B0\u05D0\u05B5\u05A5\u05EA \u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5\", schema);\n * // w\u0259\u02BE\u0113t The Earth\n * ```\n *\n * @example\n * `FEATURE` is `\"word\"` and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * HEBREW: \"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\",\n * FEATURE: \"word\",\n * TRANSLITERATION: function (_word, _hebrew, schema) {\n * return (\n * schema[\"SHIN\"] +\n * (schema[\"TAV_DAGESH\"] ?? schema[\"TAV\"]) +\n * schema[\"PATAH\"] +\n * schema[\"YOD\"] +\n * schema[\"HIRIQ\"] +\n * schema[\"FINAL_MEM\"]\n * );\n * }\n * }]\n * });\n * transliterate(\"\u05E9\u05C1\u05B0\u05EA\u05BC\u05B7\u05D9\u05B4\u05DD\", schema);\n * // \u0161tayim\n * ```\n * @example\n * `FEATURE` is `\"syllable\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\u05D9\u05BC(?![\\u{05B4}-\\u{05BB}])/u, // a yod with a dagesh, not followed by a vowel character\n * TRANSLITERATION: \"Y\"\n * }]\n * });\n * transliterate(\"\u05DE\u05B0\u05D7\u05B4\u05D9\u05BC\u05D9\u05B8\u05D0\u05B5\u0597\u05DC\", schema);\n * // m\u0259\u1E25iYy\u0101\u02BE\u0113l\n * ```\n *\n * @example\n * `FEATURE` is `\"syllable\"` and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"syllable\",\n * HEBREW: /\\u{05C7}/u,\n * TRANSLITERATION: (syllable) => {\n * // If the syllable contains a qamets qatan character (U+05C7), check the text of the next syllable\n * const next = syllable?.next?.value?.text;\n *\n * // If the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n * if (next && next.includes(\"\\u05B3\")) {\n * return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n * }\n * return syllable.text;\n * }\n * }]\n * });\n * transliterate(\"\u05E0\u05B8\u05E2\u05B3\u05DE\u05B4\u05D9\u0599\", schema);\n * // n\u0101\u02BF\u014Fm\u00EE\n * ```\n *\n * @example\n * `FEATURE` is `\"cluster\"` and `TRANSLITERATION` is a string\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * ADDITIONAL_FEATURES: [{\n * FEATURE: \"cluster\",\n * HEBREW: \"\u05D6\u05BC\",\n * TRANSLITERATION: \"tz\"\n * }]\n * });;\n * transliterate(\"\u05D4\u05B7\u05D6\u05BC\u05B9\u05D0\u05EA\", schema);\n * // hatz\u014D\u02BEt\n * ```\n *\n * @example\n * `FEATURE` is \"cluster\" and `TRANSLITERATION` is a callback\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * TAV_DAGESH: \"t\u02B0\",,\n * ADDITIONAL_FEATURES: [{\n * FEATURE: 'cluster',\n * HEBREW: /\u05EA\u05BC(?!\\u{05B0})/u,\n * TRANSLITERATION: (cluster, _, schema) => {\n * // Because the *_DAGESH value is a digraph, we need to replace the first character\n * // or it will be doubled in rules.ts as \"t\u02B0t\u02B0\"\n *\n *\n * // If there is a dagesh, but it is the beginning of the word\n * // we can return the text, as the character w/ the dagesh will not be doubled\n * if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n * return cluster.text;\n * }\n *\n * // If there is a dagesh, it may be that it is a dagesh qal (i.e. lene)\n * // If it is a dagesh lene, then like the beginning of the word,\n * // the character w/ the dagesh will not be doubled\n * const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n * if (!prevCoda?.includes(\"\u05EA\",)) {\n * return cluster.text;\n * }\n *\n * // convert \"t\u02B0t\u02B0\" to \"tt\u02B0\"\n * const noAspiration = schema['TAV_DAGESH']?.replace(\"\u02B0\",, '') ?? '';\n * return cluster.text.replace(\"\u05EA\u05BC\",,`${noAspiration + schema['TAV_DAGESH']}`);\n * },\n * }]\n * });\n * transliterate(\"\u05D5\u05B7\u05EA\u05BC\u05B5\u05A8\u05E9\u05C1\u05B6\u05D1\", schema);\n * // watt\u02B0\u0113\u0161eb\n * ```\n *\n */\n ADDITIONAL_FEATURES?: (WordFeature | SyllableFeature | ClusterFeature)[];\n /**\n * The full form of the divine name - \u05D9\u05D4\u05D5\u05D4\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DIVINE_NAME: \"yhwh\",\n * });\n * transliterate(\"\u05D9\u05B0\u05D4\u05B9\u05D5\u05B8\u0597\u05D4\", schema);\n * // yhwh\n * ```\n */\n DIVINE_NAME: string;\n /**\n * The full form of the divine name pointed as 'elohim\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * DIVINE_NAME_ELOHIM: \"\u02BE\u0115l\u014Dh\u00EEm\",\n * });\n * transliterate(\"\u05D9\u05B1\u05D4\u05B9\u05D5\u05B4\u05D4\", schema);\n * // \u02BE\u0115l\u014Dh\u00EEm\n * ```\n *\n * @remarks\n * Matches on the forms:\n * - \u05D9\u05B1\u05D4\u05B9\u05D5\u05B4\u05D4\n * - \u05D9\u05B1\u05D4\u05D5\u05B4\u05D4\n * - \u05D9\u05B0\u05D4\u05B9\u05D5\u05B4\u05D4\n * - \u05D9\u05B0\u05D4\u05D5\u05B4\u05D4\n * If `undefined`, defaults to value of {@link DIVINE_NAME}\n */\n DIVINE_NAME_ELOHIM?: string;\n /**\n * A syllable separator, usually an empty string\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * SYLLABLE_SEPARATOR: \"-\",\n * });\n * transliterate('\u05D4\u05B8\u05D0\u05B8\u05BD\u05E8\u05B6\u05E5', schema);\n * // h\u0101-\u02BE\u0101-re\u1E63\n * ```\n */\n SYLLABLE_SEPARATOR?: string;\n /**\n * A mark for indentifying the stressed syllable\n *\n * @category Orthographic Features\n *\n * @example\n * ```js\n * const schema = new Schema({\n * // truncated for brevity\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * },\n * });\n * transliterate(\"\u05DE\u05B6\u05A3\u05DC\u05B6\u05DA\u05B0\", schema);\n * // me\u0341lek\n * ```\n *\n * @remarks\n * Taamim are needed in the Hebrew text to correctly identify stress.\n */\n STRESS_MARKER?: {\n /**\n * The location of the mark\n */\n location: \"before-syllable\" | \"after-syllable\" | \"before-vowel\" | \"after-vowel\";\n /**\n * A string to use as the marker\n */\n mark: string;\n /**\n * Whether to exclude the mark on certain syllables\n *\n * @default\n * \"never\"\n *\n * @example\n * `undefined` and `\"never\"` are the same\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4\u0301m \u02BEe\u1E25\u0101\u0301d\n * ```\n *\n * @example\n * Exclude only single syllable words using `\"single\"`\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * exclude: \"single\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4m \u02BEe\u1E25\u0101\u0301d\n * ```\n *\n * @example\n * Exclude when accent is on the final syllable, implicitly excluding single syllable words using `\"final\"`\n * ```js\n * const schema = new Schema({\n * STRESS_MARKER: {\n * location: \"after-vowel\",\n * mark: \"\\u0301\",\n * exclude: \"final\",\n * },\n * });\n * transliterate(\"\u05D1\u05B9\u0596\u05BC\u05E7\u05B6\u05E8 \u05D9\u05A5\u05D5\u05B9\u05DD \u05D0\u05B6\u05D7\u05B8\u05BD\u05D3\u05C3 \", schema);\n * // b\u014D\u0301qer y\u00F4m \u02BEe\u1E25\u0101d\n * ```\n */\n exclude?: \"never\" | \"final\" | \"single\";\n };\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n allowNoNiqqud: SylOpts[\"allowNoNiqqud\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n article: SylOpts[\"article\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n holemHaser: SylOpts[\"holemHaser\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n *\n */\n ketivQeres?: SylOpts[\"ketivQeres\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n longVowels: SylOpts[\"longVowels\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n qametsQatan: SylOpts[\"qametsQatan\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n shevaAfterMeteg: SylOpts[\"shevaAfterMeteg\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n shevaWithMeteg?: SylOpts[\"shevaWithMeteg\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n sqnmlvy: SylOpts[\"sqnmlvy\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n strict: SylOpts[\"strict\"];\n /**\n * @category Syllabification\n *\n * @remarks\n * See implementation for more details\n */\n wawShureq: SylOpts[\"wawShureq\"];\n /**@category Constructors */\n constructor(schema: Schema) {\n this.VOCAL_SHEVA = schema.VOCAL_SHEVA;\n this.HATAF_SEGOL = schema.HATAF_SEGOL;\n this.HATAF_PATAH = schema.HATAF_PATAH;\n this.HATAF_QAMATS = schema.HATAF_QAMATS;\n this.HIRIQ = schema.HIRIQ;\n this.TSERE = schema.TSERE;\n this.SEGOL = schema.SEGOL;\n this.PATAH = schema.PATAH;\n this.QAMATS = schema.QAMATS;\n this.HOLAM = schema.HOLAM;\n this.HOLAM_HASER = schema.HOLAM_HASER;\n this.QUBUTS = schema.QUBUTS;\n this.DAGESH = schema.DAGESH;\n this.DAGESH_CHAZAQ = schema.DAGESH_CHAZAQ;\n this.MAQAF = schema.MAQAF;\n this.PASEQ = schema.PASEQ;\n this.SOF_PASUQ = schema.SOF_PASUQ;\n this.QAMATS_QATAN = schema.QAMATS_QATAN;\n this.FURTIVE_PATAH = schema.FURTIVE_PATAH;\n this.HIRIQ_YOD = schema.HIRIQ_YOD;\n this.TSERE_YOD = schema.TSERE_YOD;\n this.SEGOL_YOD = schema.SEGOL_YOD;\n this.SHUREQ = schema.SHUREQ;\n this.HOLAM_VAV = schema.HOLAM_VAV;\n this.QAMATS_HE = schema.QAMATS_HE;\n this.SEGOL_HE = schema.SEGOL_HE;\n this.TSERE_HE = schema.TSERE_HE;\n this.MS_SUFX = schema.MS_SUFX;\n this.ALEF = schema.ALEF;\n this.BET_DAGESH = schema.BET_DAGESH;\n this.BET = schema.BET;\n this.GIMEL = schema.GIMEL;\n this.GIMEL_DAGESH = schema.GIMEL_DAGESH;\n this.DALET = schema.DALET;\n this.DALET_DAGESH = schema.DALET_DAGESH;\n this.HE = schema.HE;\n this.VAV = schema.VAV;\n this.ZAYIN = schema.ZAYIN;\n this.HET = schema.HET;\n this.TET = schema.TET;\n this.YOD = schema.YOD;\n this.FINAL_KAF = schema.FINAL_KAF;\n this.KAF = schema.KAF;\n this.KAF_DAGESH = schema.KAF_DAGESH;\n this.LAMED = schema.LAMED;\n this.FINAL_MEM = schema.FINAL_MEM;\n this.MEM = schema.MEM;\n this.FINAL_NUN = schema.FINAL_NUN;\n this.NUN = schema.NUN;\n this.SAMEKH = schema.SAMEKH;\n this.AYIN = schema.AYIN;\n this.FINAL_PE = schema.FINAL_PE;\n this.PE = schema.PE;\n this.PE_DAGESH = schema.PE_DAGESH;\n this.FINAL_TSADI = schema.FINAL_TSADI;\n this.TSADI = schema.TSADI;\n this.QOF = schema.QOF;\n this.RESH = schema.RESH;\n this.SHIN = schema.SHIN;\n this.SIN = schema.SIN;\n this.TAV = schema.TAV;\n this.TAV_DAGESH = schema.TAV_DAGESH;\n this.DIVINE_NAME = schema.DIVINE_NAME;\n this.DIVINE_NAME_ELOHIM = schema.DIVINE_NAME_ELOHIM;\n this.SYLLABLE_SEPARATOR = schema.SYLLABLE_SEPARATOR;\n this.ADDITIONAL_FEATURES = schema.ADDITIONAL_FEATURES;\n this.STRESS_MARKER = schema.STRESS_MARKER;\n this.longVowels = schema.longVowels;\n this.qametsQatan = schema.qametsQatan;\n this.sqnmlvy = schema.sqnmlvy;\n this.shevaAfterMeteg = schema.shevaAfterMeteg;\n this.shevaWithMeteg = schema.shevaWithMeteg;\n this.wawShureq = schema.wawShureq;\n this.article = schema.article;\n this.allowNoNiqqud = schema.allowNoNiqqud;\n this.strict = schema.strict;\n this.holemHaser = schema.holemHaser;\n this.ketivQeres = schema.ketivQeres;\n }\n}\n\n/**\n * The default schema according to SBL's academic style guide.\n *\n * Whereas a new {@link Schema} must have all required properties when constructed,\n * this schema is meant to be used as a default so particular properties can be overidden (see example).\n *\n * If the property is not set, the default value will be used. Each property is documented below with their default values.\n *\n * Click into each property's \"Overrides\" for more information about that property.\n *\n * @param schema a {@link Schema | Partial\\<Schema\\>}\n *\n * @example\n * Extend the default schema\n * ```js\n * transliterate(\"\u05E9\u05C1\u05B8\u05DC\u05D5\u05B9\u05DD\", { SHIN: \"sh\" });\n * // sh\u0101l\u00F4m\n * ```\n *\n * @privateRemarks\n * In order for documentation output to be the way I wanted, the properties are all redefined with their type from the Schema.\n * This is not necessary for the implementation, just the docs.\n */\nexport class SBL extends Schema {\n /** @category Vowels @default \"\u0259\" */\n declare VOCAL_SHEVA: Schema[\"VOCAL_SHEVA\"];\n /** @category Vowels @default \"\u0115\" */\n declare HATAF_SEGOL: Schema[\"HATAF_SEGOL\"];\n /** @category Vowels @default \"\u0103\" */\n declare HATAF_PATAH: Schema[\"HATAF_PATAH\"];\n /** @category Vowels @default \"\u014F\" */\n declare HATAF_QAMATS: Schema[\"HATAF_QAMATS\"];\n /** @category Vowels @default \"i\" */\n declare HIRIQ: Schema[\"HIRIQ\"];\n /** @category Vowels @default \"\u0113\" */\n declare TSERE: Schema[\"TSERE\"];\n /** @category Vowels @default \"e\" */\n declare SEGOL: Schema[\"SEGOL\"];\n /** @category Vowels @default \"a\" */\n declare PATAH: Schema[\"PATAH\"];\n /** @category Vowels @default \"\u0101\" */\n declare QAMATS: Schema[\"QAMATS\"];\n /** @category Vowels @default \"\u014D\" */\n declare HOLAM: Schema[\"HOLAM\"];\n /** @category Vowels @default \"\u014D\" */\n declare HOLAM_HASER: Schema[\"HOLAM_HASER\"];\n /** @category Vowels @default \"\u016B\" */\n declare QUBUTS: Schema[\"QUBUTS\"];\n /** @category Marks @default \"\" */\n declare DAGESH: Schema[\"DAGESH\"];\n /** @category Marks @category Orthographic Features @default true */\n declare DAGESH_CHAZAQ: Schema[\"DAGESH_CHAZAQ\"];\n /** @category Marks @category Taamim @default \"-\" */\n declare MAQAF: Schema[\"MAQAF\"];\n /** @category Marks @default \"\" */\n declare PASEQ: Schema[\"PASEQ\"];\n /** @category Marks @category Taamim @default \"\" */\n declare SOF_PASUQ: Schema[\"SOF_PASUQ\"];\n /** @category Vowels @default \"o\" */\n declare QAMATS_QATAN: Schema[\"QAMATS_QATAN\"];\n /** @category Vowels @category Orthographic Features @default \"a\" */\n declare FURTIVE_PATAH: Schema[\"FURTIVE_PATAH\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EE\" */\n declare HIRIQ_YOD: Schema[\"HIRIQ_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare TSERE_YOD: Schema[\"TSERE_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00EA\" */\n declare SEGOL_YOD: Schema[\"SEGOL_YOD\"];\n /** @category Vowels @category Orthographic Features @default \"\u00FB\" */\n declare SHUREQ: Schema[\"SHUREQ\"];\n /** @category Vowels @category Orthographic Features @default \"\u00F4\" */\n declare HOLAM_VAV: Schema[\"HOLAM_VAV\"];\n /** @category Vowels @category Orthographic Features @default \"\u00E2\" */\n declare QAMATS_HE: Schema[\"QAMATS_HE\"];\n /** @category Vowels @category Orthographic Features @default undefined */\n declare SEGOL_HE: Schema[\"SEGOL_HE\"];\n /** @category Vowels @category Orthographic Features @default undefined */\n declare TSERE_HE: Schema[\"TSERE_HE\"];\n /** @category Vowel @category Orthographic Features @default \"\u0101yw\" */\n declare MS_SUFX: Schema[\"MS_SUFX\"];\n /** @category Consonants @default \"\u02BE\" */\n declare ALEF: Schema[\"ALEF\"];\n /** @category Consonants @default \"b\" */\n declare BET: Schema[\"BET\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare BET_DAGESH: Schema[\"BET_DAGESH\"];\n /** @category Consonants @default \"g\" */\n declare GIMEL: Schema[\"GIMEL\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare GIMEL_DAGESH: Schema[\"GIMEL_DAGESH\"];\n /** @category Consonants @default \"d\" */\n declare DALET: Schema[\"DALET\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare DALET_DAGESH: Schema[\"DALET_DAGESH\"];\n /** @category Consonants @default \"h\" */\n declare HE: Schema[\"HE\"];\n /** @category Consonants @default \"w\" */\n declare VAV: Schema[\"VAV\"];\n /** @category Consonants @default \"z\" */\n declare ZAYIN: Schema[\"ZAYIN\"];\n /** @category Consonants @default \"\u1E25\" */\n declare HET: Schema[\"HET\"];\n /** @category Consonants @default \"\u1E6D\" */\n declare TET: Schema[\"TET\"];\n /** @category Consonants @default \"y\" */\n declare YOD: Schema[\"YOD\"];\n /** @category Consonants @default \"k\" */\n declare FINAL_KAF: Schema[\"FINAL_KAF\"];\n /** @category Consonants @default \"k\" */\n declare KAF: Schema[\"KAF\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare KAF_DAGESH: Schema[\"KAF_DAGESH\"];\n /** @category Consonants @default \"l\" */\n declare LAMED: Schema[\"LAMED\"];\n /** @category Consonants @default \"m\" */\n declare FINAL_MEM: Schema[\"FINAL_MEM\"];\n /** @category Consonants @default \"m\" */\n declare MEM: Schema[\"MEM\"];\n /** @category Consonants @default \"n\" */\n declare FINAL_NUN: Schema[\"FINAL_NUN\"];\n /** @category Consonants @default \"n\" */\n declare NUN: Schema[\"NUN\"];\n /** @category Consonants @default \"s\" */\n declare SAMEKH: Schema[\"SAMEKH\"];\n /** @category Consonants @default \"\u02BF\" */\n declare AYIN: Schema[\"AYIN\"];\n /** @category Consonants @default \"p\" */\n declare FINAL_PE: Schema[\"FINAL_PE\"];\n /** @category Consonants @default \"p\" */\n declare PE: Schema[\"PE\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare PE_DAGESH: Schema[\"PE_DAGESH\"];\n /** @category Consonants @default \"\u1E63\" */\n declare FINAL_TSADI: Schema[\"FINAL_TSADI\"];\n /** @category Consonants @default \"\u1E63\" */\n declare TSADI: Schema[\"TSADI\"];\n /** @category Consonants @default \"q\" */\n declare QOF: Schema[\"QOF\"];\n /** @category Consonants @default \"r\" */\n declare RESH: Schema[\"RESH\"];\n /** @category Consonants @category Orthographic Features @default \"\u0161\" */\n declare SHIN: Schema[\"SHIN\"];\n /** @category Consonants @category Orthographic Features @default \"\u015B\" */\n declare SIN: Schema[\"SIN\"];\n /** @category Consonants @default \"t\" */\n declare TAV: Schema[\"TAV\"];\n /** @category Consonants @category Orthographic Features @default undefined */\n declare TAV_DAGESH: Schema[\"TAV_DAGESH\"];\n /** @category Orthographic Features @default \"yhwh\" */\n declare DIVINE_NAME: Schema[\"DIVINE_NAME\"];\n /** @category Orthographic Features @default undefined */\n declare DIVINE_NAME_ELOHIM: Schema[\"DIVINE_NAME_ELOHIM\"];\n /** @category Orthographic Features @default undefined */\n declare SYLLABLE_SEPARATOR: Schema[\"SYLLABLE_SEPARATOR\"];\n /**\n * @category Orthographic Features\n * @default\n * ```js\n * [\n * {\n * FEATURE: \"syllable\",\n * HEBREW: /[\\u{05B4}\\u{05BB}]/u,\n * TRANSLITERATION: (syllable, heb, schema) => {\n * const hasMater = syllable.clusters.some((cluster) => cluster.isMater);\n * if (syllable.isAccented && !hasMater) {\n * const macron = \"\\u0304\";\n * const output = syllable.hasVowelName(\"HIRIQ\") ? schema[\"HIRIQ\"] + macron : schema[\"QUBUTS\"] + macron;\n * return syllable.text.replace(heb, output.normalize(\"NFC\"));\n * }\n * return syllable.text;\n * }\n * }\n * ]\n * ```\n */\n declare ADDITIONAL_FEATURES: Schema[\"ADDITIONAL_FEATURES\"];\n /** @category Orthographic Features @default undefined */\n declare STRESS_MARKER: Schema[\"STRESS_MARKER\"];\n /** @category Syllabification @default true */\n declare longVowels: Schema[\"longVowels\"];\n /** @category Syllabification @default true */\n declare qametsQatan: Schema[\"qametsQatan\"];\n /** @category Syllabification @default true */\n declare shevaAfterMeteg: Schema[\"shevaAfterMeteg\"];\n /** @category Syllabification @default false */\n declare shevaWithMeteg: Schema[\"shevaWithMeteg\"];\n /** @category Syllabification @default true */\n declare sqnmlvy: Schema[\"sqnmlvy\"];\n /** @category Syllabification @default true */\n declare wawShureq: Schema[\"wawShureq\"];\n /** @category Syllabification @default true */\n declare article: Schema[\"article\"];\n /** @category Syllabification @default true */\n declare allowNoNiqqud: Schema[\"allowNoNiqqud\"];\n /** @category Syllabification @default false */\n declare strict: Schema[\"strict\"];\n /** @category Syllabification @default \"remove\" */\n declare holemHaser: Schema[\"holemHaser\"];\n /** @category Syllabification @default undefined */\n declare ketivQeres: Schema[\"ketivQeres\"];\n constructor(schema: Partial<Schema>) {\n super({\n VOCAL_SHEVA: schema.VOCAL_SHEVA ?? \"\u0259\",\n HATAF_SEGOL: schema.HATAF_SEGOL ?? \"\u0115\",\n HATAF_PATAH: schema.HATAF_PATAH ?? \"\u0103\",\n HATAF_QAMATS: schema.HATAF_QAMATS ?? \"\u014F\",\n HIRIQ: schema.HIRIQ ?? \"i\",\n TSERE: schema.TSERE ?? \"\u0113\",\n SEGOL: schema.SEGOL ?? \"e\",\n PATAH: schema.PATAH ?? \"a\",\n QAMATS: schema.QAMATS ?? \"\u0101\",\n HOLAM: schema.HOLAM ?? \"\u014D\",\n HOLAM_HASER: schema.HOLAM_HASER ?? \"\u014D\",\n QUBUTS: schema.QUBUTS ?? \"u\",\n DAGESH: schema.DAGESH ?? \"\",\n DAGESH_CHAZAQ: schema.DAGESH_CHAZAQ ?? true,\n MAQAF: schema.MAQAF ?? \"-\",\n PASEQ: schema.PASEQ ?? \"\",\n SOF_PASUQ: schema.SOF_PASUQ ?? \"\",\n QAMATS_QATAN: schema.QAMATS_QATAN ?? \"o\",\n FURTIVE_PATAH: schema.FURTIVE_PATAH ?? \"a\",\n HIRIQ_YOD: schema.HIRIQ_YOD ?? \"\u00EE\",\n TSERE_YOD: schema.TSERE_YOD ?? \"\u00EA\",\n SEGOL_YOD: schema.SEGOL_YOD ?? \"\u00EA\",\n SHUREQ: schema.SHUREQ ?? \"\u00FB\",\n HOLAM_VAV: schema.HOLAM_VAV ?? \"\u00F4\",\n QAMATS_HE: schema.QAMATS_HE ?? \"\u00E2\",\n SEGOL_HE: schema.SEGOL_HE ?? undefined,\n TSERE_HE: schema.TSERE_HE ?? undefined,\n MS_SUFX: schema.MS_SUFX ?? \"\u0101yw\",\n ALEF: schema.ALEF ?? \"\u02BE\",\n BET: schema.BET ?? \"b\",\n BET_DAGESH: schema.BET_DAGESH ?? undefined,\n GIMEL: schema.GIMEL ?? \"g\",\n GIMEL_DAGESH: schema.GIMEL_DAGESH ?? undefined,\n DALET: schema.DALET ?? \"d\",\n DALET_DAGESH: schema.DALET_DAGESH ?? undefined,\n HE: schema.HE ?? \"h\",\n VAV: schema.VAV ?? \"w\",\n ZAYIN: schema.ZAYIN ?? \"z\",\n HET: schema.HET ?? \"\u1E25\",\n TET: schema.TET ?? \"\u1E6D\",\n YOD: schema.YOD ?? \"y\",\n FINAL_KAF: schema.FINAL_KAF ?? \"k\",\n KAF: schema.KAF ?? \"k\",\n KAF_DAGESH: schema.KAF_DAGESH ?? undefined,\n LAMED: schema.LAMED ?? \"l\",\n FINAL_MEM: schema.FINAL_MEM ?? \"m\",\n MEM: schema.MEM ?? \"m\",\n FINAL_NUN: schema.FINAL_NUN ?? \"n\",\n NUN: schema.NUN ?? \"n\",\n SAMEKH: schema.SAMEKH ?? \"s\",\n AYIN: schema.AYIN ?? \"\u02BF\",\n FINAL_PE: schema.FINAL_PE ?? \"p\",\n PE: schema.PE ?? \"p\",\n PE_DAGESH: schema.PE_DAGESH ?? undefined,\n FINAL_TSADI: schema.FINAL_TSADI ?? \"\u1E63\",\n TSADI: schema.TSADI ?? \"\u1E63\",\n QOF: schema.QOF ?? \"q\",\n RESH: schema.RESH ?? \"r\",\n SHIN: schema.SHIN ?? \"\u0161\",\n SIN: schema.SIN ?? \"\u015B\",\n TAV: schema.TAV ?? \"t\",\n TAV_DAGESH: schema.TAV_DAGESH ?? undefined,\n DIVINE_NAME: schema.DIVINE_NAME ?? \"yhwh\",\n DIVINE_NAME_ELOHIM: schema.DIVINE_NAME_ELOHIM ?? undefined,\n SYLLABLE_SEPARATOR: schema.SYLLABLE_SEPARATOR ?? undefined,\n ADDITIONAL_FEATURES: schema.ADDITIONAL_FEATURES ?? undefined,\n STRESS_MARKER: schema.STRESS_MARKER ?? undefined,\n longVowels: schema.longVowels ?? true,\n qametsQatan: schema.qametsQatan ?? true,\n shevaAfterMeteg: schema.shevaAfterMeteg ?? true,\n shevaWithMeteg: schema.shevaWithMeteg ?? false,\n sqnmlvy: schema.sqnmlvy ?? true,\n wawShureq: schema.wawShureq ?? true,\n article: schema.article ?? true,\n allowNoNiqqud: schema.allowNoNiqqud ?? true,\n strict: schema.strict ?? false,\n holemHaser: schema.holemHaser || \"remove\",\n ketivQeres: schema.ketivQeres || undefined\n });\n\n this.VOCAL_SHEVA = schema.VOCAL_SHEVA ?? \"\u0259\";\n this.HATAF_SEGOL = schema.HATAF_SEGOL ?? \"\u0115\";\n this.HATAF_PATAH = schema.HATAF_PATAH ?? \"\u0103\";\n this.HATAF_QAMATS = schema.HATAF_QAMATS ?? \"\u014F\";\n this.HIRIQ = schema.HIRIQ ?? \"i\";\n this.TSERE = schema.TSERE ?? \"\u0113\";\n this.SEGOL = schema.SEGOL ?? \"e\";\n this.PATAH = schema.PATAH ?? \"a\";\n this.QAMATS = schema.QAMATS ?? \"\u0101\";\n this.HOLAM = schema.HOLAM ?? \"\u014D\";\n this.HOLAM_HASER = schema.HOLAM_HASER ?? \"\u014D\";\n this.QUBUTS = schema.QUBUTS ?? \"u\";\n this.DAGESH = schema.DAGESH ?? \"\";\n this.DAGESH_CHAZAQ = schema.DAGESH_CHAZAQ ?? true;\n this.MAQAF = schema.MAQAF ?? \"-\";\n this.PASEQ = schema.PASEQ ?? \"\";\n this.SOF_PASUQ = schema.SOF_PASUQ ?? \"\";\n this.QAMATS_QATAN = schema.QAMATS_QATAN ?? \"o\";\n this.FURTIVE_PATAH = schema.FURTIVE_PATAH ?? \"a\";\n this.HIRIQ_YOD = schema.HIRIQ_YOD ?? \"\u00EE\";\n this.TSERE_YOD = schema.TSERE_YOD ?? \"\u00EA\";\n this.SEGOL_YOD = schema.SEGOL_YOD ?? \"\u00EA\";\n this.SHUREQ = schema.SHUREQ ?? \"\u00FB\";\n this.HOLAM_VAV = schema.HOLAM_VAV ?? \"\u00F4\";\n this.QAMATS_HE = schema.QAMATS_HE ?? \"\u00E2\";\n this.SEGOL_HE = schema.SEGOL_HE ?? undefined;\n this.TSERE_HE = schema.TSERE_HE ?? undefined;\n this.MS_SUFX = schema.MS_SUFX ?? \"\u0101yw\";\n this.ALEF = schema.ALEF ?? \"\u02BE\";\n this.BET = schema.BET ?? \"b\";\n this.BET_DAGESH = schema.BET_DAGESH ?? undefined;\n this.GIMEL = schema.GIMEL ?? \"g\";\n this.GIMEL_DAGESH = schema.GIMEL_DAGESH ?? undefined;\n this.DALET = schema.DALET ?? \"d\";\n this.DALET_DAGESH = schema.DALET_DAGESH ?? undefined;\n this.HE = schema.HE ?? \"h\";\n this.VAV = schema.VAV ?? \"w\";\n this.ZAYIN = schema.ZAYIN ?? \"z\";\n this.HET = schema.HET ?? \"\u1E25\";\n this.TET = schema.TET ?? \"\u1E6D\";\n this.YOD = schema.YOD ?? \"y\";\n this.FINAL_KAF = schema.FINAL_KAF ?? \"k\";\n this.KAF = schema.KAF ?? \"k\";\n this.KAF_DAGESH = schema.KAF_DAGESH ?? undefined;\n this.LAMED = schema.LAMED ?? \"l\";\n this.FINAL_MEM = schema.FINAL_MEM ?? \"m\";\n this.MEM = schema.MEM ?? \"m\";\n this.FINAL_NUN = schema.FINAL_NUN ?? \"n\";\n this.NUN = schema.NUN ?? \"n\";\n this.SAMEKH = schema.SAMEKH ?? \"s\";\n this.AYIN = schema.AYIN ?? \"\u02BF\";\n this.FINAL_PE = schema.FINAL_PE ?? \"p\";\n this.PE = schema.PE ?? \"p\";\n this.PE_DAGESH = schema.PE_DAGESH ?? undefined;\n this.FINAL_TSADI = schema.FINAL_TSADI ?? \"\u1E63\";\n this.TSADI = schema.TSADI ?? \"\u1E63\";\n this.QOF = schema.QOF ?? \"q\";\n this.RESH = schema.RESH ?? \"r\";\n this.SHIN = schema.SHIN ?? \"\u0161\";\n this.SIN = schema.SIN ?? \"\u015B\";\n this.TAV = schema.TAV ?? \"t\";\n this.TAV_DAGESH = schema.TAV_DAGESH ?? undefined;\n this.DIVINE_NAME = schema.DIVINE_NAME ?? \"yhwh\";\n this.DIVINE_NAME_ELOHIM = schema.DIVINE_NAME_ELOHIM ?? undefined;\n this.SYLLABLE_SEPARATOR = schema.SYLLABLE_SEPARATOR ?? undefined;\n this.ADDITIONAL_FEATURES = schema.ADDITIONAL_FEATURES ?? [\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B4}\\u{05BB}]/u,\n TRANSLITERATION: (syllable, heb, schema) => {\n const hasMater = syllable.clusters.some((cluster) => cluster.isMater);\n if (syllable.isAccented && !hasMater) {\n const macron = \"\\u0304\";\n const output = syllable.hasVowelName(\"HIRIQ\") ? schema[\"HIRIQ\"] + macron : schema[\"QUBUTS\"] + macron;\n return syllable.text.replace(heb, output.normalize(\"NFC\"));\n }\n return syllable.text;\n }\n }\n ];\n this.STRESS_MARKER = schema.STRESS_MARKER ?? undefined;\n this.longVowels = schema.longVowels ?? true;\n this.qametsQatan = schema.qametsQatan ?? true;\n this.shevaAfterMeteg = schema.shevaAfterMeteg ?? true;\n this.shevaWithMeteg = schema.shevaWithMeteg ?? false;\n this.sqnmlvy = schema.sqnmlvy ?? true;\n this.wawShureq = schema.wawShureq ?? true;\n this.article = schema.article ?? true;\n this.allowNoNiqqud = schema.allowNoNiqqud ?? true;\n this.strict = schema.strict ?? false;\n this.holemHaser = schema.holemHaser ?? \"remove\";\n this.ketivQeres = schema.ketivQeres ?? undefined;\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["schema"]
7
7
  }
@@ -21,7 +21,7 @@ __export(jss_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(jss_exports);
23
23
  const jss = {
24
- VOCAL_SHEVA: "\u01DD",
24
+ VOCAL_SHEVA: "\u0259",
25
25
  HATAF_SEGOL: "\u025B\u0306",
26
26
  HATAF_PATAH: "\u0103",
27
27
  HATAF_QAMATS: "\xE5\u0306",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/schemas/jss.ts"],
4
- "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const jss: Schema = {\n VOCAL_SHEVA: \"\u01DD\",\n HATAF_SEGOL: \"\u025B\u0306\",\n HATAF_PATAH: \"\u0103\",\n HATAF_QAMATS: \"\u00E5\u0306\",\n HIRIQ: \"i\",\n TSERE: \"\u0113\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u00E5\u0304\",\n HOLAM: \"\u014D\",\n HOLAM_HASER: \"\u014D\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \" \",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u00E5\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"\u012B\",\n TSERE_YOD: \"\u0113\",\n SEGOL_YOD: \"\u025B\",\n SHUREQ: \"\u016B\",\n HOLAM_VAV: \"\u014D\",\n QAMATS_HE: \"\u00E5\u0304\",\n SEGOL_HE: \"\u025B\",\n TSERE_HE: \"\u0113\",\n MS_SUFX: \"\u00E5\u0304yw\",\n ALEF: \"\u02BE\",\n BET_DAGESH: \"b\",\n BET: \"b\u0331\",\n GIMEL: \"g\u0304\",\n GIMEL_DAGESH: \"g\",\n DALET: \"d\u0331\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"w\",\n ZAYIN: \"z\",\n HET: \"\u1E25\",\n TET: \"\u1E6D\",\n YOD: \"y\",\n FINAL_KAF: \"k\u0331\",\n KAF: \"k\u0331\",\n KAF_DAGESH: \"k\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u02BF\",\n FINAL_PE: \"p\u0304\",\n PE: \"p\u0304\",\n PE_DAGESH: \"p\",\n FINAL_TSADI: \"\u1E63\",\n TSADI: \"\u1E63\",\n QOF: \"q\",\n RESH: \"r\",\n SHIN: \"\u0161\",\n SIN: \"\u015B\",\n TAV: \"t\u0331\",\n TAV_DAGESH: \"t\",\n DIVINE_NAME: \"yhwh\",\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"syllable\",\n // if the syllable contains a qamets qatan character\n HEBREW: /\\u{05C7}/u,\n TRANSLITERATION: (syllable) => {\n const next = syllable?.next?.value?.text;\n // if the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n if (next && next.includes(\"\\u05B3\")) {\n return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n }\n return syllable.text;\n }\n }\n ],\n longVowels: true,\n qametsQatan: true,\n sqnmlvy: true,\n wawShureq: true,\n article: true,\n allowNoNiqqud: true,\n strict: false,\n holemHaser: \"remove\",\n shevaAfterMeteg: true\n};\n"],
4
+ "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const jss: Schema = {\n VOCAL_SHEVA: \"\u0259\",\n HATAF_SEGOL: \"\u025B\u0306\",\n HATAF_PATAH: \"\u0103\",\n HATAF_QAMATS: \"\u00E5\u0306\",\n HIRIQ: \"i\",\n TSERE: \"\u0113\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u00E5\u0304\",\n HOLAM: \"\u014D\",\n HOLAM_HASER: \"\u014D\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \" \",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u00E5\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"\u012B\",\n TSERE_YOD: \"\u0113\",\n SEGOL_YOD: \"\u025B\",\n SHUREQ: \"\u016B\",\n HOLAM_VAV: \"\u014D\",\n QAMATS_HE: \"\u00E5\u0304\",\n SEGOL_HE: \"\u025B\",\n TSERE_HE: \"\u0113\",\n MS_SUFX: \"\u00E5\u0304yw\",\n ALEF: \"\u02BE\",\n BET_DAGESH: \"b\",\n BET: \"b\u0331\",\n GIMEL: \"g\u0304\",\n GIMEL_DAGESH: \"g\",\n DALET: \"d\u0331\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"w\",\n ZAYIN: \"z\",\n HET: \"\u1E25\",\n TET: \"\u1E6D\",\n YOD: \"y\",\n FINAL_KAF: \"k\u0331\",\n KAF: \"k\u0331\",\n KAF_DAGESH: \"k\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u02BF\",\n FINAL_PE: \"p\u0304\",\n PE: \"p\u0304\",\n PE_DAGESH: \"p\",\n FINAL_TSADI: \"\u1E63\",\n TSADI: \"\u1E63\",\n QOF: \"q\",\n RESH: \"r\",\n SHIN: \"\u0161\",\n SIN: \"\u015B\",\n TAV: \"t\u0331\",\n TAV_DAGESH: \"t\",\n DIVINE_NAME: \"yhwh\",\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"syllable\",\n // if the syllable contains a qamets qatan character\n HEBREW: /\\u{05C7}/u,\n TRANSLITERATION: (syllable) => {\n const next = syllable?.next?.value?.text;\n // if the next syllable includes a hateph qamets, then replace the qamets qatan with a regular qamets\n if (next && next.includes(\"\\u05B3\")) {\n return syllable.text.replace(\"\\u{05C7}\", \"\\u{05B8}\");\n }\n return syllable.text;\n }\n }\n ],\n longVowels: true,\n qametsQatan: true,\n sqnmlvy: true,\n wawShureq: true,\n article: true,\n allowNoNiqqud: true,\n strict: false,\n holemHaser: \"remove\",\n shevaAfterMeteg: true\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAEA;;;;;AAAO,MAAM,MAAc;EACzB,aAAa;EACb,aAAa;EACb,aAAa;EACb,cAAc;EACd,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ;EACR,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,WAAW;EACX,cAAc;EACd,eAAe;EACf,WAAW;EACX,WAAW;EACX,WAAW;EACX,QAAQ;EACR,WAAW;EACX,WAAW;EACX,UAAU;EACV,UAAU;EACV,SAAS;EACT,MAAM;EACN,YAAY;EACZ,KAAK;EACL,OAAO;EACP,cAAc;EACd,OAAO;EACP,cAAc;EACd,IAAI;EACJ,KAAK;EACL,OAAO;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,WAAW;EACX,KAAK;EACL,YAAY;EACZ,OAAO;EACP,WAAW;EACX,KAAK;EACL,WAAW;EACX,KAAK;EACL,QAAQ;EACR,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,aAAa;EACb,OAAO;EACP,KAAK;EACL,MAAM;EACN,MAAM;EACN,KAAK;EACL,KAAK;EACL,YAAY;EACZ,aAAa;EACb,qBAAqB;IACnB;MACE,SAAS;MAET,QAAQ;MACR,iBAAiB,CAAC,aAAY;AArEpC;AAsEQ,cAAM,QAAO,gDAAU,SAAV,mBAAgB,UAAhB,mBAAuB;AAEpC,YAAI,QAAQ,KAAK,SAAS,QAAQ,GAAG;AACnC,iBAAO,SAAS,KAAK,QAAQ,UAAY,QAAU;QACrD;AACA,eAAO,SAAS;MAClB;;;EAGJ,YAAY;EACZ,aAAa;EACb,SAAS;EACT,WAAW;EACX,SAAS;EACT,eAAe;EACf,QAAQ;EACR,YAAY;EACZ,iBAAiB;;",
6
6
  "names": []
7
7
  }
@@ -21,7 +21,7 @@ __export(sblAcademicSpirantization_exports, {
21
21
  });
22
22
  module.exports = __toCommonJS(sblAcademicSpirantization_exports);
23
23
  const sblAcademicSpirantization = {
24
- VOCAL_SHEVA: "\u01DD",
24
+ VOCAL_SHEVA: "\u0259",
25
25
  HATAF_SEGOL: "\u0115",
26
26
  HATAF_PATAH: "\u0103",
27
27
  HATAF_QAMATS: "\u014F",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/schemas/sblAcademicSpirantization.ts"],
4
- "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const sblAcademicSpirantization: Schema = {\n VOCAL_SHEVA: \"\u01DD\",\n HATAF_SEGOL: \"\u0115\",\n HATAF_PATAH: \"\u0103\",\n HATAF_QAMATS: \"\u014F\",\n HIRIQ: \"i\",\n TSERE: \"\u0113\",\n SEGOL: \"e\",\n PATAH: \"a\",\n QAMATS: \"\u0101\",\n HOLAM: \"\u014D\",\n HOLAM_HASER: \"\u014D\",\n QUBUTS: \"\u016B\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"o\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"\u00EE\",\n TSERE_YOD: \"\u00EA\",\n SEGOL_YOD: \"\u00EA\",\n SHUREQ: \"\u00FB\",\n HOLAM_VAV: \"\u00F4\",\n QAMATS_HE: \"\u00E2\",\n SEGOL_HE: \"\u00EA\",\n TSERE_HE: \"\u00EA\",\n MS_SUFX: \"\u0101yw\",\n ALEF: \"\u02BE\",\n BET: \"b\u0331\",\n BET_DAGESH: \"b\",\n GIMEL: \"g\u0331\",\n GIMEL_DAGESH: \"g\",\n DALET: \"d\u0331\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"w\",\n ZAYIN: \"z\",\n HET: \"\u1E25\",\n TET: \"\u1E6D\",\n YOD: \"y\",\n FINAL_KAF: \"k\u0331\",\n KAF: \"k\u0331\",\n KAF_DAGESH: \"k\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u02BF\",\n FINAL_PE: \"p\u0331\",\n PE: \"p\u0331\",\n PE_DAGESH: \"p\",\n FINAL_TSADI: \"\u1E63\",\n TSADI: \"\u1E63\",\n QOF: \"q\",\n RESH: \"r\",\n SHIN: \"\u0161\",\n SIN: \"\u015B\",\n TAV: \"t\u0331\",\n TAV_DAGESH: \"t\",\n DIVINE_NAME: \"yhwh\",\n longVowels: true,\n qametsQatan: true,\n shevaAfterMeteg: true,\n sqnmlvy: true,\n wawShureq: true,\n article: true,\n allowNoNiqqud: true,\n strict: false,\n holemHaser: \"remove\"\n};\n"],
4
+ "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const sblAcademicSpirantization: Schema = {\n VOCAL_SHEVA: \"\u0259\",\n HATAF_SEGOL: \"\u0115\",\n HATAF_PATAH: \"\u0103\",\n HATAF_QAMATS: \"\u014F\",\n HIRIQ: \"i\",\n TSERE: \"\u0113\",\n SEGOL: \"e\",\n PATAH: \"a\",\n QAMATS: \"\u0101\",\n HOLAM: \"\u014D\",\n HOLAM_HASER: \"\u014D\",\n QUBUTS: \"\u016B\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"o\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"\u00EE\",\n TSERE_YOD: \"\u00EA\",\n SEGOL_YOD: \"\u00EA\",\n SHUREQ: \"\u00FB\",\n HOLAM_VAV: \"\u00F4\",\n QAMATS_HE: \"\u00E2\",\n SEGOL_HE: \"\u00EA\",\n TSERE_HE: \"\u00EA\",\n MS_SUFX: \"\u0101yw\",\n ALEF: \"\u02BE\",\n BET: \"b\u0331\",\n BET_DAGESH: \"b\",\n GIMEL: \"g\u0331\",\n GIMEL_DAGESH: \"g\",\n DALET: \"d\u0331\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"w\",\n ZAYIN: \"z\",\n HET: \"\u1E25\",\n TET: \"\u1E6D\",\n YOD: \"y\",\n FINAL_KAF: \"k\u0331\",\n KAF: \"k\u0331\",\n KAF_DAGESH: \"k\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u02BF\",\n FINAL_PE: \"p\u0331\",\n PE: \"p\u0331\",\n PE_DAGESH: \"p\",\n FINAL_TSADI: \"\u1E63\",\n TSADI: \"\u1E63\",\n QOF: \"q\",\n RESH: \"r\",\n SHIN: \"\u0161\",\n SIN: \"\u015B\",\n TAV: \"t\u0331\",\n TAV_DAGESH: \"t\",\n DIVINE_NAME: \"yhwh\",\n longVowels: true,\n qametsQatan: true,\n shevaAfterMeteg: true,\n sqnmlvy: true,\n wawShureq: true,\n article: true,\n allowNoNiqqud: true,\n strict: false,\n holemHaser: \"remove\"\n};\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;AAEA;;;;;AAAO,MAAM,4BAAoC;EAC/C,aAAa;EACb,aAAa;EACb,aAAa;EACb,cAAc;EACd,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EACP,QAAQ;EACR,OAAO;EACP,aAAa;EACb,QAAQ;EACR,QAAQ;EACR,eAAe;EACf,OAAO;EACP,OAAO;EACP,WAAW;EACX,cAAc;EACd,eAAe;EACf,WAAW;EACX,WAAW;EACX,WAAW;EACX,QAAQ;EACR,WAAW;EACX,WAAW;EACX,UAAU;EACV,UAAU;EACV,SAAS;EACT,MAAM;EACN,KAAK;EACL,YAAY;EACZ,OAAO;EACP,cAAc;EACd,OAAO;EACP,cAAc;EACd,IAAI;EACJ,KAAK;EACL,OAAO;EACP,KAAK;EACL,KAAK;EACL,KAAK;EACL,WAAW;EACX,KAAK;EACL,YAAY;EACZ,OAAO;EACP,WAAW;EACX,KAAK;EACL,WAAW;EACX,KAAK;EACL,QAAQ;EACR,MAAM;EACN,UAAU;EACV,IAAI;EACJ,WAAW;EACX,aAAa;EACb,OAAO;EACP,KAAK;EACL,MAAM;EACN,MAAM;EACN,KAAK;EACL,KAAK;EACL,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,aAAa;EACb,iBAAiB;EACjB,SAAS;EACT,WAAW;EACX,SAAS;EACT,eAAe;EACf,QAAQ;EACR,YAAY;;",
6
6
  "names": []
7
7
  }
@@ -327,7 +327,7 @@ const tiberian = {
327
327
  }
328
328
  return vowelChar;
329
329
  }
330
- const noMaterText = syllable.clusters.filter((c) => !c.isMater).map((c) => c.text).join("").replace(/(\u{05B9}.{1})\u{05D4}(?!\u{05BC})/u, "$1");
330
+ const noMaterText = syllable.clusters.filter((c) => !c.isMater).map((c) => c.text).join("").replace(/([\u{05B5}\u{05B6}\u{05B9}].{1})\u{05D4}(?!\u{05BC})/u, "$1");
331
331
  const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);
332
332
  const lengthMarker = "\u02D0";
333
333
  const halfLengthMarker = "\u02D1";
@@ -450,9 +450,14 @@ const tiberian = {
450
450
  },
451
451
  {
452
452
  FEATURE: "syllable",
453
- HEBREW: /\u{5B4}ם/u,
454
- TRANSLITERATION: (syl, heb) => {
455
- return syl.text.replace(heb, "jim");
453
+ HEBREW: /^\u{5B4}\u{5DD}/u,
454
+ TRANSLITERATION: (syl, heb, schema) => {
455
+ var _a;
456
+ const prev = (_a = syl.prev) == null ? void 0 : _a.value;
457
+ if (prev && !prev.isClosed && !prev.hasVowelName("QAMATS") && !prev.hasVowelName("PATAH") && prev.onset !== "\u05DC") {
458
+ return syl.text;
459
+ }
460
+ return syl.text.replace(heb, `${schema["YOD"]}${schema["HIRIQ"]}${schema["FINAL_MEM"]}`);
456
461
  }
457
462
  },
458
463
  {