@helloao/tools 0.2.0 → 0.3.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 (75) hide show
  1. package/dist/cjs/generation/api.cjs +856 -36
  2. package/dist/cjs/generation/api.cjs.map +3 -3
  3. package/dist/cjs/generation/audio.cjs +5 -5
  4. package/dist/cjs/generation/audio.cjs.map +1 -1
  5. package/dist/cjs/generation/book-order.cjs.map +1 -1
  6. package/dist/cjs/generation/common-types.cjs +359 -14
  7. package/dist/cjs/generation/common-types.cjs.map +2 -2
  8. package/dist/cjs/generation/dataset.cjs +13 -9
  9. package/dist/cjs/generation/dataset.cjs.map +2 -2
  10. package/dist/cjs/generation/index.cjs +8 -5
  11. package/dist/cjs/generation/index.cjs.map +2 -2
  12. package/dist/cjs/generation/simple.cjs +294 -0
  13. package/dist/cjs/generation/simple.cjs.map +7 -0
  14. package/dist/cjs/index.cjs +4 -4
  15. package/dist/cjs/index.cjs.map +1 -1
  16. package/dist/cjs/log.cjs.map +1 -1
  17. package/dist/cjs/parser/codex-parser.cjs +3 -3
  18. package/dist/cjs/parser/codex-parser.cjs.map +3 -3
  19. package/dist/cjs/parser/commentary-csv-parser.cjs +14 -3
  20. package/dist/cjs/parser/commentary-csv-parser.cjs.map +3 -3
  21. package/dist/cjs/parser/index.cjs +1 -1
  22. package/dist/cjs/parser/iterators.cjs.map +1 -1
  23. package/dist/cjs/parser/lockman-parser.cjs +1 -1
  24. package/dist/cjs/parser/lockman-parser.cjs.map +1 -1
  25. package/dist/cjs/parser/tyndale-xml-parser.cjs +1 -1
  26. package/dist/cjs/parser/tyndale-xml-parser.cjs.map +1 -1
  27. package/dist/cjs/parser/types.cjs.map +1 -1
  28. package/dist/cjs/parser/usfm-parser.cjs +2 -2
  29. package/dist/cjs/parser/usfm-parser.cjs.map +1 -1
  30. package/dist/cjs/parser/usx-parser.cjs +122 -26
  31. package/dist/cjs/parser/usx-parser.cjs.map +2 -2
  32. package/dist/cjs/parser/words.cjs +187 -0
  33. package/dist/cjs/parser/words.cjs.map +7 -0
  34. package/dist/cjs/utils.cjs +1 -1
  35. package/dist/esm/generation/api.js +835 -37
  36. package/dist/esm/generation/api.js.map +3 -3
  37. package/dist/esm/generation/audio.js +1 -1
  38. package/dist/esm/generation/audio.js.map +1 -1
  39. package/dist/esm/generation/book-order.js.map +1 -1
  40. package/dist/esm/generation/common-types.js +327 -14
  41. package/dist/esm/generation/common-types.js.map +2 -2
  42. package/dist/esm/generation/dataset.js +6 -2
  43. package/dist/esm/generation/dataset.js.map +2 -2
  44. package/dist/esm/generation/index.js +2 -1
  45. package/dist/esm/generation/index.js.map +2 -2
  46. package/dist/esm/generation/simple.js +260 -0
  47. package/dist/esm/generation/simple.js.map +7 -0
  48. package/dist/esm/index.js.map +1 -1
  49. package/dist/esm/log.js.map +1 -1
  50. package/dist/esm/parser/codex-parser.js +3 -3
  51. package/dist/esm/parser/codex-parser.js.map +3 -3
  52. package/dist/esm/parser/commentary-csv-parser.js +3 -2
  53. package/dist/esm/parser/commentary-csv-parser.js.map +2 -2
  54. package/dist/esm/parser/iterators.js.map +1 -1
  55. package/dist/esm/parser/lockman-parser.js +1 -1
  56. package/dist/esm/parser/lockman-parser.js.map +1 -1
  57. package/dist/esm/parser/tyndale-xml-parser.js +1 -1
  58. package/dist/esm/parser/tyndale-xml-parser.js.map +1 -1
  59. package/dist/esm/parser/usfm-parser.js +1 -1
  60. package/dist/esm/parser/usfm-parser.js.map +1 -1
  61. package/dist/esm/parser/usx-parser.js +130 -26
  62. package/dist/esm/parser/usx-parser.js.map +2 -2
  63. package/dist/esm/parser/words.js +149 -0
  64. package/dist/esm/parser/words.js.map +7 -0
  65. package/dist/types/generation/api.d.ts +6879 -918
  66. package/dist/types/generation/common-types.d.ts +432 -2
  67. package/dist/types/generation/index.d.ts +2 -1
  68. package/dist/types/generation/simple.d.ts +110 -0
  69. package/dist/types/parser/commentary-csv-parser.d.ts +1 -1
  70. package/dist/types/parser/lockman-parser.d.ts +1 -1
  71. package/dist/types/parser/tyndale-xml-parser.d.ts +1 -1
  72. package/dist/types/parser/types.d.ts +63 -0
  73. package/dist/types/parser/usx-parser.d.ts +6 -5
  74. package/dist/types/parser/words.d.ts +104 -0
  75. package/package.json +3 -2
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- import { padStart } from "lodash";
2
+ import { padStart } from "es-toolkit/compat";
3
3
  import { bookOrderMap } from "./book-order.js";
4
4
  export const openBibleFilenameGenerator = (translation, postfix) => {
5
5
  return (bookId, chapter) => {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../generation/audio.ts"],
4
- "sourcesContent": ["import { padStart } from 'lodash';\r\nimport { bookOrderMap } from './book-order.js';\r\nimport { TranslationBookChapterAudioLinks } from './common-types.js';\r\n\r\ntype AudioTranslationUrlGenerator = (bookId: string, chapter: number) => string;\r\n\r\nexport const openBibleFilenameGenerator: (\r\n translation: string,\r\n postfix: string | null\r\n) => AudioTranslationUrlGenerator = (translation, postfix) => {\r\n return (bookId, chapter) => {\r\n const bookOrder = padStart(\r\n bookOrderMap.get(bookId)!.toString(),\r\n 2,\r\n '0'\r\n );\r\n const chapterStr = padStart(chapter.toString(), 3, '0');\r\n\r\n let filename = `${translation}_${bookOrder}_${capitalize(\r\n bookId === 'TIT' ? 'TTS' : bookId\r\n )}_${chapterStr}`;\r\n\r\n if (postfix) {\r\n filename += `_${postfix}`;\r\n }\r\n\r\n filename += '.mp3';\r\n\r\n return filename;\r\n };\r\n};\r\n\r\nconst openBibleUrlGenerator: (\r\n translation: string,\r\n reader: string,\r\n postfix: string | null\r\n) => AudioTranslationUrlGenerator = (translation, reader, postfix) => {\r\n return (bookId, chapter) => {\r\n const bookOrder = padStart(\r\n bookOrderMap.get(bookId)!.toString(),\r\n 2,\r\n '0'\r\n );\r\n const chapterStr = padStart(chapter.toString(), 3, '0');\r\n\r\n let link = `https://openbible.com/audio/${reader}/${translation}_${bookOrder}_${capitalize(\r\n bookId === 'TIT' ? 'TTS' : bookId\r\n )}_${chapterStr}`;\r\n\r\n if (postfix) {\r\n link += `_${postfix}`;\r\n }\r\n\r\n link += '.mp3';\r\n\r\n return link;\r\n };\r\n};\r\n\r\nconst freeUseBibleApiGenerator: (\r\n translation: string,\r\n reader: string\r\n) => AudioTranslationUrlGenerator = (translation, reader) => {\r\n return (bookId, chapter) => {\r\n const link = `https://audio.bible.helloao.org/api/${translation}/${bookId}/${chapter.toString()}/audio/${reader}.mp3`;\r\n return link;\r\n };\r\n};\r\n\r\n/**\r\n * A map of translation IDs to a map of reader IDs to the URL generator for the audio file.\r\n */\r\nexport const KNOWN_AUDIO_FILE_TRANSLATIONS: Map<\r\n string,\r\n Map<string, AudioTranslationUrlGenerator>\r\n> = new Map([\r\n [\r\n 'BSB',\r\n new Map([\r\n ['hays', openBibleFilenameGenerator('BSB', 'H')],\r\n ['souer', openBibleFilenameGenerator('BSB', null)],\r\n ['david', openBibleFilenameGenerator('BSB', 'D')],\r\n ]),\r\n ],\r\n]);\r\n\r\n/**\r\n * A map of translation IDs to a map of reader IDs to the URL generator for the audio file.\r\n */\r\nexport const KNOWN_AUDIO_TRANSLATIONS: Map<\r\n string,\r\n Map<string, AudioTranslationUrlGenerator>\r\n> = new Map([\r\n [\r\n 'BSB',\r\n new Map([\r\n ['hays', freeUseBibleApiGenerator('BSB', 'hays')],\r\n ['souer', freeUseBibleApiGenerator('BSB', 'souer')],\r\n ['david', freeUseBibleApiGenerator('BSB', 'david')],\r\n ]),\r\n ],\r\n [\r\n 'AAB',\r\n // AAB re-uses the BSB audio files\r\n new Map([\r\n ['hays', freeUseBibleApiGenerator('BSB', 'hays')],\r\n ['souer', freeUseBibleApiGenerator('BSB', 'souer')],\r\n ['david', freeUseBibleApiGenerator('BSB', 'david')],\r\n ]),\r\n ],\r\n]);\r\n\r\n/**\r\n * Gets the audio URLs for the given translation, book, and chapter.\r\n * @param translationId The ID of the translation.\r\n * @param bookId The ID of the book.\r\n * @param chapter The number of the chapter.\r\n */\r\nexport function getAudioUrlsForChapter(\r\n translationId: string,\r\n bookId: string,\r\n chapter: number\r\n): TranslationBookChapterAudioLinks {\r\n const translation = KNOWN_AUDIO_TRANSLATIONS.get(translationId);\r\n if (!translation) {\r\n return {};\r\n }\r\n\r\n const links: TranslationBookChapterAudioLinks = {};\r\n for (let [reader, generator] of translation) {\r\n const url = generator(bookId, chapter);\r\n if (url) {\r\n links[reader] = url;\r\n }\r\n }\r\n return links;\r\n}\r\n\r\n/**\r\n * Capitalizes the first letter of the given string.\r\n * @param str The string to capitalize.\r\n */\r\nexport function capitalize(str: string): string {\r\n const char = str.charAt(0);\r\n if (/[0-9]/.test(char)) {\r\n return (\r\n str.charAt(0) +\r\n str.charAt(1).toUpperCase() +\r\n str.slice(2).toLowerCase()\r\n );\r\n }\r\n\r\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\r\n}\r\n"],
4
+ "sourcesContent": ["import { padStart } from 'es-toolkit/compat';\r\nimport { bookOrderMap } from './book-order.js';\r\nimport { TranslationBookChapterAudioLinks } from './common-types.js';\r\n\r\ntype AudioTranslationUrlGenerator = (bookId: string, chapter: number) => string;\r\n\r\nexport const openBibleFilenameGenerator: (\r\n translation: string,\r\n postfix: string | null\r\n) => AudioTranslationUrlGenerator = (translation, postfix) => {\r\n return (bookId, chapter) => {\r\n const bookOrder = padStart(\r\n bookOrderMap.get(bookId)!.toString(),\r\n 2,\r\n '0'\r\n );\r\n const chapterStr = padStart(chapter.toString(), 3, '0');\r\n\r\n let filename = `${translation}_${bookOrder}_${capitalize(\r\n bookId === 'TIT' ? 'TTS' : bookId\r\n )}_${chapterStr}`;\r\n\r\n if (postfix) {\r\n filename += `_${postfix}`;\r\n }\r\n\r\n filename += '.mp3';\r\n\r\n return filename;\r\n };\r\n};\r\n\r\nconst openBibleUrlGenerator: (\r\n translation: string,\r\n reader: string,\r\n postfix: string | null\r\n) => AudioTranslationUrlGenerator = (translation, reader, postfix) => {\r\n return (bookId, chapter) => {\r\n const bookOrder = padStart(\r\n bookOrderMap.get(bookId)!.toString(),\r\n 2,\r\n '0'\r\n );\r\n const chapterStr = padStart(chapter.toString(), 3, '0');\r\n\r\n let link = `https://openbible.com/audio/${reader}/${translation}_${bookOrder}_${capitalize(\r\n bookId === 'TIT' ? 'TTS' : bookId\r\n )}_${chapterStr}`;\r\n\r\n if (postfix) {\r\n link += `_${postfix}`;\r\n }\r\n\r\n link += '.mp3';\r\n\r\n return link;\r\n };\r\n};\r\n\r\nconst freeUseBibleApiGenerator: (\r\n translation: string,\r\n reader: string\r\n) => AudioTranslationUrlGenerator = (translation, reader) => {\r\n return (bookId, chapter) => {\r\n const link = `https://audio.bible.helloao.org/api/${translation}/${bookId}/${chapter.toString()}/audio/${reader}.mp3`;\r\n return link;\r\n };\r\n};\r\n\r\n/**\r\n * A map of translation IDs to a map of reader IDs to the URL generator for the audio file.\r\n */\r\nexport const KNOWN_AUDIO_FILE_TRANSLATIONS: Map<\r\n string,\r\n Map<string, AudioTranslationUrlGenerator>\r\n> = new Map([\r\n [\r\n 'BSB',\r\n new Map([\r\n ['hays', openBibleFilenameGenerator('BSB', 'H')],\r\n ['souer', openBibleFilenameGenerator('BSB', null)],\r\n ['david', openBibleFilenameGenerator('BSB', 'D')],\r\n ]),\r\n ],\r\n]);\r\n\r\n/**\r\n * A map of translation IDs to a map of reader IDs to the URL generator for the audio file.\r\n */\r\nexport const KNOWN_AUDIO_TRANSLATIONS: Map<\r\n string,\r\n Map<string, AudioTranslationUrlGenerator>\r\n> = new Map([\r\n [\r\n 'BSB',\r\n new Map([\r\n ['hays', freeUseBibleApiGenerator('BSB', 'hays')],\r\n ['souer', freeUseBibleApiGenerator('BSB', 'souer')],\r\n ['david', freeUseBibleApiGenerator('BSB', 'david')],\r\n ]),\r\n ],\r\n [\r\n 'AAB',\r\n // AAB re-uses the BSB audio files\r\n new Map([\r\n ['hays', freeUseBibleApiGenerator('BSB', 'hays')],\r\n ['souer', freeUseBibleApiGenerator('BSB', 'souer')],\r\n ['david', freeUseBibleApiGenerator('BSB', 'david')],\r\n ]),\r\n ],\r\n]);\r\n\r\n/**\r\n * Gets the audio URLs for the given translation, book, and chapter.\r\n * @param translationId The ID of the translation.\r\n * @param bookId The ID of the book.\r\n * @param chapter The number of the chapter.\r\n */\r\nexport function getAudioUrlsForChapter(\r\n translationId: string,\r\n bookId: string,\r\n chapter: number\r\n): TranslationBookChapterAudioLinks {\r\n const translation = KNOWN_AUDIO_TRANSLATIONS.get(translationId);\r\n if (!translation) {\r\n return {};\r\n }\r\n\r\n const links: TranslationBookChapterAudioLinks = {};\r\n for (let [reader, generator] of translation) {\r\n const url = generator(bookId, chapter);\r\n if (url) {\r\n links[reader] = url;\r\n }\r\n }\r\n return links;\r\n}\r\n\r\n/**\r\n * Capitalizes the first letter of the given string.\r\n * @param str The string to capitalize.\r\n */\r\nexport function capitalize(str: string): string {\r\n const char = str.charAt(0);\r\n if (/[0-9]/.test(char)) {\r\n return (\r\n str.charAt(0) +\r\n str.charAt(1).toUpperCase() +\r\n str.slice(2).toLowerCase()\r\n );\r\n }\r\n\r\n return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();\r\n}\r\n"],
5
5
  "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../generation/book-order.ts"],
4
- "sourcesContent": ["/**\r\n * Defines a map that maps the book ID of apocryphal books to the numerical order of the book.\r\n */\r\nexport const apocryphaBooks = new Map([\r\n // Apocryphal books\r\n ['TOB', 67],\r\n ['JDT', 68],\r\n ['ESG', 69],\r\n ['WIS', 70],\r\n ['SIR', 71],\r\n ['BAR', 72],\r\n ['LJE', 73],\r\n ['S3Y', 74],\r\n ['SUS', 75],\r\n ['BEL', 76],\r\n ['1MA', 77],\r\n ['2MA', 78],\r\n ['3MA', 79],\r\n ['4MA', 80],\r\n ['1ES', 81],\r\n ['2ES', 82],\r\n ['MAN', 83],\r\n ['PS2', 84],\r\n ['ODA', 85],\r\n ['PSS', 86],\r\n ['EZA', 87],\r\n ['5EZ', 88],\r\n ['6EZ', 89],\r\n ['DAG', 90],\r\n ['PS3', 91],\r\n ['2BA', 92],\r\n ['LBA', 93],\r\n ['JUB', 94],\r\n ['ENO', 95],\r\n ['1MQ', 96],\r\n ['2MQ', 97],\r\n ['3MQ', 98],\r\n ['REP', 99],\r\n ['4BA', 100],\r\n ['LAO', 101],\r\n]);\r\n\r\n/**\r\n * Defines a map that maps the book ID to the numerical order of the book.\r\n */\r\nexport const bookOrderMap = new Map([\r\n ['GEN', 1],\r\n ['EXO', 2],\r\n ['LEV', 3],\r\n ['NUM', 4],\r\n ['DEU', 5],\r\n ['JOS', 6],\r\n ['JDG', 7],\r\n ['RUT', 8],\r\n ['1SA', 9],\r\n ['2SA', 10],\r\n ['1KI', 11],\r\n ['2KI', 12],\r\n ['1CH', 13],\r\n ['2CH', 14],\r\n ['EZR', 15],\r\n ['NEH', 16],\r\n ['EST', 17],\r\n ['JOB', 18],\r\n ['PSA', 19],\r\n ['PRO', 20],\r\n ['ECC', 21],\r\n ['SNG', 22],\r\n ['ISA', 23],\r\n ['JER', 24],\r\n ['LAM', 25],\r\n ['EZK', 26],\r\n ['DAN', 27],\r\n ['HOS', 28],\r\n ['JOL', 29],\r\n ['AMO', 30],\r\n ['OBA', 31],\r\n ['JON', 32],\r\n ['MIC', 33],\r\n ['NAM', 34],\r\n ['HAB', 35],\r\n ['ZEP', 36],\r\n ['HAG', 37],\r\n ['ZEC', 38],\r\n ['MAL', 39],\r\n ['MAT', 40],\r\n ['MRK', 41],\r\n ['LUK', 42],\r\n ['JHN', 43],\r\n ['ACT', 44],\r\n ['ROM', 45],\r\n ['1CO', 46],\r\n ['2CO', 47],\r\n ['GAL', 48],\r\n ['EPH', 49],\r\n ['PHP', 50],\r\n ['COL', 51],\r\n ['1TH', 52],\r\n ['2TH', 53],\r\n ['1TI', 54],\r\n ['2TI', 55],\r\n ['TIT', 56],\r\n ['PHM', 57],\r\n ['HEB', 58],\r\n ['JAS', 59],\r\n ['1PE', 60],\r\n ['2PE', 61],\r\n ['1JN', 62],\r\n ['2JN', 63],\r\n ['3JN', 64],\r\n ['JUD', 65],\r\n ['REV', 66],\r\n ...apocryphaBooks,\r\n]);\r\n\r\n/**\r\n * Defines a map that maps the book ID to the number of chapters the book has.\r\n */\r\nexport const bookChapterCountMap = new Map([\r\n ['GEN', 50],\r\n ['EXO', 40],\r\n ['LEV', 27],\r\n ['NUM', 36],\r\n ['DEU', 34],\r\n ['JOS', 24],\r\n ['JDG', 21],\r\n ['RUT', 4],\r\n ['1SA', 31],\r\n ['2SA', 24],\r\n ['1KI', 22],\r\n ['2KI', 25],\r\n ['1CH', 29],\r\n ['2CH', 36],\r\n ['EZR', 10],\r\n ['NEH', 13],\r\n ['EST', 10],\r\n ['JOB', 42],\r\n ['PSA', 150],\r\n ['PRO', 31],\r\n ['ECC', 12],\r\n ['SNG', 8],\r\n ['ISA', 66],\r\n ['JER', 52],\r\n ['LAM', 5],\r\n ['EZK', 48],\r\n ['DAN', 12],\r\n ['HOS', 14],\r\n ['JOL', 3],\r\n ['AMO', 9],\r\n ['OBA', 1],\r\n ['JON', 4],\r\n ['MIC', 7],\r\n ['NAM', 3],\r\n ['HAB', 3],\r\n ['ZEP', 3],\r\n ['HAG', 2],\r\n ['ZEC', 14],\r\n ['MAL', 4],\r\n ['MAT', 28],\r\n ['MRK', 16],\r\n ['LUK', 24],\r\n ['JHN', 21],\r\n ['ACT', 28],\r\n ['ROM', 16],\r\n ['1CO', 16],\r\n ['2CO', 13],\r\n ['GAL', 6],\r\n ['EPH', 6],\r\n ['PHP', 4],\r\n ['COL', 4],\r\n ['1TH', 5],\r\n ['2TH', 3],\r\n ['1TI', 6],\r\n ['2TI', 4],\r\n ['TIT', 3],\r\n ['PHM', 1],\r\n ['HEB', 13],\r\n ['JAS', 5],\r\n ['1PE', 5],\r\n ['2PE', 3],\r\n ['1JN', 5],\r\n ['2JN', 1],\r\n ['3JN', 1],\r\n ['JUD', 1],\r\n ['REV', 22],\r\n]);\r\n\r\n/**\r\n * Defines a map that maps the book ID to the \"common\" enligsh name for the book.\r\n */\r\nconst englishBookMap = new Map([\r\n ['GEN', { commonName: 'Genesis' }],\r\n ['EXO', { commonName: 'Exodus' }],\r\n ['LEV', { commonName: 'Leviticus' }],\r\n ['NUM', { commonName: 'Numbers' }],\r\n ['DEU', { commonName: 'Deuteronomy' }],\r\n ['JOS', { commonName: 'Joshua' }],\r\n ['JDG', { commonName: 'Judges' }],\r\n ['RUT', { commonName: 'Ruth' }],\r\n ['1SA', { commonName: '1 Samuel' }],\r\n ['2SA', { commonName: '2 Samuel' }],\r\n ['1KI', { commonName: '1 Kings' }],\r\n ['2KI', { commonName: '2 Kings' }],\r\n ['1CH', { commonName: '1 Chronicles' }],\r\n ['2CH', { commonName: '2 Chronicles' }],\r\n ['EZR', { commonName: 'Ezra' }],\r\n ['NEH', { commonName: 'Nehemiah' }],\r\n ['EST', { commonName: 'Esther' }],\r\n ['JOB', { commonName: 'Job' }],\r\n ['PSA', { commonName: 'Psalms' }],\r\n ['PRO', { commonName: 'Proverbs' }],\r\n ['ECC', { commonName: 'Ecclesiastes' }],\r\n ['SNG', { commonName: 'Song of Solomon' }],\r\n ['ISA', { commonName: 'Isaiah' }],\r\n ['JER', { commonName: 'Jeremiah' }],\r\n ['LAM', { commonName: 'Lamentations' }],\r\n ['EZK', { commonName: 'Ezekiel' }],\r\n ['DAN', { commonName: 'Daniel' }],\r\n ['HOS', { commonName: 'Hosea' }],\r\n ['JOL', { commonName: 'Joel' }],\r\n ['AMO', { commonName: 'Amos' }],\r\n ['OBA', { commonName: 'Obadiah' }],\r\n ['JON', { commonName: 'Jonah' }],\r\n ['MIC', { commonName: 'Micah' }],\r\n ['NAM', { commonName: 'Nahum' }],\r\n ['HAB', { commonName: 'Habakkuk' }],\r\n ['ZEP', { commonName: 'Zephaniah' }],\r\n ['HAG', { commonName: 'Haggai' }],\r\n ['ZEC', { commonName: 'Zechariah' }],\r\n ['MAL', { commonName: 'Malachi' }],\r\n ['MAT', { commonName: 'Matthew' }],\r\n ['MRK', { commonName: 'Mark' }],\r\n ['LUK', { commonName: 'Luke' }],\r\n ['JHN', { commonName: 'John' }],\r\n ['ACT', { commonName: 'Acts' }],\r\n ['ROM', { commonName: 'Romans' }],\r\n ['1CO', { commonName: '1 Corinthians' }],\r\n ['2CO', { commonName: '2 Corinthians' }],\r\n ['GAL', { commonName: 'Galatians' }],\r\n ['EPH', { commonName: 'Ephesians' }],\r\n ['PHP', { commonName: 'Philippians' }],\r\n ['COL', { commonName: 'Colossians' }],\r\n ['1TH', { commonName: '1 Thessalonians' }],\r\n ['2TH', { commonName: '2 Thessalonians' }],\r\n ['1TI', { commonName: '1 Timothy' }],\r\n ['2TI', { commonName: '2 Timothy' }],\r\n ['TIT', { commonName: 'Titus' }],\r\n ['PHM', { commonName: 'Philemon' }],\r\n ['HEB', { commonName: 'Hebrews' }],\r\n ['JAS', { commonName: 'James' }],\r\n ['1PE', { commonName: '1 Peter' }],\r\n ['2PE', { commonName: '2 Peter' }],\r\n ['1JN', { commonName: '1 John' }],\r\n ['2JN', { commonName: '2 John' }],\r\n ['3JN', { commonName: '3 John' }],\r\n ['JUD', { commonName: 'Jude' }],\r\n ['REV', { commonName: 'Revelation' }],\r\n]);\r\n\r\n/**\r\n * Defines a map that maps the book ID to the \"common\" arabic name for the book.\r\n */\r\nconst arabicBookMap = new Map([\r\n ['GEN', { commonName: '\u0627\u0644\u062A\u064E\u0651\u0643\u0648\u064A\u0646' }],\r\n ['EXO', { commonName: '\u0627\u0644\u062E\u064F\u0631\u064F\u0648\u062C' }],\r\n ['LEV', { commonName: '\u0627\u0644\u0644\u0651\u0627\u0648\u064A\u0650\u0651\u064A\u0646' }],\r\n ['NUM', { commonName: '\u0627\u0644\u0639\u064E\u062F\u064E\u062F' }],\r\n ['DEU', { commonName: '\u0627\u0644\u062A\u064E\u0651\u062B\u0652\u0646\u0650\u064A\u064E\u0629' }],\r\n ['JOS', { commonName: '\u064A\u064E\u0634\u064F\u0648\u0639' }],\r\n ['JDG', { commonName: '\u0627\u0644\u0642\u064F\u0636\u0627\u0629' }],\r\n ['RUT', { commonName: '\u0631\u0627\u0639\u064F\u0648\u062B' }],\r\n ['1SA', { commonName: '\u0635\u064E\u0645\u064F\u0648\u0626\u064A\u0644\u064E \u0627\u0644\u0623\u0648\u064E\u0651\u0644\u064F' }],\r\n ['2SA', { commonName: '\u0635\u0645\u0648\u0626\u064A\u0644\u064E \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\r\n ['1KI', { commonName: '\u0627\u0644\u0645\u064F\u0644\u064F\u0648\u0643\u0650 \u0627\u0644\u0623\u0648\u064E\u0651\u0644\u064F' }],\r\n ['2KI', { commonName: '\u0627\u0644\u0645\u064F\u0644\u064F\u0648\u0643\u0650 \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\r\n ['1CH', { commonName: '\u0623\u062E\u0628\u0627\u0631\u0650 \u0627\u0644\u0623\u064A\u0651\u0627\u0645\u0650 \u0627\u0644\u0623\u0648\u0651\u0644\u064F' }],\r\n ['2CH', { commonName: ' \u0623\u062E\u0628\u0627\u0631\u0650 \u0627\u0644\u0623\u064A\u0651\u0627\u0645\u0650 \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\r\n ['EZR', { commonName: '\u0639\u064E\u0632\u0652\u0631\u0627' }],\r\n ['NEH', { commonName: '\u0646\u064E\u062D\u064E\u0645\u0652\u064A\u0627' }],\r\n ['EST', { commonName: '\u0623\u0633\u0652\u062A\u0650\u064A\u0631' }],\r\n ['JOB', { commonName: '\u0623\u064A\u064F\u0651\u0648\u0628' }],\r\n ['PSA', { commonName: '\u0627\u0644\u0645\u064E\u0632\u0627\u0645\u0650\u064A\u0631' }],\r\n ['PRO', { commonName: '\u0627\u0644\u0623\u0645\u062B\u0627\u0644' }],\r\n ['ECC', { commonName: '\u0627\u0644\u062C\u0627\u0645\u0650\u0639\u064E\u0629' }],\r\n ['SNG', { commonName: '\u0646\u064E\u0634\u0650\u064A\u062F\u0650 \u0627\u0644\u0623\u0646\u0634\u0627\u062F' }],\r\n ['ISA', { commonName: '\u0625\u0634\u064E\u0639\u0652\u064A\u0627\u0621' }],\r\n ['JER', { commonName: '\u0625\u0631\u0652\u0645\u0650\u064A\u0627' }],\r\n ['LAM', { commonName: '\uFEE3\uFEAE\uFE8D\uFE9B\uFEF2 \uFE87\uFEAD\uFEE3\uFEF4\uFE8E' }],\r\n ['EZK', { commonName: '\u062D\u0650\u0632\u0652\u0642\u0650\u064A\u0627\u0644' }],\r\n ['DAN', { commonName: '\u062F\u0627\u0646\u064A\u0627\u0644' }],\r\n ['HOS', { commonName: '\u0647\u064F\u0648\u0634\u064E\u0639' }],\r\n ['JOL', { commonName: '\u064A\u064F\u0648\u0626\u064A\u0644' }],\r\n ['AMO', { commonName: '\u0639\u0627\u0645\u064F\u0648\u0633' }],\r\n ['OBA', { commonName: '\u0639\u064F\u0648\u0628\u064E\u062F\u0652\u064A\u0627' }],\r\n ['JON', { commonName: '\uFEF3\uFEEE\uFEE7\uFE8E\uFEE5' }],\r\n ['MIC', { commonName: '\u0645\u064A\u062E\u0627' }],\r\n ['NAM', { commonName: '\u0646\u0627\u062D\u064F\u0648\u0645' }],\r\n ['HAB', { commonName: '\u062D\u064E\u0628\u064E\u0642\u064F\u0651\u0648\u0642' }],\r\n ['ZEP', { commonName: '\u0635\u064E\u0641\u064E\u0646\u0652\u064A\u0627' }],\r\n ['HAG', { commonName: '\u062D\u064E\u062C\u064E\u0651\u064A' }],\r\n ['ZEC', { commonName: '\u0632\u064E\u0643\u064E\u0631\u064A\u0651\u0627' }],\r\n ['MAL', { commonName: '\u0645\u064E\u0644\u0627\u062E\u0650\u064A' }],\r\n ['MAT', { commonName: '\uFEE3\uFE98\uFEF0' }],\r\n ['MRK', { commonName: '\u0645\u064E\u0631\u0652\u0642\u064F\u0633' }],\r\n ['LUK', { commonName: '\u0644\u064F\u0648\u0642\u0627' }],\r\n ['JHN', { commonName: '\u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627' }],\r\n ['ACT', { commonName: '\u0627\u0639\u0645\u0627\u0644 \u0627\u0644\u0631\u0633\u0644' }],\r\n ['ROM', { commonName: '\uFEAD\uFEED\uFEE3\uFEF4\uFE94' }],\r\n ['1CO', { commonName: '\uFEDB\uFEEE\uFEAD\uFEE7\uFE9C\uFEEE\uFEB1 \uFE8D\uFEFB\uFEED\uFEDD' }],\r\n ['2CO', { commonName: '\uFEDB\uFEEE\uFEAD\uFEE7\uFE9C\uFEEE\uFEB1 \uFE8D\uFEDF\uFE9C\uFE8E\uFEE7\uFEF4\uFE94' }],\r\n ['GAL', { commonName: '\u063A\u064E\u0644\u0627\u0637\u0650\u064A\u064E\u0651\u0629' }],\r\n ['EPH', { commonName: '\u0623\u0641\u064E\u0633\u064F\u0633' }],\r\n ['PHP', { commonName: '\u0641\u0650\u064A\u0644\u0650\u0628\u0650\u0651\u064A' }],\r\n ['COL', { commonName: '\u0643\u064F\u0648\u0644\u064F\u0648\u0633\u0650\u064A' }],\r\n ['1TH', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649 \u0625\u0644\u064E\u0649 \u062A\u064E\u0633\u0627\u0644\u064F\u0648\u0646\u0650\u064A\u0643\u0650\u064A' }],\r\n ['2TH', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629\u064F \u0625\u0644\u064E\u0649 \u062A\u064E\u0633\u0627\u0644\u064F\u0648\u0646\u0650\u064A\u0643\u0650\u064A' }],\r\n ['1TI', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649 \u0625\u0644\u064E\u0649 \u062A\u0650\u064A\u0645\u064F\u0648\u062B\u0627\u0648\u064F\u0633' }],\r\n ['2TI', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629\u064F \u0625\u0644\u064E\u0649 \u062A\u0650\u064A\u0645\u064F\u0648\u062B\u0627\u0648\u064F\u0633' }],\r\n ['TIT', { commonName: '\u062A\u0650\u064A\u0637\u064F\u0633' }],\r\n ['PHM', { commonName: '\u0641\u0650\u0644\u0650\u064A\u0652\u0645\u064F\u0648\u0646' }],\r\n ['HEB', { commonName: '\u0627\u0644\u0639\u0650\u0628\u0631\u0627\u0646\u0650\u064A\u0651\u064A\u0646' }],\r\n ['JAS', { commonName: '\u064A\u064E\u0639\u0642\u064F\u0648\u0628' }],\r\n ['1PE', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u0628\u064F\u0637\u0631\u064F\u0633\u064E \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649' }],\r\n ['2PE', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u0628\u064F\u0637\u0631\u064F\u0633\u064E \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629' }],\r\n ['1JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649' }],\r\n ['2JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629' }],\r\n ['3JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u062B\u0651\u0627\u0644\u062B\u064E\u0629' }],\r\n ['JUD', { commonName: '\u064A\u064E\u0647\u064F\u0648\u0630\u0627' }],\r\n ['REV', { commonName: '\u0631\u064F\u0624\u064A\u0627 \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627' }],\r\n]);\r\n\r\n/**\r\n * Defines a map that maps a locale ID to a book name map.\r\n */\r\nexport const bookIdMap = new Map([\r\n ['en', englishBookMap],\r\n ['en-US', englishBookMap],\r\n ['eng', englishBookMap],\r\n ['arb', arabicBookMap],\r\n]);\r\n"],
4
+ "sourcesContent": ["/**\n * Defines a map that maps the book ID of apocryphal books to the numerical order of the book.\n */\nexport const apocryphaBooks = new Map([\n // Apocryphal books\n ['TOB', 67],\n ['JDT', 68],\n ['ESG', 69],\n ['WIS', 70],\n ['SIR', 71],\n ['BAR', 72],\n ['LJE', 73],\n ['S3Y', 74],\n ['SUS', 75],\n ['BEL', 76],\n ['1MA', 77],\n ['2MA', 78],\n ['3MA', 79],\n ['4MA', 80],\n ['1ES', 81],\n ['2ES', 82],\n ['MAN', 83],\n ['PS2', 84],\n ['ODA', 85],\n ['PSS', 86],\n ['EZA', 87],\n ['5EZ', 88],\n ['6EZ', 89],\n ['DAG', 90],\n ['PS3', 91],\n ['2BA', 92],\n ['LBA', 93],\n ['JUB', 94],\n ['ENO', 95],\n ['1MQ', 96],\n ['2MQ', 97],\n ['3MQ', 98],\n ['REP', 99],\n ['4BA', 100],\n ['LAO', 101],\n]);\n\n/**\n * Defines a map that maps the book ID to the numerical order of the book.\n */\nexport const bookOrderMap = new Map([\n ['GEN', 1],\n ['EXO', 2],\n ['LEV', 3],\n ['NUM', 4],\n ['DEU', 5],\n ['JOS', 6],\n ['JDG', 7],\n ['RUT', 8],\n ['1SA', 9],\n ['2SA', 10],\n ['1KI', 11],\n ['2KI', 12],\n ['1CH', 13],\n ['2CH', 14],\n ['EZR', 15],\n ['NEH', 16],\n ['EST', 17],\n ['JOB', 18],\n ['PSA', 19],\n ['PRO', 20],\n ['ECC', 21],\n ['SNG', 22],\n ['ISA', 23],\n ['JER', 24],\n ['LAM', 25],\n ['EZK', 26],\n ['DAN', 27],\n ['HOS', 28],\n ['JOL', 29],\n ['AMO', 30],\n ['OBA', 31],\n ['JON', 32],\n ['MIC', 33],\n ['NAM', 34],\n ['HAB', 35],\n ['ZEP', 36],\n ['HAG', 37],\n ['ZEC', 38],\n ['MAL', 39],\n ['MAT', 40],\n ['MRK', 41],\n ['LUK', 42],\n ['JHN', 43],\n ['ACT', 44],\n ['ROM', 45],\n ['1CO', 46],\n ['2CO', 47],\n ['GAL', 48],\n ['EPH', 49],\n ['PHP', 50],\n ['COL', 51],\n ['1TH', 52],\n ['2TH', 53],\n ['1TI', 54],\n ['2TI', 55],\n ['TIT', 56],\n ['PHM', 57],\n ['HEB', 58],\n ['JAS', 59],\n ['1PE', 60],\n ['2PE', 61],\n ['1JN', 62],\n ['2JN', 63],\n ['3JN', 64],\n ['JUD', 65],\n ['REV', 66],\n ...apocryphaBooks,\n]);\n\n/**\n * Defines a map that maps the book ID to the number of chapters the book has.\n */\nexport const bookChapterCountMap = new Map([\n ['GEN', 50],\n ['EXO', 40],\n ['LEV', 27],\n ['NUM', 36],\n ['DEU', 34],\n ['JOS', 24],\n ['JDG', 21],\n ['RUT', 4],\n ['1SA', 31],\n ['2SA', 24],\n ['1KI', 22],\n ['2KI', 25],\n ['1CH', 29],\n ['2CH', 36],\n ['EZR', 10],\n ['NEH', 13],\n ['EST', 10],\n ['JOB', 42],\n ['PSA', 150],\n ['PRO', 31],\n ['ECC', 12],\n ['SNG', 8],\n ['ISA', 66],\n ['JER', 52],\n ['LAM', 5],\n ['EZK', 48],\n ['DAN', 12],\n ['HOS', 14],\n ['JOL', 3],\n ['AMO', 9],\n ['OBA', 1],\n ['JON', 4],\n ['MIC', 7],\n ['NAM', 3],\n ['HAB', 3],\n ['ZEP', 3],\n ['HAG', 2],\n ['ZEC', 14],\n ['MAL', 4],\n ['MAT', 28],\n ['MRK', 16],\n ['LUK', 24],\n ['JHN', 21],\n ['ACT', 28],\n ['ROM', 16],\n ['1CO', 16],\n ['2CO', 13],\n ['GAL', 6],\n ['EPH', 6],\n ['PHP', 4],\n ['COL', 4],\n ['1TH', 5],\n ['2TH', 3],\n ['1TI', 6],\n ['2TI', 4],\n ['TIT', 3],\n ['PHM', 1],\n ['HEB', 13],\n ['JAS', 5],\n ['1PE', 5],\n ['2PE', 3],\n ['1JN', 5],\n ['2JN', 1],\n ['3JN', 1],\n ['JUD', 1],\n ['REV', 22],\n]);\n\n/**\n * Defines a map that maps the book ID to the \"common\" enligsh name for the book.\n */\nconst englishBookMap = new Map([\n ['GEN', { commonName: 'Genesis' }],\n ['EXO', { commonName: 'Exodus' }],\n ['LEV', { commonName: 'Leviticus' }],\n ['NUM', { commonName: 'Numbers' }],\n ['DEU', { commonName: 'Deuteronomy' }],\n ['JOS', { commonName: 'Joshua' }],\n ['JDG', { commonName: 'Judges' }],\n ['RUT', { commonName: 'Ruth' }],\n ['1SA', { commonName: '1 Samuel' }],\n ['2SA', { commonName: '2 Samuel' }],\n ['1KI', { commonName: '1 Kings' }],\n ['2KI', { commonName: '2 Kings' }],\n ['1CH', { commonName: '1 Chronicles' }],\n ['2CH', { commonName: '2 Chronicles' }],\n ['EZR', { commonName: 'Ezra' }],\n ['NEH', { commonName: 'Nehemiah' }],\n ['EST', { commonName: 'Esther' }],\n ['JOB', { commonName: 'Job' }],\n ['PSA', { commonName: 'Psalms' }],\n ['PRO', { commonName: 'Proverbs' }],\n ['ECC', { commonName: 'Ecclesiastes' }],\n ['SNG', { commonName: 'Song of Solomon' }],\n ['ISA', { commonName: 'Isaiah' }],\n ['JER', { commonName: 'Jeremiah' }],\n ['LAM', { commonName: 'Lamentations' }],\n ['EZK', { commonName: 'Ezekiel' }],\n ['DAN', { commonName: 'Daniel' }],\n ['HOS', { commonName: 'Hosea' }],\n ['JOL', { commonName: 'Joel' }],\n ['AMO', { commonName: 'Amos' }],\n ['OBA', { commonName: 'Obadiah' }],\n ['JON', { commonName: 'Jonah' }],\n ['MIC', { commonName: 'Micah' }],\n ['NAM', { commonName: 'Nahum' }],\n ['HAB', { commonName: 'Habakkuk' }],\n ['ZEP', { commonName: 'Zephaniah' }],\n ['HAG', { commonName: 'Haggai' }],\n ['ZEC', { commonName: 'Zechariah' }],\n ['MAL', { commonName: 'Malachi' }],\n ['MAT', { commonName: 'Matthew' }],\n ['MRK', { commonName: 'Mark' }],\n ['LUK', { commonName: 'Luke' }],\n ['JHN', { commonName: 'John' }],\n ['ACT', { commonName: 'Acts' }],\n ['ROM', { commonName: 'Romans' }],\n ['1CO', { commonName: '1 Corinthians' }],\n ['2CO', { commonName: '2 Corinthians' }],\n ['GAL', { commonName: 'Galatians' }],\n ['EPH', { commonName: 'Ephesians' }],\n ['PHP', { commonName: 'Philippians' }],\n ['COL', { commonName: 'Colossians' }],\n ['1TH', { commonName: '1 Thessalonians' }],\n ['2TH', { commonName: '2 Thessalonians' }],\n ['1TI', { commonName: '1 Timothy' }],\n ['2TI', { commonName: '2 Timothy' }],\n ['TIT', { commonName: 'Titus' }],\n ['PHM', { commonName: 'Philemon' }],\n ['HEB', { commonName: 'Hebrews' }],\n ['JAS', { commonName: 'James' }],\n ['1PE', { commonName: '1 Peter' }],\n ['2PE', { commonName: '2 Peter' }],\n ['1JN', { commonName: '1 John' }],\n ['2JN', { commonName: '2 John' }],\n ['3JN', { commonName: '3 John' }],\n ['JUD', { commonName: 'Jude' }],\n ['REV', { commonName: 'Revelation' }],\n]);\n\n/**\n * Defines a map that maps the book ID to the \"common\" arabic name for the book.\n */\nconst arabicBookMap = new Map([\n ['GEN', { commonName: '\u0627\u0644\u062A\u064E\u0651\u0643\u0648\u064A\u0646' }],\n ['EXO', { commonName: '\u0627\u0644\u062E\u064F\u0631\u064F\u0648\u062C' }],\n ['LEV', { commonName: '\u0627\u0644\u0644\u0651\u0627\u0648\u064A\u0650\u0651\u064A\u0646' }],\n ['NUM', { commonName: '\u0627\u0644\u0639\u064E\u062F\u064E\u062F' }],\n ['DEU', { commonName: '\u0627\u0644\u062A\u064E\u0651\u062B\u0652\u0646\u0650\u064A\u064E\u0629' }],\n ['JOS', { commonName: '\u064A\u064E\u0634\u064F\u0648\u0639' }],\n ['JDG', { commonName: '\u0627\u0644\u0642\u064F\u0636\u0627\u0629' }],\n ['RUT', { commonName: '\u0631\u0627\u0639\u064F\u0648\u062B' }],\n ['1SA', { commonName: '\u0635\u064E\u0645\u064F\u0648\u0626\u064A\u0644\u064E \u0627\u0644\u0623\u0648\u064E\u0651\u0644\u064F' }],\n ['2SA', { commonName: '\u0635\u0645\u0648\u0626\u064A\u0644\u064E \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\n ['1KI', { commonName: '\u0627\u0644\u0645\u064F\u0644\u064F\u0648\u0643\u0650 \u0627\u0644\u0623\u0648\u064E\u0651\u0644\u064F' }],\n ['2KI', { commonName: '\u0627\u0644\u0645\u064F\u0644\u064F\u0648\u0643\u0650 \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\n ['1CH', { commonName: '\u0623\u062E\u0628\u0627\u0631\u0650 \u0627\u0644\u0623\u064A\u0651\u0627\u0645\u0650 \u0627\u0644\u0623\u0648\u0651\u0644\u064F' }],\n ['2CH', { commonName: ' \u0623\u062E\u0628\u0627\u0631\u0650 \u0627\u0644\u0623\u064A\u0651\u0627\u0645\u0650 \u0627\u0644\u062B\u0651\u0627\u0646\u0650\u064A' }],\n ['EZR', { commonName: '\u0639\u064E\u0632\u0652\u0631\u0627' }],\n ['NEH', { commonName: '\u0646\u064E\u062D\u064E\u0645\u0652\u064A\u0627' }],\n ['EST', { commonName: '\u0623\u0633\u0652\u062A\u0650\u064A\u0631' }],\n ['JOB', { commonName: '\u0623\u064A\u064F\u0651\u0648\u0628' }],\n ['PSA', { commonName: '\u0627\u0644\u0645\u064E\u0632\u0627\u0645\u0650\u064A\u0631' }],\n ['PRO', { commonName: '\u0627\u0644\u0623\u0645\u062B\u0627\u0644' }],\n ['ECC', { commonName: '\u0627\u0644\u062C\u0627\u0645\u0650\u0639\u064E\u0629' }],\n ['SNG', { commonName: '\u0646\u064E\u0634\u0650\u064A\u062F\u0650 \u0627\u0644\u0623\u0646\u0634\u0627\u062F' }],\n ['ISA', { commonName: '\u0625\u0634\u064E\u0639\u0652\u064A\u0627\u0621' }],\n ['JER', { commonName: '\u0625\u0631\u0652\u0645\u0650\u064A\u0627' }],\n ['LAM', { commonName: '\uFEE3\uFEAE\uFE8D\uFE9B\uFEF2 \uFE87\uFEAD\uFEE3\uFEF4\uFE8E' }],\n ['EZK', { commonName: '\u062D\u0650\u0632\u0652\u0642\u0650\u064A\u0627\u0644' }],\n ['DAN', { commonName: '\u062F\u0627\u0646\u064A\u0627\u0644' }],\n ['HOS', { commonName: '\u0647\u064F\u0648\u0634\u064E\u0639' }],\n ['JOL', { commonName: '\u064A\u064F\u0648\u0626\u064A\u0644' }],\n ['AMO', { commonName: '\u0639\u0627\u0645\u064F\u0648\u0633' }],\n ['OBA', { commonName: '\u0639\u064F\u0648\u0628\u064E\u062F\u0652\u064A\u0627' }],\n ['JON', { commonName: '\uFEF3\uFEEE\uFEE7\uFE8E\uFEE5' }],\n ['MIC', { commonName: '\u0645\u064A\u062E\u0627' }],\n ['NAM', { commonName: '\u0646\u0627\u062D\u064F\u0648\u0645' }],\n ['HAB', { commonName: '\u062D\u064E\u0628\u064E\u0642\u064F\u0651\u0648\u0642' }],\n ['ZEP', { commonName: '\u0635\u064E\u0641\u064E\u0646\u0652\u064A\u0627' }],\n ['HAG', { commonName: '\u062D\u064E\u062C\u064E\u0651\u064A' }],\n ['ZEC', { commonName: '\u0632\u064E\u0643\u064E\u0631\u064A\u0651\u0627' }],\n ['MAL', { commonName: '\u0645\u064E\u0644\u0627\u062E\u0650\u064A' }],\n ['MAT', { commonName: '\uFEE3\uFE98\uFEF0' }],\n ['MRK', { commonName: '\u0645\u064E\u0631\u0652\u0642\u064F\u0633' }],\n ['LUK', { commonName: '\u0644\u064F\u0648\u0642\u0627' }],\n ['JHN', { commonName: '\u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627' }],\n ['ACT', { commonName: '\u0627\u0639\u0645\u0627\u0644 \u0627\u0644\u0631\u0633\u0644' }],\n ['ROM', { commonName: '\uFEAD\uFEED\uFEE3\uFEF4\uFE94' }],\n ['1CO', { commonName: '\uFEDB\uFEEE\uFEAD\uFEE7\uFE9C\uFEEE\uFEB1 \uFE8D\uFEFB\uFEED\uFEDD' }],\n ['2CO', { commonName: '\uFEDB\uFEEE\uFEAD\uFEE7\uFE9C\uFEEE\uFEB1 \uFE8D\uFEDF\uFE9C\uFE8E\uFEE7\uFEF4\uFE94' }],\n ['GAL', { commonName: '\u063A\u064E\u0644\u0627\u0637\u0650\u064A\u064E\u0651\u0629' }],\n ['EPH', { commonName: '\u0623\u0641\u064E\u0633\u064F\u0633' }],\n ['PHP', { commonName: '\u0641\u0650\u064A\u0644\u0650\u0628\u0650\u0651\u064A' }],\n ['COL', { commonName: '\u0643\u064F\u0648\u0644\u064F\u0648\u0633\u0650\u064A' }],\n ['1TH', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649 \u0625\u0644\u064E\u0649 \u062A\u064E\u0633\u0627\u0644\u064F\u0648\u0646\u0650\u064A\u0643\u0650\u064A' }],\n ['2TH', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629\u064F \u0625\u0644\u064E\u0649 \u062A\u064E\u0633\u0627\u0644\u064F\u0648\u0646\u0650\u064A\u0643\u0650\u064A' }],\n ['1TI', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649 \u0625\u0644\u064E\u0649 \u062A\u0650\u064A\u0645\u064F\u0648\u062B\u0627\u0648\u064F\u0633' }],\n ['2TI', { commonName: '\u0627\u0644\u0631\u0650\u0651\u0633\u0627\u0644\u064E\u0629\u064F \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629\u064F \u0625\u0644\u064E\u0649 \u062A\u0650\u064A\u0645\u064F\u0648\u062B\u0627\u0648\u064F\u0633' }],\n ['TIT', { commonName: '\u062A\u0650\u064A\u0637\u064F\u0633' }],\n ['PHM', { commonName: '\u0641\u0650\u0644\u0650\u064A\u0652\u0645\u064F\u0648\u0646' }],\n ['HEB', { commonName: '\u0627\u0644\u0639\u0650\u0628\u0631\u0627\u0646\u0650\u064A\u0651\u064A\u0646' }],\n ['JAS', { commonName: '\u064A\u064E\u0639\u0642\u064F\u0648\u0628' }],\n ['1PE', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u0628\u064F\u0637\u0631\u064F\u0633\u064E \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649' }],\n ['2PE', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u0628\u064F\u0637\u0631\u064F\u0633\u064E \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629' }],\n ['1JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u0623\u064F\u0648\u0644\u064E\u0649' }],\n ['2JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u062B\u0651\u0627\u0646\u064A\u064E\u0629' }],\n ['3JN', { commonName: '\u0631\u0633\u0627\u0644\u064E\u0629\u064F \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627 \u0627\u0644\u062B\u0651\u0627\u0644\u062B\u064E\u0629' }],\n ['JUD', { commonName: '\u064A\u064E\u0647\u064F\u0648\u0630\u0627' }],\n ['REV', { commonName: '\u0631\u064F\u0624\u064A\u0627 \u064A\u064F\u0648\u062D\u064E\u0646\u0651\u0627' }],\n]);\n\n/**\n * Defines a map that maps a locale ID to a book name map.\n */\nexport const bookIdMap = new Map([\n ['en', englishBookMap],\n ['en-US', englishBookMap],\n ['eng', englishBookMap],\n ['arb', arabicBookMap],\n]);\n"],
5
5
  "mappings": ";AAGO,aAAM,iBAAiB,oBAAI,IAAI;AAAA;AAAA,EAElC,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,GAAG;AAAA,EACX,CAAC,OAAO,GAAG;AACf,CAAC;AAKM,aAAM,eAAe,IAAI,IAAI;AAAA,EAChC,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,CAAC;AAAA,EACT,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA,EACV,CAAC,OAAO,EAAE;AAAA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",
6
6
  "names": []
7
7
  }
@@ -228,13 +228,13 @@ export const CommentaryBookSchema = z.object({
228
228
  /**
229
229
  * The commentary's introduction for the book.
230
230
  */
231
- introduction: z.string().optional().meta({
231
+ introduction: z.string().nullable().transform((x) => x ?? void 0).optional().pipe(z.string().optional()).meta({
232
232
  description: "The commentary's introduction for the book. Undefined if the commentary didn't provide an introduction for the book."
233
233
  }),
234
234
  /**
235
235
  * The summary of the commentary's introduction for the book.
236
236
  */
237
- introductionSummary: z.string().optional().meta({
237
+ introductionSummary: z.string().nullable().transform((x) => x ?? void 0).optional().pipe(z.string().optional()).meta({
238
238
  description: "The summary of the commentary's introduction for the book. Undefined if the commentary didn't provide a summary for the book."
239
239
  }),
240
240
  /**
@@ -347,6 +347,19 @@ export const TranslationBookChapterSchema = z.object({
347
347
  */
348
348
  thisChapterAudioLinks: z.lazy(() => TranslationBookChapterAudioLinksSchema).meta({
349
349
  description: "The links to different audio versions for the chapter."
350
+ }),
351
+ /**
352
+ * The audio timings (per-verse start times, in seconds) for different audio versions for the chapter.
353
+ */
354
+ thisChapterAudioTimings: z.lazy(() => TranslationBookChapterAudioTimingsSchema).meta({
355
+ description: "The audio timings (per-verse start times, in seconds) for different audio versions for the chapter."
356
+ }),
357
+ /**
358
+ * The word-level annotations for the chapter's verses.
359
+ * Omitted if the translation doesn't have any word-level annotations for the chapter.
360
+ */
361
+ thisChapterWords: z.lazy(() => TranslationBookChapterWordsSchema).optional().meta({
362
+ description: "The word-level annotations (Strong's numbers and related source data) for the chapter's verses. Omitted if the translation doesn't have any word-level annotations for the chapter."
350
363
  })
351
364
  }).meta({
352
365
  id: "TranslationBookChapter",
@@ -367,6 +380,73 @@ export const TranslationBookChapterAudioLinksSchema = z.record(z.string(), z.str
367
380
  id: "TranslationBookChapterAudioLinks",
368
381
  description: "Defines the schema for the audio links for a book chapter."
369
382
  });
383
+ export const TranslationBookChapterAudioTimingsSchema = z.record(z.string(), z.array(z.number())).meta({
384
+ id: "TranslationBookChapterAudioTimings",
385
+ description: "Defines the schema for the audio timings for a book chapter. Maps a reader ID to the list of times (in seconds) that each verse starts, in verse order."
386
+ });
387
+ export const ChapterWordSchema = z.object({
388
+ /**
389
+ * The index of the item in the verse's content array that the annotation applies to.
390
+ */
391
+ contentIndex: z.number().meta({
392
+ description: "The index of the item in the verse's content array that the annotation applies to."
393
+ }),
394
+ /**
395
+ * The index of the first character of the annotated word.
396
+ */
397
+ start: z.number().meta({
398
+ description: "The index of the first character of the annotated word in the content item's text."
399
+ }),
400
+ /**
401
+ * The index after the last character of the annotated word.
402
+ */
403
+ end: z.number().meta({
404
+ description: "The index after the last character of the annotated word in the content item's text. That is, text.slice(start, end) is the annotated word."
405
+ }),
406
+ /**
407
+ * The Strong's number(s) for the word.
408
+ */
409
+ strongs: z.array(z.string()).optional().meta({
410
+ description: "The Strong's number(s) for the word. Omitted if the translation only provided other annotations for the word."
411
+ }),
412
+ /**
413
+ * The dictionary (citation) form of the word.
414
+ */
415
+ lemma: z.string().optional().meta({
416
+ description: "The dictionary (citation) form of the word. Omitted if the translation did not provide one."
417
+ }),
418
+ /**
419
+ * The morphology parse code for the word.
420
+ */
421
+ morph: z.string().optional().meta({
422
+ description: "The morphology parse code for the word. Omitted if the translation did not provide one."
423
+ }),
424
+ /**
425
+ * The pointer to the word in the source text.
426
+ */
427
+ srcloc: z.string().optional().meta({
428
+ description: "The pointer to the word in the source text, in the <sourceName>:<location> format. Omitted if the translation did not provide one."
429
+ }),
430
+ /**
431
+ * Which occurrence of the source word this word is.
432
+ */
433
+ occurrence: z.number().optional().meta({
434
+ description: "Which occurrence of the source word this word is. 1-based. Omitted if the translation did not provide one."
435
+ }),
436
+ /**
437
+ * The total number of times that the source word occurs.
438
+ */
439
+ occurrences: z.number().optional().meta({
440
+ description: "The total number of times that the source word occurs. Omitted if the translation did not provide one."
441
+ })
442
+ }).meta({
443
+ id: "ChapterWord",
444
+ description: "Defines the schema for a word-level annotation in a chapter. The annotation is anchored to a range of characters in a single item of a verse's content."
445
+ });
446
+ export const TranslationBookChapterWordsSchema = z.record(z.string(), z.array(z.lazy(() => ChapterWordSchema))).meta({
447
+ id: "TranslationBookChapterWords",
448
+ description: "Defines the schema for the word-level annotations for a book chapter. Maps a verse number to the list of annotated words in the verse, in order."
449
+ });
370
450
  export const ChapterDataSchema = z.object({
371
451
  /**
372
452
  * The number of the chapter.
@@ -442,11 +522,13 @@ export const ChapterHebrewSubtitleSchema = z.object({
442
522
  * The list of content that is contained in the subtitle.
443
523
  * Each element in the list could be a string, formatted text, or a footnote reference.
444
524
  */
445
- content: z.array(z.union([
446
- z.string(),
447
- z.lazy(() => FormattedTextSchema),
448
- z.lazy(() => VerseFootnoteReferenceSchema)
449
- ])).meta({
525
+ content: z.array(
526
+ z.union([
527
+ z.string(),
528
+ z.lazy(() => FormattedTextSchema),
529
+ z.lazy(() => VerseFootnoteReferenceSchema)
530
+ ])
531
+ ).meta({
450
532
  description: "The content that is contained in the subtitle. Each element in the list could be a string, formatted text, or a footnote reference."
451
533
  })
452
534
  }).meta({
@@ -468,13 +550,15 @@ export const ChapterVerseSchema = z.object({
468
550
  * The list of content for the verse.
469
551
  * Each element in the list could be a string, formatted text, or a footnote reference.
470
552
  */
471
- content: z.array(z.union([
472
- z.string(),
473
- z.lazy(() => FormattedTextSchema),
474
- z.lazy(() => InlineHeadingSchema),
475
- z.lazy(() => InlineLineBreakSchema),
476
- z.lazy(() => VerseFootnoteReferenceSchema)
477
- ])).meta({
553
+ content: z.array(
554
+ z.union([
555
+ z.string(),
556
+ z.lazy(() => FormattedTextSchema),
557
+ z.lazy(() => InlineHeadingSchema),
558
+ z.lazy(() => InlineLineBreakSchema),
559
+ z.lazy(() => VerseFootnoteReferenceSchema)
560
+ ])
561
+ ).meta({
478
562
  description: "The list of content for the verse. Each element in the list could be a string, formatted text, or a footnote reference."
479
563
  })
480
564
  }).meta({
@@ -589,4 +673,233 @@ export const ChapterFootnoteSchema = z.object({
589
673
  id: "ChapterFootnote",
590
674
  description: "Defines the schema for information about a footnote."
591
675
  });
676
+ export const SimpleTextRangeSchema = z.object({
677
+ /**
678
+ * The index of the first character in the range.
679
+ */
680
+ start: z.number().meta({
681
+ description: "The index of the first character of the range in the verse text. Measured in UTF-16 code units."
682
+ }),
683
+ /**
684
+ * The index after the last character in the range.
685
+ */
686
+ end: z.number().meta({
687
+ description: "The index after the last character of the range in the verse text. Measured in UTF-16 code units."
688
+ })
689
+ }).meta({
690
+ id: "SimpleTextRange",
691
+ description: "Defines the schema for a range of text inside a simplified verse. Ranges are expressed as offsets into the text of the verse that contains them, measured in UTF-16 code units."
692
+ });
693
+ export const SimplePoemRangeSchema = SimpleTextRangeSchema.extend({
694
+ /**
695
+ * The level of indent that the poem line should be displayed with.
696
+ */
697
+ level: z.number().meta({
698
+ description: "The level of indent that the line of poetry should be displayed with."
699
+ })
700
+ }).meta({
701
+ id: "SimplePoemRange",
702
+ description: "Defines the schema for a range of text inside a simplified verse that represents a line of poetry."
703
+ });
704
+ export const SimpleVerseFootnoteSchema = z.object({
705
+ /**
706
+ * The ID of the note.
707
+ */
708
+ noteId: z.number().meta({
709
+ description: "The ID of the note."
710
+ }),
711
+ /**
712
+ * The index in the verse text that the footnote caller should be inserted at.
713
+ */
714
+ offset: z.number().meta({
715
+ description: "The index in the verse text that the footnote caller should be inserted at. Measured in UTF-16 code units."
716
+ }),
717
+ /**
718
+ * The text of the footnote.
719
+ */
720
+ text: z.string().meta({
721
+ description: "The text of the footnote."
722
+ }),
723
+ /**
724
+ * The caller that should be used for the footnote.
725
+ * See ChapterFootnote for more information.
726
+ */
727
+ caller: z.union([z.literal("+"), z.string(), z.null()]).meta({
728
+ description: 'The caller that should be used for the footnote. If "+", then the caller should be autogenerated. If null, then the caller should be empty. If a string, then the caller should be that string.'
729
+ })
730
+ }).meta({
731
+ id: "SimpleVerseFootnote",
732
+ description: "Defines the schema for a footnote in a simplified verse. Unlike the footnotes in the regular chapter format, simplified footnotes include the position that they occur at in the verse text."
733
+ });
734
+ export const SimpleInlineHeadingSchema = z.object({
735
+ /**
736
+ * The index in the verse text that the heading occurs at.
737
+ */
738
+ offset: z.number().meta({
739
+ description: "The index in the verse text that the heading occurs at. Measured in UTF-16 code units."
740
+ }),
741
+ /**
742
+ * The text of the heading.
743
+ */
744
+ text: z.string().meta({
745
+ description: "The text of the heading."
746
+ })
747
+ }).meta({
748
+ id: "SimpleInlineHeading",
749
+ description: "Defines the schema for a heading that is embedded in a simplified verse."
750
+ });
751
+ export const SimpleChapterVerseSchema = z.object({
752
+ /**
753
+ * Indicates that the content is a verse.
754
+ */
755
+ type: z.literal("verse"),
756
+ /**
757
+ * The number of the verse.
758
+ */
759
+ number: z.number().meta({
760
+ description: "The number of the verse."
761
+ }),
762
+ /**
763
+ * The text of the verse.
764
+ */
765
+ text: z.string().meta({
766
+ description: "The text of the verse. Lines of poetry and line breaks are separated by newline (\\n) characters."
767
+ }),
768
+ /**
769
+ * The footnotes that occur in the verse.
770
+ */
771
+ footnotes: z.array(SimpleVerseFootnoteSchema).meta({
772
+ description: "The footnotes that occur in the verse."
773
+ }),
774
+ /**
775
+ * The headings that occur in the verse.
776
+ */
777
+ headings: z.array(SimpleInlineHeadingSchema).optional().meta({
778
+ description: "The headings that occur in the middle of the verse. Omitted if the verse contains no inline headings."
779
+ }),
780
+ /**
781
+ * The ranges of text that represent the Words of Jesus.
782
+ */
783
+ wordsOfJesus: z.array(SimpleTextRangeSchema).optional().meta({
784
+ description: "The ranges of the verse text that represent the Words of Jesus. Omitted if the verse contains none."
785
+ }),
786
+ /**
787
+ * The ranges of text that represent lines of poetry.
788
+ */
789
+ poem: z.array(SimplePoemRangeSchema).optional().meta({
790
+ description: "The ranges of the verse text that represent lines of poetry. Omitted if the verse contains none."
791
+ })
792
+ }).meta({
793
+ id: "SimpleChapterVerse",
794
+ description: "Defines the schema for a verse in a simplified chapter."
795
+ });
796
+ export const SimpleChapterHebrewSubtitleSchema = SimpleChapterVerseSchema.omit({
797
+ type: true,
798
+ number: true
799
+ }).extend({
800
+ /**
801
+ * Indicates that the content represents a Hebrew Subtitle.
802
+ */
803
+ type: z.literal("hebrew_subtitle")
804
+ }).meta({
805
+ id: "SimpleChapterHebrewSubtitle",
806
+ description: "Defines the schema for a Hebrew Subtitle in a simplified chapter."
807
+ });
808
+ export const SimpleChapterHeadingSchema = z.object({
809
+ /**
810
+ * Indicates that the content represents a heading.
811
+ */
812
+ type: z.literal("heading"),
813
+ /**
814
+ * The text of the heading.
815
+ */
816
+ text: z.string().meta({
817
+ description: "The text of the heading."
818
+ })
819
+ }).meta({
820
+ id: "SimpleChapterHeading",
821
+ description: "Defines the schema for a heading in a simplified chapter."
822
+ });
823
+ export const SimpleChapterContentSchema = z.discriminatedUnion("type", [
824
+ SimpleChapterHeadingSchema,
825
+ ChapterLineBreakSchema,
826
+ SimpleChapterVerseSchema,
827
+ SimpleChapterHebrewSubtitleSchema
828
+ ]).meta({
829
+ id: "SimpleChapterContent",
830
+ description: "Defines a union type that represents a single piece of content in a simplified chapter. A piece of chapter content can be one of the following things: A heading, a line break, a verse, or a Hebrew Subtitle."
831
+ });
832
+ export const SimpleChapterDataSchema = z.object({
833
+ /**
834
+ * The number of the chapter.
835
+ */
836
+ number: z.number().meta({
837
+ description: "The number of the chapter."
838
+ }),
839
+ /**
840
+ * The content of the chapter.
841
+ */
842
+ content: z.array(SimpleChapterContentSchema).meta({
843
+ description: "The content of the chapter."
844
+ }),
845
+ /**
846
+ * The footnotes that could not be associated with a verse.
847
+ */
848
+ footnotes: z.array(ChapterFootnoteSchema).meta({
849
+ description: "The list of footnotes that could not be associated with a verse. Footnotes that belong to a verse are included on the verse itself, so this list is usually empty."
850
+ })
851
+ }).meta({
852
+ id: "SimpleChapterData",
853
+ description: "Defines the schema for the data in a simplified chapter. Unlike the regular chapter format, each verse contains a single text string and the footnotes/formatting are represented by offsets into that string."
854
+ });
855
+ export const SimpleCommentaryChapterDataSchema = z.object({
856
+ /**
857
+ * The number of the chapter.
858
+ */
859
+ number: z.number().meta({
860
+ description: "The number of the chapter."
861
+ }),
862
+ /**
863
+ * The introduction that the commentary provided to the chapter.
864
+ */
865
+ introduction: z.string().optional().meta({
866
+ description: "The introduction that the commentary provided to the chapter. Not all commentaries provide an introduction to a chapter."
867
+ }),
868
+ /**
869
+ * The content of the chapter.
870
+ */
871
+ content: z.array(SimpleChapterVerseSchema).meta({
872
+ description: "The content of the chapter."
873
+ })
874
+ }).meta({
875
+ id: "SimpleCommentaryChapterData",
876
+ description: "Defines the schema for the data in a simplified commentary chapter."
877
+ });
878
+ export const SimpleTranslationBookChapterSchema = TranslationBookChapterSchema.extend({
879
+ /**
880
+ * The simplified information for the chapter.
881
+ */
882
+ chapter: z.lazy(() => SimpleChapterDataSchema).meta({
883
+ description: "The simplified information for the chapter."
884
+ }),
885
+ /**
886
+ * The word-level annotations for the chapter's verses, using the simplified format.
887
+ */
888
+ thisChapterWords: z.lazy(() => SimpleTranslationBookChapterWordsSchema).optional().meta({
889
+ description: "The word-level annotations (Strong's numbers and related source data) for the chapter's verses, with their offsets remapped onto the simplified verse text. Omitted if the translation doesn't have any word-level annotations for the chapter."
890
+ })
891
+ }).meta({
892
+ id: "SimpleTranslationBookChapter",
893
+ description: "Defines the schema for information about a book chapter, using the simplified chapter format."
894
+ });
895
+ export const SimpleChapterWordSchema = ChapterWordSchema.omit({
896
+ contentIndex: true
897
+ }).meta({
898
+ id: "SimpleChapterWord",
899
+ description: "Defines the schema for a word-level annotation in a simplified chapter. The annotation is anchored to a range of characters in the verse's text."
900
+ });
901
+ export const SimpleTranslationBookChapterWordsSchema = z.record(z.string(), z.array(z.lazy(() => SimpleChapterWordSchema))).meta({
902
+ id: "SimpleTranslationBookChapterWords",
903
+ description: "Defines the schema for the word-level annotations for a book chapter, using the simplified format. Maps a verse number to the list of annotated words in the verse, in order."
904
+ });
592
905
  //# sourceMappingURL=common-types.js.map