hebrew-transliteration 2.6.2 → 2.6.4

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.
package/dist/cjs/rules.js CHANGED
@@ -331,17 +331,20 @@ const sylRules = (syl, schema) => {
331
331
  };
332
332
  const wordRules = (word, schema) => {
333
333
  var _a, _b;
334
- if (word.isDivineName)
334
+ if (word.isDivineName) {
335
335
  return getDivineName(word.text, schema);
336
- if (word.hasDivineName)
336
+ }
337
+ if (word.hasDivineName) {
337
338
  return `${sylRules(word.syllables[0], schema)}-${getDivineName(word.text, schema)}`;
338
- if (word.isNotHebrew)
339
+ }
340
+ if (word.isNotHebrew) {
339
341
  return word.text;
342
+ }
343
+ const text = word.text.replace(taamim, "");
340
344
  if ((_a = schema.ADDITIONAL_FEATURES) == null ? void 0 : _a.length) {
341
345
  const seqs = schema.ADDITIONAL_FEATURES;
342
346
  for (const seq of seqs) {
343
347
  const heb = new RegExp(seq.HEBREW, "u");
344
- const text = word.text.replace(taamim, "");
345
348
  if (seq.FEATURE === "word" && heb.test(text)) {
346
349
  const transliteration = seq.TRANSLITERATION;
347
350
  const passThrough = (_b = seq.PASS_THROUGH) != null ? _b : true;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/rules.ts"],
4
- "sourcesContent": ["import { Cluster } from \"havarotjs/cluster\";\nimport { Syllable } from \"havarotjs/syllable\";\nimport { Word } from \"havarotjs/word\";\nimport { hebChars, clusterSplitGroup } from \"havarotjs/utils/regularExpressions\";\nimport { Schema } from \"./schema\";\nimport { transliterateMap as map } from \"./hebCharsTrans\";\n\nconst taamim = /[\\u{0590}-\\u{05AF}\\u{05BD}\\u{05BF}]/gu;\n\n/**\n * maps Hebrew characters to schema\n *\n * @param input - text to be transliterated\n * @param schema - a {@link Schema} for transliterating the input\n * @returns transliteration of characters\n *\n */\nconst mapChars = (schema: Schema) => (input: string) => {\n return [...input].map((char: string) => (char in map ? schema[map[char]] : char)).join(\"\");\n};\n\n/**\n * a wrapper around String.replace() to constrain to a RegExp\n *\n * @param input the string to be modified\n * @param regex the regex to be used as the search value\n * @param replaceValue the string to replace the regex\n * @returns\n */\nconst replaceWithRegex = (input: string, regex: RegExp, replaceValue: string) => input.replace(regex, replaceValue);\n\n/**\n * replaces part of a string and transliterates the remaining characters according to the schema\n *\n * @example\n * ```ts\n * // replaces \u05D1\u05B8 as VA, but only when matching the regex sequence\n * const betAndQamats = /\\u{05D1}\\u{05B8}/u\n * replaceAndTransliterate(\"\u05D3\u05BC\u05B8\u05D1\u05B8\u05E8\", betAndQamats, \"VA\", schema);\n * // d\u0101VAr\n * ```\n *\n * @param input the text to be transliterated\n * @param regex the regex used as the search value\n * @param replaceValue the string to replace the regex\n * @param schema the Schema\n * @returns\n */\nexport const replaceAndTransliterate = (input: string, regex: RegExp, replaceValue: string, schema: Schema) => {\n const sylSeq = replaceWithRegex(input, regex, replaceValue);\n return [...sylSeq].map(mapChars(schema)).join(\"\");\n};\n\nconst isDageshChazaq = (cluster: Cluster, schema: Schema) => {\n // if there is no dagesh chazaq in the schema, then return false\n if (!schema.DAGESH_CHAZAQ) {\n return false;\n }\n\n // a shureq could potentially match because of dagesh\n if (cluster.isShureq) {\n return false;\n }\n\n // if there is no dagesh in the text, then return false\n if (!/\\u{05BC}/u.test(cluster.text)) {\n return false;\n }\n\n const prevWord = cluster.syllable?.word?.prev?.value;\n if (prevWord && prevWord?.isInConstruct && !prevWord.syllables[prevWord.syllables.length - 1].isClosed) {\n return true;\n }\n\n // this could be a code smell, b/c the copySyllable function results are not the most predictable\n const prevSyllable = cluster.syllable?.prev;\n if (!prevSyllable) {\n return false;\n }\n\n const prevCoda = prevSyllable.value?.codaWithGemination;\n if (!prevCoda) {\n return false;\n }\n\n return prevCoda === cluster.syllable?.onset;\n};\n\nconst getDageshChazaqVal = (input: string, dagesh: Schema[\"DAGESH_CHAZAQ\"], isChazaq: boolean) => {\n if (!isChazaq) {\n return input;\n }\n\n if (typeof dagesh === \"boolean\") {\n return input.repeat(2);\n }\n\n return input + dagesh;\n};\n\n/**\n * formats the Divine Name with any Latin chars\n *\n * @param str word text\n * @param schema\n * @returns the Divine Name with any pre or proceding Latin chars\n */\nconst getDivineName = (str: string, schema: Schema): string => {\n const begn = str[0];\n const end = str[str.length - 1];\n // if DN is pointed with a hiriq, then it is read as 'elohim\n const divineName =\n schema.DIVINE_NAME_ELOHIM && /\\u{05B4}/u.test(str) ? schema.DIVINE_NAME_ELOHIM : schema.DIVINE_NAME;\n return `${hebChars.test(begn) ? \"\" : begn}${divineName}${hebChars.test(end) ? \"\" : end}`;\n};\n\nconst materFeatures = (syl: Syllable, schema: Schema) => {\n const mater = syl.clusters.filter((c) => c.isMater)[0];\n const prev = mater.prev instanceof Cluster ? mater.prev : null;\n const materText = mater.text;\n const prevText = (prev?.text || \"\").replace(taamim, \"\");\n // string comprised of all non-mater clusters in a syl with a mater\n let noMaterText = syl.clusters\n .filter((c) => !c.isMater)\n .map((c) => consonantFeatures(c.text.replace(taamim, \"\"), syl, c, schema))\n .join(\"\");\n\n // workaround for maqaf\n const hasMaqaf = mater.text.includes(\"\u05BE\");\n noMaterText = hasMaqaf ? noMaterText.concat(\"\u05BE\") : noMaterText;\n\n if (/\u05D9/.test(materText)) {\n // hiriq\n if (/\\u{05B4}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B4}/u, schema.HIRIQ_YOD);\n }\n // tsere\n if (/\\u{05B5}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B5}/u, schema.TSERE_YOD);\n }\n // segol\n if (/\\u{05B6}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B6}/u, schema.SEGOL_YOD);\n }\n }\n\n if (/\u05D5/u.test(materText)) {\n // holam\n if (/\\u{05B9}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B9}/u, schema.HOLAM_VAV);\n }\n }\n\n if (/\u05D4/.test(materText)) {\n // qamets\n if (/\\u{05B8}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B8}/u, schema.QAMATS_HE);\n }\n\n // seghol\n if (/\\u{05B6}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B6}/u, schema.SEGOL_HE);\n }\n\n // tsere\n if (/\\u{05B5}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B5}/u, schema.TSERE_HE);\n }\n }\n\n return materText;\n};\n\nconst joinSyllableChars = (syl: Syllable, sylChars: string[], schema: Schema): string => {\n const isInConstruct = syl.word?.isInConstruct;\n\n if (isInConstruct) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (!syl.isAccented) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n // if syllable is only punctuation (e.g. a paseq), it should not receive a stress marker\n const isOnlyPunctuation = syl.clusters.map((c) => c.isPunctuation).every((c) => c);\n if (isOnlyPunctuation) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (schema.STRESS_MARKER) {\n const exclude = schema.STRESS_MARKER?.exclude ?? \"never\";\n\n if (exclude === \"single\" && !syl.prev && !syl.next) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (exclude === \"final\" && !syl.next) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n const location = schema.STRESS_MARKER.location;\n const mark = schema.STRESS_MARKER.mark;\n\n // if the stress marker is already present, no need to add it again\n if (syl.text.includes(mark)) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (location === \"before-syllable\") {\n const isDoubled = syl.clusters.map((c) => isDageshChazaq(c, schema)).includes(true);\n if (isDoubled) {\n const chars = sylChars.map(mapChars(schema)).join(\"\");\n const [first, ...rest] = chars;\n return `${first}${mark}${rest.join(\"\")}`;\n }\n\n return `${mark}${sylChars.map(mapChars(schema)).join(\"\")}`;\n }\n\n if (location === \"after-syllable\") {\n return `${sylChars.map(mapChars(schema)).join(\"\")}${mark}`;\n }\n\n const vowels = [\n schema.PATAH,\n schema.HATAF_PATAH,\n schema.QAMATS,\n schema.HATAF_QAMATS,\n schema.SEGOL,\n schema.HATAF_SEGOL,\n schema.TSERE,\n schema.HIRIQ,\n schema.HOLAM,\n schema.QAMATS_QATAN,\n schema.QUBUTS,\n schema.QAMATS_HE,\n schema.SEGOL_HE,\n schema.TSERE_HE,\n schema.HIRIQ_YOD,\n schema.TSERE_YOD,\n schema.SEGOL_YOD,\n schema.HOLAM_VAV,\n schema.SHUREQ\n ].sort((a, b) => b.length - a.length);\n const vowelRgx = new RegExp(`${vowels.join(\"|\")}`);\n const str = sylChars.map(mapChars(schema)).join(\"\");\n const match = str.match(vowelRgx);\n\n if (location === \"before-vowel\") {\n return match?.length ? str.replace(match[0], `${mark}${match[0]}`) : str;\n }\n\n // after-vowel\n return match?.length ? str.replace(match[0], `${match[0]}${mark}`) : str;\n }\n\n return sylChars.map(mapChars(schema)).join(\"\");\n};\n\nconst consonantFeatures = (clusterText: string, syl: Syllable, cluster: Cluster, schema: Schema) => {\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n if (seq.FEATURE === \"cluster\" && heb.test(clusterText)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(clusterText, heb, transliteration, schema);\n }\n if (!passThrough) {\n return transliteration(cluster, seq.HEBREW, schema);\n }\n clusterText = transliteration(cluster, seq.HEBREW, schema);\n }\n }\n }\n\n clusterText = cluster.hasSheva && syl.isClosed ? clusterText.replace(/\\u{05B0}/u, \"\") : clusterText;\n\n // mappiq he\n if (/\u05D4\\u{05BC}$/mu.test(clusterText)) {\n return replaceWithRegex(clusterText, /\u05D4\\u{05BC}/u, schema.HE);\n }\n\n if (syl.isFinal && !syl.isClosed) {\n const furtiveChet = /\\u{05D7}\\u{05B7}$/mu;\n if (furtiveChet.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveChet, \"\\u{05B7}\\u{05D7}\");\n }\n\n const furtiveAyin = /\\u{05E2}\\u{05B7}$/mu;\n if (furtiveAyin.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveAyin, \"\\u{05B7}\\u{05E2}\");\n }\n\n const furtiveHe = /\\u{05D4}\\u{05BC}\\u{05B7}$/mu;\n if (furtiveHe.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveHe, \"\\u{05B7}\\u{05D4}\\u{05BC}\");\n }\n }\n\n // dagesh chazaq\n const isDageshChazq = isDageshChazaq(cluster, schema);\n\n if (schema.BET_DAGESH && /\u05D1\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D1\\u{05BC}/u,\n getDageshChazaqVal(schema.BET_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.GIMEL_DAGESH && /\u05D2\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D2\\u{05BC}/u,\n getDageshChazaqVal(schema.GIMEL_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.DALET_DAGESH && /\u05D3\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D3\\u{05BC}/u,\n getDageshChazaqVal(schema.DALET_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.KAF_DAGESH && /\u05DB\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05DB\\u{05BC}/u,\n getDageshChazaqVal(schema.KAF_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.KAF_DAGESH && /\u05DA\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05DA\\u{05BC}/u,\n getDageshChazaqVal(schema.KAF_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.PE_DAGESH && /\u05E4\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E4\\u{05BC}/u,\n getDageshChazaqVal(schema.PE_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.TAV_DAGESH && /\u05EA\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05EA\\u{05BC}/u,\n getDageshChazaqVal(schema.TAV_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (/\u05E9\\u{05C1}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E9\\u{05C1}/u,\n getDageshChazaqVal(schema.SHIN, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (/\u05E9\\u{05C2}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E9\\u{05C2}/u,\n getDageshChazaqVal(schema.SIN, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (isDageshChazq) {\n const consonant = cluster.chars[0].text;\n const consonantDagesh = new RegExp(consonant + \"\\u{05BC}\", \"u\");\n return replaceWithRegex(\n clusterText,\n consonantDagesh,\n getDageshChazaqVal(consonant, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (cluster.isShureq) {\n return clusterText.replace(\"\u05D5\u05BC\", schema.SHUREQ);\n }\n\n return clusterText;\n};\n\nconst copySyllable = (newText: string, old: Syllable) => {\n const newClusters = newText.split(clusterSplitGroup).map((clusterString) => new Cluster(clusterString, true));\n const oldClusters = old.clusters;\n\n // set prev and next based on old syllable\n if (newClusters.length === oldClusters.length) {\n newClusters.forEach((c, i) => ((c.prev = oldClusters[i]?.prev ?? null), (c.next = oldClusters[i]?.next ?? null)));\n } else {\n for (let i = 0; i < newClusters.length; i++) {\n const c = newClusters[i];\n if (oldClusters[i]?.text[0] === c?.text[0]) {\n c.prev = oldClusters[i]?.prev ?? null;\n c.next = oldClusters[i]?.next ?? null;\n } else {\n c.prev = oldClusters[i]?.prev ?? null;\n c.next = oldClusters[i + 1]?.next ?? null;\n i++;\n }\n }\n }\n\n const newSyl = new Syllable(newClusters, {\n isClosed: old.isClosed,\n isAccented: old.isAccented,\n isFinal: old.isFinal\n });\n\n newClusters.forEach((c) => (c.syllable = newSyl));\n\n newSyl.prev = old.prev;\n newSyl.next = old.next;\n newSyl.word = old.word;\n\n return newSyl;\n};\n\nexport const sylRules = (syl: Syllable, schema: Schema): string => {\n const sylTxt = syl.text.replace(taamim, \"\");\n\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n if (seq.FEATURE === \"syllable\" && heb.test(sylTxt)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n\n // if transliteration is a string, then replace\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(sylTxt, heb, transliteration, schema);\n }\n\n // if transliteration is a function and passThrough is false, then transliterate and exit\n if (!passThrough) {\n return transliteration(syl, seq.HEBREW, schema);\n }\n\n const newText = transliteration(syl, seq.HEBREW, schema);\n\n // if the transliteration just returns the syllable.text, then no need to copy the syllable\n if (newText !== sylTxt) {\n syl = copySyllable(newText, syl);\n }\n }\n } // end of seqs loop\n }\n\n // syllable is 3ms sufx\n const mSSuffix = /\\u{05B8}\\u{05D9}\\u{05D5}/u;\n if (syl.isFinal && mSSuffix.test(sylTxt)) {\n const sufxSyl = replaceWithRegex(sylTxt, mSSuffix, schema.MS_SUFX);\n return joinSyllableChars(syl, [...sufxSyl], schema);\n }\n\n // syllable has a mater\n const hasMater = syl.clusters.map((c) => c.isMater).includes(true);\n if (hasMater) {\n const materSyl = materFeatures(syl, schema);\n return joinSyllableChars(syl, [...materSyl], schema);\n }\n\n // regular syllables\n const returnTxt = syl.clusters.map((cluster) => {\n const clusterText = cluster.text.replace(taamim, \"\");\n return consonantFeatures(clusterText, syl, cluster, schema);\n });\n\n // there may be taamim still in the text, so remove them\n return joinSyllableChars(syl, returnTxt, schema).replace(taamim, \"\");\n};\n\nexport const wordRules = (word: Word, schema: Schema): string | Word => {\n if (word.isDivineName) return getDivineName(word.text, schema);\n if (word.hasDivineName) return `${sylRules(word.syllables[0], schema)}-${getDivineName(word.text, schema)}`;\n if (word.isNotHebrew) return word.text;\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n const text = word.text.replace(taamim, \"\");\n if (seq.FEATURE === \"word\" && heb.test(text)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(text, heb, transliteration, schema);\n }\n if (!passThrough) {\n return transliteration(word, seq.HEBREW, schema);\n }\n return new Word(transliteration(word, seq.HEBREW, schema), schema);\n }\n }\n return word;\n }\n return word;\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Cluster } from \"havarotjs/cluster\";\nimport { Syllable } from \"havarotjs/syllable\";\nimport { Word } from \"havarotjs/word\";\nimport { hebChars, clusterSplitGroup } from \"havarotjs/utils/regularExpressions\";\nimport { Schema } from \"./schema\";\nimport { transliterateMap as map } from \"./hebCharsTrans\";\n\nconst taamim = /[\\u{0590}-\\u{05AF}\\u{05BD}\\u{05BF}]/gu;\n\n/**\n * maps Hebrew characters to schema\n *\n * @param input - text to be transliterated\n * @param schema - a {@link Schema} for transliterating the input\n * @returns transliteration of characters\n *\n */\nconst mapChars = (schema: Schema) => (input: string) => {\n return [...input].map((char: string) => (char in map ? schema[map[char]] : char)).join(\"\");\n};\n\n/**\n * a wrapper around String.replace() to constrain to a RegExp\n *\n * @param input the string to be modified\n * @param regex the regex to be used as the search value\n * @param replaceValue the string to replace the regex\n * @returns\n */\nconst replaceWithRegex = (input: string, regex: RegExp, replaceValue: string) => input.replace(regex, replaceValue);\n\n/**\n * replaces part of a string and transliterates the remaining characters according to the schema\n *\n * @example\n * ```ts\n * // replaces \u05D1\u05B8 as VA, but only when matching the regex sequence\n * const betAndQamats = /\\u{05D1}\\u{05B8}/u\n * replaceAndTransliterate(\"\u05D3\u05BC\u05B8\u05D1\u05B8\u05E8\", betAndQamats, \"VA\", schema);\n * // d\u0101VAr\n * ```\n *\n * @param input the text to be transliterated\n * @param regex the regex used as the search value\n * @param replaceValue the string to replace the regex\n * @param schema the Schema\n * @returns\n */\nexport const replaceAndTransliterate = (input: string, regex: RegExp, replaceValue: string, schema: Schema) => {\n const sylSeq = replaceWithRegex(input, regex, replaceValue);\n return [...sylSeq].map(mapChars(schema)).join(\"\");\n};\n\nconst isDageshChazaq = (cluster: Cluster, schema: Schema) => {\n // if there is no dagesh chazaq in the schema, then return false\n if (!schema.DAGESH_CHAZAQ) {\n return false;\n }\n\n // a shureq could potentially match because of dagesh\n if (cluster.isShureq) {\n return false;\n }\n\n // if there is no dagesh in the text, then return false\n if (!/\\u{05BC}/u.test(cluster.text)) {\n return false;\n }\n\n const prevWord = cluster.syllable?.word?.prev?.value;\n if (prevWord && prevWord?.isInConstruct && !prevWord.syllables[prevWord.syllables.length - 1].isClosed) {\n return true;\n }\n\n // this could be a code smell, b/c the copySyllable function results are not the most predictable\n const prevSyllable = cluster.syllable?.prev;\n if (!prevSyllable) {\n return false;\n }\n\n const prevCoda = prevSyllable.value?.codaWithGemination;\n if (!prevCoda) {\n return false;\n }\n\n return prevCoda === cluster.syllable?.onset;\n};\n\nconst getDageshChazaqVal = (input: string, dagesh: Schema[\"DAGESH_CHAZAQ\"], isChazaq: boolean) => {\n if (!isChazaq) {\n return input;\n }\n\n if (typeof dagesh === \"boolean\") {\n return input.repeat(2);\n }\n\n return input + dagesh;\n};\n\n/**\n * formats the Divine Name with any Latin chars\n *\n * @param str word text\n * @param schema\n * @returns the Divine Name with any pre or proceding Latin chars\n */\nconst getDivineName = (str: string, schema: Schema): string => {\n const begn = str[0];\n const end = str[str.length - 1];\n // if DN is pointed with a hiriq, then it is read as 'elohim\n const divineName =\n schema.DIVINE_NAME_ELOHIM && /\\u{05B4}/u.test(str) ? schema.DIVINE_NAME_ELOHIM : schema.DIVINE_NAME;\n return `${hebChars.test(begn) ? \"\" : begn}${divineName}${hebChars.test(end) ? \"\" : end}`;\n};\n\nconst materFeatures = (syl: Syllable, schema: Schema) => {\n const mater = syl.clusters.filter((c) => c.isMater)[0];\n const prev = mater.prev instanceof Cluster ? mater.prev : null;\n const materText = mater.text;\n const prevText = (prev?.text || \"\").replace(taamim, \"\");\n // string comprised of all non-mater clusters in a syl with a mater\n let noMaterText = syl.clusters\n .filter((c) => !c.isMater)\n .map((c) => consonantFeatures(c.text.replace(taamim, \"\"), syl, c, schema))\n .join(\"\");\n\n // workaround for maqaf\n const hasMaqaf = mater.text.includes(\"\u05BE\");\n noMaterText = hasMaqaf ? noMaterText.concat(\"\u05BE\") : noMaterText;\n\n if (/\u05D9/.test(materText)) {\n // hiriq\n if (/\\u{05B4}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B4}/u, schema.HIRIQ_YOD);\n }\n // tsere\n if (/\\u{05B5}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B5}/u, schema.TSERE_YOD);\n }\n // segol\n if (/\\u{05B6}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B6}/u, schema.SEGOL_YOD);\n }\n }\n\n if (/\u05D5/u.test(materText)) {\n // holam\n if (/\\u{05B9}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B9}/u, schema.HOLAM_VAV);\n }\n }\n\n if (/\u05D4/.test(materText)) {\n // qamets\n if (/\\u{05B8}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B8}/u, schema.QAMATS_HE);\n }\n\n // seghol\n if (/\\u{05B6}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B6}/u, schema.SEGOL_HE);\n }\n\n // tsere\n if (/\\u{05B5}/u.test(prevText)) {\n return replaceWithRegex(noMaterText, /\\u{05B5}/u, schema.TSERE_HE);\n }\n }\n\n return materText;\n};\n\nconst joinSyllableChars = (syl: Syllable, sylChars: string[], schema: Schema): string => {\n const isInConstruct = syl.word?.isInConstruct;\n\n if (isInConstruct) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (!syl.isAccented) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n // if syllable is only punctuation (e.g. a paseq), it should not receive a stress marker\n const isOnlyPunctuation = syl.clusters.map((c) => c.isPunctuation).every((c) => c);\n if (isOnlyPunctuation) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (schema.STRESS_MARKER) {\n const exclude = schema.STRESS_MARKER?.exclude ?? \"never\";\n\n if (exclude === \"single\" && !syl.prev && !syl.next) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (exclude === \"final\" && !syl.next) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n const location = schema.STRESS_MARKER.location;\n const mark = schema.STRESS_MARKER.mark;\n\n // if the stress marker is already present, no need to add it again\n if (syl.text.includes(mark)) {\n return sylChars.map(mapChars(schema)).join(\"\");\n }\n\n if (location === \"before-syllable\") {\n const isDoubled = syl.clusters.map((c) => isDageshChazaq(c, schema)).includes(true);\n if (isDoubled) {\n const chars = sylChars.map(mapChars(schema)).join(\"\");\n const [first, ...rest] = chars;\n return `${first}${mark}${rest.join(\"\")}`;\n }\n\n return `${mark}${sylChars.map(mapChars(schema)).join(\"\")}`;\n }\n\n if (location === \"after-syllable\") {\n return `${sylChars.map(mapChars(schema)).join(\"\")}${mark}`;\n }\n\n const vowels = [\n schema.PATAH,\n schema.HATAF_PATAH,\n schema.QAMATS,\n schema.HATAF_QAMATS,\n schema.SEGOL,\n schema.HATAF_SEGOL,\n schema.TSERE,\n schema.HIRIQ,\n schema.HOLAM,\n schema.QAMATS_QATAN,\n schema.QUBUTS,\n schema.QAMATS_HE,\n schema.SEGOL_HE,\n schema.TSERE_HE,\n schema.HIRIQ_YOD,\n schema.TSERE_YOD,\n schema.SEGOL_YOD,\n schema.HOLAM_VAV,\n schema.SHUREQ\n ].sort((a, b) => b.length - a.length);\n const vowelRgx = new RegExp(`${vowels.join(\"|\")}`);\n const str = sylChars.map(mapChars(schema)).join(\"\");\n const match = str.match(vowelRgx);\n\n if (location === \"before-vowel\") {\n return match?.length ? str.replace(match[0], `${mark}${match[0]}`) : str;\n }\n\n // after-vowel\n return match?.length ? str.replace(match[0], `${match[0]}${mark}`) : str;\n }\n\n return sylChars.map(mapChars(schema)).join(\"\");\n};\n\nconst consonantFeatures = (clusterText: string, syl: Syllable, cluster: Cluster, schema: Schema) => {\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n if (seq.FEATURE === \"cluster\" && heb.test(clusterText)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(clusterText, heb, transliteration, schema);\n }\n if (!passThrough) {\n return transliteration(cluster, seq.HEBREW, schema);\n }\n clusterText = transliteration(cluster, seq.HEBREW, schema);\n }\n }\n }\n\n clusterText = cluster.hasSheva && syl.isClosed ? clusterText.replace(/\\u{05B0}/u, \"\") : clusterText;\n\n // mappiq he\n if (/\u05D4\\u{05BC}$/mu.test(clusterText)) {\n return replaceWithRegex(clusterText, /\u05D4\\u{05BC}/u, schema.HE);\n }\n\n if (syl.isFinal && !syl.isClosed) {\n const furtiveChet = /\\u{05D7}\\u{05B7}$/mu;\n if (furtiveChet.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveChet, \"\\u{05B7}\\u{05D7}\");\n }\n\n const furtiveAyin = /\\u{05E2}\\u{05B7}$/mu;\n if (furtiveAyin.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveAyin, \"\\u{05B7}\\u{05E2}\");\n }\n\n const furtiveHe = /\\u{05D4}\\u{05BC}\\u{05B7}$/mu;\n if (furtiveHe.test(clusterText)) {\n return replaceWithRegex(clusterText, furtiveHe, \"\\u{05B7}\\u{05D4}\\u{05BC}\");\n }\n }\n\n // dagesh chazaq\n const isDageshChazq = isDageshChazaq(cluster, schema);\n\n if (schema.BET_DAGESH && /\u05D1\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D1\\u{05BC}/u,\n getDageshChazaqVal(schema.BET_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.GIMEL_DAGESH && /\u05D2\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D2\\u{05BC}/u,\n getDageshChazaqVal(schema.GIMEL_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.DALET_DAGESH && /\u05D3\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05D3\\u{05BC}/u,\n getDageshChazaqVal(schema.DALET_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.KAF_DAGESH && /\u05DB\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05DB\\u{05BC}/u,\n getDageshChazaqVal(schema.KAF_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.KAF_DAGESH && /\u05DA\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05DA\\u{05BC}/u,\n getDageshChazaqVal(schema.KAF_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.PE_DAGESH && /\u05E4\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E4\\u{05BC}/u,\n getDageshChazaqVal(schema.PE_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (schema.TAV_DAGESH && /\u05EA\\u{05BC}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05EA\\u{05BC}/u,\n getDageshChazaqVal(schema.TAV_DAGESH, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (/\u05E9\\u{05C1}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E9\\u{05C1}/u,\n getDageshChazaqVal(schema.SHIN, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (/\u05E9\\u{05C2}/u.test(clusterText)) {\n return replaceWithRegex(\n clusterText,\n /\u05E9\\u{05C2}/u,\n getDageshChazaqVal(schema.SIN, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (isDageshChazq) {\n const consonant = cluster.chars[0].text;\n const consonantDagesh = new RegExp(consonant + \"\\u{05BC}\", \"u\");\n return replaceWithRegex(\n clusterText,\n consonantDagesh,\n getDageshChazaqVal(consonant, schema.DAGESH_CHAZAQ, isDageshChazq)\n );\n }\n\n if (cluster.isShureq) {\n return clusterText.replace(\"\u05D5\u05BC\", schema.SHUREQ);\n }\n\n return clusterText;\n};\n\nconst copySyllable = (newText: string, old: Syllable) => {\n const newClusters = newText.split(clusterSplitGroup).map((clusterString) => new Cluster(clusterString, true));\n const oldClusters = old.clusters;\n\n // set prev and next based on old syllable\n if (newClusters.length === oldClusters.length) {\n newClusters.forEach((c, i) => ((c.prev = oldClusters[i]?.prev ?? null), (c.next = oldClusters[i]?.next ?? null)));\n } else {\n for (let i = 0; i < newClusters.length; i++) {\n const c = newClusters[i];\n if (oldClusters[i]?.text[0] === c?.text[0]) {\n c.prev = oldClusters[i]?.prev ?? null;\n c.next = oldClusters[i]?.next ?? null;\n } else {\n c.prev = oldClusters[i]?.prev ?? null;\n c.next = oldClusters[i + 1]?.next ?? null;\n i++;\n }\n }\n }\n\n const newSyl = new Syllable(newClusters, {\n isClosed: old.isClosed,\n isAccented: old.isAccented,\n isFinal: old.isFinal\n });\n\n newClusters.forEach((c) => (c.syllable = newSyl));\n\n newSyl.prev = old.prev;\n newSyl.next = old.next;\n newSyl.word = old.word;\n\n return newSyl;\n};\n\nexport const sylRules = (syl: Syllable, schema: Schema): string => {\n const sylTxt = syl.text.replace(taamim, \"\");\n\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n if (seq.FEATURE === \"syllable\" && heb.test(sylTxt)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n\n // if transliteration is a string, then replace\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(sylTxt, heb, transliteration, schema);\n }\n\n // if transliteration is a function and passThrough is false, then transliterate and exit\n if (!passThrough) {\n return transliteration(syl, seq.HEBREW, schema);\n }\n\n const newText = transliteration(syl, seq.HEBREW, schema);\n\n // if the transliteration just returns the syllable.text, then no need to copy the syllable\n if (newText !== sylTxt) {\n syl = copySyllable(newText, syl);\n }\n }\n } // end of seqs loop\n }\n\n // syllable is 3ms sufx\n const mSSuffix = /\\u{05B8}\\u{05D9}\\u{05D5}/u;\n if (syl.isFinal && mSSuffix.test(sylTxt)) {\n const sufxSyl = replaceWithRegex(sylTxt, mSSuffix, schema.MS_SUFX);\n return joinSyllableChars(syl, [...sufxSyl], schema);\n }\n\n // syllable has a mater\n const hasMater = syl.clusters.map((c) => c.isMater).includes(true);\n if (hasMater) {\n const materSyl = materFeatures(syl, schema);\n return joinSyllableChars(syl, [...materSyl], schema);\n }\n\n // regular syllables\n const returnTxt = syl.clusters.map((cluster) => {\n const clusterText = cluster.text.replace(taamim, \"\");\n return consonantFeatures(clusterText, syl, cluster, schema);\n });\n\n // there may be taamim still in the text, so remove them\n return joinSyllableChars(syl, returnTxt, schema).replace(taamim, \"\");\n};\n\nexport const wordRules = (word: Word, schema: Schema): string | Word => {\n if (word.isDivineName) {\n return getDivineName(word.text, schema);\n }\n\n if (word.hasDivineName) {\n return `${sylRules(word.syllables[0], schema)}-${getDivineName(word.text, schema)}`;\n }\n\n if (word.isNotHebrew) {\n return word.text;\n }\n\n const text = word.text.replace(taamim, \"\");\n if (schema.ADDITIONAL_FEATURES?.length) {\n const seqs = schema.ADDITIONAL_FEATURES;\n for (const seq of seqs) {\n const heb = new RegExp(seq.HEBREW, \"u\");\n if (seq.FEATURE === \"word\" && heb.test(text)) {\n const transliteration = seq.TRANSLITERATION;\n const passThrough = seq.PASS_THROUGH ?? true;\n if (typeof transliteration === \"string\") {\n return replaceAndTransliterate(text, heb, transliteration, schema);\n }\n if (!passThrough) {\n return transliteration(word, seq.HEBREW, schema);\n }\n return new Word(transliteration(word, seq.HEBREW, schema), schema);\n }\n }\n return word;\n }\n return word;\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["map", "_a", "_b", "_c", "_d"]
7
7
  }
@@ -297,8 +297,8 @@ const tiberian = {
297
297
  FEATURE: "syllable",
298
298
  HEBREW: /[\u{05B4}-\u{05BB}\u{05C7}]/u,
299
299
  TRANSLITERATION: (syllable, _, schema) => {
300
- const vowelName = syllable.vowelName;
301
- const vowel = syllable.vowel;
300
+ const vowelName = syllable.vowelNames[0];
301
+ const vowel = syllable.vowels[0];
302
302
  if (!vowel || !vowelName) {
303
303
  return syllable.text;
304
304
  }
@@ -363,8 +363,8 @@ const tiberian = {
363
363
  FEATURE: "syllable",
364
364
  HEBREW: /[\u{05B1}-\u{05B3}]/u,
365
365
  TRANSLITERATION: (syllable) => {
366
- const vowelName = syllable.vowelName;
367
- const vowel = syllable.vowel;
366
+ const vowelName = syllable.vowelNames[0];
367
+ const vowel = syllable.vowels[0];
368
368
  if (!vowel || !vowelName) {
369
369
  return syllable.text;
370
370
  }
@@ -438,7 +438,7 @@ const tiberian = {
438
438
  if (!isGuttural) {
439
439
  return transliterateShevaAsVowel(isBackUnrounded() ? "\u0251" : schema["PATAH"]);
440
440
  }
441
- const nextVowel = nextSyllable.vowelName;
441
+ const nextVowel = nextSyllable.vowelNames[0];
442
442
  if (!nextVowel) {
443
443
  throw new Error(`Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`);
444
444
  }
@@ -447,6 +447,26 @@ const tiberian = {
447
447
  }
448
448
  return transliterateShevaAsVowel(schema[nextVowel]);
449
449
  }
450
+ },
451
+ {
452
+ FEATURE: "syllable",
453
+ HEBREW: /\u{5B4}ם/u,
454
+ TRANSLITERATION: (syl, heb) => {
455
+ return syl.text.replace(heb, "jim");
456
+ }
457
+ },
458
+ {
459
+ FEATURE: "word",
460
+ HEBREW: /(וְ)?יִשָּׂשכָר/,
461
+ PASS_THROUGH: true,
462
+ TRANSLITERATION: (word, heb) => {
463
+ const taamim = /[\u{0590}-\u{05AF}\u{05BD}\u{05BF}]/gu;
464
+ const text = word.text.replace(taamim, "");
465
+ const match = text.match(heb);
466
+ const vav = match && match[1] ? match[1] : "";
467
+ const issachar = "jiss\u0254\u02D0\u02C8\u03C7\u0254\u02D0\u0254\u0280\u031F";
468
+ return `${vav}${issachar}`;
469
+ }
450
470
  }
451
471
  ],
452
472
  allowNoNiqqud: false,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/schemas/tiberian.ts"],
4
- "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const tiberian: Schema = {\n VOCAL_SHEVA: \"a\",\n HATAF_SEGOL: \"\u025B\",\n HATAF_PATAH: \"a\",\n HATAF_QAMATS: \"\u0254\",\n HIRIQ: \"i\",\n TSERE: \"e\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u0254\",\n HOLAM: \"o\",\n HOLAM_HASER: \"o\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u0254\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"i\u02D0\",\n TSERE_YOD: \"e\u02D0\",\n SEGOL_YOD: \"\u025B\u02D0\",\n SHUREQ: \"u\u02D0\",\n HOLAM_VAV: \"o\u02D0\",\n QAMATS_HE: \"\u0254\u02D0\",\n SEGOL_HE: \"\u025B\u02D0\",\n TSERE_HE: \"e\u02D0\",\n MS_SUFX: \"\u0254w\",\n ALEF: \"\u0294\",\n BET: \"v\",\n BET_DAGESH: \"b\",\n GIMEL: \"\u0281\",\n GIMEL_DAGESH: \"g\",\n DALET: \"\u00F0\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"v\",\n ZAYIN: \"z\",\n HET: \"\u0127\",\n TET: \"t\u02C1\",\n YOD: \"j\",\n FINAL_KAF: \"\u03C7\",\n KAF: \"\u03C7\",\n KAF_DAGESH: \"k\u02B0\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u0295\",\n FINAL_PE: \"f\",\n PE: \"f\",\n PE_DAGESH: \"p\u02B0\",\n FINAL_TSADI: \"s\u02C1\",\n TSADI: \"s\u02C1\",\n QOF: \"q\u031F\",\n RESH: \"\u0280\u031F\",\n SHIN: \"\u0283\",\n SIN: \"s\",\n TAV: \"\u03B8\",\n TAV_DAGESH: \"t\u02B0\",\n DIVINE_NAME: \"\u0294a\u00F0o\u02D0\u02C8n\u0254\u02D0\u0254j\",\n DIVINE_NAME_ELOHIM: \"\u0294\u025Blo\u02D0\u02C8hi\u02D0im\",\n STRESS_MARKER: { location: \"before-syllable\", mark: \"\u02C8\" },\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D9}\\u{05BC}\",\n TRANSLITERATION: (cluster, hebrew) => {\n return cluster.text.replace(hebrew, \"\u025F\u025F\");\n }\n },\n {\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 FEATURE: \"cluster\",\n HEBREW: /\u05E4(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E4\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"PE_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E4\u05BC\", `${noAspiration + schema[\"PE_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05D8\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05D8\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TET\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05D8\", `${noPharyngealization + schema[\"TET\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E6\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E6\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TSADI\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E6\", `${noPharyngealization + schema[\"TSADI\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /(\u05DB\u05BC|\u05DA\u05BC)(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA\u05BC[\\u{05B4}-\\u{05BB}]/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05DB\") && !prevCoda?.includes(\"\u05DA\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"KAF_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(/\u05DB\u05BC|\u05DA\u05BC/u, `${noAspiration + schema[\"KAF_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}(?![\\u{05B1}-\\u{05BB}\\u{05C7}])\",\n TRANSLITERATION: (cluster) => {\n const next = cluster.next?.value;\n if (next && next.isShureq) {\n return cluster.text;\n }\n\n return \"\";\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}\\u{05BC}\",\n TRANSLITERATION: (cluster) => {\n // remove the dagesh\n return cluster.text.replace(\"\\u{05BC}\", \"\");\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05E8/u,\n TRANSLITERATION: (syllable) => {\n // see TPT 229 for a summary if the pharyngealized resh\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n\n // find cluster containing resh\n const cluster = syllable.clusters.filter((c) => c.text.includes(\"\u05E8\"))[0];\n const prevCluster = cluster.prev?.value;\n const currentSyllable = cluster?.syllable;\n const [onset, _, coda] = currentSyllable ? currentSyllable.structure(true) : [\"\", \"\", \"\"];\n\n if (prevCluster && alveolars.test(prevCluster.text)) {\n if (onset.includes(\"\u05E8\") && !prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n const nextCluster = cluster.next?.value;\n const lamedAndNun = /[\u05DC\u05E0\u05DF]/;\n if (nextCluster && lamedAndNun.test(nextCluster.text)) {\n if (onset.includes(\"\u05E8\") && !cluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && cluster.hasSheva) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n // default\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D7\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before het preceded by vav or yod\n const prevText = syllable.prev?.value?.text || \"\";\n // see Khan 497-98 for examples involving length and the meteg\n // make sure to adjust other rules\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HET\"];\n }\n return schema[\"PATAH\"] + schema[\"HET\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05E2\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before ayin preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n return schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D4\\u{05BC}\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before he preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HE\"];\n }\n return schema[\"PATAH\"] + schema[\"HE\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05D5\u05BC(?![\\u{05B4}-\\u{05BB}])/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // finds a vav with a dagesh not followed by a vowel character\n // if the syllable is the first syllable, replace with wu\u02D0\n // syllable.clusters[0].isShureq is not totally necessary, but it's a good check\n if (!syllable.prev && syllable.clusters[0].isShureq) {\n const text = syllable.text;\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true); // also called gaya marking half long vowel length (\u00A71.2.8.2.2)\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n return text.replace(\"\u05D5\u05BC\", `${secondaryAccent}wu${halfLengthMarker}`);\n }\n\n if (syllable.isAccented && syllable.isClosed) {\n const noLength = schema[\"SHUREQ\"].replace(\"\u02D0\", \"\");\n return syllable.text.replace(\"\u05D5\u05BC\", schema[\"SHUREQ\"] + noLength);\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B4}-\\u{05BB}\\u{05C7}]/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // this features matches any syllable that has a full vowel character (i.e. not sheva)\n const vowelName = syllable.vowelName;\n const vowel = syllable.vowel;\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n // half vowels do not have length; exit early\n const hasHalfVowel = syllable.clusters.map((c) => c.hasHalfVowel).includes(true);\n if (hasHalfVowel) {\n throw new Error(`Syllable ${syllable.text} has a hataf as vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // exit early if not patach\n if (vowelName !== \"PATAH\" && vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n const noMaterText = syllable.clusters\n .filter((c) => !c.isMater)\n .map((c) => c.text)\n .join(\"\")\n // a holem followed by a he without a mappiq is not a mater\n // but b/c the he is not pronounced, we need to remove the final he\n .replace(/(\\u{05B9}.{1})\\u{05D4}(?!\\u{05BC})/u, \"$1\");\n\n const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);\n const lengthMarker = \"\u02D0\";\n const halfLengthMarker = \"\u02D1\";\n\n // See TPT \u00A71.2.10 concering meteg/gaya\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n if (hasMeteg) {\n const hasLongVowel = syllable.clusters.map((c) => c.hasLongVowel).includes(true);\n // when a meteg is present, the syllable implicitly has secondary stress\n // and the vowel is extended if it is not already long\n const firstConsonant = noMaterText[0];\n return noMaterText\n .replace(firstConsonant, `\u02CC${firstConsonant}`)\n .replace(vowel, `${determinePatachRealization(vowel)}${hasLongVowel ? lengthMarker : halfLengthMarker}`);\n }\n\n const isClosed = syllable.isClosed;\n const isAccented = syllable.isAccented;\n\n // TPT \u00A71.2.4, p288\n // When long vowels with the main stress occur in closed syllables,\n // there is evidence that an epenthetic with the same quality as that of the long vowel\n // occurred before the final consonant in its phonetic realization\"\n if (isAccented && isClosed) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1747967050\n const longerVowels = [\"HOLAM\", \"TSERE\", \"QAMATS\"];\n if (!isAccented && isClosed && !syllable.isFinal && longerVowels.includes(vowelName)) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // TPT \u00A71.2.2.1 p268\n // Vowels represented by basic vowel signs are long when they are either\n // (i) in a stressed syllable or (ii) in an unstressed open syllable.\n if (isAccented || (!isAccented && !isClosed)) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel) + lengthMarker}`);\n }\n\n if (!hasMaters && !isClosed && !isAccented) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B1}-\\u{05B3}]/u,\n TRANSLITERATION: (syllable) => {\n // this features matches any syllable that has a hataf vowel character\n const vowelName = syllable.vowelName;\n const vowel = syllable.vowel;\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n const hasNonHalfVowels = syllable.clusters.map((c) => c.hasShortVowel || c.hasLongVowel).includes(true);\n if (hasNonHalfVowels) {\n throw new Error(`Syllable ${syllable.text} does not have a hataf vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // exit early if not hataf patach\n if (vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized in the transliteration\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n // check for the \"environment of pharyngealized consonants\"\n // https://www.tiberianhebrew.com/patah\n if (nextOnset && /[\u05E6\u05E5\u05D8]/.test(nextOnset)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /(?<!.*([\\u{05B4}-\\u{05BB}\\u{05C7}]|\\u{05D5}\\u{05BC}).*)\\u{05B0}/u,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // matches any syllable that contains a sheva that is not preceded by a full vowel character [\\u{05B4}-\\u{05BB}\\u{05C7}]\n // or shureq \\u{5D5}\\u{5BC}\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) return syllable.text;\n\n const nextSylFirstCluster = nextSyllable.clusters[0].text;\n if (!nextSylFirstCluster) return syllable.text;\n\n const [onset, _, coda] = syllable.structure(true);\n\n function isBackUnrounded() {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // by this point, the resh has already been pharyngealized in the transliteration\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return true;\n }\n\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) {\n return false;\n }\n\n const nextOnset = nextSyllable.onset;\n if (pharyngealized.test(nextOnset)) {\n return true;\n }\n\n return false;\n }\n\n function transliterateShevaAsVowel(vowel: string) {\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n const newVowel = vowel.replace(\"\u02D0\", \"\") + halfLengthMarker;\n\n return secondaryAccent + syllable.text.replace(/\\u{05B0}/u, newVowel);\n }\n\n const isGuttural = /[\u05D0\u05D4\u05D7\u05E2]/.test(nextSylFirstCluster);\n if (!isGuttural) {\n return transliterateShevaAsVowel(isBackUnrounded() ? \"\u0251\" : schema[\"PATAH\"]);\n }\n\n const nextVowel = nextSyllable.vowelName;\n if (!nextVowel) {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`\n );\n }\n\n if (nextVowel === \"SHEVA\") {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} also has a sheva as a vowel`\n );\n }\n\n return transliterateShevaAsVowel(schema[nextVowel]);\n }\n }\n ],\n allowNoNiqqud: false,\n article: false,\n holemHaser: \"remove\",\n longVowels: false,\n qametsQatan: true,\n shevaAfterMeteg: false,\n shevaWithMeteg: true,\n sqnmlvy: false,\n strict: true,\n wawShureq: false\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { Schema } from \"../schema\";\n\nexport const tiberian: Schema = {\n VOCAL_SHEVA: \"a\",\n HATAF_SEGOL: \"\u025B\",\n HATAF_PATAH: \"a\",\n HATAF_QAMATS: \"\u0254\",\n HIRIQ: \"i\",\n TSERE: \"e\",\n SEGOL: \"\u025B\",\n PATAH: \"a\",\n QAMATS: \"\u0254\",\n HOLAM: \"o\",\n HOLAM_HASER: \"o\",\n QUBUTS: \"u\",\n DAGESH: \"\",\n DAGESH_CHAZAQ: true,\n MAQAF: \"-\",\n PASEQ: \"\",\n SOF_PASUQ: \"\",\n QAMATS_QATAN: \"\u0254\",\n FURTIVE_PATAH: \"a\",\n HIRIQ_YOD: \"i\u02D0\",\n TSERE_YOD: \"e\u02D0\",\n SEGOL_YOD: \"\u025B\u02D0\",\n SHUREQ: \"u\u02D0\",\n HOLAM_VAV: \"o\u02D0\",\n QAMATS_HE: \"\u0254\u02D0\",\n SEGOL_HE: \"\u025B\u02D0\",\n TSERE_HE: \"e\u02D0\",\n MS_SUFX: \"\u0254w\",\n ALEF: \"\u0294\",\n BET: \"v\",\n BET_DAGESH: \"b\",\n GIMEL: \"\u0281\",\n GIMEL_DAGESH: \"g\",\n DALET: \"\u00F0\",\n DALET_DAGESH: \"d\",\n HE: \"h\",\n VAV: \"v\",\n ZAYIN: \"z\",\n HET: \"\u0127\",\n TET: \"t\u02C1\",\n YOD: \"j\",\n FINAL_KAF: \"\u03C7\",\n KAF: \"\u03C7\",\n KAF_DAGESH: \"k\u02B0\",\n LAMED: \"l\",\n FINAL_MEM: \"m\",\n MEM: \"m\",\n FINAL_NUN: \"n\",\n NUN: \"n\",\n SAMEKH: \"s\",\n AYIN: \"\u0295\",\n FINAL_PE: \"f\",\n PE: \"f\",\n PE_DAGESH: \"p\u02B0\",\n FINAL_TSADI: \"s\u02C1\",\n TSADI: \"s\u02C1\",\n QOF: \"q\u031F\",\n RESH: \"\u0280\u031F\",\n SHIN: \"\u0283\",\n SIN: \"s\",\n TAV: \"\u03B8\",\n TAV_DAGESH: \"t\u02B0\",\n DIVINE_NAME: \"\u0294a\u00F0o\u02D0\u02C8n\u0254\u02D0\u0254j\",\n DIVINE_NAME_ELOHIM: \"\u0294\u025Blo\u02D0\u02C8hi\u02D0im\",\n STRESS_MARKER: { location: \"before-syllable\", mark: \"\u02C8\" },\n ADDITIONAL_FEATURES: [\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D9}\\u{05BC}\",\n TRANSLITERATION: (cluster, hebrew) => {\n return cluster.text.replace(hebrew, \"\u025F\u025F\");\n }\n },\n {\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 FEATURE: \"cluster\",\n HEBREW: /\u05E4(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E4\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"PE_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E4\u05BC\", `${noAspiration + schema[\"PE_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05D8\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05D8\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TET\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05D8\", `${noPharyngealization + schema[\"TET\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /\u05E6\u05BC(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA(?!\\u{05b0})/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05E6\")) {\n return cluster.text;\n }\n\n const noPharyngealization = schema[\"TSADI\"]?.replace(\"\u02C1\", \"\") ?? \"\";\n return cluster.text.replace(\"\u05E6\", `${noPharyngealization + schema[\"TSADI\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: /(\u05DB\u05BC|\u05DA\u05BC)(?!\\u{05b0})/u,\n TRANSLITERATION: (cluster, _, schema) => {\n // /\u05EA\u05BC[\\u{05B4}-\\u{05BB}]/u rule for explanation\n if (!cluster.prev || cluster.prev.value?.isNotHebrew) {\n return cluster.text;\n }\n\n const prevCoda = cluster.syllable?.prev?.value?.codaWithGemination;\n if (!prevCoda?.includes(\"\u05DB\") && !prevCoda?.includes(\"\u05DA\")) {\n return cluster.text;\n }\n\n const noAspiration = schema[\"KAF_DAGESH\"]?.replace(\"\u02B0\", \"\") ?? \"\";\n return cluster.text.replace(/\u05DB\u05BC|\u05DA\u05BC/u, `${noAspiration + schema[\"KAF_DAGESH\"]}`);\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}(?![\\u{05B1}-\\u{05BB}\\u{05C7}])\",\n TRANSLITERATION: (cluster) => {\n const next = cluster.next?.value;\n if (next && next.isShureq) {\n return cluster.text;\n }\n\n return \"\";\n }\n },\n {\n FEATURE: \"cluster\",\n HEBREW: \"\\u{05D0}\\u{05BC}\",\n TRANSLITERATION: (cluster) => {\n // remove the dagesh\n return cluster.text.replace(\"\\u{05BC}\", \"\");\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05E8/u,\n TRANSLITERATION: (syllable) => {\n // see TPT 229 for a summary if the pharyngealized resh\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n\n // find cluster containing resh\n const cluster = syllable.clusters.filter((c) => c.text.includes(\"\u05E8\"))[0];\n const prevCluster = cluster.prev?.value;\n const currentSyllable = cluster?.syllable;\n const [onset, _, coda] = currentSyllable ? currentSyllable.structure(true) : [\"\", \"\", \"\"];\n\n if (prevCluster && alveolars.test(prevCluster.text)) {\n if (onset.includes(\"\u05E8\") && !prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && prevCluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n const nextCluster = cluster.next?.value;\n const lamedAndNun = /[\u05DC\u05E0\u05DF]/;\n if (nextCluster && lamedAndNun.test(nextCluster.text)) {\n if (onset.includes(\"\u05E8\") && !cluster.hasVowel) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n\n if (coda.includes(\"\u05E8\") && cluster.hasSheva) {\n return syllable.text.replace(\"\u05E8\", \"r\u02C1\");\n }\n }\n\n // default\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D7\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before het preceded by vav or yod\n const prevText = syllable.prev?.value?.text || \"\";\n // see Khan 497-98 for examples involving length and the meteg\n // make sure to adjust other rules\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HET\"];\n }\n return schema[\"PATAH\"] + schema[\"HET\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05E2\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before ayin preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n return schema[\"PATAH\"] + schema[\"AYIN\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: \"\u05D4\\u{05BC}\\u{05B7}\\u{05C3}?$\",\n PASS_THROUGH: true,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // furtive patach before he preceded by vav or yod\n const prevText = syllable.prev?.value?.text;\n\n if (syllable.isFinal && prevText) {\n if (/[\u05D9\u05D5]/.test(prevText)) {\n const glide = /\u05D5/.test(prevText) ? \"w\" : \"j\";\n return glide + schema[\"PATAH\"] + schema[\"HE\"];\n }\n return schema[\"PATAH\"] + schema[\"HE\"];\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\u05D5\u05BC(?![\\u{05B4}-\\u{05BB}])/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // finds a vav with a dagesh not followed by a vowel character\n // if the syllable is the first syllable, replace with wu\u02D0\n // syllable.clusters[0].isShureq is not totally necessary, but it's a good check\n if (!syllable.prev && syllable.clusters[0].isShureq) {\n const text = syllable.text;\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true); // also called gaya marking half long vowel length (\u00A71.2.8.2.2)\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n return text.replace(\"\u05D5\u05BC\", `${secondaryAccent}wu${halfLengthMarker}`);\n }\n\n if (syllable.isAccented && syllable.isClosed) {\n const noLength = schema[\"SHUREQ\"].replace(\"\u02D0\", \"\");\n return syllable.text.replace(\"\u05D5\u05BC\", schema[\"SHUREQ\"] + noLength);\n }\n\n return syllable.text;\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B4}-\\u{05BB}\\u{05C7}]/u,\n TRANSLITERATION: (syllable, _, schema) => {\n // this features matches any syllable that has a full vowel character (i.e. not sheva)\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n // half vowels do not have length; exit early\n const hasHalfVowel = syllable.clusters.map((c) => c.hasHalfVowel).includes(true);\n if (hasHalfVowel) {\n throw new Error(`Syllable ${syllable.text} has a hataf as vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // exit early if not patach\n if (vowelName !== \"PATAH\" && vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n const noMaterText = syllable.clusters\n .filter((c) => !c.isMater)\n .map((c) => c.text)\n .join(\"\")\n // a holem followed by a he without a mappiq is not a mater\n // but b/c the he is not pronounced, we need to remove the final he\n .replace(/(\\u{05B9}.{1})\\u{05D4}(?!\\u{05BC})/u, \"$1\");\n\n const hasMaters = syllable.clusters.map((c) => c.isMater).includes(true);\n const lengthMarker = \"\u02D0\";\n const halfLengthMarker = \"\u02D1\";\n\n // See TPT \u00A71.2.10 concering meteg/gaya\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n if (hasMeteg) {\n const hasLongVowel = syllable.clusters.map((c) => c.hasLongVowel).includes(true);\n // when a meteg is present, the syllable implicitly has secondary stress\n // and the vowel is extended if it is not already long\n const firstConsonant = noMaterText[0];\n return noMaterText\n .replace(firstConsonant, `\u02CC${firstConsonant}`)\n .replace(vowel, `${determinePatachRealization(vowel)}${hasLongVowel ? lengthMarker : halfLengthMarker}`);\n }\n\n const isClosed = syllable.isClosed;\n const isAccented = syllable.isAccented;\n\n // TPT \u00A71.2.4, p288\n // When long vowels with the main stress occur in closed syllables,\n // there is evidence that an epenthetic with the same quality as that of the long vowel\n // occurred before the final consonant in its phonetic realization\"\n if (isAccented && isClosed) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1747967050\n const longerVowels = [\"HOLAM\", \"TSERE\", \"QAMATS\"];\n if (!isAccented && isClosed && !syllable.isFinal && longerVowels.includes(vowelName)) {\n const syllableSeparator = schema[\"SYLLABLE_SEPARATOR\"] || \"\";\n const vowelRealization = determinePatachRealization(vowel);\n return noMaterText.replace(\n vowel,\n `${vowelRealization + lengthMarker + syllableSeparator + vowelRealization}`\n );\n }\n\n // TPT \u00A71.2.2.1 p268\n // Vowels represented by basic vowel signs are long when they are either\n // (i) in a stressed syllable or (ii) in an unstressed open syllable.\n if (isAccented || (!isAccented && !isClosed)) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel) + lengthMarker}`);\n }\n\n if (!hasMaters && !isClosed && !isAccented) {\n return noMaterText.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /[\\u{05B1}-\\u{05B3}]/u,\n TRANSLITERATION: (syllable) => {\n // this features matches any syllable that has a hataf vowel character\n const vowelName = syllable.vowelNames[0];\n const vowel = syllable.vowels[0];\n\n if (!vowel || !vowelName) {\n return syllable.text;\n }\n\n if (vowelName === \"SHEVA\") {\n throw new Error(`Syllable ${syllable.text} has a sheva as vowel, should not have matched`);\n }\n\n const hasNonHalfVowels = syllable.clusters.map((c) => c.hasShortVowel || c.hasLongVowel).includes(true);\n if (hasNonHalfVowels) {\n throw new Error(`Syllable ${syllable.text} does not have a hataf vowel, should not have matched`);\n }\n\n const [onset, _nuclues, coda] = syllable.structure(true);\n /**\n * Determines the realization of a patach\n *\n * @param vowelChar the hebrew vowel character\n * @returns the back unrounded patach realization of the vowel or the original vowel if not patach\n */\n function determinePatachRealization(vowelChar: string) {\n // exit early if not hataf patach\n if (vowelName !== \"HATAF_PATAH\") {\n return vowelChar;\n }\n\n // by this point, the resh has already been pharyngealized in the transliteration\n // but only for the current syllable\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return \"\u0251\";\n }\n\n // the resh of the next syllable has not been transliterated yet\n // check if the next syllable has a resh in the onset\n // and if the current syllable's coda is an alveolar\n const nextSyllable = syllable.next?.value;\n const nextOnset = nextSyllable?.onset;\n const alveolars = /[\u05D3\u05D6\u05E6\u05EA\u05D8\u05E1\u05DC\u05E0]|\u05E9\u05C2/;\n if (nextOnset === \"\u05E8\" && alveolars.test(coda)) {\n return \"\u0251\";\n }\n\n // check for the \"environment of pharyngealized consonants\"\n // https://www.tiberianhebrew.com/patah\n if (nextOnset && /[\u05E6\u05E5\u05D8]/.test(nextOnset)) {\n return \"\u0251\";\n }\n\n return vowelChar;\n }\n\n return syllable.text.replace(vowel, `${determinePatachRealization(vowel)}`);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /(?<!.*([\\u{05B4}-\\u{05BB}\\u{05C7}]|\\u{05D5}\\u{05BC}).*)\\u{05B0}/u,\n TRANSLITERATION: (syllable, _hebrew, schema) => {\n // matches any syllable that contains a sheva that is not preceded by a full vowel character [\\u{05B4}-\\u{05BB}\\u{05C7}]\n // or shureq \\u{5D5}\\u{5BC}\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) return syllable.text;\n\n const nextSylFirstCluster = nextSyllable.clusters[0].text;\n if (!nextSylFirstCluster) return syllable.text;\n\n const [onset, _, coda] = syllable.structure(true);\n\n function isBackUnrounded() {\n // see comment for explanation: https://github.com/charlesLoder/hebrew-transliteration/issues/45#issuecomment-1712186201\n // by this point, the resh has already been pharyngealized in the transliteration\n const pharyngealized = /r\u02C1|\u05D8|\u05E6|\u05E5/;\n if (pharyngealized.test(onset) || pharyngealized.test(coda)) {\n return true;\n }\n\n const nextSyllable = syllable.next?.value;\n if (!nextSyllable) {\n return false;\n }\n\n const nextOnset = nextSyllable.onset;\n if (pharyngealized.test(nextOnset)) {\n return true;\n }\n\n return false;\n }\n\n function transliterateShevaAsVowel(vowel: string) {\n const hasMeteg = syllable.clusters.map((c) => c.hasMeteg).includes(true);\n const secondaryAccent = hasMeteg ? \"\u02CC\" : \"\";\n const halfLengthMarker = hasMeteg ? \"\u02D1\" : \"\";\n const newVowel = vowel.replace(\"\u02D0\", \"\") + halfLengthMarker;\n\n return secondaryAccent + syllable.text.replace(/\\u{05B0}/u, newVowel);\n }\n\n const isGuttural = /[\u05D0\u05D4\u05D7\u05E2]/.test(nextSylFirstCluster);\n if (!isGuttural) {\n return transliterateShevaAsVowel(isBackUnrounded() ? \"\u0251\" : schema[\"PATAH\"]);\n }\n\n const nextVowel = nextSyllable.vowelNames[0];\n if (!nextVowel) {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`\n );\n }\n\n if (nextVowel === \"SHEVA\") {\n throw new Error(\n `Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} also has a sheva as a vowel`\n );\n }\n\n return transliterateShevaAsVowel(schema[nextVowel]);\n }\n },\n {\n FEATURE: \"syllable\",\n HEBREW: /\\u{5B4}\u05DD/u,\n TRANSLITERATION: (syl, heb) => {\n // a hiriq preceding a final mem only occurs in Jerusalem\n return syl.text.replace(heb, \"jim\");\n }\n },\n {\n FEATURE: \"word\",\n HEBREW: /(\u05D5\u05B0)?\u05D9\u05B4\u05E9\u05C2\u05BC\u05B8\u05E9\u05DB\u05B8\u05E8/,\n PASS_THROUGH: true,\n TRANSLITERATION: (word, heb) => {\n // matches the name Issachar\n const taamim = /[\\u{0590}-\\u{05AF}\\u{05BD}\\u{05BF}]/gu;\n const text = word.text.replace(taamim, \"\");\n const match = text.match(heb);\n const vav = match && match[1] ? match[1] : \"\";\n const issachar = \"jiss\u0254\u02D0\u02C8\u03C7\u0254\u02D0\u0254\u0280\u031F\";\n return `${vav}${issachar}`;\n }\n }\n ],\n allowNoNiqqud: false,\n article: false,\n holemHaser: \"remove\",\n longVowels: false,\n qametsQatan: true,\n shevaAfterMeteg: false,\n shevaWithMeteg: true,\n sqnmlvy: false,\n strict: true,\n wawShureq: false\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["_a", "nextSyllable"]
7
7
  }
package/dist/esm/rules.js CHANGED
@@ -370,17 +370,20 @@ export const sylRules = (syl, schema) => {
370
370
  return joinSyllableChars(syl, returnTxt, schema).replace(taamim, "");
371
371
  };
372
372
  export const wordRules = (word, schema) => {
373
- if (word.isDivineName)
373
+ if (word.isDivineName) {
374
374
  return getDivineName(word.text, schema);
375
- if (word.hasDivineName)
375
+ }
376
+ if (word.hasDivineName) {
376
377
  return `${sylRules(word.syllables[0], schema)}-${getDivineName(word.text, schema)}`;
377
- if (word.isNotHebrew)
378
+ }
379
+ if (word.isNotHebrew) {
378
380
  return word.text;
381
+ }
382
+ const text = word.text.replace(taamim, "");
379
383
  if (schema.ADDITIONAL_FEATURES?.length) {
380
384
  const seqs = schema.ADDITIONAL_FEATURES;
381
385
  for (const seq of seqs) {
382
386
  const heb = new RegExp(seq.HEBREW, "u");
383
- const text = word.text.replace(taamim, "");
384
387
  if (seq.FEATURE === "word" && heb.test(text)) {
385
388
  const transliteration = seq.TRANSLITERATION;
386
389
  const passThrough = seq.PASS_THROUGH ?? true;
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/rules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/rules.ts"],"names":[],"mappings":"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"}
@@ -289,8 +289,8 @@ export const tiberian = {
289
289
  HEBREW: /[\u{05B4}-\u{05BB}\u{05C7}]/u,
290
290
  TRANSLITERATION: (syllable, _, schema) => {
291
291
  // this features matches any syllable that has a full vowel character (i.e. not sheva)
292
- const vowelName = syllable.vowelName;
293
- const vowel = syllable.vowel;
292
+ const vowelName = syllable.vowelNames[0];
293
+ const vowel = syllable.vowels[0];
294
294
  if (!vowel || !vowelName) {
295
295
  return syllable.text;
296
296
  }
@@ -388,8 +388,8 @@ export const tiberian = {
388
388
  HEBREW: /[\u{05B1}-\u{05B3}]/u,
389
389
  TRANSLITERATION: (syllable) => {
390
390
  // this features matches any syllable that has a hataf vowel character
391
- const vowelName = syllable.vowelName;
392
- const vowel = syllable.vowel;
391
+ const vowelName = syllable.vowelNames[0];
392
+ const vowel = syllable.vowels[0];
393
393
  if (!vowel || !vowelName) {
394
394
  return syllable.text;
395
395
  }
@@ -478,7 +478,7 @@ export const tiberian = {
478
478
  if (!isGuttural) {
479
479
  return transliterateShevaAsVowel(isBackUnrounded() ? "ɑ" : schema["PATAH"]);
480
480
  }
481
- const nextVowel = nextSyllable.vowelName;
481
+ const nextVowel = nextSyllable.vowelNames[0];
482
482
  if (!nextVowel) {
483
483
  throw new Error(`Syllable ${syllable.text} has a sheva as a vowel, but the next syllable ${nextSylFirstCluster} does not have a vowel`);
484
484
  }
@@ -487,6 +487,28 @@ export const tiberian = {
487
487
  }
488
488
  return transliterateShevaAsVowel(schema[nextVowel]);
489
489
  }
490
+ },
491
+ {
492
+ FEATURE: "syllable",
493
+ HEBREW: /\u{5B4}ם/u,
494
+ TRANSLITERATION: (syl, heb) => {
495
+ // a hiriq preceding a final mem only occurs in Jerusalem
496
+ return syl.text.replace(heb, "jim");
497
+ }
498
+ },
499
+ {
500
+ FEATURE: "word",
501
+ HEBREW: /(וְ)?יִשָּׂשכָר/,
502
+ PASS_THROUGH: true,
503
+ TRANSLITERATION: (word, heb) => {
504
+ // matches the name Issachar
505
+ const taamim = /[\u{0590}-\u{05AF}\u{05BD}\u{05BF}]/gu;
506
+ const text = word.text.replace(taamim, "");
507
+ const match = text.match(heb);
508
+ const vav = match && match[1] ? match[1] : "";
509
+ const issachar = "jissɔːˈχɔːɔʀ̟";
510
+ return `${vav}${issachar}`;
511
+ }
490
512
  }
491
513
  ],
492
514
  allowNoNiqqud: false,
@@ -1 +1 @@
1
- {"version":3,"file":"tiberian.js","sourceRoot":"","sources":["../../../src/schemas/tiberian.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tiberian.js","sourceRoot":"","sources":["../../../src/schemas/tiberian.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hebrew-transliteration",
3
- "version": "2.6.2",
3
+ "version": "2.6.4",
4
4
  "description": "a package for transliterating Hebrew",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -79,14 +79,14 @@
79
79
  "eslint-plugin-jsdoc": "^48.1.0",
80
80
  "eslint-plugin-prefer-arrow": "^1.2.3",
81
81
  "jest": "^29.7.0",
82
- "npm-check-updates": "^16.14.15",
82
+ "npm-check-updates": "^16.14.20",
83
83
  "npm-dts": "^1.3.12",
84
84
  "prettier": "^3.2.5",
85
85
  "ts-jest": "^29.1.2",
86
86
  "tsc-alias": "^1.8.8",
87
- "typescript": "^5.3.3"
87
+ "typescript": "^5.4.5"
88
88
  },
89
89
  "dependencies": {
90
- "havarotjs": "0.22.4"
90
+ "havarotjs": "0.23.2"
91
91
  }
92
92
  }