1 line
67 KiB
JavaScript
1 line
67 KiB
JavaScript
|
|
import{c as e,h as t,o as n,r,s as i,w as a}from"./package-Bop5TfAT.js";import{A as o,D as s,J as c,O as ee,T as l,X as u,Y as te,_ as ne,b as re,f as d,g as ie,h as ae,i as f,o as p,r as m,s as h,t as oe,y as g}from"./runtime-core.esm-bundler-DO-WTVbd.js";import{t as _}from"./nestedRender-BAYFA7cb.js";var v=`flyfish-file-viewer-cache`,y=`archiveEntries`,b=1,x=24*1024*1024,S=96*1024*1024,C=null,w=()=>typeof indexedDB<`u`,T=()=>w()?C||(C=new Promise((e,t)=>{let n=indexedDB.open(v,b);n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(y)||e.createObjectStore(y,{keyPath:`key`}).createIndex(`updatedAt`,`updatedAt`)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)}),C):Promise.reject(Error(`IndexedDB 不可用`)),E=async(e,t)=>{let n=await T();return new Promise((r,i)=>{let a=n.transaction(y,e),o=t(a.objectStore(y));o.onsuccess=()=>r(o.result),o.onerror=()=>i(o.error),a.onerror=()=>i(a.error)})},D=async e=>{try{return await E(`readonly`,t=>t.get(e))||null}catch{return null}},O=async()=>{try{let e=await T();await new Promise((t,n)=>{let r=e.transaction(y,`readwrite`),i=r.objectStore(y),a=i.index(`updatedAt`),o=[],s=0;a.openCursor().onsuccess=e=>{let t=e.target.result;if(!t){for(;s>S&&o.length;){let e=o.shift();e&&(s-=e.size,i.delete(e.key))}return}let n=t.value;s+=n.size||0,o.push({key:n.key,size:n.size||0}),t.continue()},r.oncomplete=()=>t(),r.onerror=()=>n(r.error)})}catch{}},k=async e=>{if(!(e.size>x))try{await E(`readwrite`,t=>t.put({...e,updatedAt:Date.now()})),await O()}catch{}},A='/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\nconst e=Symbol("Comlink.proxy"),r=Symbol("Comlink.endpoint"),t=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),a=e=>"object"==typeof e&&null!==e||"function"==typeof e,s=new Map([["proxy",{canHandle:r=>a(r)&&r[e],serialize(e){const{port1:r,port2:t}=new MessageChannel;return i(e,r),[t,[t]]},deserialize(e){return e.start(),f(e,[],r);var r}}],["throw",{canHandle:e=>a(e)&&o in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function i(r,t=globalThis,a=["*"]){t.addEventListener("message",(function s(l){if(!l||!l.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(a,l.origin))return void console.warn(`Invalid origin \'${l.origin}\' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},l.data),f=(l.data.argumentList||[]).map(w);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),r),n=h.reduce(((e,r)=>e[r]),r);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=w(l.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(r){return Object.assign(r,{[e]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:e,port2:t}=new MessageChannel;i(r,t),m=function(e,r){return p.set(e,r),e}(e,[e])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[o]:0}}Promise.resolve(m).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,a]=v(e);t.postMessage(Object.assign(Object.assign({},o),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),u(t),n in r&&"function"==typeof r[n]&&r[n]())})).catch((e=>{const[r,n]=v({value:new TypeError("Unserializable return value"),[o]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function c(e){return g(e,{type:"RELEASE"}).then((()=>{u(e)}))}const d=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(d.get(e)||0)-1;d.set(e,r),0===r&&c(e)}));function f(e,n=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(r,o){if(l(a),o===t)return()=>{!function(e){h&&h.unregister(e)}(s),c(e),a=!0};if("then"===o){if(0===n
|