Skip to content

WordFeature

Extends

Properties

FEATURE

FEATURE: "word"

Additional orthographic feature.

  • "cluster" is any combination of a single character and optionally a dagesh and vowel.
  • "syllable" is any combination of a multiple characters and a single vowel and optionally a dagesh
  • "word" covers everything else

Defined in

src/schema.ts:99


HEBREW

HEBREW: string | RegExp

The Hebrew text — use consonants and vowels; do not use taamim

Remarks

The text is parsed as a Regex so special characters like ? and | can be used

Inherited from

HebrewFeature.HEBREW

Defined in

src/schema.ts:18


PASS_THROUGH?

optional PASS_THROUGH: boolean

If true passes the characters of the result of the TRANSLITERATION callback to the be mapped to the schema. If TRANSLITERATION is a string, this does nothing.

Default

true

Examples

// with PASS_THROUGH true or undefined; the rest of the characters are passed through
// to regular mapping on the schema
heb.transliterate("בְּרֵאשִׁ֖ית", {
ADDITIONAL_FEATURES: [{
HEBREW: "(?<![\u{05B1}-\u{05BB}\u{05C7}].*)\u{05B0}",
FEATURE: "syllable",
PASS_THROUGH: true,
TRANSLITERATION: function (syllable, _hebrew, schema) {
const next = syllable.next;
const nextVowel = next.vowelName === "SHEVA" ? "VOCAL_SHEVA" : next.vowelName
if (next && nextVowel) {
const vowel = schema[nextVowel] || "";
return syllable.text.replacenew RegExp("\u{05B0}", "u"; vowel);
}
return syllable.text;
}
}]
});
// with PASS_THROUGH false, a custom mapping needs to be implemented,
// or Hebrew characters are returned for the rest of the `FEATURE`
heb.transliterate("בְּרֵאשִׁ֖ית", {
ADDITIONAL_FEATURES: [{
HEBREW: "(?<![\u{05B1}-\u{05BB}\u{05C7}].*)\u{05B0}",
FEATURE: "syllable",
PASS_THROUGH: false,
TRANSLITERATION: function (syllable, _hebrew, schema) {
const next = syllable.next;
const nextVowel = next.vowelName === "SHEVA" ? "VOCAL_SHEVA" : next.vowelName
if (next && nextVowel) {
const vowel = schema[nextVowel] || "";
return syllable.text.replacenew RegExp("\u{05B0}", "u"; vowel);
}
return syllable.text;
}
}]
});
// בּērēʾšît

Remarks

This is generally most useful when the callback does not transliterate the entire FEATURE

Inherited from

PassThrough.PASS_THROUGH

Defined in

src/schema.ts:81


TRANSLITERATION

TRANSLITERATION: string | WordCallback

a string or callback. The callback takes three par

Using a string

Examples

transliterate("וְאֵ֥ת הָאָֽרֶץ", {
ADDITIONAL_FEATURES: [{
FEATURE: "word",
HEBREW: "הָאָרֶץ",
TRANSLITERATION: "The Earth"
}]
});
// wǝʾēt The Earth

Using a callback

transliterate(heb, {
ADDITIONAL_FEATURES: [{
HEBREW: "שְׁתַּיִם",
FEATURE: "word",
TRANSLITERATION: function (_word, _hebrew, schema) {
return (
schema["SHIN"] +
(schema["TAV_DAGESH"] ?? schema["TAV"]) +
schema["PATAH"] +
schema["YOD"] +
schema["HIRIQ"] +
schema["FINAL_MEM"]
);
}
}]
});
// štayim

Defined in

src/schema.ts:142