Releases: awoken-bible/reference
Releases · awoken-bible/reference
Named Range Alias Parsing
Features
- Parser functions now obey specified Versification (issue #1)
- Support specifying a list of
RangeAliasesas part of verisifcation scheme- Eg, "Torah" can map to the range "Gen-Deu" and thus be parsable
- Add common
RangeAliasesto default versification - This feature can be disabled by creating a custom versification with no
RangeAliasesspecified
- Support parsing range of number prefixed books, eg: "1 - 2 Kings" now parses (issue #20)
- Add makeBookRange function to make cross-book ranges, eg:
makeBookRange("GEN", "DEU")
Fixes
- Parser now works for cross-book ranges with trailing chapter/verse specifiers, eg: "Gen 3 - Exo 5, 6" (issue #17)
- Remove extra space from "1 Kin" alias breaking parsing (PR #22)
Misc
- Update typedocs and typescript dependencies
Hybrid CommonJs and EsModule Compatability
Features
- Add support for loading EsModule version of library (via import() in nodejs)
- Add nextVerse and previousVerse functions
Breaking Changes
For the majority of library consumers, v3.0.0 should be a drop-in replacement for v2.x.x without making any changes to your codebase.
- Node versions pre v12.16.0 will no longer load the correct files, due to use of conditional exports in package.json to support loading as CommonJs or EsModule depending on consumer
- The browser bundle has been renamed from
./dist.browser/awoken-ref.jsto./dist/awoken-ref.min.js- this was not previously exported and thus could not berequire()-ed. This could break consumers with automated build systems that copied this file into their own public asset directory. Finding the path on disk of this file withrequire.resolve('awoken-bible-reference/browser)is now recommended
Parse Url Encoded Fixes
Fixes:
- Prevent certain bad input strings causing infinite loop in parseUrlEncoded, throw instead
- Fix parsing of cross book range for books whose id starts with in (eg: 1KI, 3JN)
- Fix parsing new block after book-book range without chapter/verse data
Speedy URL Encoded Parsing
Features:
- Add
parseUrlEncodedfunction as specialized version ofparseOrThrowthat takes about 1/20th the time
Additional Book Abbreviations
Features:
- Add support for textual 'First', 'Second' and 'Third' before numbered book names
- Add support for Bible book abbreviations used by Blue Letter Bible
- Add misc additional book abbreviations and aliases
Intersection Optimization
Features:
- Add function to create an re-usable
IntersectionSetto speedupintersects/getIntersectionwhen testing a BibleRef list repeatedly
Misc:
- Optimize
intersectsfunction for faster operation on large BibleRef lists - Minor speedup to
combineRanges - Update dependencies
Group By Level
Features:
- Add function to organize a list of BibleRefs into groups based on whether they represent books, chapters or verses
Browser Bundle
Features
- Add secondary build system for producing minimized single js file for use in web browsers
Misc
- Remove test coverage for EOL nodejs versions (v8.x and v10.x)
- Add test coverage for modern nodejs versions (v14.x and v16.x)
Grouping Functions
Features
- Add groupByBook and groupByChapter to sort a list of BibleRef instances into buckets with common books or book/chapter combinations
Ambigious Comma Seperated Chapter/Reference Lists
Fixes
- Fix bug with parser where it failed to disambiguate between a comma seperated list of chapters within a book, and a comma seperated list of Bible references, when using book names with leading numbers (eg, 1Sam.1,2Sam.1)