UNPKG

sedra-code-util

Version:

Sedra 3 ASCII code transliteration utilities

227 lines (162 loc) 9.31 kB
# sedra-code-util [![npm version](https://badge.fury.io/js/sedra-code-util.svg)](https://badge.fury.io/js/sedra-code-util) [![npm module downloads](http://img.shields.io/npm/dt/sedra-code-util.svg)](https://www.npmjs.org/package/sedra-code-util) [![Build Status](https://travis-ci.org/peshitta/sedra-code-util.svg?branch=master)](https://travis-ci.org/peshitta/sedra-code-util) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/peshitta/sedra-code-util/blob/master/LICENSE) [![Dependency Status](https://david-dm.org/peshitta/sedra-code-util.svg)](https://david-dm.org/peshitta/sedra-code-util) [![Coverage Status](https://coveralls.io/repos/github/peshitta/sedra-code-util/badge.svg?branch=master)](https://coveralls.io/github/peshitta/sedra-code-util?branch=master) [![Gitter](https://badges.gitter.im/peshitta/peshitta.svg "Join the chat at https://gitter.im/peshitta/Lobby")](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 [![@peshittap](http://i.imgur.com/wWzX9uB.png "@peshittap")](https://www.twitter.com/peshittap)or [![Gitter](https://badges.gitter.im/peshitta/peshitta.svg "Join the chat at https://gitter.im/peshitta/Lobby")](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.&lt;string, string&gt;</code> * [.consonants](#module_sedraCodeUtil.consonants) : <code>Array.&lt;string&gt;</code> * [.vowelsByName](#module_sedraCodeUtil.vowelsByName) : <code>Object.&lt;string, string&gt;</code> * [.vowels](#module_sedraCodeUtil.vowels) : <code>Array.&lt;string&gt;</code> * [.diacriticsByName](#module_sedraCodeUtil.diacriticsByName) : <code>Object.&lt;string, string&gt;</code> * [.diacritics](#module_sedraCodeUtil.diacritics) : <code>Array.&lt;string&gt;</code> * [.letterAsciiMap](#module_sedraCodeUtil.letterAsciiMap) : <code>Object.&lt;string, string&gt;</code> * [.dotting](#module_sedraCodeUtil.dotting) : <code>Array.&lt;string&gt;</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.&lt;string, string&gt;</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.&lt;string&gt;</code> Sedra consonants **Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil) <a name="module_sedraCodeUtil.vowelsByName"></a> ### sedraCodeUtil.vowelsByName : <code>Object.&lt;string, string&gt;</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.&lt;string&gt;</code> Sedra vowels **Kind**: static constant of [<code>sedraCodeUtil</code>](#module_sedraCodeUtil) <a name="module_sedraCodeUtil.diacriticsByName"></a> ### sedraCodeUtil.diacriticsByName : <code>Object.&lt;string, string&gt;</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.&lt;string&gt;</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.&lt;string, string&gt;</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.&lt;string&gt;</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 |