tweb/public/sw.js
Eduard Kuzmenko ab2c7c3361 Build
2021-04-23 17:26:00 +04:00

4 lines
5.6 KiB
JavaScript

var serviceWorkerOption = {"assets":[]};
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";n.r(t);const r=navigator?navigator.userAgent:null,o=(navigator.userAgent.search(/OS X|iPhone|iPad|iOS/i),navigator.userAgent.toLowerCase().indexOf("android"),/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor),"undefined"!=typeof window?window:self),i=((/iPad|iPhone|iPod/.test(navigator.platform)||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&o.MSStream,!!("safari"in o)||!(!r||!(/\b(iPad|iPhone|iPod)\b/.test(r)||r.match("Safari")&&!r.match("Chrome"))));navigator.userAgent.toLowerCase().indexOf("firefox"),navigator.userAgent.search(/iOS|iPhone OS|Android|BlackBerry|BB10|Series ?[64]0|J2ME|MIDP|opera mini|opera mobi|mobi.+Gecko|Windows Phone/i);const s={test:location.search.indexOf("test=1")>0,debug:location.search.indexOf("debug=1")>0,http:!1,ssl:!0,multipleConnections:!0,asServiceWorker:!1}.debug;"undefined"!=typeof window?window:self;var a,l=s;!function(e){e[e.log=1]="log",e[e.warn=2]="warn",e[e.error=4]="error",e[e.debug=8]="debug"}(a||(a={}));const c=Date.now();function u(){return"["+((Date.now()-c)/1e3).toFixed(3)+"]"}const d="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,f="undefined"!=typeof ServiceWorkerGlobalScope&&self instanceof ServiceWorkerGlobalScope,g=(e,...t)=>{self.clients.matchAll({includeUncontrolled:!1,type:"window"}).then(n=>{n.length&&n.slice(e?0:-1).forEach(e=>{e.postMessage(...t)})})},p=(...e)=>{self.postMessage(...e)},b=()=>{},h=f?g.bind(null,!1):d?p:b;f&&g.bind(null,!0);const y=function(e,t=a.log|a.warn|a.error){function n(...n){return t&a.log&&console.log(u(),e,...n)}return l||(t=a.error),n.warn=function(...n){return t&a.warn&&console.warn(u(),e,...n)},n.info=function(...n){return t&a.log&&console.info(u(),e,...n)},n.error=function(...n){return t&a.error&&console.error(u(),e,...n)},n.trace=function(...n){return t&a.log&&console.trace(u(),e,...n)},n.debug=function(...n){return t&a.debug&&console.debug(u(),e,...n)},n.setPrefix=function(t){e="["+t+"]:"},n.setPrefix(e),n}("SW",a.error|a.debug|a.log|a.warn),m=self,v={};m.addEventListener("message",e=>{const t=e.data,n=v[t.id];t.error?n.reject(t.error):n.resolve(t.payload),delete v[t.id]});let w=0;const P=e=>{try{const[,n,r,o]=/http[:s]+\/\/.*?(\/(.*?)(?:$|\/(.*)$))/.exec(e.request.url)||[];switch(y.debug("[fetch]:",e),r){case"stream":{const r=function(e){if(!e)return[0,0];const[,t]=e.split("="),n=t.split(", "),[r,o]=n[0].split("-");return[+r,+o||0]}(e.request.headers.get("Range"));let[s,a]=r;const l=JSON.parse(decodeURIComponent(o)),c=l.size>78643200?O:x;y.debug("[stream]",n,s,a),e.respondWith(Promise.race([(t=45e3,new Promise(e=>{setTimeout(()=>{e(new Response("",{status:408,statusText:"Request timed out."}))},t)})),new Promise((e,t)=>{const n=function(e,t,n){if(0===e[0]&&1===e[1])return new Response(new Uint8Array(2).buffer,{status:206,statusText:"Partial Content",headers:{"Accept-Ranges":"bytes","Content-Range":"bytes 0-1/"+(n||"*"),"Content-Length":"2","Content-Type":t||"video/mp4"}});return null}(r,l.mimeType,l.size);if(n)return e(n);const o=a&&a<c?function(e){return Math.pow(2,Math.ceil(Math.log(e)/Math.log(2)))}(a-s+1):c,u=function(e,t=2048){return e-e%t}(s,o);y.debug("[stream] requestFilePart:",u,o);const d={type:"requestFilePart",id:w++,payload:[l.dcId,l.location,u,o]};(v[d.id]=function(){let e={isFulfilled:!1,isRejected:!1,notify:()=>{},notifyAll:(...t)=>{e.lastNotify=t,e.listeners.forEach(e=>e(...t))},lastNotify:void 0,listeners:[],addNotifyListener:t=>{e.lastNotify&&t(...e.lastNotify),e.listeners.push(t)}},t=new Promise((n,r)=>{e.resolve=e=>{t.isFulfilled||(t.isFulfilled=!0,n(e))},e.reject=(...e)=>{t.isRejected||(t.isRejected=!0,r(...e))}});return t.finally(()=>{t.notify=null,t.listeners.length=0,t.lastNotify=null,t.cancel&&(t.cancel=()=>{})}),Object.assign(t,e),t}()).then(t=>{let n=t.bytes;y.debug("[stream] requestFilePart result:",t);const r={"Accept-Ranges":"bytes","Content-Range":`bytes ${u}-${u+n.byteLength-1}/${l.size||"*"}`,"Content-Length":""+n.byteLength};l.mimeType&&(r["Content-Type"]=l.mimeType),i&&(n=n.slice(s-u,a-u+1),r["Content-Range"]=`bytes ${s}-${s+n.byteLength-1}/${l.size||"*"}`,r["Content-Length"]=""+n.byteLength),e(new Response(n,{status:206,statusText:"Partial Content",headers:r}))}).catch(e=>{}),h(d)})]));break}}}catch(t){e.respondWith(new Response("",{status:500,statusText:"Internal Server Error"}))}var t},S=()=>{m.onfetch=P};m.addEventListener("install",e=>{y("installing"),e.waitUntil(m.skipWaiting())}),m.addEventListener("activate",e=>{y("activating",m),e.waitUntil(m.clients.claim())}),m.onerror=e=>{y.error("error:",e)},m.onunhandledrejection=e=>{y.error("onunhandledrejection:",e)},m.onoffline=m.ononline=S,S();const x=524288,O=1048576}]);
//# sourceMappingURL=sw.js.map