free-use-bible-api 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.
@@ -99,6 +99,10 @@ export type ApiTranslation = {
99
99
  * The API link for downloading the complete translation as a single JSON file. Relative to the API origin. Undefined if complete translation files are not available.
100
100
  */
101
101
  completeTranslationApiLink?: string;
102
+ /**
103
+ * The API link for downloading the complete translation as a single JSON file, using the simplified chapter format. Relative to the API origin. Undefined if complete translation files are not available.
104
+ */
105
+ simpleCompleteTranslationApiLink?: string;
102
106
  };
103
107
  /**
104
108
  * Defines an interface that contains information about the books that are available for a translation.
@@ -204,6 +208,12 @@ export type ApiTranslationBookChapter = {
204
208
  * The links to different audio versions for the chapter.
205
209
  */
206
210
  thisChapterAudioLinks: TranslationBookChapterAudioLinks;
211
+ /**
212
+ * The links to the audio timings for different audio versions for the chapter. Relative to the API origin.
213
+ */
214
+ thisChapterAudioTimings: {
215
+ [key: string]: string;
216
+ };
207
217
  /**
208
218
  * The translation information for the book chapter.
209
219
  */
@@ -231,6 +241,18 @@ export type ApiTranslationBookChapter = {
231
241
  nextChapterAudioLinks: {
232
242
  [key: string]: string;
233
243
  } | null;
244
+ /**
245
+ * The links to the audio timings for different audio versions for the next chapter. Relative to the API origin. Null if this is the last chapter in the translation.
246
+ */
247
+ nextChapterAudioTimings: {
248
+ [key: string]: string;
249
+ } | null;
250
+ /**
251
+ * The links to the audio timings for different audio versions for the previous chapter. Relative to the API origin. Null if this is the first chapter in the translation.
252
+ */
253
+ previousChapterAudioTimings: {
254
+ [key: string]: string;
255
+ } | null;
234
256
  /**
235
257
  * The API link to the previous chapter. Relative to the API origin. Null if this is the first chapter in the translation.
236
258
  */
@@ -245,10 +267,26 @@ export type ApiTranslationBookChapter = {
245
267
  previousChapterAudioLinks: {
246
268
  [key: string]: string;
247
269
  } | null;
270
+ /**
271
+ * The link to the word-level annotations for this chapter. Relative to the API origin. Omitted if the chapter doesn't have any word-level annotations.
272
+ */
273
+ thisChapterWordsLink?: string;
274
+ /**
275
+ * The link to the word-level annotations for the next chapter. Relative to the API origin. Omitted if this is the last chapter in the translation, or if the next chapter doesn't have any word-level annotations.
276
+ */
277
+ nextChapterWordsLink?: string;
278
+ /**
279
+ * The link to the word-level annotations for the previous chapter. Relative to the API origin. Omitted if this is the first chapter in the translation, or if the previous chapter doesn't have any word-level annotations.
280
+ */
281
+ previousChapterWordsLink?: string;
248
282
  /**
249
283
  * The number of verses that the chapter contains.
250
284
  */
251
285
  numberOfVerses: number;
286
+ /**
287
+ * The API link to the simplified version of this chapter. Relative to the API origin. Omitted if simplified chapters are not available.
288
+ */
289
+ simpleChapterApiLink?: string;
252
290
  };
253
291
  /**
254
292
  * Defines a union type that represents a single piece of chapter content. A piece of chapter content can be one of the following things: A heading, a line break, a verse, or a Hebrew Subtitle.
@@ -348,35 +386,612 @@ export type ChapterHebrewSubtitle = {
348
386
  */
349
387
  export type ChapterFootnote = {
350
388
  /**
351
- * The ID of the note that is referenced.
389
+ * The ID of the note that is referenced.
390
+ */
391
+ noteId: number;
392
+ /**
393
+ * The text of the footnote.
394
+ */
395
+ text: string;
396
+ /**
397
+ * The verse reference for the footnote. Undefined if the footnote isn't associated with a specific verse.
398
+ */
399
+ reference?: {
400
+ chapter: number;
401
+ verse: number;
402
+ };
403
+ /**
404
+ * The caller that should be used for the footnote. For footnotes, a "caller" is the character that is used in the text to reference to footnote. For example, in the text: Hello (a) World ---- (a) This is a footnote. The "(a)" is the caller. 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.
405
+ */
406
+ caller: '+' | string | null;
407
+ };
408
+ /**
409
+ * Defines the schema for the audio links for a book chapter.
410
+ */
411
+ export type TranslationBookChapterAudioLinks = {
412
+ [key: string]: string;
413
+ };
414
+ /**
415
+ * Defines an interface that contains information about a book chapter in a translation, using the simplified chapter format.
416
+ */
417
+ export type ApiSimpleTranslationBookChapter = {
418
+ /**
419
+ * The links to different audio versions for the chapter.
420
+ */
421
+ thisChapterAudioLinks: TranslationBookChapterAudioLinks;
422
+ /**
423
+ * The links to the audio timings for different audio versions for the chapter. Relative to the API origin.
424
+ */
425
+ thisChapterAudioTimings: {
426
+ [key: string]: string;
427
+ };
428
+ /**
429
+ * The translation information for the book chapter.
430
+ */
431
+ translation: ApiTranslation;
432
+ /**
433
+ * The book information for the book chapter.
434
+ */
435
+ book: ApiTranslationBook;
436
+ /**
437
+ * The API link for this chapter. Relative to the API origin.
438
+ */
439
+ thisChapterLink: string;
440
+ thisChapterReference: TranslationChapterReference;
441
+ /**
442
+ * The API link to the next chapter. Relative to the API origin. Null if this is the last chapter in the translation.
443
+ */
444
+ nextChapterApiLink: string | null;
445
+ /**
446
+ * The reference for the next chapter. Null if this is the last chapter in the translation.
447
+ */
448
+ nextChapterReference: TranslationChapterReference | null;
449
+ /**
450
+ * The links to the audio versions for the next chapter. Relative to the API origin. Null if this is the last chapter in the translation.
451
+ */
452
+ nextChapterAudioLinks: {
453
+ [key: string]: string;
454
+ } | null;
455
+ /**
456
+ * The links to the audio timings for different audio versions for the next chapter. Relative to the API origin. Null if this is the last chapter in the translation.
457
+ */
458
+ nextChapterAudioTimings: {
459
+ [key: string]: string;
460
+ } | null;
461
+ /**
462
+ * The links to the audio timings for different audio versions for the previous chapter. Relative to the API origin. Null if this is the first chapter in the translation.
463
+ */
464
+ previousChapterAudioTimings: {
465
+ [key: string]: string;
466
+ } | null;
467
+ /**
468
+ * The API link to the previous chapter. Relative to the API origin. Null if this is the first chapter in the translation.
469
+ */
470
+ previousChapterApiLink: string | null;
471
+ /**
472
+ * The reference for the previous chapter. Null if this is the first chapter in the translation.
473
+ */
474
+ previousChapterReference: TranslationChapterReference | null;
475
+ /**
476
+ * The links to the audio versions for the previous chapter. Relative to the API origin. Null if this is the first chapter in the translation.
477
+ */
478
+ previousChapterAudioLinks: {
479
+ [key: string]: string;
480
+ } | null;
481
+ /**
482
+ * The link to the word-level annotations for this chapter. Relative to the API origin. Omitted if the chapter doesn't have any word-level annotations.
483
+ */
484
+ thisChapterWordsLink?: string;
485
+ /**
486
+ * The link to the word-level annotations for the next chapter. Relative to the API origin. Omitted if this is the last chapter in the translation, or if the next chapter doesn't have any word-level annotations.
487
+ */
488
+ nextChapterWordsLink?: string;
489
+ /**
490
+ * The link to the word-level annotations for the previous chapter. Relative to the API origin. Omitted if this is the first chapter in the translation, or if the previous chapter doesn't have any word-level annotations.
491
+ */
492
+ previousChapterWordsLink?: string;
493
+ /**
494
+ * The number of verses that the chapter contains.
495
+ */
496
+ numberOfVerses: number;
497
+ /**
498
+ * The simplified information for the chapter. Each verse contains a single text string, and the footnotes and formatting are represented by offsets into that string.
499
+ */
500
+ chapter: SimpleChapterData;
501
+ /**
502
+ * The API link to the regular (non-simplified) version of this chapter. Relative to the API origin.
503
+ */
504
+ fullChapterApiLink: string;
505
+ };
506
+ /**
507
+ * 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.
508
+ */
509
+ export type SimpleChapterData = {
510
+ /**
511
+ * The number of the chapter.
512
+ */
513
+ number: number;
514
+ /**
515
+ * The content of the chapter.
516
+ */
517
+ content: Array<SimpleChapterContent>;
518
+ /**
519
+ * 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.
520
+ */
521
+ footnotes: Array<ChapterFootnote>;
522
+ };
523
+ /**
524
+ * 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.
525
+ */
526
+ export type SimpleChapterContent = ({
527
+ type: 'heading';
528
+ } & SimpleChapterHeading) | ({
529
+ type: 'line_break';
530
+ } & ChapterLineBreak) | ({
531
+ type: 'verse';
532
+ } & SimpleChapterVerse) | ({
533
+ type: 'hebrew_subtitle';
534
+ } & SimpleChapterHebrewSubtitle);
535
+ /**
536
+ * Defines the schema for a heading in a simplified chapter.
537
+ */
538
+ export type SimpleChapterHeading = {
539
+ type: 'heading';
540
+ /**
541
+ * The text of the heading.
542
+ */
543
+ text: string;
544
+ };
545
+ /**
546
+ * Defines the schema for a verse in a simplified chapter.
547
+ */
548
+ export type SimpleChapterVerse = {
549
+ type: 'verse';
550
+ /**
551
+ * The number of the verse.
552
+ */
553
+ number: number;
554
+ /**
555
+ * The text of the verse. Lines of poetry and line breaks are separated by newline (\n) characters.
556
+ */
557
+ text: string;
558
+ /**
559
+ * The footnotes that occur in the verse.
560
+ */
561
+ footnotes: Array<SimpleVerseFootnote>;
562
+ /**
563
+ * The headings that occur in the middle of the verse. Omitted if the verse contains no inline headings.
564
+ */
565
+ headings?: Array<SimpleInlineHeading>;
566
+ /**
567
+ * The ranges of the verse text that represent the Words of Jesus. Omitted if the verse contains none.
568
+ */
569
+ wordsOfJesus?: Array<SimpleTextRange>;
570
+ /**
571
+ * The ranges of the verse text that represent lines of poetry. Omitted if the verse contains none.
572
+ */
573
+ poem?: Array<SimplePoemRange>;
574
+ };
575
+ /**
576
+ * 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.
577
+ */
578
+ export type SimpleVerseFootnote = {
579
+ /**
580
+ * The ID of the note.
581
+ */
582
+ noteId: number;
583
+ /**
584
+ * The index in the verse text that the footnote caller should be inserted at. Measured in UTF-16 code units.
585
+ */
586
+ offset: number;
587
+ /**
588
+ * The text of the footnote.
589
+ */
590
+ text: string;
591
+ /**
592
+ * 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.
593
+ */
594
+ caller: '+' | string | null;
595
+ };
596
+ /**
597
+ * Defines the schema for a heading that is embedded in a simplified verse.
598
+ */
599
+ export type SimpleInlineHeading = {
600
+ /**
601
+ * The index in the verse text that the heading occurs at. Measured in UTF-16 code units.
602
+ */
603
+ offset: number;
604
+ /**
605
+ * The text of the heading.
606
+ */
607
+ text: string;
608
+ };
609
+ /**
610
+ * 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.
611
+ */
612
+ export type SimpleTextRange = {
613
+ /**
614
+ * The index of the first character of the range in the verse text. Measured in UTF-16 code units.
615
+ */
616
+ start: number;
617
+ /**
618
+ * The index after the last character of the range in the verse text. Measured in UTF-16 code units.
619
+ */
620
+ end: number;
621
+ };
622
+ /**
623
+ * Defines the schema for a range of text inside a simplified verse that represents a line of poetry.
624
+ */
625
+ export type SimplePoemRange = {
626
+ /**
627
+ * The index of the first character of the range in the verse text. Measured in UTF-16 code units.
628
+ */
629
+ start: number;
630
+ /**
631
+ * The index after the last character of the range in the verse text. Measured in UTF-16 code units.
632
+ */
633
+ end: number;
634
+ /**
635
+ * The level of indent that the line of poetry should be displayed with.
636
+ */
637
+ level: number;
638
+ };
639
+ /**
640
+ * Defines the schema for a Hebrew Subtitle in a simplified chapter.
641
+ */
642
+ export type SimpleChapterHebrewSubtitle = {
643
+ /**
644
+ * The text of the verse. Lines of poetry and line breaks are separated by newline (\n) characters.
645
+ */
646
+ text: string;
647
+ /**
648
+ * The footnotes that occur in the verse.
649
+ */
650
+ footnotes: Array<SimpleVerseFootnote>;
651
+ /**
652
+ * The headings that occur in the middle of the verse. Omitted if the verse contains no inline headings.
653
+ */
654
+ headings?: Array<SimpleInlineHeading>;
655
+ /**
656
+ * The ranges of the verse text that represent the Words of Jesus. Omitted if the verse contains none.
657
+ */
658
+ wordsOfJesus?: Array<SimpleTextRange>;
659
+ /**
660
+ * The ranges of the verse text that represent lines of poetry. Omitted if the verse contains none.
661
+ */
662
+ poem?: Array<SimplePoemRange>;
663
+ type: 'hebrew_subtitle';
664
+ };
665
+ /**
666
+ * Defines an interface that contains the audio timings for a book chapter, for a specific reader.
667
+ */
668
+ export type ApiTranslationBookChapterAudioTimings = {
669
+ /**
670
+ * The ID of the translation.
671
+ */
672
+ translationId: string;
673
+ /**
674
+ * The ID of the book.
675
+ */
676
+ bookId: string;
677
+ /**
678
+ * The number of the chapter.
679
+ */
680
+ chapterNumber: number;
681
+ /**
682
+ * The reader for the chapter.
683
+ */
684
+ reader: string;
685
+ /**
686
+ * The link to the audio for these timings.
687
+ */
688
+ audioLink: string;
689
+ /**
690
+ * The link to the information for this chapter.
691
+ */
692
+ thisChapterLink: string;
693
+ /**
694
+ * The link to the information for the next chapter. Null if this is the last chapter in the translation.
695
+ */
696
+ nextChapterLink: string | null;
697
+ /**
698
+ * The link to the information for the previous chapter. Null if this is the first chapter in the translation.
699
+ */
700
+ previousChapterLink: string | null;
701
+ /**
702
+ * The link to this audio timings file.
703
+ */
704
+ thisChapterAudioTimingsLink: string;
705
+ /**
706
+ * The link to the timings for the next chapter. Null if this is the last chapter in the translation.
707
+ */
708
+ nextChapterAudioTimingsLink: string | null;
709
+ /**
710
+ * The link to the timings for the previous chapter. Null if this is the first chapter in the translation.
711
+ */
712
+ previousChapterAudioTimingsLink: string | null;
713
+ /**
714
+ * The times in seconds at which each verse starts, in order. The first number (index 0) is the time in the recording at which the first verse starts.
715
+ */
716
+ verses: Array<number>;
717
+ };
718
+ /**
719
+ * Defines an interface that contains the word-level annotations for a book chapter.
720
+ */
721
+ export type ApiTranslationBookChapterWords = {
722
+ /**
723
+ * The ID of the translation.
724
+ */
725
+ translationId: string;
726
+ /**
727
+ * The ID of the book.
728
+ */
729
+ bookId: string;
730
+ /**
731
+ * The number of the chapter.
732
+ */
733
+ chapterNumber: number;
734
+ /**
735
+ * The link to the information for this chapter.
736
+ */
737
+ thisChapterLink: string;
738
+ /**
739
+ * The link to the information for the next chapter. Null if this is the last chapter in the translation.
740
+ */
741
+ nextChapterLink: string | null;
742
+ /**
743
+ * The link to the information for the previous chapter. Null if this is the first chapter in the translation.
744
+ */
745
+ previousChapterLink: string | null;
746
+ /**
747
+ * The link to this words file.
748
+ */
749
+ thisChapterWordsLink: string;
750
+ /**
751
+ * The link to the words for the next chapter. Null if this is the last chapter in the translation, or if the next chapter doesn't have any word-level annotations.
752
+ */
753
+ nextChapterWordsLink: string | null;
754
+ /**
755
+ * The link to the words for the previous chapter. Null if this is the first chapter in the translation, or if the previous chapter doesn't have any word-level annotations.
756
+ */
757
+ previousChapterWordsLink: string | null;
758
+ /**
759
+ * The annotated words for each verse in the chapter, keyed by verse number. Each list is in the order that the words occur in the verse.
760
+ */
761
+ verses: {
762
+ [key: string]: Array<ChapterWord>;
763
+ };
764
+ };
765
+ /**
766
+ * 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.
767
+ */
768
+ export type ChapterWord = {
769
+ /**
770
+ * The index of the item in the verse's content array that the annotation applies to.
771
+ */
772
+ contentIndex: number;
773
+ /**
774
+ * The index of the first character of the annotated word in the content item's text.
775
+ */
776
+ start: number;
777
+ /**
778
+ * 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.
779
+ */
780
+ end: number;
781
+ /**
782
+ * The Strong's number(s) for the word. Omitted if the translation only provided other annotations for the word.
783
+ */
784
+ strongs?: Array<string>;
785
+ /**
786
+ * The dictionary (citation) form of the word. Omitted if the translation did not provide one.
787
+ */
788
+ lemma?: string;
789
+ /**
790
+ * The morphology parse code for the word. Omitted if the translation did not provide one.
791
+ */
792
+ morph?: string;
793
+ /**
794
+ * The pointer to the word in the source text, in the <sourceName>:<location> format. Omitted if the translation did not provide one.
795
+ */
796
+ srcloc?: string;
797
+ /**
798
+ * Which occurrence of the source word this word is. 1-based. Omitted if the translation did not provide one.
799
+ */
800
+ occurrence?: number;
801
+ /**
802
+ * The total number of times that the source word occurs. Omitted if the translation did not provide one.
803
+ */
804
+ occurrences?: number;
805
+ };
806
+ /**
807
+ * Defines an interface that contains the word-level annotations for a book chapter, with their offsets remapped onto the text of each simplified verse.
808
+ */
809
+ export type ApiSimpleTranslationBookChapterWords = {
810
+ /**
811
+ * The ID of the translation.
812
+ */
813
+ translationId: string;
814
+ /**
815
+ * The ID of the book.
816
+ */
817
+ bookId: string;
818
+ /**
819
+ * The number of the chapter.
820
+ */
821
+ chapterNumber: number;
822
+ /**
823
+ * The link to the information for this chapter.
824
+ */
825
+ thisChapterLink: string;
826
+ /**
827
+ * The link to the information for the next chapter. Null if this is the last chapter in the translation.
828
+ */
829
+ nextChapterLink: string | null;
830
+ /**
831
+ * The link to the information for the previous chapter. Null if this is the first chapter in the translation.
832
+ */
833
+ previousChapterLink: string | null;
834
+ /**
835
+ * The link to this words file.
836
+ */
837
+ thisChapterWordsLink: string;
838
+ /**
839
+ * The link to the words for the next chapter. Null if this is the last chapter in the translation, or if the next chapter doesn't have any word-level annotations.
840
+ */
841
+ nextChapterWordsLink: string | null;
842
+ /**
843
+ * The link to the words for the previous chapter. Null if this is the first chapter in the translation, or if the previous chapter doesn't have any word-level annotations.
844
+ */
845
+ previousChapterWordsLink: string | null;
846
+ /**
847
+ * The annotated words for each verse in the chapter, keyed by verse number. Each list is in the order that the words occur in the verse. The offsets are into the text of the simplified verse.
848
+ */
849
+ verses: {
850
+ [key: string]: Array<SimpleChapterWord>;
851
+ };
852
+ };
853
+ /**
854
+ * 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.
855
+ */
856
+ export type SimpleChapterWord = {
857
+ /**
858
+ * The index of the first character of the annotated word in the content item's text.
859
+ */
860
+ start: number;
861
+ /**
862
+ * 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.
863
+ */
864
+ end: number;
865
+ /**
866
+ * The Strong's number(s) for the word. Omitted if the translation only provided other annotations for the word.
867
+ */
868
+ strongs?: Array<string>;
869
+ /**
870
+ * The dictionary (citation) form of the word. Omitted if the translation did not provide one.
871
+ */
872
+ lemma?: string;
873
+ /**
874
+ * The morphology parse code for the word. Omitted if the translation did not provide one.
875
+ */
876
+ morph?: string;
877
+ /**
878
+ * The pointer to the word in the source text, in the <sourceName>:<location> format. Omitted if the translation did not provide one.
879
+ */
880
+ srcloc?: string;
881
+ /**
882
+ * Which occurrence of the source word this word is. 1-based. Omitted if the translation did not provide one.
883
+ */
884
+ occurrence?: number;
885
+ /**
886
+ * The total number of times that the source word occurs. Omitted if the translation did not provide one.
887
+ */
888
+ occurrences?: number;
889
+ };
890
+ /**
891
+ * Defines the complete translation download data. Maps to the /api/:translationId/complete.json endpoint.
892
+ */
893
+ export type ApiTranslationComplete = {
894
+ /**
895
+ * The translation metadata.
896
+ */
897
+ translation: ApiTranslation;
898
+ /**
899
+ * The complete list of books with all their chapters.
900
+ */
901
+ books: Array<ApiTranslationCompleteBook>;
902
+ };
903
+ /**
904
+ * A book in the complete translation download.
905
+ */
906
+ export type ApiTranslationCompleteBook = {
907
+ id: BookId;
908
+ /**
909
+ * The name that the translation provided for the book.
910
+ */
911
+ name: string;
912
+ /**
913
+ * The common name for the book.
914
+ */
915
+ commonName: string;
916
+ /**
917
+ * The title of the book. This is usually a more descriptive version of the book name. If not available, then one was not provided by the translation.
918
+ */
919
+ title: string | null;
920
+ /**
921
+ * The numerical order of the book in the translation.
922
+ */
923
+ order: number;
924
+ /**
925
+ * Whether the book is an apocryphal book.
926
+ */
927
+ isApocryphal?: boolean;
928
+ /**
929
+ * The number of chapters in the book.
930
+ */
931
+ numberOfChapters: number;
932
+ /**
933
+ * The total number of verses in the book.
934
+ */
935
+ totalNumberOfVerses: number;
936
+ /**
937
+ * The complete list of chapters with all content.
938
+ */
939
+ chapters: Array<TranslationCompleteChapter>;
940
+ };
941
+ /**
942
+ * A chapter in the complete translation download.
943
+ */
944
+ export type TranslationCompleteChapter = {
945
+ /**
946
+ * The information for the chapter.
947
+ */
948
+ chapter: {
949
+ /**
950
+ * The number of the chapter.
951
+ */
952
+ number: number;
953
+ /**
954
+ * The content of the chapter.
955
+ */
956
+ content: Array<ChapterContent>;
957
+ /**
958
+ * The list of footnotes for the chapter.
959
+ */
960
+ footnotes: Array<ChapterFootnote>;
961
+ };
962
+ /**
963
+ * The links to different audio versions for the chapter.
352
964
  */
353
- noteId: number;
965
+ thisChapterAudioLinks: TranslationBookChapterAudioLinks;
354
966
  /**
355
- * The text of the footnote.
967
+ * The audio timings (per-verse start times, in seconds) for different audio versions for the chapter.
356
968
  */
357
- text: string;
969
+ thisChapterAudioTimings: TranslationBookChapterAudioTimings;
358
970
  /**
359
- * The verse reference for the footnote. Undefined if the footnote isn't associated with a specific verse.
971
+ * 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.
360
972
  */
361
- reference?: {
362
- chapter: number;
363
- verse: number;
364
- };
973
+ thisChapterWords?: TranslationBookChapterWords;
365
974
  /**
366
- * The caller that should be used for the footnote. For footnotes, a "caller" is the character that is used in the text to reference to footnote. For example, in the text: Hello (a) World ---- (a) This is a footnote. The "(a)" is the caller. 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.
975
+ * The number of verses that the chapter contains.
367
976
  */
368
- caller: '+' | string | null;
977
+ numberOfVerses: number;
369
978
  };
370
979
  /**
371
- * Defines the schema for the audio links for a book chapter.
980
+ * 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.
372
981
  */
373
- export type TranslationBookChapterAudioLinks = {
374
- [key: string]: string;
982
+ export type TranslationBookChapterAudioTimings = {
983
+ [key: string]: Array<number>;
375
984
  };
376
985
  /**
377
- * Defines the complete translation download data. Maps to the /api/:translationId/complete.json endpoint.
986
+ * 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.
378
987
  */
379
- export type ApiTranslationComplete = {
988
+ export type TranslationBookChapterWords = {
989
+ [key: string]: Array<ChapterWord>;
990
+ };
991
+ /**
992
+ * Defines the complete translation download data, using the simplified chapter format. Maps to the /api/:translationId/complete.simple.json endpoint.
993
+ */
994
+ export type ApiSimpleTranslationComplete = {
380
995
  /**
381
996
  * The translation metadata.
382
997
  */
@@ -384,12 +999,12 @@ export type ApiTranslationComplete = {
384
999
  /**
385
1000
  * The complete list of books with all their chapters.
386
1001
  */
387
- books: Array<ApiTranslationCompleteBook>;
1002
+ books: Array<ApiSimpleTranslationCompleteBook>;
388
1003
  };
389
1004
  /**
390
- * A book in the complete translation download.
1005
+ * A book in the complete translation download, using the simplified chapter format.
391
1006
  */
392
- export type ApiTranslationCompleteBook = {
1007
+ export type ApiSimpleTranslationCompleteBook = {
393
1008
  id: BookId;
394
1009
  /**
395
1010
  * The name that the translation provided for the book.
@@ -422,33 +1037,38 @@ export type ApiTranslationCompleteBook = {
422
1037
  /**
423
1038
  * The complete list of chapters with all content.
424
1039
  */
425
- chapters: Array<TranslationBookChapter>;
1040
+ chapters: Array<SimpleTranslationCompleteChapter>;
426
1041
  };
427
1042
  /**
428
- * Defines the schema for information about a book chapter.
1043
+ * A chapter in the complete translation download, using the simplified chapter format.
429
1044
  */
430
- export type TranslationBookChapter = {
1045
+ export type SimpleTranslationCompleteChapter = {
431
1046
  /**
432
- * The information for the chapter.
1047
+ * The simplified information for the chapter.
433
1048
  */
434
- chapter: {
435
- /**
436
- * The number of the chapter.
437
- */
438
- number: number;
439
- /**
440
- * The content of the chapter.
441
- */
442
- content: Array<ChapterContent>;
443
- /**
444
- * The list of footnotes for the chapter.
445
- */
446
- footnotes: Array<ChapterFootnote>;
447
- };
1049
+ chapter: SimpleChapterData;
448
1050
  /**
449
1051
  * The links to different audio versions for the chapter.
450
1052
  */
451
1053
  thisChapterAudioLinks: TranslationBookChapterAudioLinks;
1054
+ /**
1055
+ * The audio timings (per-verse start times, in seconds) for different audio versions for the chapter.
1056
+ */
1057
+ thisChapterAudioTimings: TranslationBookChapterAudioTimings;
1058
+ /**
1059
+ * 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.
1060
+ */
1061
+ thisChapterWords?: SimpleTranslationBookChapterWords;
1062
+ /**
1063
+ * The number of verses that the chapter contains.
1064
+ */
1065
+ numberOfVerses: number;
1066
+ };
1067
+ /**
1068
+ * 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.
1069
+ */
1070
+ export type SimpleTranslationBookChapterWords = {
1071
+ [key: string]: Array<SimpleChapterWord>;
452
1072
  };
453
1073
  /**
454
1074
  * The list of available commentaries. Maps to the /api/available-commentaries.json endpoint.
@@ -668,6 +1288,73 @@ export type ApiCommentaryBookChapter = {
668
1288
  * The number of verses that the chapter contains.
669
1289
  */
670
1290
  numberOfVerses: number;
1291
+ /**
1292
+ * The API link to the simplified version of this chapter. Relative to the API origin. Omitted if simplified chapters are not available.
1293
+ */
1294
+ simpleChapterApiLink?: string;
1295
+ };
1296
+ /**
1297
+ * Defines a schema that contains information about a book chapter in a commentary, using the simplified chapter format.
1298
+ */
1299
+ export type ApiSimpleCommentaryBookChapter = {
1300
+ /**
1301
+ * The commentary information for the book chapter.
1302
+ */
1303
+ commentary: ApiCommentary;
1304
+ /**
1305
+ * The book information for the book chapter.
1306
+ */
1307
+ book: ApiCommentaryBook;
1308
+ /**
1309
+ * The API link for this chapter. Relative to the API origin.
1310
+ */
1311
+ thisChapterLink: string;
1312
+ thisChapterReference: CommentaryChapterReference;
1313
+ /**
1314
+ * The API link to the next chapter. Relative to the API origin. Null if this is the last chapter in the commentary.
1315
+ */
1316
+ nextChapterApiLink: string | null;
1317
+ /**
1318
+ * The reference for the next chapter. Null if this is the last chapter in the commentary.
1319
+ */
1320
+ nextChapterReference: CommentaryChapterReference | null;
1321
+ /**
1322
+ * The API link to the previous chapter. Relative to the API origin. Null if this is the first chapter in the commentary.
1323
+ */
1324
+ previousChapterApiLink: string | null;
1325
+ /**
1326
+ * The reference for the previous chapter. Null if this is the first chapter in the commentary.
1327
+ */
1328
+ previousChapterReference: CommentaryChapterReference | null;
1329
+ /**
1330
+ * The number of verses that the chapter contains.
1331
+ */
1332
+ numberOfVerses: number;
1333
+ /**
1334
+ * The simplified information for the chapter. Each verse contains a single text string, and the footnotes and formatting are represented by offsets into that string.
1335
+ */
1336
+ chapter: SimpleCommentaryChapterData;
1337
+ /**
1338
+ * The API link to the regular (non-simplified) version of this chapter. Relative to the API origin.
1339
+ */
1340
+ fullChapterApiLink: string;
1341
+ };
1342
+ /**
1343
+ * Defines the schema for the data in a simplified commentary chapter.
1344
+ */
1345
+ export type SimpleCommentaryChapterData = {
1346
+ /**
1347
+ * The number of the chapter.
1348
+ */
1349
+ number: number;
1350
+ /**
1351
+ * The introduction that the commentary provided to the chapter. Not all commentaries provide an introduction to a chapter.
1352
+ */
1353
+ introduction?: string;
1354
+ /**
1355
+ * The content of the chapter.
1356
+ */
1357
+ content: Array<SimpleChapterVerse>;
671
1358
  };
672
1359
  /**
673
1360
  * The list of available datasets. Maps to the /api/available-datasets.json endpoint.
@@ -982,6 +1669,138 @@ export type GetTranslationBookChapterResponses = {
982
1669
  200: ApiTranslationBookChapter;
983
1670
  };
984
1671
  export type GetTranslationBookChapterResponse = GetTranslationBookChapterResponses[keyof GetTranslationBookChapterResponses];
1672
+ export type GetSimpleTranslationBookChapterData = {
1673
+ body?: never;
1674
+ path: {
1675
+ /**
1676
+ * The translation ID of the Bible translation to get the books for. For example, "eng_kjv" for the King James Version.
1677
+ */
1678
+ translation: string;
1679
+ /**
1680
+ * IDs for books. Follows the USFM standard (https://ubsicap.github.io/usfm/identification/books.html)
1681
+ */
1682
+ book: BookId;
1683
+ /**
1684
+ * The chapter number to get the content for. This should be a positive integer.
1685
+ */
1686
+ chapter: number;
1687
+ };
1688
+ query?: never;
1689
+ url: '/api/{translation}/{book}/{chapter}.simple.json';
1690
+ };
1691
+ export type GetSimpleTranslationBookChapterErrors = {
1692
+ /**
1693
+ * 404 Not Found - The specified translation, book, or chapter was not found.
1694
+ */
1695
+ 404: unknown;
1696
+ };
1697
+ export type GetSimpleTranslationBookChapterResponses = {
1698
+ /**
1699
+ * 200 OK
1700
+ */
1701
+ 200: ApiSimpleTranslationBookChapter;
1702
+ };
1703
+ export type GetSimpleTranslationBookChapterResponse = GetSimpleTranslationBookChapterResponses[keyof GetSimpleTranslationBookChapterResponses];
1704
+ export type GetTranslationBookChapterAudioTimingsData = {
1705
+ body?: never;
1706
+ path: {
1707
+ /**
1708
+ * The translation ID of the Bible translation to get the books for. For example, "eng_kjv" for the King James Version.
1709
+ */
1710
+ translation: string;
1711
+ /**
1712
+ * IDs for books. Follows the USFM standard (https://ubsicap.github.io/usfm/identification/books.html)
1713
+ */
1714
+ book: BookId;
1715
+ /**
1716
+ * The chapter number to get the content for. This should be a positive integer.
1717
+ */
1718
+ chapter: number;
1719
+ /**
1720
+ * The ID of the reader to get the audio timings for. For example, "hays" for the Hays reading of the Berean Standard Bible.
1721
+ */
1722
+ reader: string;
1723
+ };
1724
+ query?: never;
1725
+ url: '/api/{translation}/{book}/{chapter}.{reader}.audioTimings.json';
1726
+ };
1727
+ export type GetTranslationBookChapterAudioTimingsErrors = {
1728
+ /**
1729
+ * 404 Not Found - The specified translation, book, chapter, or reader was not found.
1730
+ */
1731
+ 404: unknown;
1732
+ };
1733
+ export type GetTranslationBookChapterAudioTimingsResponses = {
1734
+ /**
1735
+ * 200 OK
1736
+ */
1737
+ 200: ApiTranslationBookChapterAudioTimings;
1738
+ };
1739
+ export type GetTranslationBookChapterAudioTimingsResponse = GetTranslationBookChapterAudioTimingsResponses[keyof GetTranslationBookChapterAudioTimingsResponses];
1740
+ export type GetTranslationBookChapterWordsData = {
1741
+ body?: never;
1742
+ path: {
1743
+ /**
1744
+ * The translation ID of the Bible translation to get the books for. For example, "eng_kjv" for the King James Version.
1745
+ */
1746
+ translation: string;
1747
+ /**
1748
+ * IDs for books. Follows the USFM standard (https://ubsicap.github.io/usfm/identification/books.html)
1749
+ */
1750
+ book: BookId;
1751
+ /**
1752
+ * The chapter number to get the content for. This should be a positive integer.
1753
+ */
1754
+ chapter: number;
1755
+ };
1756
+ query?: never;
1757
+ url: '/api/{translation}/{book}/{chapter}.words.json';
1758
+ };
1759
+ export type GetTranslationBookChapterWordsErrors = {
1760
+ /**
1761
+ * 404 Not Found - The specified translation, book, or chapter was not found, or the chapter does not have any word-level annotations.
1762
+ */
1763
+ 404: unknown;
1764
+ };
1765
+ export type GetTranslationBookChapterWordsResponses = {
1766
+ /**
1767
+ * 200 OK
1768
+ */
1769
+ 200: ApiTranslationBookChapterWords;
1770
+ };
1771
+ export type GetTranslationBookChapterWordsResponse = GetTranslationBookChapterWordsResponses[keyof GetTranslationBookChapterWordsResponses];
1772
+ export type GetSimpleTranslationBookChapterWordsData = {
1773
+ body?: never;
1774
+ path: {
1775
+ /**
1776
+ * The translation ID of the Bible translation to get the books for. For example, "eng_kjv" for the King James Version.
1777
+ */
1778
+ translation: string;
1779
+ /**
1780
+ * IDs for books. Follows the USFM standard (https://ubsicap.github.io/usfm/identification/books.html)
1781
+ */
1782
+ book: BookId;
1783
+ /**
1784
+ * The chapter number to get the content for. This should be a positive integer.
1785
+ */
1786
+ chapter: number;
1787
+ };
1788
+ query?: never;
1789
+ url: '/api/{translation}/{book}/{chapter}.words.simple.json';
1790
+ };
1791
+ export type GetSimpleTranslationBookChapterWordsErrors = {
1792
+ /**
1793
+ * 404 Not Found - The specified translation, book, or chapter was not found, or the chapter does not have any word-level annotations.
1794
+ */
1795
+ 404: unknown;
1796
+ };
1797
+ export type GetSimpleTranslationBookChapterWordsResponses = {
1798
+ /**
1799
+ * 200 OK
1800
+ */
1801
+ 200: ApiSimpleTranslationBookChapterWords;
1802
+ };
1803
+ export type GetSimpleTranslationBookChapterWordsResponse = GetSimpleTranslationBookChapterWordsResponses[keyof GetSimpleTranslationBookChapterWordsResponses];
985
1804
  export type GetTranslationCompleteData = {
986
1805
  body?: never;
987
1806
  path: {
@@ -1006,6 +1825,30 @@ export type GetTranslationCompleteResponses = {
1006
1825
  200: ApiTranslationComplete;
1007
1826
  };
1008
1827
  export type GetTranslationCompleteResponse = GetTranslationCompleteResponses[keyof GetTranslationCompleteResponses];
1828
+ export type GetSimpleTranslationCompleteData = {
1829
+ body?: never;
1830
+ path: {
1831
+ /**
1832
+ * The translation ID of the Bible translation to get the books for. For example, "eng_kjv" for the King James Version.
1833
+ */
1834
+ translation: string;
1835
+ };
1836
+ query?: never;
1837
+ url: '/api/{translation}/complete.simple.json';
1838
+ };
1839
+ export type GetSimpleTranslationCompleteErrors = {
1840
+ /**
1841
+ * 404 Not Found - The specified translation was not found, or complete translations are not available.
1842
+ */
1843
+ 404: unknown;
1844
+ };
1845
+ export type GetSimpleTranslationCompleteResponses = {
1846
+ /**
1847
+ * 200 OK
1848
+ */
1849
+ 200: ApiSimpleTranslationComplete;
1850
+ };
1851
+ export type GetSimpleTranslationCompleteResponse = GetSimpleTranslationCompleteResponses[keyof GetSimpleTranslationCompleteResponses];
1009
1852
  export type GetAvailableCommentariesData = {
1010
1853
  body?: never;
1011
1854
  path?: never;
@@ -1075,6 +1918,38 @@ export type GetCommentaryBookChapterResponses = {
1075
1918
  200: ApiCommentaryBookChapter;
1076
1919
  };
1077
1920
  export type GetCommentaryBookChapterResponse = GetCommentaryBookChapterResponses[keyof GetCommentaryBookChapterResponses];
1921
+ export type GetSimpleCommentaryBookChapterData = {
1922
+ body?: never;
1923
+ path: {
1924
+ /**
1925
+ * The commentary ID of the commentary to get the books or chapter content for.
1926
+ */
1927
+ commentary: string;
1928
+ /**
1929
+ * IDs for books. Follows the USFM standard (https://ubsicap.github.io/usfm/identification/books.html)
1930
+ */
1931
+ book: BookId;
1932
+ /**
1933
+ * The chapter number to get the content for. This should be a positive integer.
1934
+ */
1935
+ chapter: number;
1936
+ };
1937
+ query?: never;
1938
+ url: '/api/c/{commentary}/{book}/{chapter}.simple.json';
1939
+ };
1940
+ export type GetSimpleCommentaryBookChapterErrors = {
1941
+ /**
1942
+ * 404 Not Found - The specified commentary, book, or chapter was not found.
1943
+ */
1944
+ 404: unknown;
1945
+ };
1946
+ export type GetSimpleCommentaryBookChapterResponses = {
1947
+ /**
1948
+ * 200 OK
1949
+ */
1950
+ 200: ApiSimpleCommentaryBookChapter;
1951
+ };
1952
+ export type GetSimpleCommentaryBookChapterResponse = GetSimpleCommentaryBookChapterResponses[keyof GetSimpleCommentaryBookChapterResponses];
1078
1953
  export type GetAvailableDatasetsData = {
1079
1954
  body?: never;
1080
1955
  path?: never;