epubjs
Version:
Render ePub documents in the browser, across many devices
1 lines • 127 kB
Source Map (JSON)
{"version":3,"file":"epub.min.js","sources":["epub.js"],"names":["lib$rsvp$utils$$objectOrFunction","x","lib$rsvp$utils$$isFunction","lib$rsvp$utils$$isMaybeThenable","lib$rsvp$utils$$F","lib$rsvp$events$$indexOf","callbacks","callback","i","l","length","lib$rsvp$events$$callbacksFor","object","_promiseCallbacks","lib$rsvp$config$$configure","name","value","lib$rsvp$config$$config","arguments","lib$rsvp$instrument$$scheduleFlush","setTimeout","entry","lib$rsvp$instrument$$queue","payload","guid","key","id","childGuid","childId","error","stack","lib$rsvp$instrument$$instrument","eventName","promise","child","push","_guidKey","_id","detail","_result","label","_label","timeStamp","lib$rsvp$utils$$now","Error","lib$rsvp$$internal$$withOwnPromise","TypeError","lib$rsvp$$internal$$noop","lib$rsvp$$internal$$getThen","then","lib$rsvp$$internal$$GET_THEN_ERROR","lib$rsvp$$internal$$tryThen","fulfillmentHandler","rejectionHandler","call","e","lib$rsvp$$internal$$handleForeignThenable","thenable","async","sealed","lib$rsvp$$internal$$resolve","lib$rsvp$$internal$$fulfill","reason","lib$rsvp$$internal$$reject","lib$rsvp$$internal$$handleOwnThenable","_state","lib$rsvp$$internal$$FULFILLED","lib$rsvp$$internal$$REJECTED","_onError","lib$rsvp$$internal$$subscribe","undefined","lib$rsvp$$internal$$handleMaybeThenable","maybeThenable","constructor","lib$rsvp$$internal$$publishRejection","lib$rsvp$$internal$$publish","lib$rsvp$$internal$$PENDING","_subscribers","instrument","lib$rsvp$instrument$$default","parent","onFulfillment","onRejection","subscribers","settled","lib$rsvp$$internal$$invokeCallback","lib$rsvp$$internal$$ErrorObject","this","lib$rsvp$$internal$$tryCatch","lib$rsvp$$internal$$TRY_CATCH_ERROR","succeeded","failed","hasCallback","lib$rsvp$$internal$$initializePromise","resolver","resolved","lib$rsvp$enumerator$$makeSettledResult","state","position","lib$rsvp$enumerator$$Enumerator","Constructor","input","abortOnReject","enumerator","_instanceConstructor","_abortOnReject","_validateInput","_input","_remaining","_init","_enumerate","_validationError","lib$rsvp$promise$all$$all","entries","lib$rsvp$enumerator$$default","lib$rsvp$promise$race$$race","lib$rsvp$utils$$isArray","resolve","lib$rsvp$promise$resolve$$resolve","lib$rsvp$promise$reject$$reject","lib$rsvp$promise$$needsResolver","lib$rsvp$promise$$needsNew","lib$rsvp$promise$$Promise","lib$rsvp$promise$$counter","lib$rsvp$all$settled$$AllSettled","_superConstructor","lib$rsvp$all$settled$$allSettled","lib$rsvp$promise$$default","lib$rsvp$all$$all","array","all","lib$rsvp$asap$$asap","arg","lib$rsvp$asap$$queue","lib$rsvp$asap$$len","lib$rsvp$asap$$scheduleFlush","lib$rsvp$asap$$useNextTick","nextTick","process","version","versions","node","match","Array","isArray","setImmediate","lib$rsvp$asap$$flush","lib$rsvp$asap$$useVertxTimer","lib$rsvp$asap$$vertxNext","lib$rsvp$asap$$useMutationObserver","iterations","observer","lib$rsvp$asap$$BrowserMutationObserver","document","createTextNode","observe","characterData","data","lib$rsvp$asap$$useMessageChannel","channel","MessageChannel","port1","onmessage","port2","postMessage","lib$rsvp$asap$$useSetTimeout","lib$rsvp$asap$$attemptVertex","r","require","vertx","runOnLoop","runOnContext","lib$rsvp$defer$$defer","deferred","reject","lib$rsvp$filter$$filter","promises","filterFn","values","filtered","results","newLength","lib$rsvp$promise$hash$$PromiseHash","lib$rsvp$hash$settled$$HashSettled","lib$rsvp$hash$settled$$hashSettled","lib$rsvp$hash$$hash","lib$rsvp$promise$hash$$default","lib$rsvp$map$$map","mapFn","lib$rsvp$node$$Result","lib$rsvp$node$$getThen","obj","lib$rsvp$node$$ERROR","lib$rsvp$node$$tryApply","f","s","a","apply","lib$rsvp$node$$makeObject","_","argumentNames","args","lib$rsvp$node$$arrayResult","lib$rsvp$node$$wrapThenable","onFulFillment","lib$rsvp$node$$denodeify","nodeFunc","options","fn","self","promiseInput","lib$rsvp$node$$needsPromiseInput","lib$rsvp$node$$GET_THEN_ERROR","p","err","val","lib$rsvp$node$$handlePromiseInput","lib$rsvp$node$$handleValueInput","__proto__","result","lib$rsvp$race$$race","race","lib$rsvp$reject$$reject","lib$rsvp$resolve$$resolve","lib$rsvp$rethrow$$rethrow","lib$rsvp$$async","lib$rsvp$$on","lib$rsvp$$off","lib$rsvp$utils$$_isArray","Object","prototype","toString","Date","now","getTime","lib$rsvp$utils$$o_create","create","o","lib$rsvp$events$$default","mixin","on","allCallbacks","off","index","splice","trigger","_eachEntry","c","_settledAt","_willSettleAt","_makeResult","lib$rsvp$promise$all$$default","lib$rsvp$promise$race$$default","lib$rsvp$promise$resolve$$default","lib$rsvp$promise$reject$$default","lib$rsvp$promise$$guidKey","cast","after","catch","finally","lib$rsvp$all$settled$$default","lib$rsvp$all$$default","lib$rsvp$asap$$default","lib$rsvp$asap$$browserWindow","window","lib$rsvp$asap$$browserGlobal","MutationObserver","WebKitMutationObserver","lib$rsvp$asap$$isNode","lib$rsvp$asap$$isWorker","Uint8ClampedArray","importScripts","lib$rsvp$defer$$default","lib$rsvp$filter$$default","hasOwnProperty","lib$rsvp$platform$$platform","lib$rsvp$hash$settled$$default","lib$rsvp$hash$$default","lib$rsvp$map$$default","lib$rsvp$node$$default","global","lib$rsvp$platform$$default","lib$rsvp$race$$default","lib$rsvp$reject$$default","lib$rsvp$resolve$$default","lib$rsvp$rethrow$$default","cb","lib$rsvp$$callbacks","lib$rsvp$$eventName","lib$rsvp$umd$$RSVP","Promise","allSettled","hash","hashSettled","denodeify","map","filter","rethrow","defer","EventTarget","configure","define","module","EPUBJS","VERSION","plugins","filePath","Render","root","ePub","bookPath","Book","amd","exports","settings","core","defaults","bookKey","packageUrl","storage","fromStorage","saved","online","contained","width","height","layoutOveride","orientation","minSpreadWidth","gap","restore","reload","goto","styles","headTags","withCredentials","render_method","EPUBJSVERSION","spinePos","stored","navigator","onLine","networkListeners","ready","manifest","RSVP","spine","metadata","cover","toc","pageList","readyPromises","pagination","Pagination","pageListReady","_ready","bind","isRendered","_q","queue","_rendering","_displayQ","_moving","_gotoQ","renderer","Renderer","setMinSpreadWidth","setGap","listenToRenderer","defer_opened","opened","store","open","addEventListener","unload","forceReload","epubpackage","book","bookUrl","urlFrom","isContained","unarchive","loadPackage","localStorage","packageXml","identifier","packageIdentifier","restored","unpack","_registerReplacements","_containerPath","parse","Parser","containerPath","loadXml","containerXml","container","paths","contentsPath","basePath","packagePath","encoding","console","contents","packageContents","spineIndexByURL","generateBookKey","globalLayoutProperties","parseLayoutProperties","coverPath","spineNodeIndex","locations","Locations","navPath","navUrl","navHtml","nav","epubcfi","EpubCFI","wait","forEach","pg","cfi","generateCfiFromHref","href","tocPath","tocUrl","tocXml","createHiddenRender","_width","_height","hiddenContainer","hiddenEl","box","element","getBoundingClientRect","forceSingle","createElement","style","visibility","overflow","appendChild","initialize","generatePageList","pager","spineLength","currentPage","nextChapter","chapter","next","done","Chapter","displayChapter","pageMap","item","start","page","spreads","end","remove","removeChild","generatePagination","defered","loadPagination","pagelistJSON","JSON","getPageList","getMetadata","getToc","Events","range","startPage","endPage","percent","pageRange","pageFromCfi","percentageFromPage","anchorPage","percentage","loadChange","url","uri","chapterUri","currentChapter","absolute","path","warn","filename","afterLoad","render","docEl","beforeDisplay","afterDisplay","reformat","unlistenToRenderer","getXml","zip","request","base","protocol","fromRoot","location","origin","host","baseTag","getElementsByTagName","resolveUrl","pathname","Unarchiver","extension","isSaved","storedSettings","getItem","saveContents","setItem","stringify","removeSavedContents","removeItem","renderTo","elem","rendered","isElement","getEl","direction","setDirection","_rendered","startDisplay","display","previousLocationCfi","gotoCfi","fetch","fromStore","len","clearSaved","chap","pos","enqueue","isNumber","_needsAssetReplacement","registerHook","replace","head","resources","svg","lastPage","preloadNextChapter","dequeue","message","nextPage","prevPage","prev","prevChapter","linear","getCurrentLocationCfi","currentLocationCfi","target","indexOf","gotoPercentage","parseInt","substring","isNaN","gotoPage","gotoHref","cfiString","spineItem","split","section","relativeURL","firstPage","cfiFromPage","pageFromPercentage","storeOffline","assets","put","availableOffline","toStorage","isStored","token","Storage","credentials","offline","setStyle","prefixed","noreflow","removeStyle","addHeadTag","tag","attrs","useSpreads","use","_use","force","load","destroy","removeEventListener","flush","applyStyles","applyHeadTags","hrefs","layout","spread","spineObject","cfiBase","properties","manifestProperties","pages","loaded","Hooks","getHooks","caches","_store","_credentials","xml","setDocument","doc","querySelector","setAttribute","insertBefore","firstChild","triggerHooks","serializer","XMLSerializer","serializeToString","tempUrl","getUrl","setPages","num","getPages","getID","ID","revokeUrl","_document","namespaceURI","doctype","implementation","createDocument","importNode","documentElement","evaluate","cfiFromRange","_range","startXpath","endXpath","startContainer","endContainer","cleanEndTextContent","getElementXPath","nsResolver","XPathResult","FIRST_ORDERED_NODE_TYPE","singleNodeValue","collapsed","createRange","setStart","startOffset","setEnd","endOffset","log","cleanStartTextContent","cleanStringForXpath","textContent","generateCfiFromRange","find","_query","matches","query","toLowerCase","excerpt","text","last","limit","textSprint","func","treeWalker","createTreeWalker","NodeFilter","SHOW_TEXT","acceptNode","test","FILTER_ACCEPT","FILTER_REJECT","nextNode","finished","progress","items","querySelectorAll","slice","count","called","full","replaceWithStored","attr","_oldUrls","_newUrls","_cache","_uri","_chapterBase","_attr","_wait","clone","link","src","getAttribute","replaceUrl","timeout","onload","clearTimeout","onerror","getElementById","getEls","classes","getElementsByClassName","type","handler","readyState","DONE","status","response","responseXML","DOMParser","parseFromString","supportsURL","Blob","URL","BLOB_RESPONSE","xhr","XMLHttpRequest","xhrPrototype","defineProperty","onreadystatechange","responseType","setRequestHeader","overrideMimeType","send","toArray","arr","member","newitm","ident","withoutProtocol","dot","firstSlash","directory","fragment","blob","doubleSlash","search","folder","lastIndexOf","lastSlash","dataURLToBlob","dataURL","parts","contentType","raw","rawLength","uInt8Array","BASE64_MARKER","atob","Uint8Array","charCodeAt","addScript","body","addScripts","srcArr","total","curr","addCss","rel","unprefixed","vendors","upper","toUpperCase","segments","folders","pop","concat","join","uuid","d","Math","random","floor","insert","compareFunction","locationOf","_start","_end","compared","pivot","b","indexOfSorted","_scope","scope","funcName","context","inwait","shift","clear","getElementTreeXPath","nodeName","tagName","pathIndex","isXhtml","ownerDocument","nodeType","Node","TEXT_NODE","indexOfTextNode","parentNode","sibling","previousSibling","DOCUMENT_TYPE_NODE","prefix","ns","xhtml","epub","str","part","textNode","sib","children","childNodes","source","prop","extend","sources","getOwnPropertyNames","propName","getOwnPropertyDescriptor","n","parseFloat","isFinite","isString","String","props","keys","cfiStr","generateChapterComponent","_spineNodeIndex","_pos","generatePathComponent","steps","segment","generateCfiFromElement","pathTo","unshift","getChapterComponent","splitStr","getPathComponent","pathComponent","getCharecterOffsetComponent","chapSegment","chapterComponent","charecterOffsetComponent","assertion","chapId","endInt","parseStep","has_brackets","spineId","step","characterOffset","textLocationAssertion","addMarker","_doc","_marker","lastStep","marker","createMarker","findParent","splitText","classList","add","removeMarker","contains","nextSib","nextSibling","prevSib","sections","compare","cfiOne","cfiTwo","generateCfiFromTextNode","anchor","offset","generateCfiFromRangeAnchor","anchorNode","anchorOffset","startElement","startSteps","startPath","startIndex","endElement","endSteps","endPath","endIndex","generateXpathFromSteps","xpath","generateQueryFromSteps","generateRangeFromCfi","textLength","startContainerParent","debug","selectNode","isCfiString","el","events","createEvent","tell","listen","deafen","listenUntil","evt","CustomEvent","msg","dispatchEvent","bindto","OnEvt","OffEvt","unlisten","hooks","plugs","plugType","hook","toAdd","toFront","removeHook","toRemove","passed","countdown","register","Layout","Reflowable","spreadWidth","format","_gap","columnAxis","columnGap","columnWidth","columnFill","colWidth","pageWidth","pageHeight","calculatePages","totalWidth","displayedPages","scrollWidth","ceil","pageCount","ReflowableSpreads","divisor","fullWidth","Fixed","content","viewport","hasAttribute","_locations","break","_current","generate","_currentCfi","currentLocation","counter","sprint","dist","locationFromCfi","percentageFromCfi","loc","percentageFromLocation","cfiFromLocation","cfiFromPercentage","save","getCurrent","setCurrent","get","set","totalPages","round","baseUrl","rootfile","fullpath","xmlEncoding","metadataNode","getElementText","manifestNode","spineNode","findNavPath","findTocPath","findCoverPath","tocId","bookTitle","creator","description","pubdate","publisher","language","rights","modified_date","querySelectorText","found","getElementsByTagNameNS","nodeValue","q","manifestXml","selected","spineXml","Id","propArray","manifestProps","manifestPropArray","vert","bookSpine","navPoints","list","navItem","subitems","tocItem","navLabel","findListItems","findAnchorOrSpan","nodes","isCfi","navEl","Iframe","iframe","bodyEl","leftPos","scrolling","seamless","border","isMobile","userAgent","transform","contentDocument","headEl","contentWindow","resized","setLeft","margin","dir","right","write","close","baseEl","resize","totalHeight","scrollHeight","setPageDimensions","defaultView","scrollTo","tagEl","getPageNumberByElement","left","getPageNumberByRect","boundingClientRect","getBaseElement","getDocumentElement","isElementVisible","rect","scroll","bool","renderMethod","hidden","listenedEvents","upEvent","downEvent","isForcedSingle","onResized","layoutSettings","initWidth","initHeight","clientWidth","clientHeight","globalLayout","removeEventListeners","removeSelectionListeners","chapterPos","currentChapterCfiBase","reconcileLayoutSettings","layoutMethod","determineLayout","visible","formated","addEventListeners","addSelectionListeners","queued","updatePages","visibleRangeCfi","getVisibleRangeCfi","property","rendition","determineSpreads","mapPage","headTag","pageByElement","firstElementisTextNode","leng","trim","isGoodNode","embeddedElements","walk","y","prevNode","startNode","STOP","ITER","containsPoint","childElementCount","SHOW_ELEMENT","prevRange","elLimit","check","elPos","elRange","ELEMENT_NODE","selectNodeContents","checkText","ranges","splitTextNodeIntoWordsRanges","collapse","indexOfBreakableChar","startPosition","whiteCharacters","charAt","rangePosition","getClientRects","getPageCfi","startRange","getRange","forceElement","caretPositionFromPoint","caretRangeFromPoint","visibileEl","findElementAfter","offsetNode","pagesInCurrentChapter","pgs","currentRenderedPage","getRenderedPagesLeft","pagesLeft","endRange","findFirstVisible","startEl","setSize","triggerEvent","onSelectionChange","selectionEndTimeout","selectedRange","getSelection","cutoff","replacments","relative","isRelative","onclick","links","srcs","stylesheets","getText","cssUrls","newText","_URL","webkitURL","mozURL","createObjectURL","replaced","checkRequirements","urlCache","current","encodedUrl","encodeURIComponent","localforage","buffer","mimeType","getMimeType","reader","FileReader","readAsText","parser","fromCache","revokeObjectURL","zipUrl","JSZip","decodededUrl","decodeURIComponent","unarchiver","file","asUint8Array","asText","afterSaved","that","delay","saveEntryFileToStorage","table","application","ecmascript","javascript","ogg","pdf","postscript","rdf+xml","smil","xhtml+xml","x-httpd-eruby","x-latex","x-maker","x-object","x-shockwave-flash","x-silverlight","epub+zip","font-tdpfr","inkml+xml","json","jsonml+json","mathml+xml","metalink+xml","mp4","oebps-package+xml","omdoc+xml","oxps","vnd.amazon.ebook","widget","x-dtbncx+xml","x-dtbook+xml","x-dtbresource+xml","x-font-bdf","x-font-ghostscript","x-font-linux-psf","x-font-otf","x-font-pcf","x-font-snf","x-font-ttf","x-font-type1","x-font-woff","x-mobipocket-ebook","x-mspublisher","x-nzb","x-tgif","xaml+xml","xml-dtd","xproc+xml","xslt+xml","internet-property-stream","x-compress","x-compressed","x-gzip","audio","flac","midi","mpeg","mpegurl","x-aiff","x-ms-wma","x-wav","adpcm","webm","x-aac","x-caf","x-matroska","x-pn-realaudio-plugin","xm","mid","image","gif","ief","jpeg","pcx","png","svg+xml","tiff","x-icon","bmp","webp","x-pict","x-tga","cis-cod","rfc822","cache-manifest","calendar","css","csv","h323","html","iuls","mathml","plain","richtext","tab-separated-values","x-bibtex","x-dsrc","x-diff","x-haskell","x-java","x-literate-haskell","x-moc","x-pascal","x-pcs-gcd","x-perl","x-python","x-scala","x-setext","x-tcl","x-tex","x-vcard","sgml","x-c","x-fortran","x-opml","x-nfo","x-sfv","x-uuencode","webviewhtml","video","quicktime","vnd.mpegurl","x-flv","x-la-asf","x-mng","x-ms-asf","x-ms-wm","x-ms-wmv","x-ms-wmx","x-ms-wvx","x-msvideo","x-sgi-movie","3gpp2","h261","h263","h264","jpm","mj2","vnd.ms-playready.media.pyv","vnd.uvvu.mp4","vnd.vivo","x-f4v","x-m4v","x-ms-vob","x-smv","mimeTypes","subtype","defaultValue"],"mappings":"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