bible-passage-reference-parser 3.1.0 → 3.2.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 CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2011-2024 Stephen Smith
1
+ Copyright (c) 2011-2026 Stephen Smith
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4
4
 
@@ -300,7 +300,7 @@ The `chapters` key lists the number of verses in each chapter: `chapters["Gen"][
300
300
  * `bc`: OSIS refs get reduced to complete chapters if possible, but not whole books. "Gen.1.1-Gen.50.26" → "Gen.1-Gen.50".
301
301
  * `bcp`: Same as `bc` but preserves partial verses when they appear. "Genesis 1:1a-50:26" parses as "Gen.1.1!a-Gen.50.26", while "Genesis 1:1-50:25" still parses as "Gen.1-Gen.50".
302
302
  * `bcv`: OSIS refs always include the full book, chapter, and verse. "Gen.1" → "Gen.1.1-Gen.1.31".
303
- * `bcvp`: Same as `bc` but preserves partial verses when they appear. "Gen 1:1a" parses as "Gen.1.1!a", while "Genesis 1:1" still parses as "Gen.1.1". In all these `p` cases, the "partial" indicator is returned exactly as it appears in the text, so non-Latin languages may have non-Latin characters after the `!` character in the OSIS ref.
303
+ * `bcvp`: Same as `bcv` but preserves partial verses when they appear. "Gen 1:1a" parses as "Gen.1.1!a", while "Genesis 1:1" still parses as "Gen.1.1". In all these `p` cases, the "partial" indicator is returned exactly as it appears in the text, so non-Latin languages may have non-Latin characters after the `!` character in the OSIS ref.
304
304
 
305
305
  ### Sequence
306
306
 
@@ -592,7 +592,7 @@ This dataset has a few limitations:
592
592
 
593
593
  ## OSIS
594
594
 
595
- [OSIS](https://crosswire.org/osis/) is a system for marking up Bibles in XML. The BCV parser only borrows the OSIS system for [book abbreviations](http://www.crosswire.org/wiki/OSIS_Book_Abbreviations) and references. You can control the OSIS specificity using the `osis_compaction_strategy` option. I like OSIS references because, programmatically, they're easy to handle.
595
+ [OSIS](https://crosswire.org/osis/) is a system for marking up Bibles in XML. The BCV parser only borrows the OSIS system for [book abbreviations](http://www.crosswire.org/wiki/OSIS_Book_Abbreviations) and references. You can control the OSIS specificity using the `osis_compaction_strategy` option. I like OSIS references because, programmatically, they're easy to handle: they always include a book name along with optional chapters, verses, and partial verses, depending on the level of specificity you need.
596
596
 
597
597
  The parser emits `GkEsth` for Greek Esther rather than just `Esth`. It can include `Ps151` as part of the Psalms (`Ps.151.1`)—the default—or as its own book (`Ps151.1.1`), depending on the `ps151_strategy` option.
598
598
 
@@ -650,7 +650,7 @@ The third tricky case stems from strings like `Psalm 123-24`. The grammar output
650
650
 
651
651
  The fourth tricky case resembles the first one: `Jeremiah 33-11` isn't the invalid range `Jer.33-Jer.11` but rather the `bcv` `Jer.33.11`.
652
652
 
653
- If we still couldn't make sense of the range, then we treat is as a sequence of verses instead of a range: `Psalm 120-119` becomes `Ps.120,Ps.119`.
653
+ If we still couldn't make sense of the range, then we treat it as a sequence of verses instead of a range: `Psalm 120-119` becomes `Ps.120,Ps.119`.
654
654
 
655
655
  ### Translations
656
656
 
@@ -853,12 +853,19 @@ The code in this project is licensed under the standard MIT License.
853
853
 
854
854
  Here are improvements I have in mind for this parser.
855
855
 
856
- 1. Change the build process to be less finicky. The Perl is brittle and hard to debug. I'd like to remove nearly all the compile-time logic. Target release: 4.0.0 (January 2026).
857
- 2. Move language-definition files to a new repo to decouple the core parser logic from the language data, now that (as of 3.1.0) each language no longer requires its own grammar. This change will also allow adding significantly more languages but will require using ES Modules to take advantage of them, so the CommonJS interface will likely be deprecated in 4.0.0 (though current files will remain for backwards compatibility). Existing language support will stay in the current repo so that there are no new dependencies for existing languages, but all the raw language data will likely move elsewhere. Target release: 4.0.0.
858
- 3. Improve type usage. This is my first experience with Typescript, and I'm confident a lot can be improved.
856
+ 1. Fully migrate language source files (but not the existing language files in `esm` so that you don't need to change any existing code) out of this repo. Target release: 4.0.0 (July 2026).
857
+ 2. Improve type usage. This is my first experience with Typescript, and I'm confident a lot can be improved.
859
858
 
860
859
  ## Changelog
861
860
 
861
+ January 31, 2026 (3.2.0). Full release on Github and npm.
862
+
863
+ January 28, 2026 (3.2.0-beta).
864
+
865
+ * This release deprecates the language data files in `src/`. They're rebuilt in (hopefully) more-understandable yaml files in a [new repo](https://github.com/openbibleinfo/Bible-Passage-Reference-Parser-Languages). This change allows the core parser and language files to evolve independently and provides a sounder, less "magical" technical foundation for the languages. The 4.0.0 release will remove the source language files and related build code. To preserve backwards compatibility, there will be no changes to the languages in `esm/` or `js/`. But the language files in `esm/` will be replaced by newly built language files from the new repo. Most importantly, you don't need to change any existing code. If you want to try the new repo, you can clone it and `import` the language file that you want from there.
866
+ * Fixed `add_books()` custom patterns so that `osis_and_indices()` works without requiring capture groups. (Thanks to [emmaus-zam](https://github.com/emmaus-zam) for reporting this. Closes #70.)
867
+
868
+
862
869
  July 31, 2025 (3.1.0). Full release on Github and npm. Ensured `add_translations()` reflects the current `case_sensitive` option.
863
870
 
864
871
  July 29, 2025 (3.1.0-beta). Added `bp` and `bcp` for `osis_compaction_strategy` so that you can work at the level of precision that's right for your application. Fixed a bug in `grammar` options that wouldn't always respect `c_sep` values.
@@ -5086,12 +5086,12 @@ var bcv_regexps = class {
5086
5086
  {
5087
5087
  osis: ["Gen"],
5088
5088
  testament: "o",
5089
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*книга\s*Мојсеева|[1I]\.\s*книга\s*Мојсеева|[1I]\s*книга\s*Мојсеева|Настанување|Битие|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5089
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*)?Мојсеева|[1I]\.\s*(?:книга\s*)?Мојсеева|[1I]\s*(?:книга\s*)?Мојсеева|Настанување|Битие|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5090
5090
  },
5091
5091
  {
5092
5092
  osis: ["Exod"],
5093
5093
  testament: "o",
5094
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*книга\s*Мојсеева|(?:II|2)\.\s*книга\s*Мојсеева|(?:II|2)\s*книга\s*Мојсеева|Излез|Exod))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5094
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*)?Мојсеева|(?:II|2)\.\s*(?:книга\s*)?Мојсеева|(?:II|2)\s*(?:книга\s*)?Мојсеева|Излез|Exod))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5095
5095
  },
5096
5096
  {
5097
5097
  osis: ["Bel"],
@@ -5101,12 +5101,12 @@ var bcv_regexps = class {
5101
5101
  {
5102
5102
  osis: ["Lev"],
5103
5103
  testament: "o",
5104
- regexp: /(?:^|(?<=[^\p{L}]))((?:Трета\s*книга\s*Мојсеева|Левитска\s*книга|Левит(?:ска)?|Lev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5104
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Трет[ао]\s*(?:книга\s*)?Мојсеева|(?:III|3)\.\s*(?:книга\s*)?Мојсеева|(?:III|3)\s*(?:книга\s*)?Мојсеева|Левитска\s*книга|Левит(?:ска)?|Lev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5105
5105
  },
5106
5106
  {
5107
5107
  osis: ["Num"],
5108
5108
  testament: "o",
5109
- regexp: /(?:^|(?<=[^\p{L}]))((?:Четврта\s*книга\s*Мојсеева|Броеви|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5109
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Четврта\s*(?:книга\s*)?Мојсеева|(?:IV|4)\.\s*(?:книга\s*)?Мојсеева|(?:IV|4)\s*(?:книга\s*)?Мојсеева|Броеви|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5110
5110
  },
5111
5111
  {
5112
5112
  osis: ["Sir"],
@@ -5141,7 +5141,7 @@ var bcv_regexps = class {
5141
5141
  {
5142
5142
  osis: ["Deut"],
5143
5143
  testament: "o",
5144
- regexp: /(?:^|(?<=[^\p{L}]))((?:П(?:етта\s*книга\s*Мојсеева|овторени\s*закони)|Второзаконие|Deut))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5144
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:П(?:етта\s*(?:книга\s*)?Мојсеева|овторени\s*закони)|[5V]\.\s*(?:книга\s*)?Мојсеева|[5V]\s*(?:книга\s*)?Мојсеева|Второзаконие|Deut))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5145
5145
  },
5146
5146
  {
5147
5147
  osis: ["Josh"],
@@ -5156,7 +5156,7 @@ var bcv_regexps = class {
5156
5156
  {
5157
5157
  osis: ["Ruth"],
5158
5158
  testament: "o",
5159
- regexp: /(?:^|(?<=[^\p{L}]))((?:Ruth|Рут))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5159
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Ruth|Рута?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5160
5160
  },
5161
5161
  {
5162
5162
  osis: ["1Esd"],
@@ -5176,22 +5176,22 @@ var bcv_regexps = class {
5176
5176
  {
5177
5177
  osis: ["2Sam"],
5178
5178
  testament: "o",
5179
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*Самоилова|Самуил)|(?:II|2)\.\s*(?:книга\s*Самоилова|Самуил)|(?:II|2)\s*(?:книга\s*Самоилова|Самуил)|2Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5179
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|(?:II|2)\.\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|(?:II|2)\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|2Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5180
5180
  },
5181
5181
  {
5182
5182
  osis: ["1Sam"],
5183
5183
  testament: "o",
5184
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*Самоилова|Самуил)|[1I]\.\s*(?:книга\s*Самоилова|Самуил)|[1I]\s*(?:книга\s*Самоилова|Самуил)|1Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5184
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|[1I]\.\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|[1I]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|1Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5185
5185
  },
5186
5186
  {
5187
5187
  osis: ["2Kgs"],
5188
5188
  testament: "o",
5189
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*за\s*царевите|Цареви)|(?:II|2)\.\s*(?:книга\s*за\s*царевите|Цареви)|(?:II|2)\s*(?:книга\s*за\s*царевите|Цареви)|2Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5189
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|(?:II|2)\.\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|(?:II|2)\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|2Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5190
5190
  },
5191
5191
  {
5192
5192
  osis: ["1Kgs"],
5193
5193
  testament: "o",
5194
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*за\s*царевите|Цареви)|[1I]\.\s*(?:книга\s*за\s*царевите|Цареви)|[1I]\s*(?:книга\s*за\s*царевите|Цареви)|1Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5194
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|[1I]\.\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|[1I]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|1Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5195
5195
  },
5196
5196
  {
5197
5197
  osis: ["2Chr"],
@@ -5206,7 +5206,7 @@ var bcv_regexps = class {
5206
5206
  {
5207
5207
  osis: ["Ezra"],
5208
5208
  testament: "o",
5209
- regexp: /(?:^|(?<=[^\p{L}]))((?:Ezra|Езра))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5209
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Езд?ра|Ezra))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5210
5210
  },
5211
5211
  {
5212
5212
  osis: ["Neh"],
@@ -5242,7 +5242,7 @@ var bcv_regexps = class {
5242
5242
  {
5243
5243
  osis: ["Prov"],
5244
5244
  testament: "o",
5245
- regexp: /(?:^|(?<=[^\p{L}]))((?:Пословици|Изреки|Prov))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5245
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Мудри\s*изреки|Пословици|Изреки|Prov))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5246
5246
  },
5247
5247
  {
5248
5248
  osis: ["Eccl"],
@@ -5257,7 +5257,7 @@ var bcv_regexps = class {
5257
5257
  {
5258
5258
  osis: ["Song"],
5259
5259
  testament: "o",
5260
- regexp: /(?:^|(?<=[^\p{L}]))((?:Песна(?:та\s*на(?:д\s*песните|\s*Соломон)|\s*над\s*песните)|Црковни\s*химни|Song))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5260
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Песна(?:та\s*на(?:д\s*песните|\s*Соломон)|\s*на(?:д\s*песните|\s*Соломон))|Song))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5261
5261
  },
5262
5262
  {
5263
5263
  osis: ["Jer"],
@@ -5372,7 +5372,7 @@ var bcv_regexps = class {
5372
5372
  {
5373
5373
  osis: ["Acts"],
5374
5374
  testament: "n",
5375
- regexp: /(?:^|(?<=[^\p{L}]))((?:Дела(?:\s*(?:на\s*(?:светите\s*апостоли|апостолите)|Ап))?|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5375
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Дела(?:\s*(?:на\s*(?:светите\s*апостоли|апостолите)|апостолски|Ап))?|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5376
5376
  },
5377
5377
  {
5378
5378
  osis: ["Rom"],
@@ -5382,22 +5382,22 @@ var bcv_regexps = class {
5382
5382
  {
5383
5383
  osis: ["2Cor"],
5384
5384
  testament: "n",
5385
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|2Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5385
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|2Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5386
5386
  },
5387
5387
  {
5388
5388
  osis: ["1Cor"],
5389
5389
  testament: "n",
5390
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|1Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5390
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|1Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5391
5391
  },
5392
5392
  {
5393
5393
  osis: ["Gal"],
5394
5394
  testament: "n",
5395
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Галатија|Галат(?:јани|ите)|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5395
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Галатија|Галат(?:јан)?ите|Галатјани|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5396
5396
  },
5397
5397
  {
5398
5398
  osis: ["Eph"],
5399
5399
  testament: "n",
5400
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Ефес|Ефе(?:шаните|сјани)|Eph))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5400
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Ефес|Ефе(?:сј|ш)аните|Ефесјани|Eph))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5401
5401
  },
5402
5402
  {
5403
5403
  osis: ["Phil"],
@@ -5407,27 +5407,27 @@ var bcv_regexps = class {
5407
5407
  {
5408
5408
  osis: ["Col"],
5409
5409
  testament: "n",
5410
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Колос|Коло(?:шаните|сјани)|Col))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5410
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Колос|Коло(?:сј|ш)аните|Колосјани|Col))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5411
5411
  },
5412
5412
  {
5413
5413
  osis: ["2Thess"],
5414
5414
  testament: "n",
5415
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|2Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5415
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|2Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5416
5416
  },
5417
5417
  {
5418
5418
  osis: ["1Thess"],
5419
5419
  testament: "n",
5420
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|1Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5420
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|1Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5421
5421
  },
5422
5422
  {
5423
5423
  osis: ["2Tim"],
5424
5424
  testament: "n",
5425
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|2Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5425
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|2Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5426
5426
  },
5427
5427
  {
5428
5428
  osis: ["1Tim"],
5429
5429
  testament: "n",
5430
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|1Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5430
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|1Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
5431
5431
  },
5432
5432
  {
5433
5433
  osis: ["Titus"],
package/esm/bcv_parser.js CHANGED
@@ -4740,7 +4740,7 @@ var bcv_regexps_manager = class {
4740
4740
  }
4741
4741
  const book_data = this.get_book_testaments(pattern);
4742
4742
  const regexps = this.get_book_pattern_regexps(pattern, book_data);
4743
- const regexp = new RegExp(regexps.pre_regexp.source + regexps.regexp.source + regexps.post_regexp.source, "giu");
4743
+ const regexp = new RegExp(regexps.pre_regexp.source + "(" + regexps.regexp.source + ")" + regexps.post_regexp.source, "giu");
4744
4744
  const position = typeof pattern.insert_at === "string" ? pattern.insert_at : "start";
4745
4745
  const insert_object = {
4746
4746
  osis: pattern.osis,
@@ -5030,7 +5030,7 @@ var bcv_parser = class {
5030
5030
  if (lang == null) {
5031
5031
  if (typeof grammar === "undefined") {
5032
5032
  throw `When creating a new bcv_parser object using ES Modules, please provide a language object. For example, here's how to provide English:
5033
- import * as lang from "es/lang/en.js";
5033
+ import * as lang from "esm/lang/en.js";
5034
5034
  const bcv = new bcv_parser(lang);`;
5035
5035
  }
5036
5036
  this.translations = new bcv_translations();
package/esm/lang/mk.js CHANGED
@@ -36,12 +36,12 @@ var bcv_regexps = class {
36
36
  {
37
37
  osis: ["Gen"],
38
38
  testament: "o",
39
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*книга\s*Мојсеева|[1I]\.\s*книга\s*Мојсеева|[1I]\s*книга\s*Мојсеева|Настанување|Битие|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
39
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*)?Мојсеева|[1I]\.\s*(?:книга\s*)?Мојсеева|[1I]\s*(?:книга\s*)?Мојсеева|Настанување|Битие|Gen))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
40
40
  },
41
41
  {
42
42
  osis: ["Exod"],
43
43
  testament: "o",
44
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*книга\s*Мојсеева|(?:II|2)\.\s*книга\s*Мојсеева|(?:II|2)\s*книга\s*Мојсеева|Излез|Exod))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
44
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*)?Мојсеева|(?:II|2)\.\s*(?:книга\s*)?Мојсеева|(?:II|2)\s*(?:книга\s*)?Мојсеева|Излез|Exod))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
45
45
  },
46
46
  {
47
47
  osis: ["Bel"],
@@ -51,12 +51,12 @@ var bcv_regexps = class {
51
51
  {
52
52
  osis: ["Lev"],
53
53
  testament: "o",
54
- regexp: /(?:^|(?<=[^\p{L}]))((?:Трета\s*книга\s*Мојсеева|Левитска\s*книга|Левит(?:ска)?|Lev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
54
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Трет[ао]\s*(?:книга\s*)?Мојсеева|(?:III|3)\.\s*(?:книга\s*)?Мојсеева|(?:III|3)\s*(?:книга\s*)?Мојсеева|Левитска\s*книга|Левит(?:ска)?|Lev))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
55
55
  },
56
56
  {
57
57
  osis: ["Num"],
58
58
  testament: "o",
59
- regexp: /(?:^|(?<=[^\p{L}]))((?:Четврта\s*книга\s*Мојсеева|Броеви|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
59
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Четврта\s*(?:книга\s*)?Мојсеева|(?:IV|4)\.\s*(?:книга\s*)?Мојсеева|(?:IV|4)\s*(?:книга\s*)?Мојсеева|Броеви|Num))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
60
60
  },
61
61
  {
62
62
  osis: ["Sir"],
@@ -91,7 +91,7 @@ var bcv_regexps = class {
91
91
  {
92
92
  osis: ["Deut"],
93
93
  testament: "o",
94
- regexp: /(?:^|(?<=[^\p{L}]))((?:П(?:етта\s*книга\s*Мојсеева|овторени\s*закони)|Второзаконие|Deut))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
94
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:П(?:етта\s*(?:книга\s*)?Мојсеева|овторени\s*закони)|[5V]\.\s*(?:книга\s*)?Мојсеева|[5V]\s*(?:книга\s*)?Мојсеева|Второзаконие|Deut))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
95
95
  },
96
96
  {
97
97
  osis: ["Josh"],
@@ -106,7 +106,7 @@ var bcv_regexps = class {
106
106
  {
107
107
  osis: ["Ruth"],
108
108
  testament: "o",
109
- regexp: /(?:^|(?<=[^\p{L}]))((?:Ruth|Рут))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
109
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Ruth|Рута?))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
110
110
  },
111
111
  {
112
112
  osis: ["1Esd"],
@@ -126,22 +126,22 @@ var bcv_regexps = class {
126
126
  {
127
127
  osis: ["2Sam"],
128
128
  testament: "o",
129
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*Самоилова|Самуил)|(?:II|2)\.\s*(?:книга\s*Самоилова|Самуил)|(?:II|2)\s*(?:книга\s*Самоилова|Самуил)|2Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
129
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|(?:II|2)\.\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|(?:II|2)\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|2Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
130
130
  },
131
131
  {
132
132
  osis: ["1Sam"],
133
133
  testament: "o",
134
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*Самоилова|Самуил)|[1I]\.\s*(?:книга\s*Самоилова|Самуил)|[1I]\s*(?:книга\s*Самоилова|Самуил)|1Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
134
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|[1I]\.\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|[1I]\s*(?:книга\s*Самоилова|Сам(?:уил(?:ова)?|оилова))|1Sam))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
135
135
  },
136
136
  {
137
137
  osis: ["2Kgs"],
138
138
  testament: "o",
139
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*за\s*царевите|Цареви)|(?:II|2)\.\s*(?:книга\s*за\s*царевите|Цареви)|(?:II|2)\s*(?:книга\s*за\s*царевите|Цареви)|2Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
139
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|(?:II|2)\.\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|(?:II|2)\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|2Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
140
140
  },
141
141
  {
142
142
  osis: ["1Kgs"],
143
143
  testament: "o",
144
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*за\s*царевите|Цареви)|[1I]\.\s*(?:книга\s*за\s*царевите|Цареви)|[1I]\s*(?:книга\s*за\s*царевите|Цареви)|1Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
144
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|[1I]\.\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|[1I]\s*(?:книга\s*(?:за\s*царевите|цареви(?:те)?)|Цареви(?:те)?)|1Kgs))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
145
145
  },
146
146
  {
147
147
  osis: ["2Chr"],
@@ -156,7 +156,7 @@ var bcv_regexps = class {
156
156
  {
157
157
  osis: ["Ezra"],
158
158
  testament: "o",
159
- regexp: /(?:^|(?<=[^\p{L}]))((?:Ezra|Езра))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
159
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Езд?ра|Ezra))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
160
160
  },
161
161
  {
162
162
  osis: ["Neh"],
@@ -192,7 +192,7 @@ var bcv_regexps = class {
192
192
  {
193
193
  osis: ["Prov"],
194
194
  testament: "o",
195
- regexp: /(?:^|(?<=[^\p{L}]))((?:Пословици|Изреки|Prov))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
195
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Мудри\s*изреки|Пословици|Изреки|Prov))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
196
196
  },
197
197
  {
198
198
  osis: ["Eccl"],
@@ -207,7 +207,7 @@ var bcv_regexps = class {
207
207
  {
208
208
  osis: ["Song"],
209
209
  testament: "o",
210
- regexp: /(?:^|(?<=[^\p{L}]))((?:Песна(?:та\s*на(?:д\s*песните|\s*Соломон)|\s*над\s*песните)|Црковни\s*химни|Song))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
210
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Песна(?:та\s*на(?:д\s*песните|\s*Соломон)|\s*на(?:д\s*песните|\s*Соломон))|Song))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
211
211
  },
212
212
  {
213
213
  osis: ["Jer"],
@@ -322,7 +322,7 @@ var bcv_regexps = class {
322
322
  {
323
323
  osis: ["Acts"],
324
324
  testament: "n",
325
- regexp: /(?:^|(?<=[^\p{L}]))((?:Дела(?:\s*(?:на\s*(?:светите\s*апостоли|апостолите)|Ап))?|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
325
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Дела(?:\s*(?:на\s*(?:светите\s*апостоли|апостолите)|апостолски|Ап))?|Acts))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
326
326
  },
327
327
  {
328
328
  osis: ["Rom"],
@@ -332,22 +332,22 @@ var bcv_regexps = class {
332
332
  {
333
333
  osis: ["2Cor"],
334
334
  testament: "n",
335
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|2Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
335
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|2Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
336
336
  },
337
337
  {
338
338
  osis: ["1Cor"],
339
339
  testament: "n",
340
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:[кќ]аните|тјани))|1Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
340
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Коринт|Корин(?:(?:тј|[кќ])аните|(?:тј|[кќ])ани))|1Cor))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
341
341
  },
342
342
  {
343
343
  osis: ["Gal"],
344
344
  testament: "n",
345
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Галатија|Галат(?:јани|ите)|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
345
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Галатија|Галат(?:јан)?ите|Галатјани|Gal))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
346
346
  },
347
347
  {
348
348
  osis: ["Eph"],
349
349
  testament: "n",
350
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Ефес|Ефе(?:шаните|сјани)|Eph))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
350
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Ефес|Ефе(?:сј|ш)аните|Ефесјани|Eph))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
351
351
  },
352
352
  {
353
353
  osis: ["Phil"],
@@ -357,27 +357,27 @@ var bcv_regexps = class {
357
357
  {
358
358
  osis: ["Col"],
359
359
  testament: "n",
360
- regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Колос|Коло(?:шаните|сјани)|Col))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
360
+ regexp: /(?:^|(?<=[^\p{L}]))((?:Писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Колос|Коло(?:сј|ш)аните|Колосјани|Col))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
361
361
  },
362
362
  {
363
363
  osis: ["2Thess"],
364
364
  testament: "n",
365
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|2Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
365
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|2Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
366
366
  },
367
367
  {
368
368
  osis: ["1Thess"],
369
369
  testament: "n",
370
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:ците|јани))|1Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
370
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*христијаните\s*во\s*Солун|Солун(?:(?:јан|ц)ите|јани))|1Thess))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
371
371
  },
372
372
  {
373
373
  osis: ["2Tim"],
374
374
  testament: "n",
375
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|2Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
375
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Втор[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|(?:II|2)\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|(?:II|2)\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|2Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
376
376
  },
377
377
  {
378
378
  osis: ["1Tim"],
379
379
  testament: "n",
380
- regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*)?Тимотеј|1Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
380
+ regexp: /(?:^|(?<=[^\p{L}\p{N}])(?<!\d:(?=\d)))((?:Прв[ао]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|[1I]\.\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|[1I]\s*(?:писмо\s*од\s*апостол\s*Павле\s*до\s*Тимотеј|Тимоте(?:ева|ј))|1Tim))(?:(?=[\d\s.:,;\x1e\x1f&\(\)()\[\]\/"'\*=~\-–—])|$)/giu
381
381
  },
382
382
  {
383
383
  osis: ["Titus"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bible-passage-reference-parser",
3
- "version": "3.1.0",
3
+ "version": "3.2.0",
4
4
  "description": "Identifies and parses Bible references (like John 3:16) in over 40 languages.",
5
5
  "main": "esm/",
6
6
  "directories": {