diff --git a/app/db/.editorconfig b/app/db/.editorconfig index 7e71164d..99792db2 100644 --- a/app/db/.editorconfig +++ b/app/db/.editorconfig @@ -15,7 +15,7 @@ end_of_line = lf # this file has a need for arbitrarily long lines, so we exempt this here. [bible-reference.ts] -max_line_length = off +max_line_length = 9999 [*.md] max_line_length = off diff --git a/app/db/README.md b/app/db/README.md index 4ae29a83..12456284 100644 --- a/app/db/README.md +++ b/app/db/README.md @@ -44,8 +44,6 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C - Delete Note - Create Note - Note: Auto link passages using markdown link syntax -- Passage - - Show Note Cross References \*\* - Help Page - Incorporate Jacob's Geo Work - Android and IOS mobile apps with Ionic Capactor @@ -53,6 +51,7 @@ To get more help on the Angular CLI use `ng help` or go check out the [Angular C - Test note search - remove old ionic project - setup CI/CD +- Edit card query ## Optionally for Future diff --git a/app/db/src/app/common/bible-reference.ts b/app/db/src/app/common/bible-reference.ts index 63ba6456..2cd375a7 100644 --- a/app/db/src/app/common/bible-reference.ts +++ b/app/db/src/app/common/bible-reference.ts @@ -19,59 +19,7 @@ export class BibleReference { longName: 'Book of Genesis', bookNumber: 1, lastChapter: 66, - chapters: [ - 0, - 31, - 25, - 24, - 26, - 32, - 22, - 24, - 22, - 29, - 32, - 32, - 20, - 18, - 24, - 21, - 16, - 27, - 33, - 38, - 18, - 34, - 24, - 20, - 67, - 34, - 35, - 46, - 22, - 35, - 43, - 55, - 32, - 20, - 31, - 29, - 43, - 36, - 30, - 23, - 23, - 57, - 38, - 34, - 34, - 28, - 34, - 31, - 22, - 33, - 26, - ], + chapters: [0, 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26], }, { bookNumber: 2, @@ -79,49 +27,7 @@ export class BibleReference { name: 'Exodus', longName: 'Book of Exodus', lastChapter: 40, - chapters: [ - 0, - 22, - 25, - 22, - 31, - 23, - 30, - 25, - 32, - 35, - 29, - 10, - 51, - 22, - 31, - 27, - 36, - 16, - 27, - 25, - 26, - 36, - 31, - 33, - 18, - 40, - 37, - 21, - 43, - 46, - 38, - 18, - 35, - 23, - 35, - 35, - 38, - 29, - 31, - 43, - 38, - ], + chapters: [0, 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38], }, { bookNumber: 3, @@ -129,36 +35,7 @@ export class BibleReference { abbreviation: 'Lev', longName: 'Leviticus', lastChapter: 27, - chapters: [ - 0, - 17, - 16, - 17, - 35, - 19, - 30, - 38, - 36, - 24, - 20, - 47, - 8, - 59, - 57, - 33, - 34, - 16, - 30, - 37, - 27, - 24, - 33, - 44, - 23, - 55, - 46, - 34, - ], + chapters: [0, 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34], }, { bookNumber: 4, @@ -166,45 +43,7 @@ export class BibleReference { abbreviation: 'Num', longName: 'Book of Numbers', lastChapter: 36, - chapters: [ - 0, - 54, - 34, - 51, - 49, - 31, - 27, - 89, - 26, - 23, - 36, - 35, - 16, - 33, - 45, - 41, - 50, - 13, - 32, - 22, - 29, - 35, - 41, - 30, - 25, - 18, - 65, - 23, - 31, - 40, - 16, - 54, - 42, - 56, - 29, - 34, - 13, - ], + chapters: [0, 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13], }, { bookNumber: 5, @@ -212,43 +51,7 @@ export class BibleReference { abbreviation: 'Deut', longName: 'Book of Deuteronomy', lastChapter: 34, - chapters: [ - 0, - 46, - 37, - 29, - 49, - 33, - 25, - 26, - 20, - 29, - 22, - 32, - 32, - 18, - 29, - 23, - 22, - 20, - 22, - 21, - 20, - 23, - 30, - 25, - 22, - 19, - 19, - 26, - 68, - 29, - 20, - 30, - 52, - 29, - 12, - ], + chapters: [0, 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12], }, { bookNumber: 6, @@ -256,33 +59,7 @@ export class BibleReference { abbreviation: 'Josh', longName: 'Book of Joshua', lastChapter: 24, - chapters: [ - 0, - 18, - 24, - 17, - 24, - 15, - 27, - 26, - 35, - 27, - 43, - 23, - 24, - 33, - 15, - 63, - 10, - 18, - 28, - 51, - 9, - 45, - 34, - 16, - 33, - ], + chapters: [0, 18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33], }, { bookNumber: 7, @@ -290,30 +67,7 @@ export class BibleReference { abbreviation: 'Jud', longName: 'Book of Judges', lastChapter: 21, - chapters: [ - 0, - 36, - 23, - 31, - 24, - 31, - 40, - 25, - 35, - 57, - 18, - 40, - 15, - 25, - 20, - 20, - 31, - 13, - 31, - 30, - 48, - 25, - ], + chapters: [0, 36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25], }, { bookNumber: 8, @@ -329,40 +83,7 @@ export class BibleReference { abbreviation: '1 Sam', longName: 'First Book of Samuel', lastChapter: 31, - chapters: [ - 0, - 28, - 36, - 21, - 22, - 12, - 21, - 17, - 22, - 27, - 27, - 15, - 25, - 23, - 52, - 35, - 23, - 58, - 30, - 24, - 42, - 15, - 23, - 29, - 22, - 44, - 25, - 12, - 25, - 11, - 31, - 13, - ], + chapters: [0, 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13], }, { bookNumber: 10, @@ -370,33 +91,7 @@ export class BibleReference { abbreviation: '2 Sam', longName: 'Second Book of Samuel', lastChapter: 24, - chapters: [ - 0, - 27, - 32, - 39, - 12, - 25, - 23, - 29, - 18, - 13, - 19, - 27, - 31, - 39, - 33, - 37, - 23, - 29, - 33, - 43, - 26, - 22, - 51, - 39, - 25, - ], + chapters: [0, 27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25], }, { bookNumber: 11, @@ -404,31 +99,7 @@ export class BibleReference { abbreviation: '1 Kng', longName: 'First Book of Kings', lastChapter: 22, - chapters: [ - 0, - 53, - 46, - 28, - 34, - 18, - 38, - 51, - 66, - 28, - 29, - 43, - 33, - 34, - 31, - 34, - 34, - 24, - 46, - 21, - 43, - 29, - 53, - ], + chapters: [0, 53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53], }, { bookNumber: 12, @@ -436,34 +107,7 @@ export class BibleReference { abbreviation: '2 Kng', longName: 'Second Book of Kings', lastChapter: 25, - chapters: [ - 0, - 18, - 25, - 27, - 44, - 27, - 33, - 20, - 29, - 37, - 36, - 21, - 21, - 25, - 29, - 38, - 20, - 41, - 37, - 37, - 21, - 26, - 20, - 37, - 20, - 30, - ], + chapters: [0, 18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30], }, { bookNumber: 13, @@ -471,38 +115,7 @@ export class BibleReference { abbreviation: '1 Chr', longName: 'First Book of Chronicles', lastChapter: 29, - chapters: [ - 0, - 54, - 55, - 24, - 43, - 26, - 81, - 40, - 40, - 44, - 14, - 47, - 40, - 14, - 17, - 29, - 43, - 27, - 17, - 19, - 8, - 30, - 19, - 32, - 31, - 31, - 32, - 34, - 21, - 30, - ], + chapters: [0, 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30], }, { bookNumber: 14, @@ -510,45 +123,7 @@ export class BibleReference { abbreviation: '2 Chr', longName: 'Second Book of Chronicles', lastChapter: 36, - chapters: [ - 0, - 17, - 18, - 17, - 22, - 14, - 42, - 22, - 18, - 31, - 19, - 23, - 16, - 22, - 15, - 19, - 14, - 19, - 34, - 11, - 37, - 20, - 12, - 21, - 27, - 28, - 23, - 9, - 27, - 36, - 27, - 21, - 33, - 25, - 33, - 27, - 23, - ], + chapters: [0, 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23], }, { bookNumber: 15, @@ -580,51 +155,7 @@ export class BibleReference { abbreviation: 'Job', longName: 'Book of Job', lastChapter: 42, - chapters: [ - 0, - 22, - 13, - 26, - 21, - 27, - 30, - 21, - 22, - 35, - 22, - 20, - 25, - 28, - 22, - 35, - 22, - 16, - 21, - 29, - 29, - 34, - 30, - 17, - 25, - 6, - 14, - 23, - 28, - 25, - 31, - 40, - 22, - 33, - 37, - 16, - 33, - 24, - 41, - 30, - 24, - 34, - 17, - ], + chapters: [0, 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17], }, { bookNumber: 19, @@ -632,159 +163,7 @@ export class BibleReference { abbreviation: 'Psalm', longName: 'Book of Psalms', lastChapter: 150, - chapters: [ - 0, - 6, - 12, - 8, - 8, - 12, - 10, - 17, - 9, - 20, - 18, - 7, - 8, - 6, - 7, - 5, - 11, - 15, - 50, - 14, - 9, - 13, - 31, - 6, - 10, - 22, - 12, - 14, - 9, - 11, - 12, - 24, - 11, - 22, - 22, - 28, - 12, - 40, - 22, - 13, - 17, - 13, - 11, - 5, - 26, - 17, - 11, - 9, - 14, - 20, - 23, - 19, - 9, - 6, - 7, - 23, - 13, - 11, - 11, - 17, - 12, - 8, - 12, - 11, - 10, - 13, - 20, - 7, - 35, - 36, - 5, - 24, - 20, - 28, - 23, - 10, - 12, - 20, - 72, - 13, - 19, - 16, - 8, - 18, - 12, - 13, - 17, - 7, - 18, - 52, - 17, - 16, - 15, - 5, - 23, - 11, - 13, - 12, - 9, - 9, - 5, - 8, - 28, - 22, - 35, - 45, - 48, - 43, - 13, - 31, - 7, - 10, - 10, - 9, - 8, - 18, - 19, - 2, - 29, - 176, - 7, - 8, - 9, - 4, - 8, - 5, - 6, - 5, - 6, - 8, - 8, - 3, - 18, - 3, - 3, - 21, - 26, - 9, - 8, - 24, - 13, - 10, - 7, - 12, - 15, - 21, - 10, - 20, - 14, - 9, - 6, - ], + chapters: [0, 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6], }, { bookNumber: 20, @@ -792,40 +171,7 @@ export class BibleReference { abbreviation: 'Prov', longName: 'Book of Proverbs', lastChapter: 31, - chapters: [ - 0, - 33, - 22, - 35, - 27, - 23, - 35, - 27, - 36, - 18, - 32, - 31, - 28, - 25, - 35, - 33, - 33, - 28, - 24, - 29, - 30, - 31, - 29, - 35, - 34, - 28, - 28, - 27, - 28, - 27, - 33, - 31, - ], + chapters: [0, 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31], }, { bookNumber: 21, @@ -849,75 +195,7 @@ export class BibleReference { abbreviation: 'Isa', longName: 'Book of Isaiah', lastChapter: 66, - chapters: [ - 0, - 31, - 22, - 26, - 6, - 30, - 13, - 25, - 22, - 21, - 34, - 16, - 6, - 22, - 32, - 9, - 14, - 14, - 7, - 25, - 6, - 17, - 25, - 18, - 23, - 12, - 21, - 13, - 29, - 24, - 33, - 9, - 20, - 24, - 17, - 10, - 22, - 38, - 22, - 8, - 31, - 29, - 25, - 28, - 28, - 25, - 13, - 15, - 22, - 26, - 11, - 23, - 15, - 12, - 17, - 13, - 12, - 21, - 14, - 21, - 22, - 11, - 12, - 19, - 12, - 25, - 24, - ], + chapters: [0, 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24], }, { bookNumber: 24, @@ -925,61 +203,7 @@ export class BibleReference { abbreviation: 'Jer', longName: 'Book of Jeremiah', lastChapter: 52, - chapters: [ - 0, - 19, - 37, - 25, - 31, - 31, - 30, - 34, - 22, - 26, - 25, - 23, - 17, - 27, - 22, - 21, - 21, - 27, - 23, - 15, - 18, - 14, - 30, - 40, - 10, - 38, - 24, - 22, - 17, - 32, - 24, - 40, - 44, - 26, - 22, - 19, - 32, - 21, - 28, - 18, - 16, - 18, - 22, - 13, - 30, - 5, - 28, - 7, - 47, - 39, - 46, - 64, - 34, - ], + chapters: [0, 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34], }, { bookNumber: 25, @@ -995,57 +219,7 @@ export class BibleReference { abbreviation: 'Eze', longName: 'Book of Ezekiel', lastChapter: 48, - chapters: [ - 0, - 28, - 10, - 27, - 17, - 17, - 14, - 27, - 18, - 11, - 22, - 25, - 28, - 23, - 23, - 8, - 63, - 24, - 32, - 14, - 49, - 32, - 31, - 49, - 27, - 17, - 21, - 36, - 26, - 21, - 26, - 18, - 32, - 33, - 31, - 15, - 38, - 28, - 23, - 29, - 49, - 26, - 20, - 27, - 31, - 25, - 24, - 23, - 35, - ], + chapters: [0, 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35], }, { bookNumber: 27, @@ -1157,37 +331,7 @@ export class BibleReference { abbreviation: 'Matt', longName: 'Gospel of Matthew', lastChapter: 28, - chapters: [ - 0, - 25, - 23, - 17, - 25, - 48, - 34, - 29, - 34, - 38, - 42, - 30, - 50, - 58, - 36, - 39, - 28, - 27, - 35, - 30, - 34, - 46, - 46, - 39, - 51, - 46, - 75, - 66, - 20, - ], + chapters: [0, 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20], }, { bookNumber: 41, @@ -1195,25 +339,7 @@ export class BibleReference { abbreviation: 'Mark', longName: 'Gospel of Mark', lastChapter: 16, - chapters: [ - 0, - 45, - 28, - 35, - 41, - 43, - 56, - 37, - 38, - 50, - 52, - 33, - 44, - 37, - 72, - 47, - 20, - ], + chapters: [0, 45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20], }, { bookNumber: 42, @@ -1221,33 +347,7 @@ export class BibleReference { abbreviation: 'Luke', longName: 'Gospel of Luke', lastChapter: 24, - chapters: [ - 0, - 80, - 52, - 38, - 44, - 39, - 49, - 50, - 56, - 62, - 42, - 54, - 59, - 35, - 35, - 32, - 31, - 37, - 43, - 48, - 47, - 38, - 71, - 56, - 53, - ], + chapters: [0, 80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53], }, { bookNumber: 43, @@ -1255,30 +355,7 @@ export class BibleReference { abbreviation: 'John', longName: 'Gospel of John', lastChapter: 21, - chapters: [ - 0, - 51, - 25, - 36, - 54, - 47, - 71, - 53, - 59, - 41, - 42, - 57, - 50, - 38, - 31, - 27, - 33, - 26, - 40, - 42, - 31, - 25, - ], + chapters: [0, 51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25], }, { bookNumber: 44, @@ -1286,37 +363,7 @@ export class BibleReference { abbreviation: 'Acts', longName: 'Acts of the Apostles', lastChapter: 28, - chapters: [ - 0, - 26, - 47, - 26, - 37, - 42, - 15, - 60, - 40, - 43, - 48, - 30, - 25, - 52, - 28, - 41, - 40, - 34, - 28, - 41, - 38, - 40, - 30, - 35, - 27, - 27, - 32, - 44, - 31, - ], + chapters: [0, 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31], }, { bookNumber: 45, @@ -1324,25 +371,7 @@ export class BibleReference { abbreviation: 'Rom', longName: 'Epistle to the Romans', lastChapter: 16, - chapters: [ - 0, - 32, - 29, - 31, - 25, - 21, - 23, - 25, - 39, - 33, - 21, - 36, - 21, - 14, - 23, - 33, - 27, - ], + chapters: [0, 32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27], }, { bookNumber: 46, @@ -1350,25 +379,7 @@ export class BibleReference { abbreviation: '1 Cor', longName: 'First Epistle to the Corinthians', lastChapter: 16, - chapters: [ - 0, - 31, - 16, - 23, - 21, - 13, - 20, - 40, - 13, - 27, - 33, - 34, - 31, - 13, - 40, - 58, - 24, - ], + chapters: [0, 31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24], }, { bookNumber: 47, @@ -1528,31 +539,7 @@ export class BibleReference { abbreviation: 'Rev', longName: 'Book of Revelations', lastChapter: 22, - chapters: [ - 0, - 20, - 29, - 22, - 11, - 14, - 17, - 17, - 13, - 21, - 11, - 19, - 17, - 18, - 20, - 8, - 21, - 18, - 24, - 21, - 15, - 27, - 21, - ], + chapters: [0, 20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21], }, ]; @@ -1578,19 +565,14 @@ export class BibleReference { if (this.section.end.chapter === 0) { this.section.end.chapter = this.section.start.chapter; } - if ( - Number(this.section.start.verse) > Number(this.section.end.verse) && - this.section.start.chapter === this.section.end.chapter - ) { + if (Number(this.section.start.verse) > Number(this.section.end.verse) && this.section.start.chapter === this.section.end.chapter) { this.section.end.verse = this.section.start.verse; } if (this.section.start.verse === 0) { this.section.start.verse = 1; } if (this.section.end.verse === 0) { - this.section.end.verse = this.section.book.chapters[ - this.section.end.chapter - ]; + this.section.end.verse = this.section.book.chapters[this.section.end.chapter]; } } @@ -1624,31 +606,19 @@ export class BibleReference { if (fbook.search(/\b(1|i|1st|first)\s*(samuel|sa|sam|sml)\b/i) !== -1) { return this.bookName(9); } - if ( - fbook.search(/\b(2|ii|2nd|second|sec)\s*(samuel|sa|sam|sml)\b/i) !== -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(samuel|sa|sam|sml)\b/i) !== -1) { return this.bookName(10); } - if ( - fbook.search(/\b(1|i|1st|first)\s*(kings|king|kgs|kn|k|ki)\b/i) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(kings|king|kgs|kn|k|ki)\b/i) !== -1) { return this.bookName(11); } - if ( - fbook.search(/\b(2|ii|2nd|second|sec)\s*(kings|king|kgs|kn|k|ki)\b/i) !== - -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(kings|king|kgs|kn|k|ki)\b/i) !== -1) { return this.bookName(12); } - if ( - fbook.search(/\b(1|i|1st|first)\s*(chronicles|chron|ch|chr)\b/i) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(chronicles|chron|ch|chr)\b/i) !== -1) { return this.bookName(13); } - if ( - fbook.search(/\b(2|ii|2nd|second|sec)\s*(chronicles|chron|ch|chr)\b/i) !== - -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(chronicles|chron|ch|chr)\b/i) !== -1) { return this.bookName(14); } if (fbook.search(/\b(ezra|ezr)\b/i) !== -1) { @@ -1669,17 +639,10 @@ export class BibleReference { if (fbook.search(/\b(proverbs|prov|pr|pro|proverb|prv|prvbs)\b/i) !== -1) { return this.bookName(20); } - if ( - fbook.search(/\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\b/i) !== - -1 - ) { + if (fbook.search(/\b(ecclesiastes|eccl|ecc|eccles|ec|ecl|ecclesiaste)\b/i) !== -1) { return this.bookName(21); } - if ( - fbook.search( - /\b(song\sof\ssolomon|song\sof\ssongs|sos|ss|son|so|song|songs)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(song\sof\ssolomon|song\sof\ssongs|sos|ss|son|so|song|songs)\b/i) !== -1) { return this.bookName(22); } if (fbook.search(/\b(isaiah|is|isah|isai|ia)\b/i) !== -1) { @@ -1762,25 +725,13 @@ export class BibleReference { if (fbook.search(/\b(romans|rom|ro|rm|roman)\b/i) !== -1) { return this.bookName(45); } - if ( - fbook.search( - /\b(1|i|1st|first)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) !== -1) { return this.bookName(46); } - if ( - fbook.search( - /\b(2|ii|2nd|second|sec)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(corinthian|cor|corinthians|corinth|corin|corth|corint)\b/i) !== -1) { return this.bookName(47); } - if ( - fbook.search( - /\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(galatians|galatian|galations|gal|ga|gala|galation|galat)\b/i) !== -1) { return this.bookName(48); } if (fbook.search(/\b(ephesians|eph|ep|ephes|ephe|ephs)\b/i) !== -1) { @@ -1789,34 +740,19 @@ export class BibleReference { if (fbook.search(/\b(philippians|phi|phil|ph|philip)\b/i) !== -1) { return this.bookName(50); } - if ( - fbook.search(/\b(colossians|col|co|colossian|colos|coloss)\b/i) !== -1 - ) { + if (fbook.search(/\b(colossians|col|co|colossian|colos|coloss)\b/i) !== -1) { return this.bookName(51); } - if ( - fbook.search( - /\b(1|i|1st|first)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) !== -1) { return this.bookName(52); } - if ( - fbook.search( - /\b(2|ii|2nd|second|sec)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i - ) !== -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(thessalonians|the|thessa|thessalonian|thes|thess|th)\b/i) !== -1) { return this.bookName(53); } - if ( - fbook.search(/\b(1|i|1st|first)\s*(timothy|tim|ti|timoth|tm)\b/i) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(timothy|tim|ti|timoth|tm)\b/i) !== -1) { return this.bookName(54); } - if ( - fbook.search(/\b(2|ii|2nd|second|sec)\s*(timothy|tim|timoth|tm)\b/i) !== - -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(timothy|tim|timoth|tm)\b/i) !== -1) { return this.bookName(55); } if (fbook.search(/\b(titus|tit)\b/i) !== -1) { @@ -1831,15 +767,10 @@ export class BibleReference { if (fbook.search(/\b(james|jam|ja|jas|jms|jame|jm)\b/i) !== -1) { return this.bookName(59); } - if ( - fbook.search(/\b(1|i|1st|first)\s*(peter|pe|pet|pete|pt|p)\b/i) !== -1 - ) { + if (fbook.search(/\b(1|i|1st|first)\s*(peter|pe|pet|pete|pt|p)\b/i) !== -1) { return this.bookName(60); } - if ( - fbook.search(/\b(2|ii|2nd|second|sec)\s*(peter|pe|pet|pete|pt|p)\b/i) !== - -1 - ) { + if (fbook.search(/\b(2|ii|2nd|second|sec)\s*(peter|pe|pet|pete|pt|p)\b/i) !== -1) { return this.bookName(61); } if (fbook.search(/\b(jude|ju)\b/i) !== -1) { @@ -1855,22 +786,16 @@ export class BibleReference { static toString(section: Section) { // get the starting book, chapter, verse let ref = section.book.name - .concat(' ') - .concat(section.start.chapter.toString()) - .concat(':') - .concat(section.start.verse.toString()); + .concat(' ') // + .concat(section.start.chapter.toString()) // + .concat(':') // + .concat(section.start.verse.toString()); // - if ( - section.start.chapter === section.end.chapter && - section.start.verse === section.end.verse - ) { + if (section.start.chapter === section.end.chapter && section.start.verse === section.end.verse) { return ref; } - if ( - section.start.chapter === section.end.chapter && - section.start.verse !== section.end.verse - ) { + if (section.start.chapter === section.end.chapter && section.start.verse !== section.end.verse) { return ref.concat(' - ').concat(section.end.verse.toString()); } @@ -1892,11 +817,7 @@ export class BibleReference { return ref; } - static formatReferenceKey( - book: number | string, - chapter: number | string, - vs: number | string - ) { + static formatReferenceKey(book: number | string, chapter: number | string, vs: number | string) { return `${book}:${chapter}:${vs}`; } @@ -1906,41 +827,32 @@ export class BibleReference { return new BibleReference(`${book} ${keyArray[1]}:${keyArray[2]}`); } - static overlap(leftRef: BibleReference, rightRef: BibleReference): Overlap { - if (leftRef.section.book !== rightRef.section.book) { + static overlap(left: BibleReference, right: BibleReference): Overlap { + if (left.section.book !== right.section.book) { // either of the above means we are not overlapping return Overlap.None; } - const leftStartIndex = leftRef.startIndex(); - const leftEndIndex = leftRef.endIndex(); - const rightStartIndex = rightRef.startIndex(); - const rightEndIndex = rightRef.endIndex(); - if ( // left is subset of right - (leftStartIndex >= rightStartIndex && leftEndIndex <= rightEndIndex) || + (left.startIndex >= right.startIndex && left.endIndex <= right.endIndex) || // right is subset of left - (rightStartIndex >= leftStartIndex && rightEndIndex <= leftEndIndex) + (right.startIndex >= left.startIndex && right.endIndex <= left.endIndex) ) { return Overlap.Subset; } if ( // left overlaps the right - (leftEndIndex >= rightStartIndex && leftEndIndex <= rightEndIndex) || + (left.endIndex >= right.startIndex && left.endIndex <= right.endIndex) || // right overlaps the left - (rightEndIndex >= leftStartIndex && rightEndIndex <= leftEndIndex) + (right.endIndex >= left.startIndex && right.endIndex <= left.endIndex) ) { return Overlap.Intersect; } return Overlap.None; } - public static mergeReference( - ref1: BibleReference, - ref2: BibleReference, - strategy: Overlap - ): BibleReference | null { + public static mergeReference(ref1: BibleReference, ref2: BibleReference, strategy: Overlap): BibleReference | null { if (ref1.toString() === ref2.toString()) { return ref1; } @@ -1964,8 +876,9 @@ export class BibleReference { const mergedRef = new BibleReference(ref1.toString()); mergedRef.section.start.chapter = ref1.section.start.chapter <= ref2.section.start.chapter - ? ref1.section.start.chapter - : ref2.section.start.chapter; + ? ref1.section.start.chapter // + : ref2.section.start.chapter; // + if (ref1.section.start.chapter < ref2.section.start.chapter) { mergedRef.section.start.verse = ref1.section.start.verse; } else if (ref2.section.start.chapter < ref1.section.start.chapter) { @@ -1973,13 +886,15 @@ export class BibleReference { } else { mergedRef.section.start.verse = ref1.section.start.verse <= ref2.section.start.verse - ? ref1.section.start.verse - : ref2.section.start.verse; + ? ref1.section.start.verse // + : ref2.section.start.verse; // } + mergedRef.section.end.chapter = ref1.section.end.chapter >= ref2.section.end.chapter - ? ref1.section.end.chapter - : ref2.section.end.chapter; + ? ref1.section.end.chapter // + : ref2.section.end.chapter; // + if (ref1.section.end.chapter > ref2.section.end.chapter) { mergedRef.section.end.verse = ref1.section.end.verse; } else if (ref2.section.end.chapter > ref1.section.end.chapter) { @@ -1987,8 +902,8 @@ export class BibleReference { } else { mergedRef.section.end.verse = ref1.section.end.verse >= ref2.section.end.verse - ? ref1.section.end.verse - : ref2.section.end.verse; + ? ref1.section.end.verse // + : ref2.section.end.verse; // } return mergedRef; } @@ -2127,11 +1042,7 @@ export class BibleReference { }); } - private maybeParseChapterOrVerse( - foundSecondBook: boolean, - foundFirstVerse: boolean, - isEnd: boolean - ) { + private maybeParseChapterOrVerse(foundSecondBook: boolean, foundFirstVerse: boolean, isEnd: boolean) { const self = this; return this.maybeDo(() => { if (self.ref.search(/:/) !== -1 || foundSecondBook || !foundFirstVerse) { @@ -2165,18 +1076,12 @@ export class BibleReference { return BibleReference.toString(this.section); } - public startIndex(): number { - return BibleReference.locationToIndex( - this.section.book.bookNumber, - this.section.start - ); + get startIndex(): number { + return BibleReference.locationToIndex(this.section.book.bookNumber, this.section.start); } - public endIndex(): number { - return BibleReference.locationToIndex( - this.section.book.bookNumber, - this.section.end - ); + get endIndex(): number { + return BibleReference.locationToIndex(this.section.book.bookNumber, this.section.end); } }