UNPKG

swordjs

Version:

swordjs - access modules from crosswire.org/sword in JS

506 lines (503 loc) 24.2 kB
bcv_parser::regexps.space = "[\\s\\xa0]" bcv_parser::regexps.escaped_passage = /// (?:^ | [^\x1f\x1e\dA-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ] ) # Beginning of string or not in the middle of a word or immediately following another book. Only count a book if it's part of a sequence: `Matt5John3` is OK, but not `1Matt5John3` ( # Start inverted book/chapter (cb) (?: (?: ch (?: apters? | a?pts?\.? | a?p?s?\.? )? \s* \d+ \s* (?: [\u2013\u2014\-] | through | thru | to) \s* \d+ \s* (?: from | of | in ) (?: \s+ the \s+ book \s+ of )?\s* ) | (?: ch (?: apters? | a?pts?\.? | a?p?s?\.? )? \s* \d+ \s* (?: from | of | in ) (?: \s+ the \s+ book \s+ of )?\s* ) | (?: \d+ (?: th | nd | st ) \s* ch (?: apter | a?pt\.? | a?p?\.? )? \s* #no plurals here since it's a single chapter (?: from | of | in ) (?: \s+ the \s+ book \s+ of )? \s* ) )? # End inverted book/chapter (cb) \x1f(\d+)(?:/\d+)?\x1f #book (?: /\d+\x1f #special Psalm chapters | [\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014] | titlu (?! [a-z] ) #could be followed by a number | capitolele | capitolul | versetele | versetul | versete | [şs]i | vers | cap | ff | cf | cp | vs | - | v | [a-e] (?! \w ) #a-e allows 1:1a | $ #or the end of the string )+ ) ///gi # These are the only valid ways to end a potential passage match. The closing parenthesis allows for fully capturing parentheses surrounding translations (ESV**)**. The last one, `[\d\x1f]` needs not to be +; otherwise `Gen5ff` becomes `\x1f0\x1f5ff`, and `adjust_regexp_end` matches the `\x1f5` and incorrectly dangles the ff. bcv_parser::regexps.match_end_split = /// \d \W* titlu | \d \W* ff (?: [\s\xa0*]* \.)? | \d [\s\xa0*]* [a-e] (?! \w ) | \x1e (?: [\s\xa0*]* [)\]\uff09] )? #ff09 is a full-width closing parenthesis | [\d\x1f] ///gi bcv_parser::regexps.control = /[\x1e\x1f]/g bcv_parser::regexps.pre_book = "[^A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ]" bcv_parser::regexps.first = "(?:1|I)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.second = "(?:2|II)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.third = "(?:3|III)\\.?#{bcv_parser::regexps.space}*" bcv_parser::regexps.range_and = "(?:[&\u2013\u2014-]|(?:[şs]i|cf|cp)|-)" bcv_parser::regexps.range_only = "(?:[\u2013\u2014-]|-)" # Each book regexp should return two parenthesized objects: an optional preliminary character and the book itself. bcv_parser::regexps.get_books = (include_apocrypha, case_sensitive) -> books = [ osis: ["Ps"] apocrypha: true extra: "2" regexp: ///(\b)( # Don't match a preceding \d like usual because we only want to match a valid OSIS, which will never have a preceding digit. Ps151 # Always follwed by ".1"; the regular Psalms parser can handle `Ps151` on its own. )(?=\.1)///g # Case-sensitive because we only want to match a valid OSIS. , osis: ["Gen"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Facerea|Gen(?:e[sz]a)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Exod"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Ie[sşș]irea|Ex(?:od(?:ul)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Bel"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Istoria[\s\xa0]*(?:omor[aâ]rii[\s\xa0]*balaurului[\s\xa0]*(?:[sş]i[\s\xa0]*a[\s\xa0]*sf(?:[aă]r(?:[aâ]m(?:[aă]rii[\s\xa0]*lui[\s\xa0]*Bel))))|Balaurului)|Bel[\s\xa0]*[sș]i[\s\xa0]*dragonul)|Bel )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Lev"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Lev(?:itic(?:ul)?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Num"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Num(?:erii?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Sir"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Cartea[\s\xa0]*[iî]n(?:[tţ]elepciunii[\s\xa0]*lui[\s\xa0]*Isus,[\s\xa0]*fiul[\s\xa0]*lui[\s\xa0]*Sirah)|Ec(?:clesiasticul|leziastic)|Sir(?:ach)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Lam"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Lam|Pl(?:[aâ]ng(?:eri(?:le[\s\xa0]*(?:profetului[\s\xa0]*Ieremia|lui[\s\xa0]*Ieremia))?)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["EpJer"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ep(?:istola[\s\xa0]*lui[\s\xa0]*Ieremia|Jer) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["PrMan"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Rug(?:[aă]ciunea[\s\xa0]*(?:regelui[\s\xa0]*Manase|lui[\s\xa0]*Manase))|Manase|PrMan) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Deut"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Deut(?:eronom(?:ul)?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Josh"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Josh|Ios(?:ua(?:[\s\xa0]*Navi)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Judg"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Jud(?:ec(?:atorii?|ători)|g)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ruth"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ruth? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Esd"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:3(?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra)|I(?:II(?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra)|\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra)|1(?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra|Esd)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Esd"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:I(?:[IV](?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra))|4(?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra)|2(?:\.[\s\xa0]*Ezdra|[\s\xa0]*Ezdra|Esd)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Isa"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Is(?:a(?:ia)?)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Sam"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*(?:a[\s\xa0]*doua[\s\xa0]*a[\s\xa0]*Regilor|II[\s\xa0]*a[\s\xa0]*(?:lui[\s\xa0]*Samuel|Regilor))|II(?:\.[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?))|2(?:\.[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|Sam)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Sam"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*(?:[iî]nt(?:[aâ]i[\s\xa0]*a[\s\xa0]*Regilor)|I[\s\xa0]*a[\s\xa0]*(?:lui[\s\xa0]*Samuel|Regilor))|1(?:\.[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|Sam)|I(?:\.[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?)|[\s\xa0]*(?:Regilor|Sa(?:m(?:uel)?)?))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Kgs"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*(?:a[\s\xa0]*patra[\s\xa0]*a[\s\xa0]*Regilor|IV[\s\xa0]*a[\s\xa0]*Regilor)|4(?:\.[\s\xa0]*Regi|[\s\xa0]*Regi)|I(?:V(?:\.[\s\xa0]*Regi|[\s\xa0]*Regi)|I(?:\.[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|[\s\xa0]*(?:a[\s\xa0]*[IÎ]mp(?:[aă]ra(?:[tţ]ilor))|Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))))|2(?:\.[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|Kgs))|(?:II(?:\.[\s\xa0]*[IÎ]mp|[\s\xa0]*[IÎ]mp)|2(?:\.[\s\xa0]*[IÎ]mp|[\s\xa0]*[IÎ]mp)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Kgs"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*(?:a[\s\xa0]*treia[\s\xa0]*a[\s\xa0]*Regilor|III[\s\xa0]*a[\s\xa0]*Regilor)|3(?:\.[\s\xa0]*Regi|[\s\xa0]*Regi)|I(?:II(?:\.[\s\xa0]*Regi|[\s\xa0]*Regi)|\.[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|[\s\xa0]*(?:a[\s\xa0]*[IÎ]mp(?:[aă]ra(?:[tţ]ilor))|Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?)))|1(?:\.[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|[\s\xa0]*(?:Regi|[IÎ]mp(?:[aă]ra(?:[tţ]i)?))|Kgs))|[1I](?:\.[\s\xa0]*(?:[IÎ]mp|[\s\xa0]*[IÎ]mp))|[1I][\s\xa0]*(?:[IÎ]mp) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Chr"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*a[\s\xa0]*doua[\s\xa0]*Paralipomena|II(?:\.[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?))|2(?:\.[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|Chr)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Chr"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:Cartea[\s\xa0]*[iî]nt(?:[aâ]i[\s\xa0]*Paralipomena)|I(?:\.[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?))|1(?:\.[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|[\s\xa0]*(?:Paralipomena|Cron(?:ici(?:lor)?)?)|Chr)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ezra"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ezra )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Neh"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ne(?:em(?:ia)?|h) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["GkEsth"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( GkEsth )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Esth"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Est(?:er(?:ei|a)|h)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Job"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Iov|Job) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ps"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Cartea[\s\xa0]*Psalmilor|Ps(?:alm(?:ul|ii?)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["PrAzar"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Rug[aă]ciunea[\s\xa0]*lui[\s\xa0]*Azaria|PrAzar) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Prov"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( P(?:ildele[\s\xa0]*lui[\s\xa0]*Solomon|rov(?:erbe(?:le(?:[\s\xa0]*lui[\s\xa0]*Solomon)?)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Eccl"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Ec(?:cl(?:esiastul)?|l(?:e(?:siastul|ziast(?:ul)?))?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["SgThree"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:C(?:[aâ]ntarea[\s\xa0]*celor[\s\xa0]*trei[\s\xa0]*(?:tineri|evrei))|Trei[\s\xa0]*tineri|3[\s\xa0]*tineri|SgThree) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Song"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:C(?:ant(?:ar(?:ea[\s\xa0]*(?:lui[\s\xa0]*Solomon|C[aâ]nt(?:[aă]rilor)|cantarilor)|i)|ări)?|ânt(?:ar(?:ea[\s\xa0]*(?:lui[\s\xa0]*Solomon|C[aâ]nt(?:[aă]rilor))|i)|ări)?)|Song) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Wis"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:[IÎ]n(?:[tț]elepciunea[\s\xa0]*lui[\s\xa0]*Solomon)|Cartea[\s\xa0]*(?:[iî]n(?:[tţ]elepciunii[\s\xa0]*lui[\s\xa0]*Solomon)|[IÎ]n(?:[tț]elepciunii))|Solomon|Wis) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jer"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Ier(?:emia)?|Jer) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Ezek"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Iezechiel|Ez(?:e(?:c(?:h(?:iel)?)?|k)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Dan"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Dan(?:iel)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hos"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Hos|Os(?:ea)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Joel"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Io[ei]l|Joel) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Amos"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Amos )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Obad"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Avdie|Obad(?:ia)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jonah"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Jonah|Iona) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mic"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Mi(?:heia|ca?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Nah"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Na(?:um|h) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hab"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Avacum|Hab(?:acuc)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Zeph"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Sofonie|Zeph|(?:[TŢȚ]ef(?:ania)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Hag"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Agheu|Hag(?:ai)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Zech"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Z(?:ech|ah(?:aria)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mal"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Mal(?:eahi)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Matt"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( M(?:at(?:ei|t)?|t) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Mark"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( M(?:ar(?:cu?|k)|c) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Luke"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( L(?:u(?:ke|ca?)|c) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:I(?:\.[\s\xa0]*Ioan|[\s\xa0]*Ioan)|1(?:\.[\s\xa0]*Ioan|John|[\s\xa0]*I(?:oan|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*Ioan|[\s\xa0]*Ioan)|2(?:\.[\s\xa0]*Ioan|John|[\s\xa0]*I(?:oan|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["3John"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:III(?:\.[\s\xa0]*Ioan|[\s\xa0]*Ioan)|3(?:\.[\s\xa0]*Ioan|John|[\s\xa0]*I(?:oan|n))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Acts"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Fapt(?:e(?:[\s\xa0]*Apostolilor|le(?:[\s\xa0]*Apostolilor)?)?)?|(?:Acts|F(?:[\s\xa0]*Ap|\.(?:[\s\xa0]*Ap|A)|ap|A)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Rev"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Rev|Ap(?:oc(?:alipsa(?:[\s\xa0]*lui[\s\xa0]*Ioan)?)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["John"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:John|I(?:oan|n)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Rom"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Rom(?:ani)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Cor"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?)|2(?:\.[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|Cor)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Cor"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:1(?:\.[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|Cor)|I(?:\.[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?|[\s\xa0]*Co(?:r(?:int(?:ieni|eni))?)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Gal"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Gal(?:ateni)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Eph"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( E(?:ph|f(?:es(?:eni)?)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Phil"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Phil|F(?:il(?:ip(?:eni)?)?|lp)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Col"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Col(?:oseni)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Thess"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*Tes(?:aloniceni)?|[\s\xa0]*Tes(?:aloniceni)?)|2(?:\.[\s\xa0]*Tes(?:aloniceni)?|Thess|[\s\xa0]*Tes(?:aloniceni)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Thess"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:1(?:\.[\s\xa0]*Tes(?:aloniceni)?|Thess|[\s\xa0]*Tes(?:aloniceni)?)|I(?:\.[\s\xa0]*Tes(?:aloniceni)?|[\s\xa0]*Tes(?:aloniceni)?)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Tim"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*Tim(?:otei)?|[\s\xa0]*Tim(?:otei)?)|2(?:\.[\s\xa0]*Tim(?:otei)?|[\s\xa0]*Tim(?:otei)?|Tim)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Tim"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:I(?:\.[\s\xa0]*Tim(?:otei)?|[\s\xa0]*Tim(?:otei)?)|1(?:\.[\s\xa0]*Tim(?:otei)?|[\s\xa0]*Tim(?:otei)?|Tim)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Titus"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( Tit(?:us)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Phlm"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Filim(?:on)?|Phlm) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Heb"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Evr(?:ei)?|Heb) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jas"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Iac(?:o[bv])?|Jas) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Pet"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*P(?:et(?:ru)?|t)|[\s\xa0]*P(?:et(?:ru)?|t))|2(?:\.[\s\xa0]*P(?:et(?:ru)?|t)|[\s\xa0]*P(?:et(?:ru)?|t)|Pet)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Pet"] regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:1(?:\.[\s\xa0]*P(?:et(?:ru)?|t)|[\s\xa0]*P(?:et(?:ru)?|t)|Pet)|I(?:\.[\s\xa0]*P(?:et(?:ru)?|t)|[\s\xa0]*P(?:et(?:ru)?|t))) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jude"] regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Iuda|Jude) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Tob"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Cartea[\s\xa0]*lui[\s\xa0]*Tobit|Tob(?:it)?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Jdt"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Iudita|Jdt) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Bar"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( Bar(?:uh)? )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["Sus"] apocrypha: true regexp: ///(^|#{bcv_parser::regexps.pre_book})( (?:Istoria[\s\xa0]*Susanei|Sus(?:an(?:ei|a))?) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["2Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:II(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei)|2(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["3Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:III(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei)|3(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["4Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:IV(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei)|4(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi , osis: ["1Macc"] apocrypha: true regexp: ///(^|[^0-9A-Za-zªµºÀ-ÖØ-öø-ɏḀ-ỿⱠ-ⱿꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꟿ])( (?:I(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei)|1(?:\.[\s\xa0]*Macabei|[\s\xa0]*Macabei|Macc)) )(?:(?=[\d\s\xa0.:,;\x1e\x1f&\(\)()\[\]/"'\*=~\-\u2013\u2014])|$)///gi ] # Short-circuit the look if we know we want all the books. return books if include_apocrypha is true and case_sensitive is "none" # Filter out books in the Apocrypha if we don't want them. `Array.map` isn't supported below IE9. out = [] for book in books continue if include_apocrypha is false and book.apocrypha? and book.apocrypha is true if case_sensitive is "books" book.regexp = new RegExp book.regexp.source, "g" out.push book out # Default to not using the Apocrypha bcv_parser::regexps.books = bcv_parser::regexps.get_books false, "none"