Syllable
Defined in: syllable.ts:35
A subunit of a Word consisting of consonants, vowels, and other linguistic and ortographic features.
Extends
Node
<Syllable
>
Constructors
Constructor
new Syllable(
clusters
,options
):Syllable
Defined in: syllable.ts:61
Creates a new Syllable
Parameters
Parameter | Type | Description |
---|---|---|
clusters | Cluster [] | an array of Cluster |
options | SyllableParams | optional parameters |
Returns
Syllable
Example
new Syllable([new Cluster("אָ"), new Cluster("ב")]);
Remarks
See the Syllabification page for how a syllable is determined. Currently, the Divine Name (e.g. יהוה), non-Hebrew text, and Hebrew punctuation (e.g. passeq, nun hafucha) are treated as a single syllable because these do not follow the rules of Hebrew syllabification.
Overrides
Properties
next
next:
null
|Node
<Syllable
>
Defined in: node.ts:9
Reference to the next node in the sequence.
Inherited from
prev
prev:
null
|Node
<Syllable
>
Defined in: node.ts:12
Reference to the previous node in the sequence.
Inherited from
value
value:
null
|Syllable
Defined in: node.ts:15
The value stored in this node.
Inherited from
Accessors
chars
Get Signature
get chars():
Char
[]
Defined in: syllable.ts:91
Gets all the Characters in the Syllable
Example
const text = new Text("וַיִּקְרָ֨א");text.syllables[2].chars;// [// Char { original: "ר" },// Char { original: "ָ" },// Char { original: "" }, i.e. \u{05A8} (does not print well)// Char { original: "א" }// ]
Returns
Char
[]
a one dimensional array of characters
clusters
Get Signature
get clusters():
Cluster
[]
Defined in: syllable.ts:110
Gets all the Clusters in the Syllable
Example
const text = new Text("וַיִּקְרָ֨א");text.syllables[1].clusters;// [// Cluster { original: "יִּ" },// Cluster { original: "קְ" }// ]
Returns
Cluster
[]
a one dimensional array of clusters
coda
Get Signature
get coda():
string
Defined in: syllable.ts:126
Gets the coda of the syllable - see structure
Example
const text = new Text("יָ֥ם");text.syllables[0].coda;// "ם"
Returns
string
the coda of the syllable as a string, including any taamim and ignoring gemination of the following syllable - see codaWithGemination
codaWithGemination
Get Signature
get codaWithGemination():
string
Defined in: syllable.ts:144
Gets the coda of the syllable, including gemination of the following syllable - see structure
Example
const text = new Text("מַדּ֥וּעַ");text.syllables[0].codaWithGemination;// "דּ"text.syllables[0].coda // without gemination// ""
Returns
string
the coda of the syllable as a string, including any taamim and including gemination of the following syllable - see structure
consonantNames
Get Signature
get consonantNames(): (
"ALEF"
|"BET"
|"GIMEL"
|"DALET"
|"HE"
|"VAV"
|"ZAYIN"
|"HET"
|"TET"
|"YOD"
|"FINAL_KAF"
|"KAF"
|"LAMED"
|"FINAL_MEM"
|"MEM"
|"FINAL_NUN"
|"NUN"
|"SAMEKH"
|"AYIN"
|"FINAL_PE"
|"PE"
|"FINAL_TSADI"
|"TSADI"
|"QOF"
|"RESH"
|"SHIN"
|"TAV"
)[]
Defined in: syllable.ts:186
Gets the names of the consonant characters of the syllable
Example
const text = new Text("רְ֭שָׁעִים");text.syllables[2].consonantNames;// ["AYIN", "YOD", "FINAL_MEM"]
Remarks
This returns a one dimensional array of consonant names, even if the characters are not phonemic consonants, meaning even the name of maters are returned. See the structure method if you need the consonants with phonemic value.
Returns
("ALEF"
| "BET"
| "GIMEL"
| "DALET"
| "HE"
| "VAV"
| "ZAYIN"
| "HET"
| "TET"
| "YOD"
| "FINAL_KAF"
| "KAF"
| "LAMED"
| "FINAL_MEM"
| "MEM"
| "FINAL_NUN"
| "NUN"
| "SAMEKH"
| "AYIN"
| "FINAL_PE"
| "PE"
| "FINAL_TSADI"
| "TSADI"
| "QOF"
| "RESH"
| "SHIN"
| "TAV"
)[]
a one dimensional array of consonant character names
consonants
Get Signature
get consonants(): (
"א"
|"ב"
|"ג"
|"ד"
|"ה"
|"ו"
|"ז"
|"ח"
|"ט"
|"י"
|"ך"
|"כ"
|"ל"
|"ם"
|"מ"
|"ן"
|"נ"
|"ס"
|"ע"
|"ף"
|"פ"
|"ץ"
|"צ"
|"ק"
|"ר"
|"ש"
|"ת"
)[]
Defined in: syllable.ts:166
Gets the consonant characters of the syllable
Example
const text = new Text("רְ֭שָׁעִים");text.syllables[2].consonants;// ["ע", "י", "ם"]
Remarks
This returns a one dimensional array of consonant characters, even if the characters are not phonemic consonants, meaning even maters are returned as consonant characters. See the structure method if you need the consonants with phonemic value.
Returns
("א"
| "ב"
| "ג"
| "ד"
| "ה"
| "ו"
| "ז"
| "ח"
| "ט"
| "י"
| "ך"
| "כ"
| "ל"
| "ם"
| "מ"
| "ן"
| "נ"
| "ס"
| "ע"
| "ף"
| "פ"
| "ץ"
| "צ"
| "ק"
| "ר"
| "ש"
| "ת"
)[]
a one dimensional array of consonant characters
isAccented
Get Signature
get isAccented():
boolean
Defined in: syllable.ts:290
Checks if the Syllable is accented
Example
const text = new Text("וַיִּקְרָ֨א"); // note the taam over the רtext.syllables[0].isAccented; // i.e. "וַ"// falsetext.syllables[2].isAccented; // i.e. "רָ֨א"// true
Remarks
An accented syllable receives stress, and is typically indicated by the presence of a taam character
Returns
boolean
true if Syllable is accented
Set Signature
set isAccented(
accented
):void
Defined in: syllable.ts:300
Sets whether the Syllable is accented
Parameters
Parameter | Type | Description |
---|---|---|
accented | boolean | a boolean indicating if the Syllable is accented |
Returns
void
isClosed
Get Signature
get isClosed():
boolean
Defined in: syllable.ts:321
Checks if the Syllable is closed
Example
const text = new Text("וַיִּקְרָ֨א");text.syllables[0].isClosed; // i.e. "וַ"// truetext.syllables[2].isClosed; // i.e. "רָ֨א"// false
Remarks
A closed syllable in Hebrew is a CVC or CVCC type, a mater letter does not close a syllable
Returns
boolean
true if Syllable is closed
Set Signature
set isClosed(
closed
):void
Defined in: syllable.ts:331
Sets whether the Syllable is closed
Parameters
Parameter | Type | Description |
---|---|---|
closed | boolean | a boolean for whether the Syllable is closed |
Returns
void
isFinal
Get Signature
get isFinal():
boolean
Defined in: syllable.ts:349
Checks if the Syllable is the final syllable in a Word
Example
const text = new Text("וַיִּקְרָ֨א");text.syllables[0].isFinal; // i.e. "וַ"// falsetext.syllables[2].isFinal; // i.e. "רָ֨א"// true
Returns
boolean
true if Syllable is final
Set Signature
set isFinal(
final
):void
Defined in: syllable.ts:358
Sets whether the Syllable is the final syllable in a Word
Parameters
Parameter | Type | Description |
---|---|---|
final | boolean | a boolean for whether the Syllable is the final Syallble |
Returns
void
nucleus
Get Signature
get nucleus():
string
Defined in: syllable.ts:376
Returns the nucleus of the syllable - see structure
Example
const text = new Text("יָ֥ם");text.syllables[0].nucleus;// "\u{05B8}\u{05A5}""
Remarks
The nucleus is the vowel of the syllable - present in every syllable and containing its vowel (with any materes lecticonis) or a shureq.
Returns
string
the nucleus of the syllable as a string, including any taamim - see structure
onset
Get Signature
get onset():
string
Defined in: syllable.ts:394
Returns the onset of the syllable - see structure
Example
const text = new Text("יָ֥ם");text.syllables[0].onset;// "י"
Remarks
The onset is any initial consonant of the syllable - present in every syllable except those containing a except word-initial shureq or a furtive patah.
Returns
string
the onset of the syllable as a string - see structure
siblings
Get Signature
get siblings():
Node
<T
>[]
Defined in: node.ts:63
Gets the siblings of this node.
Returns
Node
<T
>[]
An array of Node
Set Signature
set siblings(
arr
):void
Defined in: node.ts:47
Sets the siblings of this node. Establishes bidirectional links between adjacent nodes in the provided array.
Parameters
Parameter | Type | Description |
---|---|---|
arr | Node <T >[] | An array of Node |
Returns
void
Inherited from
taamim
Get Signature
get taamim(): (
"֑"
|"֒"
|"֓"
|"֔"
|"֕"
|"֖"
|"֗"
|"֘"
|"֙"
|"֚"
|"֛"
|"֜"
|"֝"
|"֞"
|"֟"
|"֠"
|"֡"
|"֢"
|"֣"
|"֤"
|"֥"
|"֦"
|"֧"
|"֨"
|"֩"
|"֪"
|"֫"
|"֬"
|"֭"
|"֮"
)[]
Defined in: syllable.ts:536
Gets all the taamim characters in the Syllable
Example
const text = new Text("הָאָ֖רֶץ");text.syllables[1].taamim;// ["\u{596}"]
Returns
("֑"
| "֒"
| "֓"
| "֔"
| "֕"
| "֖"
| "֗"
| "֘"
| "֙"
| "֚"
| "֛"
| "֜"
| "֝"
| "֞"
| "֟"
| "֠"
| "֡"
| "֢"
| "֣"
| "֤"
| "֥"
| "֦"
| "֧"
| "֨"
| "֩"
| "֪"
| "֫"
| "֬"
| "֭"
| "֮"
)[]
a one dimensional array of taamim characters in the syllable
taamimNames
Get Signature
get taamimNames(): (
"ETNAHTA"
|"SEGOL_ACCENT"
|"SHALSHELET"
|"ZAQEF_QATAN"
|"ZAQEF_GADOL"
|"TIPEHA"
|"REVIA"
|"ZARQA"
|"PASHTA"
|"YETIV"
|"TEVIR"
|"GERESH"
|"GERESH_MUQDAM"
|"GERSHAYIM"
|"QARNEY_PARA"
|"TELISHA_GEDOLA"
|"PAZER"
|"ATNAH_HAFUKH"
|"MUNAH"
|"MAHAPAKH"
|"MERKHA"
|"MERKHA_KEFULA"
|"DARGA"
|"QADMA"
|"TELISHA_QETANA"
|"YERAH_BEN_YOMO"
|"OLE"
|"ILUY"
|"DEHI"
|"ZINOR"
)[]
Defined in: syllable.ts:552
Gets all the taamim names in the Syllable
Example
const text = new Text("הָאָ֖רֶץ");text.syllables[1].taamimNames;// ["TIPEHA"]
Returns
("ETNAHTA"
| "SEGOL_ACCENT"
| "SHALSHELET"
| "ZAQEF_QATAN"
| "ZAQEF_GADOL"
| "TIPEHA"
| "REVIA"
| "ZARQA"
| "PASHTA"
| "YETIV"
| "TEVIR"
| "GERESH"
| "GERESH_MUQDAM"
| "GERSHAYIM"
| "QARNEY_PARA"
| "TELISHA_GEDOLA"
| "PAZER"
| "ATNAH_HAFUKH"
| "MUNAH"
| "MAHAPAKH"
| "MERKHA"
| "MERKHA_KEFULA"
| "DARGA"
| "QADMA"
| "TELISHA_QETANA"
| "YERAH_BEN_YOMO"
| "OLE"
| "ILUY"
| "DEHI"
| "ZINOR"
)[]
a one dimensional array of taamim names in the syllable
text
Get Signature
get text():
string
Defined in: syllable.ts:575
The text of the syllable
Example
const text = new Text("וַיִּקְרָ֨א");text.syllables.map((syl) => syl.text);// [// "וַ"// "יִּקְ"// "רָ֨א"// ]
Remarks
This returns a string that has been built up from the .text of its constituent Clusters.
Returns
string
the sequenced and normalized text of the syllable
vowelNames
Get Signature
get vowelNames(): (
"HATAF_SEGOL"
|"HATAF_PATAH"
|"HATAF_QAMATS"
|"HIRIQ"
|"TSERE"
|"SEGOL"
|"PATAH"
|"QAMATS"
|"HOLAM"
|"HOLAM_HASER"
|"QUBUTS"
|"QAMATS_QATAN"
|"SHEVA"
|"SHUREQ"
)[]
Defined in: syllable.ts:598
Gets the names of the vowel characters in the syllable
Example
const text = new Text("מִתָּ֑͏ַ֜חַת");text.syllables[1].vowelNames;// ["QAMATS", "PATAH"]
Remarks
This returns an array of names of vowel characters in the syllable, but not for mater lectionis (e.g. a holam vav would return the HOLAM, not the vav).
The only exception is a shureq, which returns “SHUREQ” because there is no vowel character for a shureq.
It is very uncommon to have multiple vowel characters in a syllable.
According to Syllabification, a sheva is a vowel and serves as the nucleus of a syllable.
Unlike Cluster
, a Syllable
is concerned with linguistics, so a sheva is a vowel character.
Returns
("HATAF_SEGOL"
| "HATAF_PATAH"
| "HATAF_QAMATS"
| "HIRIQ"
| "TSERE"
| "SEGOL"
| "PATAH"
| "QAMATS"
| "HOLAM"
| "HOLAM_HASER"
| "QUBUTS"
| "QAMATS_QATAN"
| "SHEVA"
| "SHUREQ"
)[]
an array of names of vowel characters in the syllable
vowels
Get Signature
get vowels(): (
"ֱ"
|"ֲ"
|"ֳ"
|"ִ"
|"ֵ"
|"ֶ"
|"ַ"
|"ָ"
|"ֹ"
|"ֺ"
|"ֻ"
|"ׇ"
|"ְ"
|"וּ"
)[]
Defined in: syllable.ts:634
Gets the vowel characters of the syllable
Example
const text = new Text("מִתָּ֑͏ַ֜חַת");text.syllables[1].vowels;// ["\u{05B8}", "\u{05B7}"]
Remarks
This returns a single vowel character, even for most mater lectionis (e.g. a holam vav would return the holam, not the vav).
The only exception is a shureq, which returns the vav and the dagesh because there is no vowel character for a shureq.
It is very uncommon to have multiple vowel characters in a syllable.
According to Syllabification, a sheva is a vowel and serves as the nucleus of a syllable.
Unlike Cluster
, a Syllable
is concerned with linguistics, so a sheva is a vowel character
Returns
("ֱ"
| "ֲ"
| "ֳ"
| "ִ"
| "ֵ"
| "ֶ"
| "ַ"
| "ָ"
| "ֹ"
| "ֺ"
| "ֻ"
| "ׇ"
| "ְ"
| "וּ"
)[]
an array of vowel characters in the syllable
word
Get Signature
get word():
null
|Word
Defined in: syllable.ts:673
Gets the Word to which the syllable belongs
Example
const text = new Text("הָאָ֖רֶץ");text.syllables[0].word;// Word {// text: "הָאָ֖רֶץ"// }
Returns
null
| Word
the Word
to which the syllable belongs
Set Signature
set word(
word
):void
Defined in: syllable.ts:682
Sets the Word to which the syllable belongs
Parameters
Parameter | Type | Description |
---|---|---|
word | null | Word | the Word to which the syllable belongs |
Returns
void
Methods
hasConsonantName()
hasConsonantName(
name
):boolean
Defined in: syllable.ts:207
Checks if the syllable contains the consonant character matching the name passed in
Parameters
Parameter | Type |
---|---|
name | "ALEF" | "BET" | "GIMEL" | "DALET" | "HE" | "VAV" | "ZAYIN" | "HET" | "TET" | "YOD" | "FINAL_KAF" | "KAF" | "LAMED" | "FINAL_MEM" | "MEM" | "FINAL_NUN" | "NUN" | "SAMEKH" | "AYIN" | "FINAL_PE" | "PE" | "FINAL_TSADI" | "TSADI" | "QOF" | "RESH" | "SHIN" | "TAV" |
Returns
boolean
a boolean indicating if the syllable contains the consonant character matching the name passed in
Example
const text = new Text("רְ֭שָׁעִים");text.syllables[2].hasConsonantName("AYIN");// truetext.syllables[2].hasConsonantName("YOD");// false
Remarks
This checks if the syllable contains the given consonant name, even if the character is not a phonemic consonant.
hasTaamName()
hasTaamName(
name
):boolean
Defined in: syllable.ts:266
Checks if the syllable contains the taamim character of the name passed in
Parameters
Parameter | Type |
---|---|
name | "ETNAHTA" | "SEGOL_ACCENT" | "SHALSHELET" | "ZAQEF_QATAN" | "ZAQEF_GADOL" | "TIPEHA" | "REVIA" | "ZARQA" | "PASHTA" | "YETIV" | "TEVIR" | "GERESH" | "GERESH_MUQDAM" | "GERSHAYIM" | "QARNEY_PARA" | "TELISHA_GEDOLA" | "PAZER" | "ATNAH_HAFUKH" | "MUNAH" | "MAHAPAKH" | "MERKHA" | "MERKHA_KEFULA" | "DARGA" | "QADMA" | "TELISHA_QETANA" | "YERAH_BEN_YOMO" | "OLE" | "ILUY" | "DEHI" | "ZINOR" |
Returns
boolean
a boolean indicating if the syllable contains the taamim character of the name passed in
Example
const text = new Text("הָאָ֖רֶץ");text.syllables[1].hasTaamName("TIPEHA");// true
Remarks
Note: it only checks according to the character name, not its semantic meaning.
E.g. “כֵֽן׃” would be true
when checking for "METEG"
, not silluq
hasVowelName()
hasVowelName(
name
):boolean
Defined in: syllable.ts:242
Checks if the syllable contains the vowel character of the name passed in
Parameters
Parameter | Type |
---|---|
name | "HATAF_SEGOL" | "HATAF_PATAH" | "HATAF_QAMATS" | "HIRIQ" | "TSERE" | "SEGOL" | "PATAH" | "QAMATS" | "HOLAM" | "HOLAM_HASER" | "QUBUTS" | "QAMATS_QATAN" | "SHEVA" | "SHUREQ" |
Returns
boolean
a boolean indicating if the syllable contains the vowel character of the name passed in
Example
const text = new Text("הַיְחָבְרְךָ");text.syllables[0].hasVowelName("PATAH");// true
// test for vocal shevatext.syllables[1].hasVowelName("SHEVA");// true
// test for silent shevatext.syllables[2].hasVowelName("SHEVA");// false
Remarks
This returns a boolean if the vowel character is present, even for most mater lectionis (e.g. in a holam vav construction, “HOLAM” would return true)
The only exception is a shureq, because there is no vowel character for a shureq.
According to Syllabification, a sheva is a vowel and serves as the nucleus of a syllable.
Unlike Cluster
, a Syllable
is concerned with linguistics, so a sheva is a vowel character.
It returns true
for “SHEVA” only when the sheva is the vowel (i.e. a vocal sheva or sheva na’).
structure()
structure(
withGemination
): [string
,string
,string
]
Defined in: syllable.ts:421
Returns the structure of the syllable
Parameters
Parameter | Type | Default value | Description |
---|---|---|---|
withGemination | boolean | false | If this argument is true , include gemination of the next syllable’s onset in this syllable’s coda. |
Returns
[string
, string
, string
]
the structure of the Syllable, i.e. the syllable’s onset, nucleus, and coda.
Example
const text = new Text("מַדּוּעַ");text.syllables.map(s => s.structure(true));// [// [ 'מ', 'ַ', 'דּ' ],// [ 'דּ', 'וּ', '' ], NOTE: the dalet is the onset, but rendering can sometimes causes the blank string to appear to be first// [ '', 'ַ', 'ע' ]// ]
Remarks
- The onset is any initial consonant of the syllable - present in every syllable except those containing a except word-initial shureq or a furtive patah.
- The nucleus is the vowel of the syllable - present in every syllable and containing its vowel (with any materes lecticonis) or a shureq.
- The coda is all final consonants of the syllable - not including any matres lecticonis, and including the onset of the subsequent syllable if the subsequent syllable is geminated and the
withGemination
argument istrue
.