bible-reference-formatter
Version:
Utility that converts Bible references from OSIS to human-readable formats and Paratext.
1 lines • 2.87 kB
JavaScript
var paratextToOsis=function(t){function r(n){if(e[n])return e[n].exports;var o=e[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,r),o.loaded=!0,o.exports}var e={};return r.m=t,r.c=e,r.p="",r(0)}([function(t,r){"use strict";function e(t){if("string"!=typeof t)throw"paratextToOsis: first argument must be a string.";for(var r=t.split(","),e=[],a=0,i=r.length;a<i;a++){var s=r[a];n(s),e.push(o(s))}return e.join(",")}function n(t){if(d.test(t))return!0;throw"Invalid paratext format: '"+t+"'"}function o(t){var r=t.split("-"),e=u(r,2),n=e[0],o=e[1],d=s(n),h=u(d,3),E=h[0],c=h[1],A=h[2];if("undefined"==typeof f[E])throw"Unknown paratext start book: "+E;var p=a(E,c,A);if(void 0===o)return p;var l=i(o,E,c,A),J=u(l,3),S=J[0],M=J[1],v=J[2],T=a(S,M,v);return p+"-"+T}function a(t,r,e){var n=[f[t]];return"string"==typeof r&&(n.push(r),"string"==typeof e&&n.push(e)),n.join(".")}function i(t,r,e,n){var o=s(t),a=u(o,3),i=a[0],d=a[1],h=a[2];if(i.length>0){if("undefined"==typeof f[i])throw"Unknown paratext end book: "+i;return[i,d,h]}return"string"==typeof h?[r,d,h]:"string"==typeof n?[r,e,d]:[r,d]}function s(t){if(E.test(t)){var r=t.split(":"),e=u(r,2),n=e[0],o=e[1];return["",n,o]}return c.test(t)?["",t]:h.test(t)?[t]:t.split(/[ :]/)}var u=function(){function t(t,r){var e=[],n=!0,o=!1,a=void 0;try{for(var i,s=t[Symbol.iterator]();!(n=(i=s.next()).done)&&(e.push(i.value),!r||e.length!==r);n=!0);}catch(u){o=!0,a=u}finally{try{!n&&s["return"]&&s["return"]()}finally{if(o)throw a}}return e}return function(r,e){if(Array.isArray(r))return r;if(Symbol.iterator in Object(r))return t(r,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),f=Object.freeze({GEN:"Gen",EXO:"Exod",LEV:"Lev",NUM:"Num",DEU:"Deut",JOS:"Josh",JDG:"Judg",RUT:"Ruth","1SA":"1Sam","2SA":"2Sam","1KI":"1Kgs","2KI":"2Kgs","1CH":"1Chr","2CH":"2Chr",EZR:"Ezra",NEH:"Neh",EST:"Esth",JOB:"Job",PSA:"Ps",PRO:"Prov",ECC:"Eccl",SNG:"Song",ISA:"Isa",JER:"Jer",LAM:"Lam",EZK:"Ezek",DAN:"Dan",HOS:"Hos",JOL:"Joel",AMO:"Amos",OBA:"Obad",JON:"Jonah",MIC:"Mic",NAM:"Nah",HAB:"Hab",ZEP:"Zeph",HAG:"Hag",ZEC:"Zech",MAL:"Mal",MAT:"Matt",MRK:"Mark",LUK:"Luke",JHN:"John",ACT:"Acts",ROM:"Rom","1CO":"1Cor","2CO":"2Cor",GAL:"Gal",EPH:"Eph",PHP:"Phil",COL:"Col","1TH":"1Thess","2TH":"2Thess","1TI":"1Tim","2TI":"2Tim",TIT:"Titus",PHM:"Phlm",HEB:"Heb",JAS:"Jas","1PE":"1Pet","2PE":"2Pet","1JN":"1John","2JN":"2John","3JN":"3John",JUD:"Jude",REV:"Rev",TOB:"Tob",JDT:"Jdt",ESG:"EsthGr",ADE:"AddEsth",WIS:"Wis",SIR:"Sir",BAR:"Bar",LJE:"EpJer",DAG:"DanGr",S3Y:"PrAzar",SUS:"Sus",BEL:"Bel","1MA":"1Macc","2MA":"2Macc","3MA":"3Macc","4MA":"4Macc",MAN:"PrMan","1ES":"1Esd","2ES":"2Esd",PS2:"AddPs"}),d=/^[1-4A-Z]{3}(?: \d{1,3}(?::\d{1,3})?)?(?:-(?:[1-4A-Z]{3}(?: \d{1,3}(?::\d{1,3})?)?|\d{1,3}(?::\d{1,3})?))?$/,h=/^[1-4A-Z]{3}$/,E=/^\d{1,3}:\d{1,3}$/,c=/^\d+$/;t.exports=e}]);