Files
vat-api.eu/node_modules/@nuxt/devtools/dist/client/_nuxt/server-discovery-ja6p66g6.js
2026-02-13 22:02:30 +01:00

1 line
12 KiB
JavaScript

import{E as e,H as t,Mt as n,V as r,W as i,ot as a,v as o}from"./vendor/json-editor-vue-ddj4xtqm.js";import"./vendor/shiki-kunkft64.js";import{Ht as s,In as c,q as l,wt as u}from"#entry";import{t as d}from"./composables-g8w9dpc0.js";var f=class{listeners;constructor(){this.listeners=Object.create(null)}on(e,t){return this.listeners[e]={callback:t,next:this.listeners[e]||null},this}once(e,t){return this.on(e,function n(...r){t.apply(this,r),this.off(e,n)})}off(e,t){let n=this.listeners[e]||null,r=null;for(;n!==null;){if(n.callback===t){n.callback=null,r?r.next=n.next:this.listeners[e]=n.next;break}r=n,n=n.next}return this}emit(e,...t){let n=this.listeners[e]||null,r=!1;for(;n!==null;)typeof n.callback==`function`&&n.callback.apply(this,t),r=!0,n=n.next;return r}},p=class{subscriber;value;constructor(e,t){this.subscriber=null,this.value=e,this.shouldUpdate=typeof t==`function`?t:this.shouldUpdate}get readonly(){let e=this;return{subscribe:this.subscribe.bind(this),subscribeSync:this.subscribeSync.bind(this),unsubscribe:this.unsubscribe.bind(this),get value(){return e.value}}}subscribe(e){return this.subscriber={callback:e,subscriber:this.subscriber},()=>this.unsubscribe(e)}subscribeSync(e){let t=this.subscribe(e);return e(this.value,t),t}unsubscribe(e){let t=this,n=this.subscriber;for(;n!==null;){if(n.callback===e){n.callback=null,t.subscriber=n.subscriber;break}t=n,n=n.subscriber}}shouldUpdate(e,t){return e!==t}set(e){return this.#e(e)!==!1}asyncSet(e){let t=this.#e(e);return t===!1?Promise.resolve(!1):Promise.all(t).then(()=>!0)}#e(e){if(!this.shouldUpdate(e,this.value))return!1;let t=[],n=this.subscriber;for(this.value=e;n!==null;){let{callback:r}=n;r!==null&&t.push(r(e,()=>this.unsubscribe(r))),n=n.subscriber}return t}};function m(){return[performance.timeOrigin.toString(16),(1e4*performance.now()).toString(16),Math.random().toString(16).slice(2)].join(`-`)}new TextDecoder;var h=typeof Object.hasOwn==`function`?Object.hasOwn:(e,t)=>Object.hasOwnProperty.call(e,t),g={8:`\\b`,9:`\\t`,10:`\\n`,12:`\\f`,13:`\\r`,34:`\\"`,92:`\\\\`};Uint8Array.from({length:2048},(e,t)=>h(g,t)?2:t<32?6:t<128?1:2),new Uint8Array([0,0,74,83,79,78,88,76]),new Uint8Array(256).map((e,t)=>{for(let n=0;n<8;n++)e+=t>>n&1;return e}),new TextDecoder(`utf8`,{ignoreBOM:!0});function _(e){try{return new URL(e,location.origin).origin===location.origin}catch{return!1}}function v(e){return e.ok}function y(e){return e.headers.get(`x-file-encoded-size`)||e.headers.get(`content-length`)}function b(e){return e.headers.get(`x-file-size`)||(_(e.url)&&!e.headers.get(`content-encoding`)?e.headers.get(`content-length`):void 0)}function x(e){return e.headers.get(`x-file-created-at`)||e.headers.get(`last-modified`)||void 0}function S(e,t){if(e instanceof Response){let n=t?.isResponseOk||v,r=t?.getContentSize||b,i=t?.getContentEncodedSize||y,a=t?.getContentCreatedAt||x;if(n(e))return{type:`url`,name:e.url,size:Number(r(e))||null,encodedSize:Number(i(e)),createdAt:a(e)}}if(e instanceof File)return{type:`file`,name:e.name,size:e.size,createdAt:e.lastModified};if(e instanceof Blob)return{size:e.size};if(ArrayBuffer.isView(e))return{size:e.byteLength};if(typeof e==`string`)return{size:e.length}}function C(e){let t=e;return(typeof t==`string`||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t&&!(Symbol.iterator in t)&&!(Symbol.asyncIterator in t))&&(t=[t]),t&&Symbol.iterator in t?new Blob(t):e}function w(e){if(e instanceof ReadableStream)return e;if(e instanceof Response){if(e.body===null)throw Error(`Response has no body`);return e.body}return e=C(e),e instanceof Blob?e.stream():new ReadableStream({start(){let t=typeof e==`object`&&e&&Symbol.asyncIterator in e?e[Symbol.asyncIterator]:void 0;if(typeof t!=`function`)throw Error(`Bad value type (can't convert to a stream)`);this.iterator=t()},async pull(e){let{value:t,done:n}=await this.iterator.next();n?(this.iterator=null,e.close()):e.enqueue(t)},cancel(){this.iterator=null}})}var{toString:T,hasOwnProperty:E}=Object.prototype;Object.hasOwn;function D(e,t){let n=globalThis.location,r=[],i=({newURL:n,oldURL:i})=>{let a=new URL(n).hash||`#`,o=new URL(i).hash||`#`;a!==r.shift()&&(t?.debug(`locationSync onChange:`,o,`->`,a),r.length=0,e(a,o))};return addEventListener(`hashchange`,i),{set(e,i){let a=e||`#`;(n.hash||`#`)!==a&&(t?.debug(`locationSync set:`,a,i),r.push(e),i?n.replace(e):n.hash=e)},dispose(){removeEventListener(`hashchange`,i)}}}var O=`[Discovery/embed-host]`,k=()=>{},A=(()=>{try{let e=new ReadableStream;return new MessageChannel().port1.postMessage(e,[e]),!0}catch{return!1}})(),j=class extends f{window;id;actions;dataLoadToken;constructor(e,t,n){super(),this.window=e,this.id=t,this.actions=n,this.dataLoadToken=null}sendMessage(e,t,n){let r={id:this.id,from:`discoveryjs-app`,type:e,payload:t||null};this.window.postMessage(r,`*`,n)}destroy(){this.destroy=k,this.emit(`destroy`),this.dataLoadToken=null,this.window=null,this.sendMessage=k}},M=class e extends j{publicApi;static createPublicApi(e){return Object.freeze({on:e.on.bind(e),once:e.once.bind(e),off:e.off.bind(e),defineAction(t,n){e.actions.set(t,n),e.sendMessage(`defineAction`,t)},setPageHash(t,n=!1){e.sendMessage(`setPageHash`,{hash:t,replace:n})},setRouterPreventLocationUpdate(t=!0){e.sendMessage(`setRouterPreventLocationUpdate`,t)}})}constructor(t,n,r){super(t,n,r),this.publicApi=e.createPublicApi(this)}processMessage(e){switch(e.type){case`loadingState`:this.emit(`loadingStateChanged`,e.payload);break}}},N=class e extends j{commandMap;dataLoadToken;pageHash;pageId;pageRef;pageParams;pageAnchor;locationSync;colorScheme;publicApi;static createPublicApi(e){let t={primary:I(`primary`,e.sendMessage.bind(e),e.commandMap),secondary:I(`secondary`,e.sendMessage.bind(e),e.commandMap),menu:I(`menu`,e.sendMessage.bind(e),e.commandMap)};return Object.freeze({pageHash:e.pageHash.readonly,pageId:e.pageId.readonly,pageRef:e.pageRef.readonly,pageAnchor:e.pageAnchor.readonly,pageParams:e.pageParams.readonly,colorScheme:e.colorScheme.readonly,on:e.on.bind(e),once:e.once.bind(e),off:e.off.bind(e),nav:Object.assign(t.secondary,t),notify(t,n){e.sendMessage(`notification`,{name:t,details:n})},defineAction(t,n){e.actions.set(t,n),e.sendMessage(`defineAction`,t)},setPageHash(t,n=!1){e.sendMessage(`setPageHash`,{hash:t,replace:n})},setPageHashState(t,n=!1){e.sendMessage(`setPageHashState`,{...t,replace:n})},setPageHashStateWithAnchor(t,n=!1){e.sendMessage(`setPageHashStateWithAnchor`,{...t,replace:n})},setPage(t,n,r,i=!1){e.sendMessage(`setPage`,{id:t,ref:n,params:r,replace:i})},setPageRef(t,n=!1){e.sendMessage(`setPageRef`,{ref:t,replace:n})},setPageParams(t,n=!1){e.sendMessage(`setPageParams`,{params:t,replace:n})},setPageAnchor(t,n=!1){e.sendMessage(`setPageAnchor`,{anchor:t,replace:n})},setColorSchemeState(t){e.sendMessage(`setColorSchemeState`,t)},setRouterPreventLocationUpdate(t=!0){e.sendMessage(`setRouterPreventLocationUpdate`,t)},setLocationSync(t=!0){t&&!e.locationSync?(e.locationSync=D(t=>e.publicApi.setPageHash(t)),e.on(`pageHashChanged`,e.locationSync.set)):!t&&e.locationSync&&(e.off(`pageHashChanged`,e.locationSync.set),e.locationSync.dispose(),e.locationSync=null)},unloadData(){e.sendMessage(`unloadData`,null)},async uploadData(t,n){let r=m();e.dataLoadToken=r;try{return await F(e,t,n)}finally{e.dataLoadToken===r&&(e.dataLoadToken=null)}}})}constructor(t,n,r){super(t,n,r),this.commandMap=new Map,this.dataLoadToken=null,this.pageHash=new p(`#`),this.pageId=new p(``),this.pageRef=new p(null),this.pageParams=new p({}),this.pageAnchor=new p(null),this.locationSync=null,this.colorScheme=new p({state:`unknown`,value:`unknown`},(e,t)=>e.state!==t.state||e.value!==t.value),this.publicApi=e.createPublicApi(this)}async processMessage(e){switch(e.type){case`destroy`:this.destroy();break;case`action`:{let{callId:t,name:n,args:r}=e.payload,i=this.actions.get(n);if(typeof i==`function`)try{this.sendMessage(`actionResult`,{callId:t,value:await i(...r)})}catch(e){this.sendMessage(`actionResult`,{callId:t,error:e})}else console.warn(`${O} Action "${n}" was not found`);break}case`navMethod`:{let t=this.commandMap.get(e.payload);typeof t==`function`?t():console.warn(`${O} Nav command "${e.payload}" was not found`);break}case`pageHashChanged`:{let{replace:t,hash:n,id:r,ref:i,params:a,anchor:o}=e.payload||{},s=String(n).startsWith(`#`)?n:`#`+n;this.pageHash.set(s),this.pageId.set(r),this.pageRef.set(i),this.pageParams.set(a),this.pageAnchor.set(o),this.emit(`pageHashChanged`,s,t);break}case`colorSchemeChanged`:{let t=e.payload;this.colorScheme.set(t),this.emit(`colorSchemeChanged`,t);break}case`unloadData`:this.emit(`unloadData`);break;case`data`:this.emit(`data`);break;case`loadingState`:this.emit(`loadingStateChanged`,e.payload);break;default:console.error(`${O} Unknown embed message type "${e.type}"`)}}destroy(){this.locationSync&&=(this.locationSync.dispose(),null),super.destroy()}};function P(e,t,n){let r=Object.assign(new Map,{id:``}),i=null,a,o=typeof t==`function`&&typeof n!=`function`?{onPreinit:void 0,onConnect:t}:{onPreinit:t,onConnect:n};return addEventListener(`message`,c),()=>{removeEventListener(`message`,c),s()};function s(){i!==null&&(i.destroy(),typeof a==`function`&&a(),i=null,a=void 0)}async function c(t){let n=t.data||{};if(t.isTrusted&&(t.source===e.contentWindow||t.source===null)&&n.from===`discoveryjs-app`){if(n.type===`ready`){s(),r.id!==n.id&&(r.clear(),r.id=n.id);let{colorScheme:t,page:c}=n.payload;i=new N(e.contentWindow,n.id,r),i.pageHash.set(c.hash),i.pageId.set(c.id),i.pageRef.set(c.ref),i.pageParams.set(c.params),i.pageAnchor.set(c.anchor),i.colorScheme.set(t),i.once(`destroy`,s),a=o.onConnect(i.publicApi);return}if(n.type===`preinit`){s(),typeof o.onPreinit==`function`&&(r.id!==n.id&&(r.clear(),r.id=n.id),i=new M(e.contentWindow,n.id,r),i.once(`destroy`,s),a=o.onPreinit(i.publicApi));return}if(i?.id===n.id){i.processMessage(n);return}}}}async function F(e,t,n=S){let r=e.dataLoadToken,i=()=>{if(e?.dataLoadToken!==r)throw Error(`Data upload aborted`)};if(!r)throw Error(`No acceptToken specified`);let a=typeof t==`function`?await t():await t;i();let o=typeof n==`function`&&n(a)||{},s=w(a);if(A)e.sendMessage(`dataStream`,{stream:s,resource:o},[s]);else{let t=s.getReader();e.sendMessage(`startChunkedDataUpload`,{acceptToken:r,resource:o});try{for(;;){let{value:n,done:a}=await t.read();if(i(),e.sendMessage(`dataChunk`,{acceptToken:r,value:n,done:a},typeof n!=`string`&&n?.buffer?[n.buffer]:void 0),a)break}}catch(t){throw e.sendMessage(`cancelChunkedDataUpload`,{acceptToken:r,error:t}),t}finally{t.releaseLock()}}}function I(e,t,n){function r(e){let t=[];return{commands:t,config:JSON.parse(JSON.stringify(e,(e,r)=>{if(typeof r==`function`){let e=`nav-command-`+m();return t.push(e),n.set(e,r),e}return r}))}}return{insert(n,i,a){t(`changeNavButtons`,{section:e,action:`insert`,name:a,position:i,...r(n)})},prepend(n){t(`changeNavButtons`,{section:e,action:`prepend`,...r(n)})},append(n){t(`changeNavButtons`,{section:e,action:`append`,...r(n)})},before(n,i){t(`changeNavButtons`,{section:e,action:`before`,name:n,...r(i)})},after(n,i){t(`changeNavButtons`,{section:e,action:`after`,name:n,...r(i)})},replace(n,i){t(`changeNavButtons`,{section:e,action:`replace`,name:n,...r(i)})},remove(n){t(`changeNavButtons`,{section:e,action:`remove`,name:n})}}}var L=[`src`],R=e({__name:`server-discovery`,setup(e){let d=c().app.baseURL,f=a(`iframe`);return r(()=>{let e=P(f.value,e=>((async()=>{let t=await s.getServerData(await l()),n=`{${Object.entries(t).map(([e,t])=>`"${e}": ${u(t)}`).join(`,`)}}`;e.uploadData(n)})(),()=>{}));t(()=>{e()})}),(e,t)=>(i(),o(`iframe`,{ref_key:`iframe`,ref:f,src:`${n(d)}discovery/index.html`,"h-full":``,"w-full":``},null,8,L))}});export{R as default};