biblereference 1.0.0 copy "biblereference: ^1.0.0" to clipboard
biblereference: ^1.0.0 copied to clipboard

A dart library to parse text into bible references in multiple locales.

example/biblereference_example.dart

import 'package:biblebooks/biblebooks.dart';
import 'package:biblereference/biblereference.dart';

void main() {
  // Parse using the default locale: AppLocale.en

  // Book
  var reference = BibleReferenceParser().parse('Genesis');
  print(reference == Reference(BibleBook.genesis)); // prints true

  // Book Chapter
  reference = BibleReferenceParser().parse('Genesis 1');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [ReferenceSegment.singleChapter(1)],
      )); // prints true

  // Book Chapter-Chapter
  reference = BibleReferenceParser().parse('Genesis 1-2');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [ReferenceSegment.multipleChapters(1, 2)],
      )); // prints true

  // Book Chapter:Verse
  reference = BibleReferenceParser().parse('Genesis 1:1');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [ReferenceSegment.singleVerse(1, 1)],
      )); // prints true

  // Book Chapter:Verse-Verse
  reference = BibleReferenceParser().parse('Genesis 1:1-5');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [ReferenceSegment.multipleVerses(1, 1, 5)],
      )); // prints true

  // Book Chapter:Verse,Verse
  reference = BibleReferenceParser().parse('Genesis 1:1,5');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [
          ReferenceSegment.singleVerse(1, 1),
          ReferenceSegment.singleVerse(1, 5),
        ],
      )); // prints true

  // Book Chapter:Verse-Verse,Verse-Verse
  reference = BibleReferenceParser().parse('Genesis 1:1-5,8-10');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [
          ReferenceSegment.multipleVerses(1, 1, 5),
          ReferenceSegment.multipleVerses(1, 8, 10),
        ],
      )); // prints true

  // Book Chapter:Verse-Verse;Chapter:Verse-Verse
  reference = BibleReferenceParser().parse('Genesis 1:1-5;2:1-3');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [
          ReferenceSegment.multipleVerses(1, 1, 5),
          ReferenceSegment.multipleVerses(2, 1, 3),
        ],
      )); // prints true

  // Book Chapter:Verse-Chapter:Verse
  reference = BibleReferenceParser().parse('Genesis 1:5-2:3');
  print(reference ==
      Reference(
        BibleBook.genesis,
        segments: [
          ReferenceSegment(ReferencePoint(1, 5), ReferencePoint(2, 3)),
        ],
      )); // prints true

  // Book Verse (for single-chapter books)
  reference = BibleReferenceParser().parse('2 John 9');
  print(reference ==
      Reference(
        BibleBook.john2,
        segments: [
          ReferenceSegment.singleVerse(1, 9),
        ],
      )); // prints true

  // Parse using the default locale: AppLocale.tgl

  // Book
  reference = BibleReferenceParser().parse('Gawa', locale: AppLocale.tgl);
  print(reference == Reference(BibleBook.acts)); // prints true

  // Book Chapter
  reference = BibleReferenceParser().parse('Gawa 1', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [ReferenceSegment.singleChapter(1)],
      )); // prints true

  // Book Chapter-Chapter
  reference = BibleReferenceParser().parse('Gawa 1-2', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [ReferenceSegment.multipleChapters(1, 2)],
      )); // prints true

  // Book Chapter:Verse
  reference = BibleReferenceParser().parse('Gawa 1:1', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [ReferenceSegment.singleVerse(1, 1)],
      )); // prints true

  // Book Chapter:Verse-Verse
  reference = BibleReferenceParser().parse('Gawa 1:1-5', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [ReferenceSegment.multipleVerses(1, 1, 5)],
      )); // prints true

  // Book Chapter:Verse,Verse
  reference = BibleReferenceParser().parse('Gawa 1:1,5', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [
          ReferenceSegment.singleVerse(1, 1),
          ReferenceSegment.singleVerse(1, 5),
        ],
      )); // prints true

  // Book Chapter:Verse-Verse,Verse-Verse
  reference =
      BibleReferenceParser().parse('Gawa 1:1-5,8-10', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [
          ReferenceSegment.multipleVerses(1, 1, 5),
          ReferenceSegment.multipleVerses(1, 8, 10),
        ],
      )); // prints true

  // Book Chapter:Verse-Verse;Chapter:Verse-Verse
  reference =
      BibleReferenceParser().parse('Gawa 1:1-5;2:1-3', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [
          ReferenceSegment.multipleVerses(1, 1, 5),
          ReferenceSegment.multipleVerses(2, 1, 3),
        ],
      )); // prints true

  // Book Chapter:Verse-Chapter:Verse
  reference =
      BibleReferenceParser().parse('Gawa 1:5-2:3', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.acts,
        segments: [
          ReferenceSegment(ReferencePoint(1, 5), ReferencePoint(2, 3)),
        ],
      )); // prints true

  // Book Verse (for single-chapter books)
  reference = BibleReferenceParser().parse('2 Juan 9', locale: AppLocale.tgl);
  print(reference ==
      Reference(
        BibleBook.john2,
        segments: [
          ReferenceSegment.singleVerse(1, 9),
        ],
      )); // prints true
}
3
likes
160
pub points
0%
popularity

Publisher

verified publishermarkivan.dev

A dart library to parse text into bible references in multiple locales.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

biblebooks

More

Packages that depend on biblereference