hebrew-transliteration 2.3.1 → 2.5.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.
Files changed (59) hide show
  1. package/README.md +103 -5
  2. package/dist/hebCharsTrans.d.ts.map +1 -0
  3. package/dist/hebCharsTrans.js +1 -0
  4. package/dist/hebCharsTrans.js.map +1 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/mapChars.d.ts.map +1 -0
  9. package/dist/mapChars.js +1 -0
  10. package/dist/mapChars.js.map +1 -0
  11. package/dist/remove.d.ts.map +1 -0
  12. package/dist/remove.js +1 -0
  13. package/dist/remove.js.map +1 -0
  14. package/dist/rules.d.ts +18 -0
  15. package/dist/rules.d.ts.map +1 -0
  16. package/dist/rules.js +217 -119
  17. package/dist/rules.js.map +1 -0
  18. package/dist/schema.d.ts +356 -25
  19. package/dist/schema.d.ts.map +1 -0
  20. package/dist/schema.js +71 -66
  21. package/dist/schema.js.map +1 -0
  22. package/dist/schemas/brillAcademic.d.ts.map +1 -0
  23. package/dist/schemas/brillAcademic.js +4 -2
  24. package/dist/schemas/brillAcademic.js.map +1 -0
  25. package/dist/schemas/brillSimple.d.ts.map +1 -0
  26. package/dist/schemas/brillSimple.js +2 -0
  27. package/dist/schemas/brillSimple.js.map +1 -0
  28. package/dist/schemas/index.d.ts +3 -1
  29. package/dist/schemas/index.d.ts.map +1 -0
  30. package/dist/schemas/index.js +6 -1
  31. package/dist/schemas/index.js.map +1 -0
  32. package/dist/schemas/jss.d.ts +2 -0
  33. package/dist/schemas/jss.js +93 -0
  34. package/dist/schemas/jss.js.map +1 -0
  35. package/dist/schemas/michiganClaremont.d.ts.map +1 -0
  36. package/dist/schemas/michiganClaremont.js +2 -0
  37. package/dist/schemas/michiganClaremont.js.map +1 -0
  38. package/dist/schemas/romaniote.d.ts +2 -0
  39. package/dist/schemas/romaniote.js +169 -0
  40. package/dist/schemas/romaniote.js.map +1 -0
  41. package/dist/schemas/sblAcademicSpirantization.d.ts.map +1 -0
  42. package/dist/schemas/sblAcademicSpirantization.js +2 -0
  43. package/dist/schemas/sblAcademicSpirantization.js.map +1 -0
  44. package/dist/schemas/sblSimple.d.ts.map +1 -0
  45. package/dist/schemas/sblSimple.js +2 -0
  46. package/dist/schemas/sblSimple.js.map +1 -0
  47. package/dist/schemas/sephardicIPA.d.ts +2 -0
  48. package/dist/schemas/sephardicIPA.js +83 -0
  49. package/dist/schemas/sephardicIPA.js.map +1 -0
  50. package/dist/schemas/tiberian.d.ts +2 -0
  51. package/dist/schemas/tiberian.js +309 -0
  52. package/dist/schemas/tiberian.js.map +1 -0
  53. package/dist/sequence.d.ts.map +1 -0
  54. package/dist/sequence.js +1 -0
  55. package/dist/sequence.js.map +1 -0
  56. package/dist/transliterate.d.ts.map +1 -0
  57. package/dist/transliterate.js +2 -1
  58. package/dist/transliterate.js.map +1 -0
  59. package/package.json +17 -14
package/README.md CHANGED
@@ -254,8 +254,9 @@ There are other orthographic features:
254
254
 
255
255
  - `MS_SUFX` — HEBREW LETTER QAMATS (U+05B8) and YOD (U+05D9) and VAV (U+05D5) יו◌ָ
256
256
  - `DIVINE_NAME` — the full form of the divine name - יהוה
257
+ - `DIVINE_NAME_ELOHIM` — optionally, the form of the divine name pointed as ʾelōhîm (e.g. יֱהֹוִה)
257
258
  - `SYLLABLE_SEPARATOR` — a syllable separator, usually an empty string
258
- - `DAGESH_CHAZAQ` — if true, repeats the consonant with the _dagesh_
259
+ - `DAGESH_CHAZAQ` — if true, repeats the consonant with the _dagesh_, or can take a string
259
260
 
260
261
  ```javascript
261
262
  heb.transliterate("שַׁבָּת", { DAGESH_CHAZAQ: true });
@@ -264,6 +265,9 @@ heb.transliterate("שַׁבָּת", { DAGESH_CHAZAQ: true });
264
265
  heb.transliterate("שַׁבָּת", { DAGESH_CHAZAQ: false });
265
266
  // šabāt
266
267
 
268
+ heb.transliterate("שַׁבָּת", { DAGESH_CHAZAQ: "\u0301" });
269
+ // šab́āt
270
+
267
271
  heb.transliterate("הָאָֽרֶץ", { SYLLABLE_SEPARATOR: "-" });
268
272
  // hā-ʾā-reṣ
269
273
  ```
@@ -291,26 +295,74 @@ heb.transliterate("הַזֹּאת", {
291
295
  - In the Romaniote reading tradition, however, the `ZAYIN` is usually transliterated with `'z'` (really `'ζ'`),
292
296
  - but a `ZAYIN` followed by a _dagesh_ is transliterated as `'tz'` (really `'τζ'`)
293
297
 
294
- Each additional feature consists of 3 parts:
298
+ Each additional feature consists of 4 properties:
295
299
 
296
300
  1. `FEATURE` — has three options:
297
301
  - `"cluster"` — a `cluster` is any combination of a single character and optionally a *dagesh* and vowel.
298
302
  - `"syllable"` — a `syllable` is any combination of a multiple characters and a single vowel and optionally a *dagesh*
299
303
  - `"word"` — covers everything else
300
304
  2. `HEBREW` — the Hebrew text to be transliterated
301
- 3. `TRANSLITERATION` — the text used to transliterate the Hebrew text
305
+ 3. `TRANSLITERATION` — the text used to transliterate the Hebrew text, or a callback function
306
+ 4. `PASS_THROUGH` — if `true` passes the characters of the result of the `TRANSLITERATION` callback to the be mapped to the schema. If `TRANSLITERATION` is a string, this does nothing. Default `true`.
307
+
308
+ **Using a callback**
309
+
310
+ A callback can be used `TRANSLITERATION` instead of just a string.
311
+
312
+ ```js
313
+ const heb = require("hebrew-transliteration");
314
+ const rules = require("hebrew-transliteration/dist/rules");
315
+
316
+ // use a callback to transliterate a vocal sheva with the same character as the next syllable
317
+ heb.transliterate("בְּרֵאשִׁ֖ית וַיַּבְדֵּל", {
318
+ ADDITIONAL_FEATURES: [
319
+ {
320
+ // matches any sheva in a syllable that is NOT preceded by a vowel character
321
+ HEBREW: "(?<![\u{05B1}-\u{05BB}\u{05C7}].*)\u{05B0}",
322
+ FEATURE: "syllable",
323
+ TRANSLITERATION: function (syllable, _hebrew, schema) {
324
+ const next = syllable.next;
325
+ // ensure type safety
326
+ const nextVowel = next.vowelName === "SHEVA" ? "VOCAL_SHEVA" : next.vowelName;
327
+
328
+ if (next && nextVowel) {
329
+ const vowel = schema[nextVowel] || "";
330
+ return syllable.text.replace(new RegExp("\u{05B0}", "u"), vowel);
331
+ }
332
+
333
+ return syllable.text;
334
+ }
335
+ }
336
+ ]
337
+ });
338
+
339
+ // bērēʾšît wayyabdēl
340
+ ```
341
+
302
342
 
303
- :warning: this is an experimental property; results may not always meet expectations
343
+ :warning: this is an experimental `ADDTIONAL_FEATURES`; results may not always meet expectations.
304
344
 
305
345
  ###### Stress Marker
306
346
 
307
- The `STRESS_MARKER` property is an optional mark to indicate stress in transliteration.
347
+ The `STRESS_MARKER` property is an optional property to indicate stress in transliteration.
308
348
 
349
+ It's properties are:
350
+ - location
351
+ - mark
352
+ - exclude (optional)
353
+
354
+ **Example**
309
355
  ```javascript
310
356
  heb.transliterate("מֶ֣לֶךְ", { STRESS_MARKER: { location: "after-vowel", mark: "\u0301" } });
311
357
  // mélek
312
358
  ```
313
359
 
360
+ _mark_
361
+
362
+ The string used to mark stress (e.g. [a combining acute accent (U+0301)](https://www.compart.com/en/unicode/U+0301) )
363
+
364
+ _location_
365
+
314
366
  The `location` has four options:
315
367
 
316
368
  - `"before-syllable"`
@@ -328,6 +380,52 @@ heb.transliterate("בֵּ֣ית", {
328
380
  // beít
329
381
  ```
330
382
 
383
+ _exclude_
384
+
385
+ An optional property determining whether to exclude the mark on certain syllables.
386
+
387
+ It has three options
388
+ - `undefined`/`"never"`
389
+ - `"single"`
390
+ - `"final"`
391
+
392
+ Examples:
393
+
394
+ ```js
395
+ // undefined and "never" are the same
396
+ heb.transliterate("בֹּ֖קֶר י֥וֹם אֶחָֽד׃ ", {
397
+ STRESS_MARKER: {
398
+ location: "after-vowel",
399
+ mark: "\u0301",
400
+ }
401
+ });
402
+
403
+ // bṓqer yốm ʾeḥā́d
404
+
405
+ // exclude only single syllable words
406
+ heb.transliterate("בֹּ֖קֶר י֥וֹם אֶחָֽד׃ ", {
407
+ STRESS_MARKER: {
408
+ location: "after-vowel",
409
+ mark: "\u0301",
410
+ exclude: "single"
411
+ }
412
+ });
413
+
414
+ // bṓqer yôm ʾeḥā́d
415
+
416
+ // exclude when accent is on the final syllable
417
+ // implicitly excludes single syllable words
418
+ heb.transliterate("בֹּ֖קֶר י֥וֹם אֶחָֽד׃ ", {
419
+ STRESS_MARKER: {
420
+ location: "after-vowel",
421
+ mark: "\u0301",
422
+ exclude: "single"
423
+ }
424
+ });
425
+
426
+ // bṓqer yôm ʾeḥād
427
+ ```
428
+
331
429
  ## Live
332
430
 
333
431
  Use it live at [https://hebrewtransliteration.app](https://hebrewtransliteration.app)
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hebCharsTrans.d.ts","sourceRoot":"","sources":["../src/hebCharsTrans.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,UAAU,GAAG;IACX,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,gBAAgB,EAAE,GAoD9B,CAAC"}
@@ -54,3 +54,4 @@ exports.transliterateMap = {
54
54
  // ױ: "", // HEBREW LIGATURE YIDDISH VAV YOD (U+05F1)
55
55
  // ײ: "" // HEBREW LIGATURE YIDDISH DOUBLE YOD (U+05F2)
56
56
  };
57
+ //# sourceMappingURL=hebCharsTrans.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hebCharsTrans.js","sourceRoot":"","sources":["../src/hebCharsTrans.ts"],"names":[],"mappings":";;;AAMa,QAAA,gBAAgB,GAAQ;IACnC,WAAW;IACX,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,cAAc;IAC1B,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,QAAQ;IACpB,UAAU,EAAE,QAAQ;IACpB,kDAAkD;IAClD,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,OAAO;IACnB,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,cAAc;IAC1B,eAAe;IACf,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,aAAa;IAChB,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK,CAAC,6BAA6B;IACtC,kDAAkD;IAClD,wDAAwD;IACxD,qDAAqD;IACrD,uDAAuD;CACxD,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -11,3 +11,4 @@ const remove_1 = require("./remove");
11
11
  Object.defineProperty(exports, "remove", { enumerable: true, get: function () { return remove_1.remove; } });
12
12
  const schema_1 = require("./schema");
13
13
  Object.defineProperty(exports, "Schema", { enumerable: true, get: function () { return schema_1.Schema; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAAiC;AAME,qFAN1B,gBAAI,OAM0B;AALvC,mDAAgD;AAKP,8FALhC,6BAAa,OAKgC;AAJtD,yCAAsC;AAIb,yFAJhB,mBAAQ,OAIgB;AAHjC,qCAAkC;AAGzB,uFAHA,eAAM,OAGA;AAFf,qCAAkC;AAEjB,uFAFR,eAAM,OAEQ"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapChars.d.ts","sourceRoot":"","sources":["../src/mapChars.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,SAAU,MAAM,UAAU,MAAM,WAC+B,CAAC"}
package/dist/mapChars.js CHANGED
@@ -12,3 +12,4 @@ const hebCharsTrans_1 = require("./hebCharsTrans");
12
12
  */
13
13
  const mapChars = (text, schema) => [...text].map((char) => (char in hebCharsTrans_1.transliterateMap ? schema[hebCharsTrans_1.transliterateMap[char]] : char)).join("");
14
14
  exports.mapChars = mapChars;
15
+ //# sourceMappingURL=mapChars.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapChars.js","sourceRoot":"","sources":["../src/mapChars.ts"],"names":[],"mappings":";;;AAAA,mDAA0D;AAG1D;;;;;;;GAOG;AACI,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CACvD,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,QAAQ,YACgE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"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"}
package/dist/remove.js CHANGED
@@ -211,3 +211,4 @@ const remove = (text, options = Object.assign(Object.assign({}, exports.accents)
211
211
  }, sequenced);
212
212
  };
213
213
  exports.remove = remove;
214
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../src/remove.ts"],"names":[],"mappings":"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"}
package/dist/rules.d.ts CHANGED
@@ -1,5 +1,23 @@
1
1
  import { Syllable } from "havarotjs/syllable";
2
2
  import { Word } from "havarotjs/word";
3
3
  import { Schema } from "./schema";
4
+ /**
5
+ * replaces part of a string and transliterates the remaining characters according to the schema
6
+ *
7
+ * @example
8
+ * ```ts
9
+ * // replaces בָ as VA, but only when matching the regex sequence
10
+ * const betAndQamats = /\u{05D1}\u{05B8}/u
11
+ * replaceAndTransliterate("דָּבָר", betAndQamats, "VA", schema);
12
+ * // dāVAr
13
+ * ```
14
+ *
15
+ * @param input the text to be transliterated
16
+ * @param regex the regex used as the search value
17
+ * @param replaceValue the string to replace the regex
18
+ * @param schema the Schema
19
+ * @returns
20
+ */
21
+ export declare const replaceAndTransliterate: (input: string, regex: RegExp, replaceValue: string, schema: Schema) => string;
4
22
  export declare const sylRules: (syl: Syllable, schema: Schema) => string;
5
23
  export declare const wordRules: (word: Word, schema: Schema) => string | Word;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../src/rules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AA6MlC,eAAO,MAAM,QAAQ,QAAS,QAAQ,UAAU,MAAM,KAAG,MAqCxD,CAAC;AAeF,eAAO,MAAM,SAAS,SAAU,IAAI,UAAU,MAAM,KAAG,MAAM,GAAG,IAgB/D,CAAC"}