hebrew-transliteration 1.3.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +7 -0
- package/README.md +247 -41
- package/dist/hebCharsTrans.d.ts +6 -2
- package/dist/hebCharsTrans.js +48 -46
- package/dist/hebCharsTrans.js.map +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +11 -24
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +485 -7
- package/dist/interfaces.js +155 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/mapChars.d.ts +10 -0
- package/dist/mapChars.js +15 -0
- package/dist/mapChars.js.map +1 -0
- package/dist/qametsQatan.js +15 -37
- package/dist/qametsQatan.js.map +1 -1
- package/dist/remove.d.ts +65 -2
- package/dist/remove.js +42 -14
- package/dist/remove.js.map +1 -1
- package/dist/rules.d.ts +5 -0
- package/dist/rules.js +228 -0
- package/dist/rules.js.map +1 -0
- package/dist/sbl.d.ts +3 -0
- package/dist/sbl.js +58 -0
- package/dist/sbl.js.map +1 -0
- package/dist/schema.d.ts +475 -0
- package/dist/schema.js +160 -0
- package/dist/schema.js.map +1 -0
- package/dist/sequence.d.ts +18 -1
- package/dist/sequence.js +22 -65
- package/dist/sequence.js.map +1 -1
- package/dist/testEach.d.ts +4 -2
- package/dist/testEach.js +19 -47
- package/dist/testEach.js.map +1 -1
- package/dist/titForTat.d.ts +2 -1
- package/dist/titForTat.js +2 -30
- package/dist/titForTat.js.map +1 -1
- package/dist/transliterate.d.ts +45 -2
- package/dist/transliterate.js +90 -17
- package/dist/transliterate.js.map +1 -1
- package/package.json +19 -11
package/dist/sequence.js
CHANGED
|
@@ -1,69 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
-
exports.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
if (vowels.test(char)) {
|
|
50
|
-
return 3;
|
|
51
|
-
}
|
|
52
|
-
if (accents.test(char)) {
|
|
53
|
-
return 4;
|
|
54
|
-
}
|
|
55
|
-
return 10;
|
|
56
|
-
};
|
|
57
|
-
return Char;
|
|
58
|
-
}());
|
|
59
|
-
var Sequence = function (text) {
|
|
60
|
-
var splits = /(?=[\u{05D0}-\u{05F2}])/u;
|
|
61
|
-
var charClusters = text.split(splits);
|
|
62
|
-
var mapClusters = charClusters.map(function (cluster) { return __spreadArray([], __read(cluster), false).map(function (char) { return new Char(char); }); });
|
|
63
|
-
var sortClusters = mapClusters.map(function (cluster) { return cluster.sort(function (a, b) { return a.posIndex - b.posIndex; }); });
|
|
64
|
-
var redClusters = sortClusters.map(function (cluster) { return cluster.reduce(function (a, c) { return a + c.char; }, ""); });
|
|
65
|
-
var seqText = redClusters.reduce(function (a, c) { return a + c; });
|
|
66
|
-
return seqText;
|
|
3
|
+
exports.sequence = exports.vowels = void 0;
|
|
4
|
+
const havarotjs_1 = require("havarotjs");
|
|
5
|
+
exports.vowels = /[\u{05B0}-\u{05BD}\u{05BF}\u{05C7}]/u;
|
|
6
|
+
/**
|
|
7
|
+
* sequences Hebrew charactes according to the [SBL Hebrew Font Manual](https://www.sbl-site.org/Fonts/SBLHebrewUserManual1.5x.pdf)
|
|
8
|
+
*
|
|
9
|
+
* @param text - a string of Hebrew character
|
|
10
|
+
* @param qametsQatan - option to convert regular qamets characters to qamets qatan
|
|
11
|
+
* @returns a sequenced string of text
|
|
12
|
+
* @remarks
|
|
13
|
+
* seqeuncing follows the pattern of: consonant - dagesh - vowel - ta'am as defined in the {@link https://www.sbl-site.org/Fonts/SBLHebrewUserManual1.5x.pdf | SBL Hebrew Font Manual}
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
*
|
|
17
|
+
* ```ts
|
|
18
|
+
* heb.sequence("\u{5D1}\u{5B0}\u{5BC}\u{5E8}\u{5B5}\u{5D0}\u{5E9}\u{5B4}\u{5C1}\u{596}\u{5D9}\u{5EA}");
|
|
19
|
+
* "\u{5D1}\u{5BC}\u{5B0}\u{5E8}\u{5B5}\u{5D0}\u{5E9}\u{5C1}\u{5B4}\u{596}\u{5D9}\u{5EA}";
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
const sequence = (text, qametsQatan = false) => {
|
|
23
|
+
return exports.vowels.test(text) ? new havarotjs_1.Text(text, { qametsQatan }).text : text;
|
|
67
24
|
};
|
|
68
|
-
exports.
|
|
25
|
+
exports.sequence = sequence;
|
|
69
26
|
//# sourceMappingURL=sequence.js.map
|
package/dist/sequence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sequence.js","sourceRoot":"","sources":["../src/sequence.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAEpB,QAAA,MAAM,GAAG,sCAAsC,CAAC;AAE7D;;;;;;;;;;;;;;;GAeG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,WAAW,GAAG,KAAK,EAAU,EAAE;IACpE,OAAO,cAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,gBAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACzE,CAAC,CAAC;AAFW,QAAA,QAAQ,YAEnB"}
|
package/dist/testEach.d.ts
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const testEach: (array: string[], { qametsQatan, isSimple }?: {
|
|
2
|
+
qametsQatan?: boolean | undefined;
|
|
3
|
+
isSimple?: boolean | undefined;
|
|
4
|
+
}) => string[];
|
package/dist/testEach.js
CHANGED
|
@@ -1,38 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
2
|
+
// import { TransOptions } from "./interfaces";
|
|
27
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
4
|
exports.testEach = void 0;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var academicRules = function (array, _a) {
|
|
34
|
-
var _b = _a === void 0 ? {} : _a, _c = _b.isSimple, isSimple = _c === void 0 ? false : _c;
|
|
35
|
-
return array.map(function (element) {
|
|
5
|
+
const changeElementSplit = (input, split, join) => input.split(split).join(join);
|
|
6
|
+
const changeElementSubstr = (input, index, join) => input.substring(0, index) + join + input.substring(index + 1);
|
|
7
|
+
const academicRules = (array, { isSimple = false } = {}) => {
|
|
8
|
+
return array.map((element) => {
|
|
36
9
|
if (element === " " || !element) {
|
|
37
10
|
return element;
|
|
38
11
|
}
|
|
@@ -63,11 +36,11 @@ var academicRules = function (array, _a) {
|
|
|
63
36
|
// Tests for waw as a holem-mater
|
|
64
37
|
if (/wō/.test(element)) {
|
|
65
38
|
// this is a workaround for lack of lookbehind support
|
|
66
|
-
|
|
39
|
+
let rev = [...element].reverse().reduce((a, c) => a + c);
|
|
67
40
|
if (/ōw(?!ǝ|ĕ|ă|ŏ|i|ē|e|a|ā|u)/.test(rev)) {
|
|
68
41
|
rev = changeElementSplit(rev, /ōw(?!ǝ|ĕ|ă|ŏ|i|ē|e|a|ā|u)/, "ô");
|
|
69
42
|
}
|
|
70
|
-
element =
|
|
43
|
+
element = [...rev].reverse().reduce((a, c) => a + c);
|
|
71
44
|
}
|
|
72
45
|
// Tests for waw as a holem-mater
|
|
73
46
|
// this will catch a waw as a consonant like - C+ō+w+V+C > CōwVC
|
|
@@ -107,7 +80,7 @@ var academicRules = function (array, _a) {
|
|
|
107
80
|
}
|
|
108
81
|
// Tests if a shewa exists in the element
|
|
109
82
|
if (/ǝ/.test(element)) {
|
|
110
|
-
|
|
83
|
+
let pos = element.indexOf("ǝ");
|
|
111
84
|
while (pos !== -1) {
|
|
112
85
|
// shewa at the end of a word
|
|
113
86
|
if (element.charAt(element.length - 1) === "ǝ") {
|
|
@@ -129,13 +102,13 @@ var academicRules = function (array, _a) {
|
|
|
129
102
|
}
|
|
130
103
|
// tests for a doubling dagesh
|
|
131
104
|
if (/\u{05BC}/u.test(element)) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (e === "\u05BC" && /a|ā|e|ē|i|î|u|û|o|ō|ô/.test(
|
|
135
|
-
|
|
105
|
+
const elArray = element.split("");
|
|
106
|
+
elArray.forEach((e, i) => {
|
|
107
|
+
if (e === "\u05BC" && /a|ā|e|ē|i|î|u|û|o|ō|ô/.test(elArray[i - 2]) && Boolean(elArray[i - 2])) {
|
|
108
|
+
elArray[i] = elArray[i - 1];
|
|
136
109
|
}
|
|
137
110
|
});
|
|
138
|
-
element =
|
|
111
|
+
element = elArray.join("");
|
|
139
112
|
}
|
|
140
113
|
// tests for yhwh
|
|
141
114
|
if (element === "yǝhwâ") {
|
|
@@ -154,8 +127,8 @@ var academicRules = function (array, _a) {
|
|
|
154
127
|
return element;
|
|
155
128
|
}); // map
|
|
156
129
|
};
|
|
157
|
-
|
|
158
|
-
return array.map(
|
|
130
|
+
const simpleRules = (array) => {
|
|
131
|
+
return array.map((element) => {
|
|
159
132
|
if (element === " " || !element) {
|
|
160
133
|
return element;
|
|
161
134
|
}
|
|
@@ -239,7 +212,7 @@ var simpleRules = function (array) {
|
|
|
239
212
|
the string is reversed and then the regex searches the pattern of
|
|
240
213
|
the consonant that is followed by a vowel (which preceded it in the original direction)
|
|
241
214
|
*/
|
|
242
|
-
|
|
215
|
+
let rev = [...element].reverse().reduce((a, c) => a + c, "");
|
|
243
216
|
// change b > v
|
|
244
217
|
if (/b/.test(element) && !/bb/.test(element)) {
|
|
245
218
|
if (/b(?=[aeiou])/.test(rev)) {
|
|
@@ -259,7 +232,7 @@ var simpleRules = function (array) {
|
|
|
259
232
|
rev = changeElementSplit(rev, /k(?=[aeiou])/, "hk");
|
|
260
233
|
}
|
|
261
234
|
}
|
|
262
|
-
element =
|
|
235
|
+
element = [...rev].reverse().reduce((a, c) => a + c, "");
|
|
263
236
|
// simplify ṭet
|
|
264
237
|
if (/ṭ/.test(element)) {
|
|
265
238
|
element = changeElementSplit(element, /ṭ/, "t");
|
|
@@ -291,9 +264,8 @@ var simpleRules = function (array) {
|
|
|
291
264
|
return element;
|
|
292
265
|
}); // map
|
|
293
266
|
};
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
var academic = academicRules(array, { qametsQatan: qametsQatan, isSimple: isSimple });
|
|
267
|
+
const testEach = (array, { qametsQatan = false, isSimple = false } = {}) => {
|
|
268
|
+
const academic = academicRules(array, { qametsQatan, isSimple });
|
|
297
269
|
return !isSimple ? academic : simpleRules(academic);
|
|
298
270
|
};
|
|
299
271
|
exports.testEach = testEach;
|
package/dist/testEach.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testEach.js","sourceRoot":"","sources":["../src/testEach.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testEach.js","sourceRoot":"","sources":["../src/testEach.ts"],"names":[],"mappings":"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"}
|
package/dist/titForTat.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { Schema } from "./interfaces";
|
|
2
|
+
export declare const titForTat: (text: string, schema: Schema) => string;
|
package/dist/titForTat.js
CHANGED
|
@@ -1,35 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
3
|
exports.titForTat = void 0;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return __spreadArray([], __read(text), false).map(function (char) { return (char in hebCharsTrans_1.transliterateMap ? hebCharsTrans_1.transliterateMap[char] : char); })
|
|
32
|
-
.reduce(function (a, c) { return a + c; }, "");
|
|
33
|
-
};
|
|
4
|
+
const hebCharsTrans_1 = require("./hebCharsTrans");
|
|
5
|
+
const titForTat = (text, schema) => [...text].map((char) => (char in hebCharsTrans_1.transliterateMap ? schema[hebCharsTrans_1.transliterateMap[char]] : char)).join("");
|
|
34
6
|
exports.titForTat = titForTat;
|
|
35
7
|
//# sourceMappingURL=titForTat.js.map
|
package/dist/titForTat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"titForTat.js","sourceRoot":"","sources":["../src/titForTat.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"titForTat.js","sourceRoot":"","sources":["../src/titForTat.ts"],"names":[],"mappings":";;;AAAA,mDAA0D;AAGnD,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACxD,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,gCAAG,CAAC,CAAC,CAAC,MAAM,CAAC,gCAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AADxE,QAAA,SAAS,aAC+D"}
|
package/dist/transliterate.d.ts
CHANGED
|
@@ -1,2 +1,45 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Schema } from "./schema";
|
|
2
|
+
import { Text } from "havarotjs";
|
|
3
|
+
/**
|
|
4
|
+
* transliterates Hebrew text
|
|
5
|
+
*
|
|
6
|
+
* @param text - a string or {@link https://charlesloder.github.io/havarot/classes/text.Text.html | Text} of Hebrew characters
|
|
7
|
+
* @param schema - a {@link Schema} for transliterating the text
|
|
8
|
+
* @returns a transliterated text
|
|
9
|
+
*
|
|
10
|
+
* @example Default
|
|
11
|
+
* ```ts
|
|
12
|
+
* import { transliterate } from "hebrew-transliteration";
|
|
13
|
+
*
|
|
14
|
+
* transliterate("אֱלֹהִים");
|
|
15
|
+
* // "ʾĕlōhîm";
|
|
16
|
+
* ```
|
|
17
|
+
*
|
|
18
|
+
* ---
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
*
|
|
22
|
+
* If no {@link Schema} is passed, then the package defaults to SBL's academic style
|
|
23
|
+
*
|
|
24
|
+
* You can pass in a partial schema that will modify SBL's academic style:
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* transliterate("שָׁלוֹם", { SHIN: "sh" })
|
|
28
|
+
* // shālôm
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* ---
|
|
32
|
+
*
|
|
33
|
+
* If you need a fully custom schema, it is best to use the {@link Schema} constructor:
|
|
34
|
+
*
|
|
35
|
+
* ```ts
|
|
36
|
+
* import { transliterate, Schema } from "hebrew-transliteration";
|
|
37
|
+
*
|
|
38
|
+
* const schema = new Schema({ ALEF: "'", BET: "B", ... QAMETS: "A", ... }) // truncated for brevity
|
|
39
|
+
*
|
|
40
|
+
* transliterate("אָ֣ב", schema)
|
|
41
|
+
* // 'AB
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
45
|
+
export declare const transliterate: (text: string | Text, schema?: Schema | Partial<Schema> | undefined) => string;
|
package/dist/transliterate.js
CHANGED
|
@@ -1,21 +1,94 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
3
|
+
exports.transliterate = void 0;
|
|
4
|
+
const sequence_1 = require("./sequence");
|
|
5
|
+
const rules_1 = require("./rules");
|
|
6
|
+
const mapChars_1 = require("./mapChars");
|
|
7
|
+
const schema_1 = require("./schema");
|
|
8
|
+
const havarotjs_1 = require("havarotjs");
|
|
9
|
+
const word_1 = require("havarotjs/dist/word");
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param schema
|
|
13
|
+
* @returns syllable options passed into havarotjs
|
|
14
|
+
* @description sanitizes the SylOpts of the schema so as to not pass in undefined
|
|
15
|
+
*/
|
|
16
|
+
const getSylOpts = (schema) => {
|
|
17
|
+
const options = {};
|
|
18
|
+
if ("longVowels" in schema)
|
|
19
|
+
options.longVowels = schema.longVowels;
|
|
20
|
+
if ("qametsQatan" in schema)
|
|
21
|
+
options.qametsQatan = schema.qametsQatan;
|
|
22
|
+
if ("sqnmlvy" in schema)
|
|
23
|
+
options.sqnmlvy = schema.sqnmlvy;
|
|
24
|
+
if ("wawShureq" in schema)
|
|
25
|
+
options.wawShureq = schema.wawShureq;
|
|
26
|
+
if ("article" in schema)
|
|
27
|
+
options.article = schema.article;
|
|
28
|
+
return options;
|
|
19
29
|
};
|
|
20
|
-
|
|
30
|
+
/**
|
|
31
|
+
* transliterates Hebrew text
|
|
32
|
+
*
|
|
33
|
+
* @param text - a string or {@link https://charlesloder.github.io/havarot/classes/text.Text.html | Text} of Hebrew characters
|
|
34
|
+
* @param schema - a {@link Schema} for transliterating the text
|
|
35
|
+
* @returns a transliterated text
|
|
36
|
+
*
|
|
37
|
+
* @example Default
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { transliterate } from "hebrew-transliteration";
|
|
40
|
+
*
|
|
41
|
+
* transliterate("אֱלֹהִים");
|
|
42
|
+
* // "ʾĕlōhîm";
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* ---
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
*
|
|
49
|
+
* If no {@link Schema} is passed, then the package defaults to SBL's academic style
|
|
50
|
+
*
|
|
51
|
+
* You can pass in a partial schema that will modify SBL's academic style:
|
|
52
|
+
*
|
|
53
|
+
* ```ts
|
|
54
|
+
* transliterate("שָׁלוֹם", { SHIN: "sh" })
|
|
55
|
+
* // shālôm
|
|
56
|
+
* ```
|
|
57
|
+
*
|
|
58
|
+
* ---
|
|
59
|
+
*
|
|
60
|
+
* If you need a fully custom schema, it is best to use the {@link Schema} constructor:
|
|
61
|
+
*
|
|
62
|
+
* ```ts
|
|
63
|
+
* import { transliterate, Schema } from "hebrew-transliteration";
|
|
64
|
+
*
|
|
65
|
+
* const schema = new Schema({ ALEF: "'", BET: "B", ... QAMETS: "A", ... }) // truncated for brevity
|
|
66
|
+
*
|
|
67
|
+
* transliterate("אָ֣ב", schema)
|
|
68
|
+
* // 'AB
|
|
69
|
+
* ```
|
|
70
|
+
*
|
|
71
|
+
*/
|
|
72
|
+
const transliterate = (text, schema) => {
|
|
73
|
+
const transSchema = schema instanceof schema_1.Schema ? schema : new schema_1.SBL(schema !== null && schema !== void 0 ? schema : {});
|
|
74
|
+
const isText = text instanceof havarotjs_1.Text;
|
|
75
|
+
// prevents Text from throwing error when no vowels
|
|
76
|
+
if (!isText && !sequence_1.vowels.test(text))
|
|
77
|
+
return (0, mapChars_1.mapChars)(text, transSchema);
|
|
78
|
+
const sylOptions = getSylOpts(transSchema !== null && transSchema !== void 0 ? transSchema : {});
|
|
79
|
+
const newText = isText ? text : new havarotjs_1.Text(text, sylOptions);
|
|
80
|
+
return newText.words
|
|
81
|
+
.map((word) => {
|
|
82
|
+
var _a, _b;
|
|
83
|
+
let transliteration = (0, rules_1.wordRules)(word, transSchema);
|
|
84
|
+
if (transliteration instanceof word_1.Word) {
|
|
85
|
+
transliteration = word.syllables
|
|
86
|
+
.map((s) => (0, rules_1.sylRules)(s, transSchema))
|
|
87
|
+
.join((_a = transSchema.SYLLABLE_SEPARATOR) !== null && _a !== void 0 ? _a : "");
|
|
88
|
+
}
|
|
89
|
+
return `${transliteration}${(_b = word.whiteSpaceAfter) !== null && _b !== void 0 ? _b : ""}`;
|
|
90
|
+
})
|
|
91
|
+
.join("");
|
|
92
|
+
};
|
|
93
|
+
exports.transliterate = transliterate;
|
|
21
94
|
//# sourceMappingURL=transliterate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transliterate.js","sourceRoot":"","sources":["../src/transliterate.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"transliterate.js","sourceRoot":"","sources":["../src/transliterate.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,mCAA8C;AAC9C,yCAAsC;AACtC,qCAAuC;AACvC,yCAAiC;AACjC,8CAA2C;AAG3C;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAE,EAAE;IAC9C,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,IAAI,YAAY,IAAI,MAAM;QAAE,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACnE,IAAI,aAAa,IAAI,MAAM;QAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACtE,IAAI,SAAS,IAAI,MAAM;QAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1D,IAAI,WAAW,IAAI,MAAM;QAAE,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAChE,IAAI,SAAS,IAAI,MAAM;QAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC1D,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACI,MAAM,aAAa,GAAG,CAAC,IAAmB,EAAE,MAAiC,EAAE,EAAE;IACtF,MAAM,WAAW,GAAG,MAAM,YAAY,eAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,YAAY,gBAAI,CAAC;IACpC,mDAAmD;IACnD,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAA,mBAAQ,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,UAAU,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,gBAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO,OAAO,CAAC,KAAK;SACjB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;QACZ,IAAI,eAAe,GAAG,IAAA,iBAAS,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,eAAe,YAAY,WAAI,EAAE;YACnC,eAAe,GAAG,IAAI,CAAC,SAAS;iBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,gBAAQ,EAAC,CAAC,EAAE,WAAW,CAAC,CAAC;iBACpC,IAAI,CAAC,MAAA,WAAW,CAAC,kBAAkB,mCAAI,EAAE,CAAC,CAAC;SAC/C;QACD,OAAO,GAAG,eAAe,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,EAAE,EAAE,CAAC;IAC3D,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AAlBW,QAAA,aAAa,iBAkBxB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hebrew-transliteration",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "a package for transliterating Hebrew according to SBL guidelines",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"test": "clear && jest",
|
|
10
10
|
"format": "prettier --write 'src/**/*.ts' 'test/**/*.ts'",
|
|
11
|
-
"lint": "
|
|
11
|
+
"lint": "eslint . --ext .ts",
|
|
12
12
|
"prepare": "npm run build",
|
|
13
13
|
"prepublishOnly": "npm test && npm run lint",
|
|
14
14
|
"preversion": "npm run lint",
|
|
15
15
|
"version": "npm run format && git add -A src",
|
|
16
|
-
"postversion": "git push && git push --tags"
|
|
16
|
+
"postversion": "git push && git push --tags",
|
|
17
|
+
"updates": "ncu"
|
|
17
18
|
},
|
|
18
19
|
"files": [
|
|
19
20
|
"dist/**/*"
|
|
@@ -35,13 +36,20 @@
|
|
|
35
36
|
"author": "Charles Loder",
|
|
36
37
|
"license": "MIT",
|
|
37
38
|
"devDependencies": {
|
|
38
|
-
"@types/jest": "^27.0.
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"prettier": "^
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
39
|
+
"@types/jest": "^27.0.3",
|
|
40
|
+
"@typescript-eslint/eslint-plugin": "^5.6.0",
|
|
41
|
+
"eslint": "^8.4.0",
|
|
42
|
+
"eslint-config-prettier": "^8.3.0",
|
|
43
|
+
"eslint-plugin-jest": "^25.3.0",
|
|
44
|
+
"eslint-plugin-jsdoc": "^37.1.0",
|
|
45
|
+
"eslint-plugin-prefer-arrow": "^1.2.3",
|
|
46
|
+
"jest": "^27.4.3",
|
|
47
|
+
"npm-check-updates": "^12.0.3",
|
|
48
|
+
"prettier": "^2.5.1",
|
|
49
|
+
"ts-jest": "^27.1.0",
|
|
50
|
+
"typescript": "^4.5.2"
|
|
51
|
+
},
|
|
52
|
+
"dependencies": {
|
|
53
|
+
"havarotjs": "^0.7.2"
|
|
46
54
|
}
|
|
47
55
|
}
|