0 purchases
bible
bible #
This package provides a simple interface for interacting with different bible APIs.
Usage #
This package currently only supports querying these APIs:
Name
Requires API key
notes
esvapi
yes
getbible
no
Does not support verse references that cross chapters. Genesis 2-3 ✅ Gensis 2:1 - 3:5 ❌
bibleorg
no
bibleapi
no
Simple example:
import 'package:bible/bible.dart' as Bible;
...
var passage = await Bible.queryPassage('John 3:16'); // Will default to the GetBible API
print(passage.passage) // The text from the query
copied to clipboard
An example requiring an API key:
Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', providerName:'esvapi');
copied to clipboard
You can also pass the API key as an optional parameter:
Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', key: 'APITOKEN');
copied to clipboard
You can also pass query parameters through a map. See specific API documentation for those parameters.
Bible.addKeys({'esvapi': 'APITOKEN'});
var passage = await Bible.queryPassage('John 3:16', key: 'APITOKEN', parameters: {'Map': 'of params'});
copied to clipboard
You can specify the version or provider with optional parameters.
var passage = await Bible.queryPassage('John 3:16', providerName: 'getbible', version: 'asv');
copied to clipboard
**Note:**The providerName coresponds to that in the table at the beginning of this documentation.
Every time a passage is queried, the reference_parser library tries to
parse the query (i.e mispelling will automatically be corrected, shortened verse forms will be allowed). To prevent
this just pass false to the useParser parameter.
var passage = await Bible.queryPassage('John 3:16', useParser: false);
copied to clipboard
If you import the providers library you can use can directly query every the providers or pass them
to the queryPassage function as an optional parameter
import 'package:bible/bible.dart' as Bible;
import 'package:bible/providers.dart';
//...
var prov = GetBible();
var passage = await Bible.queryPassage('John 3:16', provider: prov);
copied to clipboard
This is the same as using the providerName parameter but if you were to create
your own provider you could pass it to the function.
Note: If you create your own provider please consider contributing it back to the repository :).
Contributing #
Implementing an API isn't hard, so I'm open to having people implementing and sending pull requests
for different bible APIs. This is a great first issue and doesn't require extensive dart knowledge, just copy a provider already created and go from there!
APIs that need implementing:
Name
Difficulty
nltapi
easy
bibliaapi
moderate
scriptureapi
hard
For more specific information look at the contributing guidlines.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.