sedra-code-util
Version:
Sedra 3 ASCII code transliteration utilities
227 lines (162 loc) • 9.31 kB
Markdown
# sedra-code-util
[](https://badge.fury.io/js/sedra-code-util)
[](https://www.npmjs.org/package/sedra-code-util)
[](https://travis-ci.org/peshitta/sedra-code-util)
[](https://github.com/peshitta/sedra-code-util/blob/master/LICENSE)
[](https://david-dm.org/peshitta/sedra-code-util)
[](https://coveralls.io/github/peshitta/sedra-code-util?branch=master)
[](https://gitter.im/peshitta/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
Sedra 3 ASCII code transliteration utilities
## Installation
In order to use this library, [Node.js](https://nodejs.org) should be installed.
Then run:
```
npm install sedra-code-util --save
```
Following bundles are available:
* `sedra-code-util.js` - UMD ES5 version for use in browser, node, etc.
* `sedra-code-util.min.js` - minified version of `sedra-code-util.js`
* `sedra-code-util.esm.js` - ES6 module version, suitable for bundling with other
libraries and applications
The package could also be downloaded directly from:
[https://registry.npmjs.org/sedra-code-util/-/sedra-code-util-1.0.8.tgz](https://registry.npmjs.org/sedra-code-util/-/sedra-code-util-1.0.8.tgz)
## More information
[Peshitta App](https://peshitta.github.io)
[Beth Mardutho](https://sedra.bethmardutho.org/about/fonts)
[CAL](http://cal1.cn.huc.edu/searching/fullbrowser.html)
## License
[MIT](https://github.com/peshitta/sedra-code-util/blob/master/LICENSE)
## Contributing
The final goal for this work is to learn the Word of God as recorded by
[Peshitta](https://en.wikipedia.org/wiki/Peshitta).
You are welcomed to improve this implementation or provide feedback. Please
feel free to [Fork](https://help.github.com/articles/fork-a-repo/), create a
[Pull Request](https://help.github.com/articles/about-pull-requests/) or
submit [Issues](https://github.com/peshitta/sedra-code-util/issues).
To read quick updates about Peshitta app or post questions or feedback, follow
[@peshittap](https://www.twitter.com/peshittap)
at [](https://www.twitter.com/peshittap)or
[](https://gitter.im/peshitta/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
## Development
```
npm install
```
```
npm run build
```
## API Reference
* [sedraCodeUtil](#module_sedraCodeUtil)
* [.consonantsByName](#module_sedraCodeUtil.consonantsByName) : <code>Object.<string, string></code>
* [.consonants](#module_sedraCodeUtil.consonants) : <code>Array.<string></code>
* [.vowelsByName](#module_sedraCodeUtil.vowelsByName) : <code>Object.<string, string></code>
* [.vowels](#module_sedraCodeUtil.vowels) : <code>Array.<string></code>
* [.diacriticsByName](#module_sedraCodeUtil.diacriticsByName) : <code>Object.<string, string></code>
* [.diacritics](#module_sedraCodeUtil.diacritics) : <code>Array.<string></code>
* [.letterAsciiMap](#module_sedraCodeUtil.letterAsciiMap) : <code>Object.<string, string></code>
* [.dotting](#module_sedraCodeUtil.dotting) : <code>Array.<string></code>
* [.isConsonant](#module_sedraCodeUtil.isConsonant) ⇒ <code>boolean</code>
* [.isVowel](#module_sedraCodeUtil.isVowel) ⇒ <code>boolean</code>
* [.isDiacritic](#module_sedraCodeUtil.isDiacritic) ⇒ <code>boolean</code>
* [.isDotting](#module_sedraCodeUtil.isDotting) ⇒ <code>boolean</code>
* [.isDotted](#module_sedraCodeUtil.isDotted) ⇒ <code>boolean</code>
* [.removeDotting](#module_sedraCodeUtil.removeDotting) ⇒ <code>string</code>
* [.sort](#module_sedraCodeUtil.sort) ⇒ <code>number</code>
<a name="module_sedraCodeUtil.consonantsByName"></a>
### sedraCodeUtil.consonantsByName : <code>Object.<string, string></code>
Sedra consonant name to value map
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.consonants"></a>
### sedraCodeUtil.consonants : <code>Array.<string></code>
Sedra consonants
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.vowelsByName"></a>
### sedraCodeUtil.vowelsByName : <code>Object.<string, string></code>
Sedra vowel name to value map
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.vowels"></a>
### sedraCodeUtil.vowels : <code>Array.<string></code>
Sedra vowels
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.diacriticsByName"></a>
### sedraCodeUtil.diacriticsByName : <code>Object.<string, string></code>
Sedra/CAL diacritic name map
1. qushaya: __'__ - dot above
2. rukkakha: __,__ - dot below
3. lineaOccultans: **_** - linea occultans
4. seyame: __*__ - seyame, rebwe
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.diacritics"></a>
### sedraCodeUtil.diacritics : <code>Array.<string></code>
Sedra/CAL diacritic characters:
* __'__ dot above, Qushaya
* __,__ dot below, Rukkakha
* **_** line under
* __*__ Seyame
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.letterAsciiMap"></a>
### sedraCodeUtil.letterAsciiMap : <code>Object.<string, string></code>
CAL to ordinal ASCII value. Used for sorting:
a b c d e f g h i j k l m n o p q r s t u v
w x y z {
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.dotting"></a>
### sedraCodeUtil.dotting : <code>Array.<string></code>
Vowels and diacritics: used for consonantal only mapping
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
<a name="module_sedraCodeUtil.isConsonant"></a>
### sedraCodeUtil.isConsonant ⇒ <code>boolean</code>
Is character c a Sedra 3 consonant?
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>boolean</code> - true if c is Sedra 3 consonant
| Param | Type | Description |
| --- | --- | --- |
| c | <code>string</code> | input character |
<a name="module_sedraCodeUtil.isVowel"></a>
### sedraCodeUtil.isVowel ⇒ <code>boolean</code>
Is character c a Sedra 3 vowel?
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>boolean</code> - true if c is Sedra 3 vowel
| Param | Type | Description |
| --- | --- | --- |
| c | <code>string</code> | input character |
<a name="module_sedraCodeUtil.isDiacritic"></a>
### sedraCodeUtil.isDiacritic ⇒ <code>boolean</code>
Is character c a diacritic? Same characters used for both Sedra 3 and CAL.
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>boolean</code> - true if c is a diacritic
| Param | Type | Description |
| --- | --- | --- |
| c | <code>string</code> | input character |
<a name="module_sedraCodeUtil.isDotting"></a>
### sedraCodeUtil.isDotting ⇒ <code>boolean</code>
Returns true if c is dotting character
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>boolean</code> - true if c is dotting
| Param | Type | Description |
| --- | --- | --- |
| c | <code>string</code> | input character |
<a name="module_sedraCodeUtil.isDotted"></a>
### sedraCodeUtil.isDotted ⇒ <code>boolean</code>
Return true if input word has vowels or diacritics
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>boolean</code> - true if word has vowels or diacritics
| Param | Type | Description |
| --- | --- | --- |
| word | <code>string</code> | input CAL code word |
<a name="module_sedraCodeUtil.removeDotting"></a>
### sedraCodeUtil.removeDotting ⇒ <code>string</code>
Remove dotting (vowels and diacritics), leaving consonantal word only.
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>string</code> - consonantal word
| Param | Type | Description |
| --- | --- | --- |
| word | <code>string</code> | input word to be processed |
<a name="module_sedraCodeUtil.sort"></a>
### sedraCodeUtil.sort ⇒ <code>number</code>
Comparator function to be used for sorting words
**Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil)
**Returns**: <code>number</code> - -1, 0, 1 depending on word sorting
| Param | Type | Description |
| --- | --- | --- |
| word1 | <code>string</code> | first word to compare |
| word2 | <code>string</code> | second word to compare |