Skip to content

PassThrough

Extended by

Properties

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

Defined in

src/schema.ts:81