bible-ref-parse 3.1.5 → 3.1.7

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.
@@ -278,9 +278,11 @@
278
278
  });
279
279
  it("should handle book: Rev (ceb)", function() {
280
280
  expect(p.parse("Gipadayag 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Gipadayag 1:1'");
281
+ expect(p.parse("Pinadayag 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Pinadayag 1:1'");
281
282
  expect(p.parse("Rev 1:1").osis()).toEqual("Rev.1.1", "parsing: 'Rev 1:1'");
282
283
  p.include_apocrypha(false);
283
284
  expect(p.parse("GIPADAYAG 1:1").osis()).toEqual("Rev.1.1", "parsing: 'GIPADAYAG 1:1'");
285
+ expect(p.parse("PINADAYAG 1:1").osis()).toEqual("Rev.1.1", "parsing: 'PINADAYAG 1:1'");
284
286
  expect(p.parse("REV 1:1").osis()).toEqual("Rev.1.1", "parsing: 'REV 1:1'");
285
287
  });
286
288
  });
@@ -317,11 +319,13 @@
317
319
  p.include_apocrypha(true);
318
320
  });
319
321
  it("should handle book: Deut (ceb)", function() {
322
+ expect(p.parse("Deuteronomeo 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronomeo 1:1'");
320
323
  expect(p.parse("Deuteronomio 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deuteronomio 1:1'");
321
324
  expect(p.parse("Dyuteronomyo 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Dyuteronomyo 1:1'");
322
325
  expect(p.parse("Deut 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deut 1:1'");
323
326
  expect(p.parse("Deu 1:1").osis()).toEqual("Deut.1.1", "parsing: 'Deu 1:1'");
324
327
  p.include_apocrypha(false);
328
+ expect(p.parse("DEUTERONOMEO 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONOMEO 1:1'");
325
329
  expect(p.parse("DEUTERONOMIO 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUTERONOMIO 1:1'");
326
330
  expect(p.parse("DYUTERONOMYO 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DYUTERONOMYO 1:1'");
327
331
  expect(p.parse("DEUT 1:1").osis()).toEqual("Deut.1.1", "parsing: 'DEUT 1:1'");
@@ -873,11 +877,13 @@
873
877
  p.include_apocrypha(true);
874
878
  });
875
879
  it("should handle book: Eccl (ceb)", function() {
880
+ expect(p.parse("Ecclesiastes 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Ecclesiastes 1:1'");
876
881
  expect(p.parse("Eklesyastes 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eklesyastes 1:1'");
877
882
  expect(p.parse("Magwawali 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Magwawali 1:1'");
878
883
  expect(p.parse("Kaalam 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Kaalam 1:1'");
879
884
  expect(p.parse("Eccl 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'Eccl 1:1'");
880
885
  p.include_apocrypha(false);
886
+ expect(p.parse("ECCLESIASTES 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'ECCLESIASTES 1:1'");
881
887
  expect(p.parse("EKLESYASTES 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'EKLESYASTES 1:1'");
882
888
  expect(p.parse("MAGWAWALI 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'MAGWAWALI 1:1'");
883
889
  expect(p.parse("KAALAM 1:1").osis()).toEqual("Eccl.1.1", "parsing: 'KAALAM 1:1'");
@@ -1129,12 +1135,16 @@
1129
1135
  p.include_apocrypha(true);
1130
1136
  });
1131
1137
  it("should handle book: Mic (ceb)", function() {
1138
+ expect(p.parse("Mequias 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mequias 1:1'");
1132
1139
  expect(p.parse("Miqueas 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Miqueas 1:1'");
1140
+ expect(p.parse("Mikeas 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mikeas 1:1'");
1133
1141
  expect(p.parse("Mika 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mika 1:1'");
1134
1142
  expect(p.parse("Mic 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mic 1:1'");
1135
1143
  expect(p.parse("Mik 1:1").osis()).toEqual("Mic.1.1", "parsing: 'Mik 1:1'");
1136
1144
  p.include_apocrypha(false);
1145
+ expect(p.parse("MEQUIAS 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MEQUIAS 1:1'");
1137
1146
  expect(p.parse("MIQUEAS 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIQUEAS 1:1'");
1147
+ expect(p.parse("MIKEAS 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKEAS 1:1'");
1138
1148
  expect(p.parse("MIKA 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIKA 1:1'");
1139
1149
  expect(p.parse("MIC 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIC 1:1'");
1140
1150
  expect(p.parse("MIK 1:1").osis()).toEqual("Mic.1.1", "parsing: 'MIK 1:1'");
@@ -1227,10 +1237,12 @@
1227
1237
  p.include_apocrypha(true);
1228
1238
  });
1229
1239
  it("should handle book: Hag (ceb)", function() {
1240
+ expect(p.parse("Haggeo 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Haggeo 1:1'");
1230
1241
  expect(p.parse("Hageo 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hageo 1:1'");
1231
1242
  expect(p.parse("Ageo 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Ageo 1:1'");
1232
1243
  expect(p.parse("Hag 1:1").osis()).toEqual("Hag.1.1", "parsing: 'Hag 1:1'");
1233
1244
  p.include_apocrypha(false);
1245
+ expect(p.parse("HAGGEO 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGGEO 1:1'");
1234
1246
  expect(p.parse("HAGEO 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAGEO 1:1'");
1235
1247
  expect(p.parse("AGEO 1:1").osis()).toEqual("Hag.1.1", "parsing: 'AGEO 1:1'");
1236
1248
  expect(p.parse("HAG 1:1").osis()).toEqual("Hag.1.1", "parsing: 'HAG 1:1'");
@@ -1488,12 +1500,14 @@
1488
1500
  expect(p.parse("Buhat sa mga Apostoles 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Buhat sa mga Apostoles 1:1'");
1489
1501
  expect(p.parse("Ang Mga Binuhatan 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Ang Mga Binuhatan 1:1'");
1490
1502
  expect(p.parse("Binuhatan 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Binuhatan 1:1'");
1503
+ expect(p.parse("Buhat 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Buhat 1:1'");
1491
1504
  expect(p.parse("Acts 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Acts 1:1'");
1492
1505
  expect(p.parse("Bin 1:1").osis()).toEqual("Acts.1.1", "parsing: 'Bin 1:1'");
1493
1506
  p.include_apocrypha(false);
1494
1507
  expect(p.parse("BUHAT SA MGA APOSTOLES 1:1").osis()).toEqual("Acts.1.1", "parsing: 'BUHAT SA MGA APOSTOLES 1:1'");
1495
1508
  expect(p.parse("ANG MGA BINUHATAN 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ANG MGA BINUHATAN 1:1'");
1496
1509
  expect(p.parse("BINUHATAN 1:1").osis()).toEqual("Acts.1.1", "parsing: 'BINUHATAN 1:1'");
1510
+ expect(p.parse("BUHAT 1:1").osis()).toEqual("Acts.1.1", "parsing: 'BUHAT 1:1'");
1497
1511
  expect(p.parse("ACTS 1:1").osis()).toEqual("Acts.1.1", "parsing: 'ACTS 1:1'");
1498
1512
  expect(p.parse("BIN 1:1").osis()).toEqual("Acts.1.1", "parsing: 'BIN 1:1'");
1499
1513
  });
@@ -2689,6 +2689,7 @@
2689
2689
  });
2690
2690
  it("should handle book: Hab (uk)", function() {
2691
2691
  expect(p.parse("Книга пророка Авакума 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Книга пророка Авакума 1:1'");
2692
+ expect(p.parse("Аввакума 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Аввакума 1:1'");
2692
2693
  expect(p.parse("Авакума 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Авакума 1:1'");
2693
2694
  expect(p.parse("Avakum 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Avakum 1:1'");
2694
2695
  expect(p.parse("Авакум 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Авакум 1:1'");
@@ -2696,6 +2697,7 @@
2696
2697
  expect(p.parse("Ав 1:1").osis()).toEqual("Hab.1.1", "parsing: 'Ав 1:1'");
2697
2698
  p.include_apocrypha(false);
2698
2699
  expect(p.parse("КНИГА ПРОРОКА АВАКУМА 1:1").osis()).toEqual("Hab.1.1", "parsing: 'КНИГА ПРОРОКА АВАКУМА 1:1'");
2700
+ expect(p.parse("АВВАКУМА 1:1").osis()).toEqual("Hab.1.1", "parsing: 'АВВАКУМА 1:1'");
2699
2701
  expect(p.parse("АВАКУМА 1:1").osis()).toEqual("Hab.1.1", "parsing: 'АВАКУМА 1:1'");
2700
2702
  expect(p.parse("AVAKUM 1:1").osis()).toEqual("Hab.1.1", "parsing: 'AVAKUM 1:1'");
2701
2703
  expect(p.parse("АВАКУМ 1:1").osis()).toEqual("Hab.1.1", "parsing: 'АВАКУМ 1:1'");
@@ -1568,107 +1568,6 @@
1568
1568
  return this.range(passage, accum, context);
1569
1569
  }
1570
1570
 
1571
- // Handle verse ranges when in chapter context (e.g., "Sacharja 3, 1-4" = verses 1-4 in chapter 3).
1572
- cv_range(passage, accum, context) {
1573
- var book, book_id, end_v, id, ref, start_v;
1574
- passage.start_context = bcv_utils.shallow_clone(context);
1575
- // We don't need to preserve the original `type` for reparsing.
1576
- passage.type = "range";
1577
- [start_v, end_v] = passage.value;
1578
- // Create a virtual BCV range using the current chapter context
1579
- // We need to use the book ID that matches the context, not the book name
1580
- book_id = null;
1581
- ref = this.books;
1582
- for (id in ref) {
1583
- book = ref[id];
1584
- if (book.parsed.indexOf(context.b) >= 0) {
1585
- book_id = id;
1586
- break;
1587
- }
1588
- }
1589
- passage.value = [
1590
- {
1591
- type: "bcv",
1592
- value: [
1593
- {
1594
- type: "bc",
1595
- value: [
1596
- {
1597
- type: "b",
1598
- value: book_id,
1599
- indices: passage.indices
1600
- },
1601
- {
1602
- type: "c",
1603
- value: [
1604
- {
1605
- type: "integer",
1606
- value: context.c,
1607
- indices: passage.indices
1608
- }
1609
- ],
1610
- indices: passage.indices
1611
- }
1612
- ],
1613
- indices: passage.indices
1614
- },
1615
- start_v
1616
- ],
1617
- indices: passage.indices
1618
- },
1619
- end_v
1620
- ];
1621
- return this.range(passage, accum, context);
1622
- }
1623
-
1624
- // Handle book-chapter followed by verse range (e.g., "Sacharja 3, 1-4" = verses 1-4 in chapter 3).
1625
- bc_cv_range(passage, accum, context) {
1626
- var b, bc, c, cv_range, end_v, start_v;
1627
- passage.start_context = bcv_utils.shallow_clone(context);
1628
- // We don't need to preserve the original `type` for reparsing.
1629
- passage.type = "range";
1630
- [bc, cv_range] = passage.value;
1631
- // Extract the book and chapter from the bc
1632
- b = this.pluck("b", bc.value).value;
1633
- c = this.pluck("c", bc.value).value;
1634
- // Extract the verse range from cv_range
1635
- [start_v, end_v] = cv_range.value;
1636
- // Create a virtual BCV range
1637
- passage.value = [
1638
- {
1639
- type: "bcv",
1640
- value: [
1641
- {
1642
- type: "bc",
1643
- value: [
1644
- {
1645
- type: "b",
1646
- value: b,
1647
- indices: passage.indices
1648
- },
1649
- {
1650
- type: "c",
1651
- value: [
1652
- {
1653
- type: "integer",
1654
- value: c,
1655
- indices: passage.indices
1656
- }
1657
- ],
1658
- indices: passage.indices
1659
- }
1660
- ],
1661
- indices: passage.indices
1662
- },
1663
- start_v
1664
- ],
1665
- indices: passage.indices
1666
- },
1667
- end_v
1668
- ];
1669
- return this.range(passage, accum, context);
1670
- }
1671
-
1672
1571
  // Use an object to establish context for later objects but don't otherwise use it.
1673
1572
  context(passage, accum, context) {
1674
1573
  var key, ref;
@@ -3395,7 +3294,7 @@
3395
3294
  },
3396
3295
  {
3397
3296
  osis: ["Hab"],
3398
- regexp: RegExp(`(^|${bcv_parser.prototype.regexps.pre_book})((?:Книга[\\s\\xa0]*пророка[\\s\\xa0]*Авакума|Авакума|Ав(?:акум)?|Avakum|Hab))(?:(?=[\\d\\s\\xa0.:,;\\x1e\\x1f&\\(\\)\\uff08\\uff09\\[\\]/"'\\*=~\\-\\u2013\\u2014])|$)`,
3297
+ regexp: RegExp(`(^|${bcv_parser.prototype.regexps.pre_book})((?:Книга[\\s\\xa0]*пророка[\\s\\xa0]*Авакума|Аввакума|Авакума|Ав(?:акум)?|Avakum|Hab))(?:(?=[\\d\\s\\xa0.:,;\\x1e\\x1f&\\(\\)\\uff08\\uff09\\[\\]/"'\\*=~\\-\\u2013\\u2014])|$)`,
3399
3298
  "gi")
3400
3299
  },
3401
3300
  {