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/qametsQatan.js
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __values = (this && this.__values) || function(o) {
|
|
3
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
-
if (m) return m.call(o);
|
|
5
|
-
if (o && typeof o.length === "number") return {
|
|
6
|
-
next: function () {
|
|
7
|
-
if (o && i >= o.length) o = void 0;
|
|
8
|
-
return { value: o && o[i++], done: !o };
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
-
};
|
|
13
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
3
|
exports.qametsQ = void 0;
|
|
15
|
-
|
|
4
|
+
const qQsnippets = [
|
|
16
5
|
"ʾāzǝn",
|
|
17
6
|
"ʾākǝl",
|
|
18
7
|
"ʾākǝl",
|
|
@@ -74,8 +63,8 @@ var qQsnippets = [
|
|
|
74
63
|
"tām-",
|
|
75
64
|
"tּām-"
|
|
76
65
|
];
|
|
77
|
-
|
|
78
|
-
|
|
66
|
+
const qQRgx = qQsnippets.map((snippet) => new RegExp(snippet, "m"));
|
|
67
|
+
const qametsQatanDict = {
|
|
79
68
|
// for certain inflected and contextual occurences
|
|
80
69
|
bּǝʾābǝdan: "bǝʾobdan",
|
|
81
70
|
hāʾābǝnāyim: "hāʾobnāyim",
|
|
@@ -96,9 +85,8 @@ var qametsQatanDict = {
|
|
|
96
85
|
wǝhāֽʿāpǝniy: "wǝhāʿopniy",
|
|
97
86
|
tּākǝniֽyt: "tokniyt" // with silluq
|
|
98
87
|
};
|
|
99
|
-
|
|
100
|
-
return text.map(
|
|
101
|
-
var e_1, _a;
|
|
88
|
+
const qametsQ = (text) => {
|
|
89
|
+
return text.map((word) => {
|
|
102
90
|
// if there is no qamets char, return
|
|
103
91
|
if (!/ā/.test(word)) {
|
|
104
92
|
return word;
|
|
@@ -109,29 +97,19 @@ var qametsQ = function (text) {
|
|
|
109
97
|
if (/ŏ/.test(word)) {
|
|
110
98
|
return word.replace("ā", "o");
|
|
111
99
|
}
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
var firstMatch = [parts.shift(), parts.join("ā")];
|
|
122
|
-
newRgx = firstMatch.join("o");
|
|
123
|
-
}
|
|
124
|
-
return word.split(rgx).join(newRgx);
|
|
100
|
+
for (const rgx of qQRgx) {
|
|
101
|
+
if (rgx.test(word)) {
|
|
102
|
+
let newRgx = rgx.source.split("ā").join("o");
|
|
103
|
+
const matches = rgx.source.match(/ā/g);
|
|
104
|
+
// checks for qQ forms w/ two ā's
|
|
105
|
+
if (matches && matches.length >= 2) {
|
|
106
|
+
const parts = rgx.source.split("ā");
|
|
107
|
+
const firstMatch = [parts.shift(), parts.join("ā")];
|
|
108
|
+
newRgx = firstMatch.join("o");
|
|
125
109
|
}
|
|
110
|
+
return word.split(rgx).join(newRgx);
|
|
126
111
|
}
|
|
127
112
|
}
|
|
128
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
129
|
-
finally {
|
|
130
|
-
try {
|
|
131
|
-
if (qQRgx_1_1 && !qQRgx_1_1.done && (_a = qQRgx_1.return)) _a.call(qQRgx_1);
|
|
132
|
-
}
|
|
133
|
-
finally { if (e_1) throw e_1.error; }
|
|
134
|
-
}
|
|
135
113
|
return word;
|
|
136
114
|
});
|
|
137
115
|
};
|
package/dist/qametsQatan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qametsQatan.js","sourceRoot":"","sources":["../src/qametsQatan.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"qametsQatan.js","sourceRoot":"","sources":["../src/qametsQatan.ts"],"names":[],"mappings":"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"}
|
package/dist/remove.d.ts
CHANGED
|
@@ -1,2 +1,65 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Options for the `remove()` function
|
|
3
|
+
*/
|
|
4
|
+
interface RemoveOptions {
|
|
5
|
+
/**
|
|
6
|
+
* an option to remove vowels
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true });
|
|
11
|
+
* // "שׂרי אשׁתך";
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
removeVowels?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* an option to remove the shin dot (U+05C1)
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true, removeShinDot: true, removeSinDot: true });
|
|
21
|
+
* // "שרי אשתך";
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
removeShinDot?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* an option to remove the sin dot (U+05C2)
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true, removeShinDot: true, removeSinDot: true });
|
|
31
|
+
* // "שרי אשתך";
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
removeSinDot?: boolean;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* removes taamim and optionally removes certain niqqudim
|
|
38
|
+
*
|
|
39
|
+
* @param text - a string of Hebrew characters
|
|
40
|
+
* @param RemoveOptions - {@link RemoveOptions}
|
|
41
|
+
* @returns Hebrew characters with taamim and niqqud optionally removed
|
|
42
|
+
*
|
|
43
|
+
* @example Default
|
|
44
|
+
*
|
|
45
|
+
* ```ts
|
|
46
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔");
|
|
47
|
+
* // "שָׂרַי אִשְׁתְּךָ";
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example Remove vowels
|
|
51
|
+
*
|
|
52
|
+
* ```ts
|
|
53
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true });
|
|
54
|
+
* // "שׂרי אשׁתך";
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example Remove all
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true, removeShinDot: true, removeSinDot: true });
|
|
61
|
+
* // "שרי אשתך";
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare const remove: (text: string, { removeVowels, removeShinDot, removeSinDot }?: RemoveOptions) => string;
|
|
65
|
+
export {};
|
package/dist/remove.js
CHANGED
|
@@ -1,18 +1,46 @@
|
|
|
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
|
-
|
|
3
|
+
exports.remove = void 0;
|
|
4
|
+
const sequence_1 = require("./sequence");
|
|
5
|
+
const cantillation = /[\u{0591}-\u{05AF}\u{05BF}\u{05C0}\u{05C3}-\u{05C6}\u{05F3}\u{05F4}]/gu;
|
|
6
|
+
const vowels = /[\u{05B0}-\u{05BD}\u{05BF}\u{05C7}]/gu;
|
|
7
|
+
const shinDot = /\u{05C1}/gu;
|
|
8
|
+
const sinDot = /\u{05C2}/gu;
|
|
9
|
+
const removeItem = (text, item) => text.replace(item, "");
|
|
10
|
+
/**
|
|
11
|
+
* removes taamim and optionally removes certain niqqudim
|
|
12
|
+
*
|
|
13
|
+
* @param text - a string of Hebrew characters
|
|
14
|
+
* @param RemoveOptions - {@link RemoveOptions}
|
|
15
|
+
* @returns Hebrew characters with taamim and niqqud optionally removed
|
|
16
|
+
*
|
|
17
|
+
* @example Default
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔");
|
|
21
|
+
* // "שָׂרַי אִשְׁתְּךָ";
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example Remove vowels
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true });
|
|
28
|
+
* // "שׂרי אשׁתך";
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @example Remove all
|
|
32
|
+
*
|
|
33
|
+
* ```ts
|
|
34
|
+
* heb.remove("שָׂרַ֣י אִשְׁתְּךָ֔", { removeVowels: true, removeShinDot: true, removeSinDot: true });
|
|
35
|
+
* // "שרי אשתך";
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
const remove = (text, { removeVowels = false, removeShinDot = false, removeSinDot = false } = {}) => {
|
|
39
|
+
const sequenced = (0, sequence_1.sequence)(text);
|
|
40
|
+
const remCantillation = removeItem(sequenced, cantillation);
|
|
41
|
+
const remVowels = removeVowels ? removeItem(remCantillation, vowels) : remCantillation;
|
|
42
|
+
const remShin = removeShinDot ? removeItem(remVowels, shinDot) : remVowels;
|
|
43
|
+
return removeSinDot ? removeItem(remShin, sinDot) : remShin;
|
|
16
44
|
};
|
|
17
|
-
exports.
|
|
45
|
+
exports.remove = remove;
|
|
18
46
|
//# sourceMappingURL=remove.js.map
|
package/dist/remove.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":";;;AAAA,yCAAsC;AACtC,MAAM,YAAY,GAAG,wEAAwE,CAAC;AAC9F,MAAM,MAAM,GAAG,uCAAuC,CAAC;AACvD,MAAM,OAAO,GAAG,YAAY,CAAC;AAC7B,MAAM,MAAM,GAAG,YAAY,CAAC;AAsC5B,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,MAAM,MAAM,GAAG,CACpB,IAAY,EACZ,EAAE,YAAY,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,KAAoB,EAAE,EACjF,EAAE;IACV,MAAM,SAAS,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;IACjC,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;IACvF,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,OAAO,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC9D,CAAC,CAAC;AATW,QAAA,MAAM,UASjB"}
|
package/dist/rules.d.ts
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Syllable } from "havarotjs/dist/syllable";
|
|
2
|
+
import { Word } from "havarotjs/dist/word";
|
|
3
|
+
import { Schema } from "./schema";
|
|
4
|
+
export declare const sylRules: (syl: Syllable, schema: Schema) => string;
|
|
5
|
+
export declare const wordRules: (word: Word, schema: Schema) => string | Word;
|
package/dist/rules.js
ADDED
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wordRules = exports.sylRules = void 0;
|
|
4
|
+
const cluster_1 = require("havarotjs/dist/cluster");
|
|
5
|
+
const mapChars_1 = require("./mapChars");
|
|
6
|
+
const taamim = /[\u{0590}-\u{05AF}\u{05BD}\u{05BF}]/u;
|
|
7
|
+
const changeElementSplit = (input, split, join) => input.split(split).join(join);
|
|
8
|
+
const consonantFeatures = (clusterText, syl, cluster, schema) => {
|
|
9
|
+
var _a;
|
|
10
|
+
if ((_a = schema.ADDITIONAL_FEATURES) === null || _a === void 0 ? void 0 : _a.length) {
|
|
11
|
+
const clusterSeqs = schema.ADDITIONAL_FEATURES.filter((s) => s.FEATURE === "cluster");
|
|
12
|
+
for (const seq of clusterSeqs) {
|
|
13
|
+
const heb = new RegExp(seq.HEBREW, "u");
|
|
14
|
+
if (heb.test(clusterText)) {
|
|
15
|
+
const sylSeq = changeElementSplit(clusterText, heb, seq.TRANSLITERATION);
|
|
16
|
+
return [...sylSeq].map((char) => (0, mapChars_1.mapChars)(char, schema)).join("");
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
clusterText = cluster.hasShewa && syl.isClosed ? clusterText.replace(/\u{05B0}/u, "") : clusterText;
|
|
21
|
+
// mappiq he
|
|
22
|
+
if (/ה\u{05BC}$/mu.test(clusterText)) {
|
|
23
|
+
return changeElementSplit(clusterText, /ה\u{05BC}/u, schema.HE);
|
|
24
|
+
}
|
|
25
|
+
if (syl.isFinal && !syl.isClosed) {
|
|
26
|
+
const furtiveChet = /\u{05D7}\u{05B7}$/mu;
|
|
27
|
+
if (furtiveChet.test(clusterText)) {
|
|
28
|
+
return changeElementSplit(clusterText, furtiveChet, "\u{05B7}\u{05D7}");
|
|
29
|
+
}
|
|
30
|
+
const furtiveAyin = /\u{05E2}\u{05B7}$/mu;
|
|
31
|
+
if (furtiveAyin.test(clusterText)) {
|
|
32
|
+
return changeElementSplit(clusterText, furtiveAyin, "\u{05B7}\u{05E2}");
|
|
33
|
+
}
|
|
34
|
+
const furtiveHe = /\u{05D4}\u{05BC}\u{05B7}$/mu;
|
|
35
|
+
if (furtiveHe.test(clusterText)) {
|
|
36
|
+
return changeElementSplit(clusterText, furtiveHe, "\u{05B7}\u{05D4}\u{05BC}");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// dagesh chazaq
|
|
40
|
+
const prevHasVowel = cluster.prev instanceof cluster_1.Cluster ? cluster.prev.hasVowel : false;
|
|
41
|
+
const isDoubled = schema.DAGESH_CHAZAQ && prevHasVowel && /\u{05BC}/u.test(clusterText);
|
|
42
|
+
if (schema.BET_DAGESH && /ב\u{05BC}/u.test(clusterText)) {
|
|
43
|
+
return changeElementSplit(clusterText, /ב\u{05BC}/u, schema.BET_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
44
|
+
}
|
|
45
|
+
if (schema.GIMEL_DAGESH && /ג\u{05BC}/u.test(clusterText)) {
|
|
46
|
+
return changeElementSplit(clusterText, /ג\u{05BC}/u, schema.GIMEL_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
47
|
+
}
|
|
48
|
+
if (schema.DALET_DAGESH && /ד\u{05BC}/u.test(clusterText)) {
|
|
49
|
+
return changeElementSplit(clusterText, /ד\u{05BC}/u, schema.DALET_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
50
|
+
}
|
|
51
|
+
if (schema.KAF_DAGESH && /כ\u{05BC}/u.test(clusterText)) {
|
|
52
|
+
return changeElementSplit(clusterText, /כ\u{05BC}/u, schema.KAF_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
53
|
+
}
|
|
54
|
+
if (schema.KAF_DAGESH && /ך\u{05BC}/u.test(clusterText)) {
|
|
55
|
+
return changeElementSplit(clusterText, /ך\u{05BC}/u, schema.KAF_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
56
|
+
}
|
|
57
|
+
if (schema.PE_DAGESH && /פ\u{05BC}/u.test(clusterText)) {
|
|
58
|
+
return changeElementSplit(clusterText, /פ\u{05BC}/u, schema.PE_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
59
|
+
}
|
|
60
|
+
if (schema.TAV_DAGESH && /ת\u{05BC}/u.test(clusterText)) {
|
|
61
|
+
return changeElementSplit(clusterText, /ת\u{05BC}/u, schema.TAV_DAGESH.repeat(isDoubled ? 2 : 1));
|
|
62
|
+
}
|
|
63
|
+
if (/ש\u{05C1}/u.test(clusterText)) {
|
|
64
|
+
return changeElementSplit(clusterText, /ש\u{05C1}/u, schema.SHIN.repeat(isDoubled ? 2 : 1));
|
|
65
|
+
}
|
|
66
|
+
if (/ש\u{05C2}/u.test(clusterText)) {
|
|
67
|
+
return changeElementSplit(clusterText, /ש\u{05C2}/u, schema.SIN.repeat(isDoubled ? 2 : 1));
|
|
68
|
+
}
|
|
69
|
+
if (isDoubled) {
|
|
70
|
+
const consonant = cluster.chars[0].text;
|
|
71
|
+
const consonantDagesh = new RegExp(consonant + "\u{05BC}", "u");
|
|
72
|
+
return changeElementSplit(clusterText, consonantDagesh, `${consonant + consonant}`);
|
|
73
|
+
}
|
|
74
|
+
if (cluster.isShureq) {
|
|
75
|
+
return schema.SHUREQ;
|
|
76
|
+
}
|
|
77
|
+
return clusterText;
|
|
78
|
+
};
|
|
79
|
+
const materFeatures = (syl, schema) => {
|
|
80
|
+
const mater = syl.clusters.filter((c) => c.isMater)[0];
|
|
81
|
+
const prev = mater.prev instanceof cluster_1.Cluster ? mater.prev : null;
|
|
82
|
+
const materText = mater.text;
|
|
83
|
+
const prevText = ((prev === null || prev === void 0 ? void 0 : prev.text) || "").replace(taamim, "");
|
|
84
|
+
// string comprised of all non-mater clusters in a syl with a mater
|
|
85
|
+
let noMaterText = syl.clusters
|
|
86
|
+
.filter((c) => !c.isMater)
|
|
87
|
+
.map((c) => consonantFeatures(c.text.replace(taamim, ""), syl, c, schema))
|
|
88
|
+
.join("");
|
|
89
|
+
// workaround for maqaf
|
|
90
|
+
const hasMaqaf = mater.text.includes("־");
|
|
91
|
+
noMaterText = hasMaqaf ? noMaterText.concat("־") : noMaterText;
|
|
92
|
+
if (/י/.test(materText)) {
|
|
93
|
+
// hiriq
|
|
94
|
+
if (/\u{05B4}/u.test(prevText)) {
|
|
95
|
+
return changeElementSplit(noMaterText, /\u{05B4}/u, schema.HIRIQ_YOD);
|
|
96
|
+
}
|
|
97
|
+
// tsere
|
|
98
|
+
if (/\u{05B5}/u.test(prevText)) {
|
|
99
|
+
return changeElementSplit(noMaterText, /\u{05B5}/u, schema.TSERE_YOD);
|
|
100
|
+
}
|
|
101
|
+
// segol
|
|
102
|
+
if (/\u{05B6}/u.test(prevText)) {
|
|
103
|
+
return changeElementSplit(noMaterText, /\u{05B6}/u, schema.SEGOL_YOD);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
if (/ו/u.test(materText)) {
|
|
107
|
+
// holam
|
|
108
|
+
if (/\u{05B9}/u.test(prevText)) {
|
|
109
|
+
return changeElementSplit(noMaterText, /\u{05B9}/u, schema.HOLAM_VAV);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (/ה/.test(materText)) {
|
|
113
|
+
// qamets
|
|
114
|
+
if (/\u{05B8}/u.test(prevText)) {
|
|
115
|
+
return changeElementSplit(noMaterText, /\u{05B8}/u, schema.QAMATS_HE);
|
|
116
|
+
}
|
|
117
|
+
// seghol
|
|
118
|
+
if (/\u{05B6}/u.test(prevText)) {
|
|
119
|
+
return changeElementSplit(noMaterText, /\u{05B6}/u, schema.SEGOL_HE);
|
|
120
|
+
}
|
|
121
|
+
// tsere
|
|
122
|
+
if (/\u{05B5}/u.test(prevText)) {
|
|
123
|
+
return changeElementSplit(noMaterText, /\u{05B5}/u, schema.SEGOL_HE);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return materText;
|
|
127
|
+
};
|
|
128
|
+
const joinChars = (isAccented, sylChars, schema) => {
|
|
129
|
+
if (!isAccented) {
|
|
130
|
+
return sylChars.map((char) => (0, mapChars_1.mapChars)(char, schema)).join("");
|
|
131
|
+
}
|
|
132
|
+
if (schema.STRESS_MARKER) {
|
|
133
|
+
const location = schema.STRESS_MARKER.location;
|
|
134
|
+
const mark = schema.STRESS_MARKER.mark;
|
|
135
|
+
if (location === "before-syllable") {
|
|
136
|
+
return `${mark}${sylChars.map((char) => (0, mapChars_1.mapChars)(char, schema)).join("")}`;
|
|
137
|
+
}
|
|
138
|
+
if (location === "after-syllable") {
|
|
139
|
+
return `${sylChars.map((char) => (0, mapChars_1.mapChars)(char, schema)).join("")}${mark}`;
|
|
140
|
+
}
|
|
141
|
+
const vowels = [
|
|
142
|
+
schema.PATAH,
|
|
143
|
+
schema.HATAF_PATAH,
|
|
144
|
+
schema.QAMATS,
|
|
145
|
+
schema.HATAF_QAMATS,
|
|
146
|
+
schema.SEGOL,
|
|
147
|
+
schema.HATAF_SEGOL,
|
|
148
|
+
schema.TSERE,
|
|
149
|
+
schema.HIRIQ,
|
|
150
|
+
schema.HOLAM,
|
|
151
|
+
schema.QAMATS_QATAN,
|
|
152
|
+
schema.QUBUTS,
|
|
153
|
+
schema.QAMATS_HE,
|
|
154
|
+
schema.SEGOL_HE,
|
|
155
|
+
schema.TSERE_HE,
|
|
156
|
+
schema.HIRIQ_YOD,
|
|
157
|
+
schema.TSERE_YOD,
|
|
158
|
+
schema.SEGOL_YOD,
|
|
159
|
+
schema.HOLAM_VAV,
|
|
160
|
+
schema.SHUREQ
|
|
161
|
+
].sort((a, b) => b.length - a.length);
|
|
162
|
+
const vowelRgx = new RegExp(`${vowels.join("|")}`);
|
|
163
|
+
const str = sylChars.map((char) => (0, mapChars_1.mapChars)(char, schema)).join("");
|
|
164
|
+
const match = str.match(vowelRgx);
|
|
165
|
+
if (location === "before-vowel") {
|
|
166
|
+
return (match === null || match === void 0 ? void 0 : match.length) ? str.replace(match[0], `${mark}${match[0]}`) : str;
|
|
167
|
+
}
|
|
168
|
+
// after-vowel
|
|
169
|
+
return (match === null || match === void 0 ? void 0 : match.length) ? str.replace(match[0], `${match[0]}${mark}`) : str;
|
|
170
|
+
}
|
|
171
|
+
return sylChars.map((char) => (0, mapChars_1.mapChars)(char, schema)).join("");
|
|
172
|
+
};
|
|
173
|
+
const sylRules = (syl, schema) => {
|
|
174
|
+
var _a;
|
|
175
|
+
const sylTxt = syl.text.replace(taamim, "");
|
|
176
|
+
if ((_a = schema.ADDITIONAL_FEATURES) === null || _a === void 0 ? void 0 : _a.length) {
|
|
177
|
+
const sylSeqs = schema.ADDITIONAL_FEATURES.filter((s) => s.FEATURE === "syllable");
|
|
178
|
+
for (const seq of sylSeqs) {
|
|
179
|
+
const heb = new RegExp(seq.HEBREW, "u");
|
|
180
|
+
if (heb.test(sylTxt)) {
|
|
181
|
+
const wordSeq = changeElementSplit(sylTxt, heb, seq.TRANSLITERATION);
|
|
182
|
+
return joinChars(syl.isAccented, [...wordSeq], schema);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// syllable is 3ms sufx
|
|
187
|
+
const mSSuffix = /\u{05B8}\u{05D9}\u{05D5}/u;
|
|
188
|
+
if (syl.isFinal && mSSuffix.test(sylTxt)) {
|
|
189
|
+
const sufxSyl = changeElementSplit(sylTxt, mSSuffix, schema.MS_SUFX);
|
|
190
|
+
return joinChars(syl.isAccented, [...sufxSyl], schema);
|
|
191
|
+
}
|
|
192
|
+
// syllable has a mater
|
|
193
|
+
// unsure why eslint throwing error here, but not other places...
|
|
194
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment
|
|
195
|
+
const hasMater = syl.clusters.map((c) => c.isMater).includes(true);
|
|
196
|
+
if (hasMater) {
|
|
197
|
+
const materSyl = materFeatures(syl, schema);
|
|
198
|
+
return joinChars(syl.isAccented, [...materSyl], schema);
|
|
199
|
+
}
|
|
200
|
+
// regular syllables
|
|
201
|
+
const returnTxt = syl.clusters.map((cluster) => {
|
|
202
|
+
const clusterText = cluster.text.replace(taamim, "");
|
|
203
|
+
return consonantFeatures(clusterText, syl, cluster, schema);
|
|
204
|
+
});
|
|
205
|
+
return joinChars(syl.isAccented, returnTxt, schema);
|
|
206
|
+
};
|
|
207
|
+
exports.sylRules = sylRules;
|
|
208
|
+
const wordRules = (word, schema) => {
|
|
209
|
+
var _a;
|
|
210
|
+
if (word.isDivineName)
|
|
211
|
+
return schema.DIVINE_NAME;
|
|
212
|
+
if (word.hasDivineName)
|
|
213
|
+
return `${(0, exports.sylRules)(word.syllables[0], schema)}-${schema.DIVINE_NAME}`;
|
|
214
|
+
if ((_a = schema.ADDITIONAL_FEATURES) === null || _a === void 0 ? void 0 : _a.length) {
|
|
215
|
+
const wordSeqs = schema.ADDITIONAL_FEATURES.filter((s) => s.FEATURE === "word");
|
|
216
|
+
for (const seq of wordSeqs) {
|
|
217
|
+
const heb = new RegExp(seq.HEBREW, "u");
|
|
218
|
+
const wordText = word.text.replace(taamim, "");
|
|
219
|
+
if (heb.test(wordText)) {
|
|
220
|
+
const wordSeq = changeElementSplit(wordText, heb, seq.TRANSLITERATION);
|
|
221
|
+
return [...wordSeq].map((char) => (0, mapChars_1.mapChars)(char, schema)).join("");
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
return word;
|
|
226
|
+
};
|
|
227
|
+
exports.wordRules = wordRules;
|
|
228
|
+
//# sourceMappingURL=rules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"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"}
|
package/dist/sbl.d.ts
ADDED
package/dist/sbl.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sbl = void 0;
|
|
4
|
+
const sbl = {
|
|
5
|
+
VOCAL_SHEVA: "ǝ",
|
|
6
|
+
HATAF_SEGOL: "ĕ",
|
|
7
|
+
HATAF_PATAH: "ă",
|
|
8
|
+
HATAF_QAMATS: "ŏ",
|
|
9
|
+
HIRIQ: "i",
|
|
10
|
+
TSERE: "ē",
|
|
11
|
+
SEGOL: "e",
|
|
12
|
+
PATAH: "a",
|
|
13
|
+
QAMATS: "ā",
|
|
14
|
+
HOLAM: "ō",
|
|
15
|
+
QUBUTS: "ū",
|
|
16
|
+
DAGESH_CHAZAQ: true,
|
|
17
|
+
MAQAF: "-",
|
|
18
|
+
QAMATS_QATAN: "o",
|
|
19
|
+
FURTIVE_PATAH: "a",
|
|
20
|
+
HIRIQ_YOD: "î",
|
|
21
|
+
TSERE_YOD: "ê",
|
|
22
|
+
SEGOL_YOD: "ê",
|
|
23
|
+
SHUREQ: "û",
|
|
24
|
+
HOLAM_VAV: "ô",
|
|
25
|
+
QAMATS_HE: "â",
|
|
26
|
+
MS_SUFX: "āyw",
|
|
27
|
+
ALEF: "ʾ",
|
|
28
|
+
BET: "b",
|
|
29
|
+
GIMEL: "g",
|
|
30
|
+
DALET: "d",
|
|
31
|
+
HE: "h",
|
|
32
|
+
VAV: "w",
|
|
33
|
+
ZAYIN: "z",
|
|
34
|
+
HET: "ḥ",
|
|
35
|
+
TET: "ṭ",
|
|
36
|
+
YOD: "y",
|
|
37
|
+
FINAL_KAF: "k",
|
|
38
|
+
KAF: "k",
|
|
39
|
+
LAMED: "l",
|
|
40
|
+
FINAL_MEM: "m",
|
|
41
|
+
MEM: "m",
|
|
42
|
+
FINAL_NUN: "n",
|
|
43
|
+
NUN: "n",
|
|
44
|
+
SAMEKH: "s",
|
|
45
|
+
AYIN: "ʿ",
|
|
46
|
+
FINAL_PE: "p",
|
|
47
|
+
PE: "p",
|
|
48
|
+
FINAL_TSADI: "ṣ",
|
|
49
|
+
TSADI: "ṣ",
|
|
50
|
+
QOF: "q",
|
|
51
|
+
RESH: "r",
|
|
52
|
+
SHIN: "š",
|
|
53
|
+
SIN: "ś",
|
|
54
|
+
TAV: "t",
|
|
55
|
+
DIVINE_NAME: "yhwh"
|
|
56
|
+
};
|
|
57
|
+
exports.sbl = sbl;
|
|
58
|
+
//# sourceMappingURL=sbl.js.map
|
package/dist/sbl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sbl.js","sourceRoot":"","sources":["../src/sbl.ts"],"names":[],"mappings":";;;AAEA,MAAM,GAAG,GAAW;IAClB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,WAAW,EAAE,GAAG;IAChB,YAAY,EAAE,GAAG;IACjB,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,aAAa,EAAE,IAAI;IACnB,KAAK,EAAE,GAAG;IACV,YAAY,EAAE,GAAG;IACjB,aAAa,EAAE,GAAG;IAClB,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,KAAK,EAAE,GAAG;IACV,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,SAAS,EAAE,GAAG;IACd,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,EAAE,EAAE,GAAG;IACP,WAAW,EAAE,GAAG;IAChB,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,GAAG,EAAE,GAAG;IACR,WAAW,EAAE,MAAM;CACpB,CAAC;AAEO,kBAAG"}
|