New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@discoveryjs/discovery

Package Overview
Dependencies
Maintainers
3
Versions
93
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@discoveryjs/discovery - npm Package Compare versions

Comparing version 1.0.0-beta.56 to 1.0.0-beta.57

src/nav/burger-menu.svg

11

CHANGELOG.md

@@ -0,1 +1,12 @@

## 1.0.0-beta.57 (04-03-2021)
- Fixed regression in `struct` view when click events aren't handled
- Added `--discovery-nav-height` as compliment for `--discovery-nav-width`
- Added `Widget#nav.replace()` method
- Exposed (re-export) `inspector` default exports
- Added `inspector` option for `Widget` to allow disable inspector if needed
- Added `router` option for `App` to allow disable router if needed
- Added `resolveValueLinks()` and `query()` methods to prepare handler API (i.e. `discovery.setPrepare((data, { resolveValueLinks, query }) => ...)`)
- Added `rollbackContainerStyles()` util function
## 1.0.0-beta.56 (01-03-2021)

@@ -2,0 +13,0 @@

2

dist/discovery-preloader.js

@@ -1,2 +0,2 @@

var pe=Object.create,w=Object.defineProperty,ge=Object.getPrototypeOf,ye=Object.prototype.hasOwnProperty,me=Object.getOwnPropertyNames,be=Object.getOwnPropertyDescriptor;var Se=t=>w(t,"__esModule",{value:!0});var v=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports);var we=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of me(e))!ye.call(t,s)&&s!=="default"&&w(t,s,{get:()=>e[s],enumerable:!(r=be(e,s))||r.enumerable});return t},ve=t=>t&&t.__esModule?t:we(Se(w(t!=null?pe(ge(t)):{},"default",{value:t,enumerable:!0})),t);var W=v((at,_)=>{var k=1,j=2,O=3,I=4,J=5,$=6,je={8:"\\b",9:"\\t",10:"\\n",12:"\\f",13:"\\r",34:'\\"',92:"\\\\"};function Oe(t){return t>=55296&&t<=56319}function Pe(t){return t>=56320&&t<=57343}function U(t){return typeof t.pipe=="function"&&typeof t._read=="function"&&typeof t._readableState=="object"&&t._readableState!==null}function Ae(t,e,r,s){switch(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),s!==null&&(r=s.call(t,String(e),r)),typeof r){case"function":case"symbol":r=void 0;break;case"object":if(r!==null){let n=r.constructor;(n===String||n===Number||n===Boolean)&&(r=r.valueOf())}break}return r}function Ee(t){return t===null||typeof t!="object"?k:Array.isArray(t)?O:j}function Ce(t){return t===null||typeof t!="object"?k:typeof t.then=="function"?I:U(t)?t._readableState.objectMode?$:J:Array.isArray(t)?O:j}function Re(t){if(typeof t=="function")return t;if(Array.isArray(t)){let e=new Set(t.map(r=>typeof r=="string"||typeof r=="number"?String(r):null).filter(r=>typeof r=="string"));return e.add(""),(r,s)=>e.has(r)?s:void 0}return null}function Te(t){return typeof t=="number"?!Number.isFinite(t)||t<1?!1:" ".repeat(Math.min(t,10)):typeof t=="string"&&t.slice(0,10)||!1}_.exports={escapableCharCodeSubstitution:je,isLeadingSurrogate:Oe,isTrailingSurrogate:Pe,type:{PRIMITIVE:k,PROMISE:I,ARRAY:O,OBJECT:j,STRING_STREAM:J,OBJECT_STREAM:$},isReadableStream:U,replaceValue:Ae,getTypeNative:Ee,getTypeAsync:Ce,normalizeReplacer:Re,normalizeSpace:Te}});var H=v((ot,K)=>{K.exports=TextDecoder});var Z=v((lt,Q)=>{var{isReadableStream:Fe}=W(),Ne=H(),f=1,Le=2,Be=new Ne;function Y(t){return t!==null&&typeof t=="object"}function P(t,e){return t.name==="SyntaxError"&&e.jsonParseOffset&&(t.message=t.message.replace(/at position (\d+)/,(r,s)=>"at position "+(Number(s)+e.jsonParseOffset))),t}function A(t,e){let r=t.length;t.length+=e.length;for(let s=0;s<e.length;s++)t[r+s]=e[s]}Q.exports=function(t){let e=new G;if(Y(t)&&Fe(t))return new Promise((r,s)=>{t.on("data",n=>{try{e.push(n)}catch(i){s(P(i,e)),e=null}}).on("error",n=>{e=null,s(n)}).on("end",()=>{try{r(e.finish())}catch(n){s(P(n,e))}finally{e=null}})});if(typeof t=="function"){let r=t();if(Y(r)&&(Symbol.iterator in r||Symbol.asyncIterator in r))return new Promise(async(s,n)=>{try{for await(let i of r)e.push(i);s(e.finish())}catch(i){n(P(i,e))}finally{e=null}})}throw new Error("Chunk emitter should be readable stream, generator, async generator or function returning an iterable object")};var G=class{constructor(){this.value=void 0,this.valueStack=null,this.stack=new Array(100),this.lastFlushDepth=0,this.flushDepth=0,this.stateString=!1,this.stateStringEscape=!1,this.pendingByteSeq=null,this.pendingChunk=null,this.pos=0,this.jsonParseOffset=0}flush(e,r,s){let n=e.slice(r,s);if(this.jsonParseOffset=this.pos,this.pendingChunk!==null&&(n=this.pendingChunk+n,this.pendingChunk=null),n[0]===","&&(n=n.slice(1),this.jsonParseOffset++),this.flushDepth===this.lastFlushDepth)this.flushDepth>0?(this.jsonParseOffset--,this.stack[this.flushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse("{"+n+"}")):A(this.valueStack.value,JSON.parse("["+n+"]"))):(this.value=JSON.parse(n),this.valueStack={value:this.value,prev:null});else if(this.flushDepth>this.lastFlushDepth){for(let i=this.flushDepth-1;i>=this.lastFlushDepth;i--)n+=this.stack[i]===f?"}":"]";this.lastFlushDepth===0?(this.value=JSON.parse(n),this.valueStack={value:this.value,prev:null}):(this.jsonParseOffset--,this.stack[this.lastFlushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse("{"+n+"}")):A(this.valueStack.value,JSON.parse("["+n+"]")));for(let i=this.lastFlushDepth||1;i<this.flushDepth;i++){let a=this.valueStack.value;if(this.stack[i-1]===f){let o;for(o in a);a=a[o]}else a=a[a.length-1];this.valueStack={value:a,prev:this.valueStack}}}else{for(let i=this.lastFlushDepth-1;i>=this.flushDepth;i--)this.jsonParseOffset--,n=(this.stack[i]===f?"{":"[")+n;this.stack[this.lastFlushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse(n)):A(this.valueStack.value,JSON.parse(n));for(let i=this.lastFlushDepth-1;i>=this.flushDepth;i--)this.valueStack=this.valueStack.prev}this.pos+=s-r,this.lastFlushDepth=this.flushDepth}push(e){if(typeof e!="string"){if(this.pendingByteSeq!==null){let i=e;e=new Uint8Array(this.pendingByteSeq.length+i.length),e.set(this.pendingByteSeq),e.set(i,this.pendingByteSeq.length),this.pendingByteSeq=null}if(e[e.length-1]>127)for(let i=0;i<e.length;i++){let a=e[e.length-1-i];if(a>>6==3){i++,(i!==4&&a>>3==30||i!==3&&a>>4==14||i!==2&&a>>5==6)&&(this.pendingByteSeq=e.slice(e.length-i),e=e.slice(0,-i));break}}e=Be.decode(e)}let r=e.length,s=0,n=0;e:for(let i=0;i<r;i++){if(this.stateString){for(;i<r;i++)if(this.stateStringEscape)this.stateStringEscape=!1;else switch(e.charCodeAt(i)){case 34:this.stateString=!1;continue e;case 92:this.stateStringEscape=!0}break}switch(e.charCodeAt(i)){case 34:this.stateString=!0,this.stateStringEscape=!1;break;case 44:n=i;break;case 123:n=i+1,this.stack[this.flushDepth++]=f;break;case 91:n=i+1,this.stack[this.flushDepth++]=Le;break;case 93:case 125:n=i+1,this.flushDepth--,this.flushDepth<this.lastFlushDepth&&(this.flush(e,s,n),s=n);break}}if(n>s&&this.flush(e,s,n),n<r){let i=e.slice(n,r);this.pendingChunk=this.pendingChunk!==null?this.pendingChunk+i:i}}finish(){return this.pendingChunk!==null&&(/[^ \t\r\n]/.test(this.pendingChunk)&&this.flush("",0,0),this.pendingChunk=null),this.value}}});function h(t,e,r){let s=document.createElement(t);typeof e=="string"&&(e={class:e});for(let n in e)if(hasOwnProperty.call(e,n)){if(e[n]===void 0)continue;n.startsWith("on")?s.addEventListener(n.substr(2),e[n]):s.setAttribute(n,e[n])}return Array.isArray(r)?r.forEach(n=>s.appendChild(n instanceof Node?n:xe(n))):typeof r=="string"&&(s.innerHTML=r),s}function xe(t){return document.createTextNode(String(t))}var De=(()=>{let t=!1;try{let e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t})(),tt=De?Object.freeze({passive:!0,capture:!0}):!0;var g={request:{value:0,title:"Awaiting data"},receive:{value:.1,title:"Receiving data"},parse:{value:.9,title:"Processing data (parse)"},prepare:{value:.925,title:"Processing data (prepare)"},initui:{value:.975,title:"Preparing UI"},done:{value:1,title:"Done!"}};Object.values(g).forEach((t,e,r)=>{t.duration=(e!==r.length-1?r[e+1].value:0)-t.value});var ke=async()=>{if(await new Promise(t=>setTimeout(t,1)),!document.hidden)return Promise.race([new Promise(requestAnimationFrame),new Promise(t=>setTimeout(t,8))])},x=class{constructor({onTiming:e,delay:r}){this.finished=!1,this.awaitRepaint=null,this.lastStage=null,this.lastStageStart=null,this.timings=[],this.onTiming=typeof e=="function"?e:()=>{},this.el=h("div",{class:"view-progress init",style:`--appearance-delay: ${r===!0?200:Number(r)||0}ms`},[h("div","title"),h("div","progress")])}async setState(e){let{stage:r,progress:s,error:n}=e;if(n||this.finished)return;let{value:i,title:a,duration:o}=g[r],l=r!==this.lastStage,c=Date.now(),u=0,d;if(this.lastStage||(this.startTime=c,requestAnimationFrame(()=>this.el.classList.remove("init"))),l){if(this.lastStageStart!==null){let p={stage:this.lastStage,title:g[this.lastStage].title,duration:c-this.lastStageStart};this.timings.push(p),this.onTiming(p)}this.lastStage=r,this.lastStageStart=c,this.awaitRepaint=c}if(s){let{done:p,elapsed:de,units:F,completed:y,total:S}=s;S?(u=p?1:y/S,d=F==="bytes"?Math.round(u*100)+"%":`${y}/${S}`):(u=p?1:.1+Math.min(.9,de/2e4),d=F==="bytes"?(y/(1024*1024)).toFixed(1)+"MB":y)}this.el.style.setProperty("--progress",i+u*o),this.el.querySelector(".title").textContent=d?`${a} (${d})...`:r!=="done"?`${a}...`:a,(l||c-this.awaitRepaint>65&&c-this.lastStageStart>200)&&(await ke(),this.awaitRepaint=Date.now())}finish(){if(!this.finished&&this.lastStageStart!==null){let e=this.lastStage,r=Date.now()-this.lastStageStart,s=g[e].title,n={stage:e,title:s,duration:r};this.timings.push(n),this.onTiming(n),this.onTiming({stage:"done",title:g.done.title,duration:Date.now()-this.startTime})}this.finished=!0}dispose(){this.finish(),this.el.remove()}},N=x;var D=class{static setValue(e,r){if(!e.shouldPublish(r,e.value))return!1;let s=[],n=e.subscriber;for(e.value=r;n!==null;){let{callback:i,thisArg:a}=n;i!==null&&s.push(i.call(a,r,()=>e.unsubscribe(i,a))),n=n.subscriber}return s}constructor(e,r){this.value=e,this.shouldPublish=typeof r=="function"?r:this.shouldPublish,this.subscriber=null}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,r){return this.subscriber={callback:e,thisArg:r,subscriber:this.subscriber},()=>this.unsubscribe(e,r)}subscribeSync(e,r){let s=this.subscribe(e,r);return e.call(r,this.value,s),s}unsubscribe(e,r){let s=this,n=this.subscriber;for(;n!==null;){if(n.callback===e&&n.thisArg===r){n.callback=null,n.thisArg=null,s.subscriber=n.subscriber;break}s=n,n=n.subscriber}}shouldPublish(e,r){return e!==r}set(e){return this.constructor.setValue(this,e)!==!1}asyncSet(e){let r=this.constructor.setValue(this,e);return r===!1?Promise.resolve(!1):Promise.all(r).then(s=>s!==!1)}},L=D;var B=!1,M=!1,q=!1;try{new ReadableStream({}),M=!0}catch(t){}try{new ReadableStream({type:"bytes"}),B=!0}catch(t){}try{new Response(new Blob).getReader(),q=!0}catch(t){}function z(t){return typeof t.arrayBuffer=="function"?t.arrayBuffer():new Promise((e,r)=>{let s=new FileReader;s.readAsArrayBuffer(t),s.onload=s.onerror=({type:n})=>{s.onload=s.onerror=null,n==="load"?e(s.result||s):r(new Error("Failed to read the blob/file"))}})}function V(t){let e=0;if(typeof t.stream=="function"&&!/Version\/14\.1/.test(navigator.userAgent))return t.stream();if(B)return new ReadableStream({type:"bytes",autoAllocateChunkSize:512*1024,pull(r){let s=r.byobRequest.view,n=t.slice(e,e+s.byteLength);return z(n).then(function(i){let a=new Uint8Array(i),o=a.byteLength;e+=o,s.set(a),r.byobRequest.respond(o),e>=t.size&&r.close()})}});if(M)return new ReadableStream({pull(r){let s=t.slice(e,e+512*1024);return z(s).then(function(n){e+=n.byteLength,r.enqueue(new Uint8Array(n)),e==t.size&&r.close()})}});if(q)return new Response(t).body;throw new Error("Include https://github.com/creatorrr/web-streams-polyfill")}var X=ve(Z()),E={stream:m,event:Me,file:ee,url:qe,push:ze};function Ve(t){try{return new URL(t,location.origin).origin===location.origin}catch(e){return!1}}function _e(t,e,r){let s=1024*1024,n=0;return X.default(async function*(){let i=t.getReader(),a=Date.now();try{for(;;){let{done:o,value:l}=await i.read();if(o){await r({done:!0,elapsed:Date.now()-a,units:"bytes",completed:n,total:e});break}for(let c=0;c<l.length;c+=s){let u=c===0&&l.length-c<s?l:l.slice(c,c+s);n+=u.length,yield u,await r({done:!1,elapsed:Date.now()-a,units:"bytes",completed:n,total:e})}}}finally{i.releaseLock()}}).then(i=>({data:i,size:n}))}async function Ie(t,e){let r=async(s,n)=>(await e.asyncSet({stage:s}),await n());try{let s=Date.now(),{stream:n,data:i,size:a}=await r("request",t),o=Date.now()-s,{data:l,size:c}=i||await r("receive",()=>_e(n,Number(a)||0,u=>e.asyncSet({stage:"receive",progress:u})));return await e.asyncSet({stage:"done"}),{data:l,size:c,payloadSize:Number(a)||0,time:Date.now()-s,requestTime:o}}catch(s){throw console.error("[Discovery] Error loading data:",s),await e.asyncSet({stage:"error",error:s}),s}}function m(t,e,r){let s=new L;return{state:s,result:Ie(t,s).then(n=>({...n,...e(n.data)})),...r}}function ee(t){return m(()=>{if(t.type!=="application/json")throw new Error("Not a JSON file");return{stream:V(t),size:t.size}},e=>({data:e,context:{name:`File: ${t.name}`,createdAt:new Date(t.lastModified||Date.now()),data:e}}))}function Me(t){let e=t.dataTransfer||t.target,r=e&&e.files&&e.files[0];return t.stopPropagation(),t.preventDefault(),ee(r)}function qe(t,e){let r=typeof t=="string"?void 0:t;return m(async()=>{let s=await fetch(r?"data:application/json,{}":t);if(s.ok)return r?{data:r}:{stream:s.body,size:Ve(t)&&!s.headers.get("content-encoding")?s.headers.get("content-length"):s.headers.get("x-file-size")};let n=s.headers.get("content-type")||"",i=await s.text();if(n.toLowerCase().startsWith("application/json")){let a=JSON.parse(i);i=a.error||a}throw i=new Error(i),i.stack=null,i},s=>({data:e?s[e]:s,context:{name:"Discovery",createdAt:e&&s.createdAt?new Date(Date.parse(s.createdAt)):new Date,...e?s:{data:s}}}))}function ze(t,e){let r;return m(()=>({size:t,stream:new ReadableStream({start(s){r=s},cancel(){r=null}})}),s=>({data:s.data,context:{name:s.name||"Discovery",createdAt:e||s.createdAt||Date.now(),data:s.data}}),{push(s){r.enqueue(s)},finish(){r.close(),r=null}})}function te({result:t,state:e},r){return new Promise((s,n)=>{let i=e.subscribeSync(({stage:a,progress:o,error:l})=>{if(l){i(),n(l);return}if(a==="done"){i(),s(t);return}r.setState({stage:a,progress:o})})})}var C=class{constructor(){this.listeners=Object.create(null)}on(e,r){return this.listeners[e]={callback:r,next:this.listeners[e]||null},this}once(e,r){return this.on(e,function s(...n){r.apply(this,n),this.off(e,s)})}off(e,r){let s=this.listeners[e]||null,n=null;for(;s!==null;){if(s.callback===r){s.callback=null,n?n.next=s.next:this.listeners[e]=s.next;break}n=s,s=s.next}return this}emit(e,...r){let s=this.listeners[e]||null,n=!1;for(;s!==null;)typeof s.callback=="function"&&s.callback.apply(this,r),n=!0,s=s.next;return n}},se=C;function Je(t){let e="__storage_test__"+Math.random(),r;try{r=window[t]}catch(s){return null}try{r.setItem(e,e),r.removeItem(e)}catch(s){if(!(s instanceof DOMException&&(s.code===22||s.code===1014||s.name==="QuotaExceededError"||s.name==="NS_ERROR_DOM_QUOTA_REACHED")&&r.length!==0))return null}return r}function re(t){let e=new Map;return e.storage=Je(t),e.getOrCreate=r=>e.get(r)||$e(r,e),e.getOrCreate.available=e.storage!==null,e}var R=new Map([["session",re("sessionStorage")],["local",re("localStorage")]]),gt=R.get("session").getOrCreate,ne=R.get("local").getOrCreate;addEventListener("storage",t=>{for(let[,e]of R)e.storage===t.storageArea&&e.has(t.key)&&e.get(t.key).forceSync()});function $e(t,e){let r=null,s=new se,n=(a=e.storage.getItem(t))=>{r!==a&&s.emit("change",r=a)},i={get value(){return this.get()},get(){return r},set(a){e.storage&&(e.storage.setItem(t,a),n())},delete(){e.storage&&(e.storage.removeItem(t),n())},forceSync(){return e.storage&&n(),this.get()},on(a,o){return s.on("change",a),o&&a(r),()=>s.off("change",a)},off(a){s.off("change",a)}};return e.set(t,i),i.forceSync(),i}var Ue=new Set([!0,!1,"auto","disabled"]),ie=new Set,ae=matchMedia("(prefers-color-scheme:dark)"),oe=ne("discoveryjs:darkmode"),le=new Map([["true",!0],["false",!1],["auto","auto"]]),b=null;function We(){for(let t of ie)t.mode==="auto"&&t.set("auto")}function ce(t){let e=le.has(t)?le.get(t):null;if(b!==e){b=e;for(let r of ie)r.persistent&&r.mode!=="disabled"&&r.set(e!==null?e:"auto")}}ce(oe.value);oe.on(ce);ae.addListener(We);function Ke(t,e){return(t==="off"||t==="disable")&&(t="disabled"),t!=="disabled"&&e&&b!==null&&(t=b),t}function He(t){return Ue.has(t)||(t="disabled"),t==="auto"?ae.matches:t===!0}function ue(t,e){return He(Ke(t,e))}var Qe={"font-family":"Tahoma, Verdana, Arial, sans-serif","font-size":"16px","line-height":"1.6","-webkit-text-size-adjust":"none","text-size-adjust":"none","background-color":"var(--discovery-background-color, white)",color:"var(--discovery-color, black)","transition-property":"background-color, color","transition-duration":".25s","transition-timing-function":"ease-in"},Ye={"--discovery-background-color":"#242424","--discovery-color":"#cccccc"},he=new WeakSet;function fe(t,e){e=e||{};let r=ue(e.darkmode,e.darkmodePersistent);for(let[s,n]of Object.entries(Qe))(he.has(t)||!/^transition/.test(s))&&t.style.setProperty(s,n);for(let[s,n]of Object.entries(Ye))r?t.style.setProperty(s,n):t.style.removeProperty(s);he.add(t)}function T(t,e){let r=h("style",null,":host{display:none}"),s=new Set,n=Promise.resolve();return Array.isArray(e)&&(t.append(...e.map(i=>{switch(typeof i=="string"&&(i={type:"style",content:i}),i.type){case"style":return h("style",null,i.content);case"link":{let a,o,l=new Promise((u,d)=>{a=u,o=d});return s.add(l),h("link",{rel:"stylesheet",href:i.href,media:i.media,onerror(u){s.delete(l),o(u),s.size||r.remove()},onload(){s.delete(l),a(),s.size||r.remove()}})}default:throw new Error(`Unknown type "${i.type}" for a style descriptor`)}})),s.size&&(n=Promise.all(s),t.append(r))),n}function Ge(){return new N({delay:300,onTiming:({title:t,duration:e})=>console.log(`[Discovery/loader] ${t} \u2013 ${e}ms`)})}function Ze(t){t=t||{};let e=t.container||document.body,r=t.progressbar||Ge(),s=document.createElement("div"),n=s.attachShadow({mode:"open"});if(t.dataSource&&!E.hasOwnProperty(t.dataSource))throw new Error(`dataSource "${t.dataSource}" is not supported`);fe(e,t);let i=E[t.dataSource||"url"],a=t.dataSource==="push"?i():t.data?i(t.data,"data"):{result:Promise.resolve(t)};return a.push&&(window.discoveryLoader={push:a.push,finish:()=>{delete window.discoveryLoader,a.finish()}}),a.state&&te(a,r),T(n,t.styles),n.append(r.el),e.append(s),Object.assign(a.result,{el:s,shadowRoot:n,progressbar:r})}export{Ze as preloader};
var ge=Object.create,w=Object.defineProperty,me=Object.getPrototypeOf,be=Object.prototype.hasOwnProperty,Se=Object.getOwnPropertyNames,we=Object.getOwnPropertyDescriptor;var ve=t=>w(t,"__esModule",{value:!0});var v=(t,e)=>()=>(e||(e={exports:{}},t(e.exports,e)),e.exports);var xe=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Se(e))!be.call(t,s)&&s!=="default"&&w(t,s,{get:()=>e[s],enumerable:!(r=we(e,s))||r.enumerable});return t},De=t=>xe(ve(w(t!=null?ge(me(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var K=v((lt,I)=>{var k=1,P=2,j=3,J=4,$=5,U=6,Oe={8:"\\b",9:"\\t",10:"\\n",12:"\\f",13:"\\r",34:'\\"',92:"\\\\"};function Ae(t){return t>=55296&&t<=56319}function Ce(t){return t>=56320&&t<=57343}function W(t){return typeof t.pipe=="function"&&typeof t._read=="function"&&typeof t._readableState=="object"&&t._readableState!==null}function Ee(t,e,r,s){switch(r&&typeof r.toJSON=="function"&&(r=r.toJSON()),s!==null&&(r=s.call(t,String(e),r)),typeof r){case"function":case"symbol":r=void 0;break;case"object":if(r!==null){let n=r.constructor;(n===String||n===Number||n===Boolean)&&(r=r.valueOf())}break}return r}function Re(t){return t===null||typeof t!="object"?k:Array.isArray(t)?j:P}function Te(t){return t===null||typeof t!="object"?k:typeof t.then=="function"?J:W(t)?t._readableState.objectMode?U:$:Array.isArray(t)?j:P}function Fe(t){if(typeof t=="function")return t;if(Array.isArray(t)){let e=new Set(t.map(r=>typeof r=="string"||typeof r=="number"?String(r):null).filter(r=>typeof r=="string"));return e.add(""),(r,s)=>e.has(r)?s:void 0}return null}function Ne(t){return typeof t=="number"?!Number.isFinite(t)||t<1?!1:" ".repeat(Math.min(t,10)):typeof t=="string"&&t.slice(0,10)||!1}I.exports={escapableCharCodeSubstitution:Oe,isLeadingSurrogate:Ae,isTrailingSurrogate:Ce,type:{PRIMITIVE:k,PROMISE:J,ARRAY:j,OBJECT:P,STRING_STREAM:$,OBJECT_STREAM:U},isReadableStream:W,replaceValue:Ee,getTypeNative:Re,getTypeAsync:Te,normalizeReplacer:Fe,normalizeSpace:Ne}});var Q=v((ct,H)=>{H.exports=TextDecoder});var X=v((ut,Y)=>{var{isReadableStream:Be}=K(),Le=Q(),f=1,Me=2,qe=new Le;function G(t){return t!==null&&typeof t=="object"}function O(t,e){return t.name==="SyntaxError"&&e.jsonParseOffset&&(t.message=t.message.replace(/at position (\d+)/,(r,s)=>"at position "+(Number(s)+e.jsonParseOffset))),t}function A(t,e){let r=t.length;t.length+=e.length;for(let s=0;s<e.length;s++)t[r+s]=e[s]}Y.exports=function(t){let e=new Z;if(G(t)&&Be(t))return new Promise((r,s)=>{t.on("data",n=>{try{e.push(n)}catch(i){s(O(i,e)),e=null}}).on("error",n=>{e=null,s(n)}).on("end",()=>{try{r(e.finish())}catch(n){s(O(n,e))}finally{e=null}})});if(typeof t=="function"){let r=t();if(G(r)&&(Symbol.iterator in r||Symbol.asyncIterator in r))return new Promise(async(s,n)=>{try{for await(let i of r)e.push(i);s(e.finish())}catch(i){n(O(i,e))}finally{e=null}})}throw new Error("Chunk emitter should be readable stream, generator, async generator or function returning an iterable object")};var Z=class{constructor(){this.value=void 0,this.valueStack=null,this.stack=new Array(100),this.lastFlushDepth=0,this.flushDepth=0,this.stateString=!1,this.stateStringEscape=!1,this.pendingByteSeq=null,this.pendingChunk=null,this.pos=0,this.jsonParseOffset=0}flush(e,r,s){let n=e.slice(r,s);if(this.jsonParseOffset=this.pos,this.pendingChunk!==null&&(n=this.pendingChunk+n,this.pendingChunk=null),n[0]===","&&(n=n.slice(1),this.jsonParseOffset++),this.flushDepth===this.lastFlushDepth)this.flushDepth>0?(this.jsonParseOffset--,this.stack[this.flushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse("{"+n+"}")):A(this.valueStack.value,JSON.parse("["+n+"]"))):(this.value=JSON.parse(n),this.valueStack={value:this.value,prev:null});else if(this.flushDepth>this.lastFlushDepth){for(let i=this.flushDepth-1;i>=this.lastFlushDepth;i--)n+=this.stack[i]===f?"}":"]";this.lastFlushDepth===0?(this.value=JSON.parse(n),this.valueStack={value:this.value,prev:null}):(this.jsonParseOffset--,this.stack[this.lastFlushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse("{"+n+"}")):A(this.valueStack.value,JSON.parse("["+n+"]")));for(let i=this.lastFlushDepth||1;i<this.flushDepth;i++){let a=this.valueStack.value;if(this.stack[i-1]===f){let o;for(o in a);a=a[o]}else a=a[a.length-1];this.valueStack={value:a,prev:this.valueStack}}}else{for(let i=this.lastFlushDepth-1;i>=this.flushDepth;i--)this.jsonParseOffset--,n=(this.stack[i]===f?"{":"[")+n;this.stack[this.lastFlushDepth-1]===f?Object.assign(this.valueStack.value,JSON.parse(n)):A(this.valueStack.value,JSON.parse(n));for(let i=this.lastFlushDepth-1;i>=this.flushDepth;i--)this.valueStack=this.valueStack.prev}this.pos+=s-r,this.lastFlushDepth=this.flushDepth}push(e){if(typeof e!="string"){if(this.pendingByteSeq!==null){let i=e;e=new Uint8Array(this.pendingByteSeq.length+i.length),e.set(this.pendingByteSeq),e.set(i,this.pendingByteSeq.length),this.pendingByteSeq=null}if(e[e.length-1]>127)for(let i=0;i<e.length;i++){let a=e[e.length-1-i];if(a>>6==3){i++,(i!==4&&a>>3==30||i!==3&&a>>4==14||i!==2&&a>>5==6)&&(this.pendingByteSeq=e.slice(e.length-i),e=e.slice(0,-i));break}}e=qe.decode(e)}let r=e.length,s=0,n=0;e:for(let i=0;i<r;i++){if(this.stateString){for(;i<r;i++)if(this.stateStringEscape)this.stateStringEscape=!1;else switch(e.charCodeAt(i)){case 34:this.stateString=!1;continue e;case 92:this.stateStringEscape=!0}break}switch(e.charCodeAt(i)){case 34:this.stateString=!0,this.stateStringEscape=!1;break;case 44:n=i;break;case 123:n=i+1,this.stack[this.flushDepth++]=f;break;case 91:n=i+1,this.stack[this.flushDepth++]=Me;break;case 93:case 125:n=i+1,this.flushDepth--,this.flushDepth<this.lastFlushDepth&&(this.flush(e,s,n),s=n);break}}if(n>s&&this.flush(e,s,n),n<r){let i=e.slice(n,r);this.pendingChunk=this.pendingChunk!==null?this.pendingChunk+i:i}}finish(){return this.pendingChunk!==null&&(/[^ \t\r\n]/.test(this.pendingChunk)&&this.flush("",0,0),this.pendingChunk=null),this.value}}});function h(t,e,r){let s=document.createElement(t);typeof e=="string"&&(e={class:e});for(let n in e)if(hasOwnProperty.call(e,n)){if(e[n]===void 0)continue;n.startsWith("on")?s.addEventListener(n.substr(2),e[n]):s.setAttribute(n,e[n])}return Array.isArray(r)?r.forEach(n=>s.appendChild(n instanceof Node?n:ke(n))):typeof r=="string"&&(s.innerHTML=r),s}function ke(t){return document.createTextNode(String(t))}var Pe=(()=>{let t=!1;try{let e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return t})(),rt=Pe?Object.freeze({passive:!0,capture:!0}):!0;var y={request:{value:0,title:"Awaiting data"},receive:{value:.1,title:"Receiving data"},parse:{value:.9,title:"Processing data (parse)"},prepare:{value:.925,title:"Processing data (prepare)"},initui:{value:.975,title:"Preparing UI"},done:{value:1,title:"Done!"}};Object.values(y).forEach((t,e,r)=>{t.duration=(e!==r.length-1?r[e+1].value:0)-t.value});var je=async()=>{if(await new Promise(t=>setTimeout(t,1)),!document.hidden)return Promise.race([new Promise(requestAnimationFrame),new Promise(t=>setTimeout(t,8))])},x=class{constructor({onTiming:e,delay:r}){this.finished=!1,this.awaitRepaint=null,this.lastStage=null,this.lastStageStart=null,this.timings=[],this.onTiming=typeof e=="function"?e:()=>{},this.el=h("div",{class:"view-progress init",style:`--appearance-delay: ${r===!0?200:Number(r)||0}ms`},[h("div","title"),h("div","progress")])}async setState(e){let{stage:r,progress:s,error:n}=e;if(n||this.finished)return;let{value:i,title:a,duration:o}=y[r],l=r!==this.lastStage,c=Date.now(),u=0,d;if(this.lastStage||(this.startTime=c,requestAnimationFrame(()=>this.el.classList.remove("init"))),l){if(this.lastStageStart!==null){let p={stage:this.lastStage,title:y[this.lastStage].title,duration:c-this.lastStageStart};this.timings.push(p),this.onTiming(p)}this.lastStage=r,this.lastStageStart=c,this.awaitRepaint=c}if(s){let{done:p,elapsed:ye,units:N,completed:g,total:S}=s;S?(u=p?1:g/S,d=N==="bytes"?Math.round(u*100)+"%":`${g}/${S}`):(u=p?1:.1+Math.min(.9,ye/2e4),d=N==="bytes"?(g/(1024*1024)).toFixed(1)+"MB":g)}this.el.style.setProperty("--progress",i+u*o),this.el.querySelector(".title").textContent=d?`${a} (${d})...`:r!=="done"?`${a}...`:a,(l||c-this.awaitRepaint>65&&c-this.lastStageStart>200)&&(await je(),this.awaitRepaint=Date.now())}finish(){if(!this.finished&&this.lastStageStart!==null){let e=this.lastStage,r=Date.now()-this.lastStageStart,s=y[e].title,n={stage:e,title:s,duration:r};this.timings.push(n),this.onTiming(n),this.onTiming({stage:"done",title:y.done.title,duration:Date.now()-this.startTime})}this.finished=!0}dispose(){this.finish(),this.el.remove()}},B=x;var D=class{static setValue(e,r){if(!e.shouldPublish(r,e.value))return!1;let s=[],n=e.subscriber;for(e.value=r;n!==null;){let{callback:i,thisArg:a}=n;i!==null&&s.push(i.call(a,r,()=>e.unsubscribe(i,a))),n=n.subscriber}return s}constructor(e,r){this.value=e,this.shouldPublish=typeof r=="function"?r:this.shouldPublish,this.subscriber=null}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,r){return this.subscriber={callback:e,thisArg:r,subscriber:this.subscriber},()=>this.unsubscribe(e,r)}subscribeSync(e,r){let s=this.subscribe(e,r);return e.call(r,this.value,s),s}unsubscribe(e,r){let s=this,n=this.subscriber;for(;n!==null;){if(n.callback===e&&n.thisArg===r){n.callback=null,n.thisArg=null,s.subscriber=n.subscriber;break}s=n,n=n.subscriber}}shouldPublish(e,r){return e!==r}set(e){return this.constructor.setValue(this,e)!==!1}asyncSet(e){let r=this.constructor.setValue(this,e);return r===!1?Promise.resolve(!1):Promise.all(r).then(s=>s!==!1)}},L=D;var M=!1,q=!1,z=!1;try{new ReadableStream({}),q=!0}catch(t){}try{new ReadableStream({type:"bytes"}),M=!0}catch(t){}try{new Response(new Blob).getReader(),z=!0}catch(t){}function V(t){return typeof t.arrayBuffer=="function"?t.arrayBuffer():new Promise((e,r)=>{let s=new FileReader;s.readAsArrayBuffer(t),s.onload=s.onerror=({type:n})=>{s.onload=s.onerror=null,n==="load"?e(s.result||s):r(new Error("Failed to read the blob/file"))}})}function _(t){let e=0;if(typeof t.stream=="function"&&!/Version\/14\.1/.test(navigator.userAgent))return t.stream();if(M)return new ReadableStream({type:"bytes",autoAllocateChunkSize:512*1024,pull(r){let s=r.byobRequest.view,n=t.slice(e,e+s.byteLength);return V(n).then(function(i){let a=new Uint8Array(i),o=a.byteLength;e+=o,s.set(a),r.byobRequest.respond(o),e>=t.size&&r.close()})}});if(q)return new ReadableStream({pull(r){let s=t.slice(e,e+512*1024);return V(s).then(function(n){e+=n.byteLength,r.enqueue(new Uint8Array(n)),e==t.size&&r.close()})}});if(z)return new Response(t).body;throw new Error("Include https://github.com/creatorrr/web-streams-polyfill")}var ee=De(X()),C={stream:m,event:ze,file:te,url:Ve,push:_e};function Ie(t){try{return new URL(t,location.origin).origin===location.origin}catch(e){return!1}}function Je(t,e,r){let s=1024*1024,n=0;return(0,ee.default)(async function*(){let i=t.getReader(),a=Date.now();try{for(;;){let{done:o,value:l}=await i.read();if(o){await r({done:!0,elapsed:Date.now()-a,units:"bytes",completed:n,total:e});break}for(let c=0;c<l.length;c+=s){let u=c===0&&l.length-c<s?l:l.slice(c,c+s);n+=u.length,yield u,await r({done:!1,elapsed:Date.now()-a,units:"bytes",completed:n,total:e})}}}finally{i.releaseLock()}}).then(i=>({data:i,size:n}))}async function $e(t,e){let r=async(s,n)=>(await e.asyncSet({stage:s}),await n());try{let s=Date.now(),{stream:n,data:i,size:a}=await r("request",t),o=Date.now()-s,{data:l,size:c}=i||await r("receive",()=>Je(n,Number(a)||0,u=>e.asyncSet({stage:"receive",progress:u})));return await e.asyncSet({stage:"done"}),{data:l,size:c,payloadSize:Number(a)||0,time:Date.now()-s,requestTime:o}}catch(s){throw console.error("[Discovery] Error loading data:",s),await e.asyncSet({stage:"error",error:s}),s}}function m(t,e,r){let s=new L;return{state:s,result:$e(t,s).then(n=>({...n,...e(n.data)})),...r}}function te(t){return m(()=>{if(t.type!=="application/json")throw new Error("Not a JSON file");return{stream:_(t),size:t.size}},e=>({data:e,context:{name:`File: ${t.name}`,createdAt:new Date(t.lastModified||Date.now()),data:e}}))}function ze(t){let e=t.dataTransfer||t.target,r=e&&e.files&&e.files[0];return t.stopPropagation(),t.preventDefault(),te(r)}function Ve(t,e){let r=typeof t=="string"?void 0:t;return m(async()=>{let s=await fetch(r?"data:application/json,{}":t);if(s.ok)return r?{data:r}:{stream:s.body,size:Ie(t)&&!s.headers.get("content-encoding")?s.headers.get("content-length"):s.headers.get("x-file-size")};let n=s.headers.get("content-type")||"",i=await s.text();if(n.toLowerCase().startsWith("application/json")){let a=JSON.parse(i);i=a.error||a}throw i=new Error(i),i.stack=null,i},s=>({data:e?s[e]:s,context:{name:"Discovery",createdAt:e&&s.createdAt?new Date(Date.parse(s.createdAt)):new Date,...e?s:{data:s}}}))}function _e(t,e){let r;return m(()=>({size:t,stream:new ReadableStream({start(s){r=s},cancel(){r=null}})}),s=>({data:s.data,context:{name:s.name||"Discovery",createdAt:e||s.createdAt||Date.now(),data:s.data}}),{push(s){r.enqueue(s)},finish(){r.close(),r=null}})}function se({result:t,state:e},r){return new Promise((s,n)=>{let i=e.subscribeSync(({stage:a,progress:o,error:l})=>{if(l){i(),n(l);return}if(a==="done"){i(),s(t);return}r.setState({stage:a,progress:o})})})}var E=class{constructor(){this.listeners=Object.create(null)}on(e,r){return this.listeners[e]={callback:r,next:this.listeners[e]||null},this}once(e,r){return this.on(e,function s(...n){r.apply(this,n),this.off(e,s)})}off(e,r){let s=this.listeners[e]||null,n=null;for(;s!==null;){if(s.callback===r){s.callback=null,n?n.next=s.next:this.listeners[e]=s.next;break}n=s,s=s.next}return this}emit(e,...r){let s=this.listeners[e]||null,n=!1;for(;s!==null;)typeof s.callback=="function"&&s.callback.apply(this,r),n=!0,s=s.next;return n}},re=E;function Ue(t){let e="__storage_test__"+Math.random(),r;try{r=window[t]}catch(s){return null}try{r.setItem(e,e),r.removeItem(e)}catch(s){if(!(s instanceof DOMException&&(s.code===22||s.code===1014||s.name==="QuotaExceededError"||s.name==="NS_ERROR_DOM_QUOTA_REACHED")&&r.length!==0))return null}return r}function ne(t){let e=new Map;return e.storage=Ue(t),e.getOrCreate=r=>e.get(r)||We(r,e),e.getOrCreate.available=e.storage!==null,e}var R=new Map([["session",ne("sessionStorage")],["local",ne("localStorage")]]),mt=R.get("session").getOrCreate,ie=R.get("local").getOrCreate;addEventListener("storage",t=>{for(let[,e]of R)e.storage===t.storageArea&&e.has(t.key)&&e.get(t.key).forceSync()});function We(t,e){let r=null,s=new re,n=(a=e.storage.getItem(t))=>{r!==a&&s.emit("change",r=a)},i={get value(){return this.get()},get(){return r},set(a){e.storage&&(e.storage.setItem(t,a),n())},delete(){e.storage&&(e.storage.removeItem(t),n())},forceSync(){return e.storage&&n(),this.get()},on(a,o){return s.on("change",a),o&&a(r),()=>s.off("change",a)},off(a){s.off("change",a)}};return e.set(t,i),i.forceSync(),i}var Ke=new Set([!0,!1,"auto","disabled"]),ae=new Set,oe=matchMedia("(prefers-color-scheme:dark)"),le=ie("discoveryjs:darkmode"),ce=new Map([["true",!0],["false",!1],["auto","auto"]]),b=null;function He(){for(let t of ae)t.mode==="auto"&&t.set("auto")}function ue(t){let e=ce.has(t)?ce.get(t):null;if(b!==e){b=e;for(let r of ae)r.persistent&&r.mode!=="disabled"&&r.set(e!==null?e:"auto")}}ue(le.value);le.on(ue);oe.addListener(He);function Qe(t,e){return(t==="off"||t==="disable")&&(t="disabled"),t!=="disabled"&&e&&b!==null&&(t=b),t}function Ye(t){return Ke.has(t)||(t="disabled"),t==="auto"?oe.matches:t===!0}function he(t,e){return Ye(Qe(t,e))}var Ge={"font-family":"Tahoma, Verdana, Arial, sans-serif","font-size":"16px","line-height":"1.6","-webkit-text-size-adjust":"none","text-size-adjust":"none","background-color":"var(--discovery-background-color, white)",color:"var(--discovery-color, black)","transition-property":"background-color, color","transition-duration":".25s","transition-timing-function":"ease-in"},Ze={"--discovery-background-color":"#242424","--discovery-color":"#cccccc"},fe=new WeakSet,T=new WeakMap;function de(t,e,r){e in r||(r[e]=[t.style.getPropertyValue(e),t.style.getPropertyPriority(e)])}function pe(t,e){e=e||{},T.has(t)||T.set(t,Object.create(null));let r=he(e.darkmode,e.darkmodePersistent),s=T.get(t);for(let[n,i]of Object.entries(Ge))(fe.has(t)||!/^transition/.test(n))&&(de(t,n,s),t.style.setProperty(n,i));for(let[n,i]of Object.entries(Ze))de(t,n,s),r?t.style.setProperty(n,i):t.style.removeProperty(n);fe.add(t)}function F(t,e){let r=h("style",null,":host{display:none}"),s=new Set,n=Promise.resolve();return Array.isArray(e)&&(t.append(...e.map(i=>{switch(typeof i=="string"&&(i={type:"style",content:i}),i.type){case"style":return h("style",null,i.content);case"link":{let a,o,l=new Promise((u,d)=>{a=u,o=d});return s.add(l),h("link",{rel:"stylesheet",href:i.href,media:i.media,onerror(u){s.delete(l),o(u),s.size||r.remove()},onload(){s.delete(l),a(),s.size||r.remove()}})}default:throw new Error(`Unknown type "${i.type}" for a style descriptor`)}})),s.size&&(n=Promise.all(s),t.append(r))),n}function Xe(){return new B({delay:300,onTiming:({title:t,duration:e})=>console.log(`[Discovery/loader] ${t} \u2013 ${e}ms`)})}function et(t){t=t||{};let e=t.container||document.body,r=t.progressbar||Xe(),s=document.createElement("div"),n=s.attachShadow({mode:"open"});if(t.dataSource&&!C.hasOwnProperty(t.dataSource))throw new Error(`dataSource "${t.dataSource}" is not supported`);pe(e,t);let i=C[t.dataSource||"url"],a=t.dataSource==="push"?i():t.data?i(t.data,"data"):{result:Promise.resolve(t)};return a.push&&(window.discoveryLoader={push:a.push,finish:()=>{delete window.discoveryLoader,a.finish()}}),a.state&&se(a,r),F(n,t.styles),n.append(r.el),e.append(s),Object.assign(a.result,{el:s,shadowRoot:n,progressbar:r})}export{et as preloader};
//# sourceMappingURL=discovery-preloader.js.map
{
"name": "@discoveryjs/discovery",
"version": "1.0.0-beta.56",
"version": "1.0.0-beta.57",
"description": "Hackable JSON discovery tool",

@@ -38,5 +38,5 @@ "author": "Roman Dvornov <rdvornov@gmail.com> (https://github.com/lahmatiy)",

"devDependencies": {
"@discoveryjs/cli": "2.0.0-beta.7",
"@discoveryjs/cli": "2.0.0-beta.9",
"cypress": "^5.3.0",
"esbuild": "^0.8.46",
"esbuild": "^0.8.55",
"eslint": "^6.8.0",

@@ -43,0 +43,0 @@ "eslint-plugin-cypress": "^2.11.2"

@@ -7,3 +7,3 @@ /* eslint-env browser */

import { escapeHtml } from '../core/utils/html.js';
import applyContainerStyles from '../core/utils/apply-container-styles.js';
import { applyContainerStyles } from '../core/utils/apply-container-styles.js';
import Progressbar from '../core/utils/progressbar.js';

@@ -40,3 +40,6 @@ import {

this.apply(router);
if (coalesceOption(this.options.router, true)) {
this.apply(router);
}
// FIXME: should not apply styles by default

@@ -121,10 +124,11 @@ this.darkmode.subscribe(darkmode => applyContainerStyles(this.dom.wrapper.parentNode, { darkmode }));

this.nav.append({
name: 'inspect',
content: 'html:\'<svg style="width:16px;height:16px;vertical-align:top;margin:1px -7px 0;opacity:.85" viewBox="1 -1 30 30"><path fill="currentColor" d="M 15 2 C 8.3844239 2 3 7.3844287 3 14 C 3 20.615571 8.3844239 26 15 26 L 25 26 C 26.105 26 27 25.105 27 24 L 27 14 C 27 7.3844287 21.615576 2 15 2 z M 15 4 C 20.534697 4 25 8.465307 25 14 C 25 19.534693 20.534697 24 15 24 C 9.4653034 24 5 19.534693 5 14 C 5 8.465307 9.4653034 4 15 4 z M 15.953125 6.9863281 A 1.0001 1.0001 0 0 0 15.013672 7.8359375 L 13.013672 19.835938 A 1.0001 1.0001 0 1 0 14.986328 20.164062 L 16.986328 8.1640625 A 1.0001 1.0001 0 0 0 15.953125 6.9863281 z M 10.980469 9.9882812 A 1.0001 1.0001 0 0 0 10.167969 10.445312 L 8.1679688 13.445312 A 1.0001 1.0001 0 0 0 8.1679688 14.554688 L 10.167969 17.554688 A 1.0001 1.0001 0 1 0 11.832031 16.445312 L 10.201172 14 L 11.832031 11.554688 A 1.0001 1.0001 0 0 0 10.980469 9.9882812 z M 18.988281 9.9882812 A 1.0001 1.0001 0 0 0 18.167969 11.554688 L 19.798828 14 L 18.167969 16.445312 A 1.0001 1.0001 0 1 0 19.832031 17.554688 L 21.832031 14.554688 A 1.0001 1.0001 0 0 0 21.832031 13.445312 L 19.832031 10.445312 A 1.0001 1.0001 0 0 0 18.988281 9.9882812 z"></path></svg>\'',
onClick: () => this.inspectMode.set(!this.inspectMode.value),
postRender(el) {
el.title = 'Enable view inspection. Use Alt + click for quick inspection';
}
});
if (coalesceOption(this.options.inspector, true)) {
this.nav.append({
name: 'inspect',
onClick: () => this.inspectMode.set(!this.inspectMode.value),
postRender(el) {
el.title = 'Enable view inspection. Use Alt + click for quick inspection';
}
});
}
}

@@ -131,0 +135,0 @@

@@ -20,10 +20,26 @@ import { resolveDarkmodeValue } from '../darkmode.js';

const knowContainer = new WeakSet();
const containerBeforeSetStyle = new WeakMap();
export default function(container, config) {
function saveContainerStyleProp(container, prop, styles) {
if (prop in styles === false) {
styles[prop] = [
container.style.getPropertyValue(prop),
container.style.getPropertyPriority(prop)
];
}
}
export function applyContainerStyles(container, config) {
config = config || {};
if (!containerBeforeSetStyle.has(container)) {
containerBeforeSetStyle.set(container, Object.create(null));
}
const darkmode = resolveDarkmodeValue(config.darkmode, config.darkmodePersistent);
const containerStyles = containerBeforeSetStyle.get(container);
for (const [prop, value] of Object.entries(styles)) {
if (knowContainer.has(container) || !/^transition/.test(prop)) {
saveContainerStyleProp(container, prop, containerStyles);
container.style.setProperty(prop, value);

@@ -34,2 +50,4 @@ }

for (const [prop, value] of Object.entries(darkmodeStyles)) {
saveContainerStyleProp(container, prop, containerStyles);
if (darkmode) {

@@ -44,1 +62,14 @@ container.style.setProperty(prop, value);

}
export function rollbackContainerStyles(container) {
if (containerBeforeSetStyle.has(container)) {
const containerStyles = containerBeforeSetStyle.get(container);
for (const [prop, value] of Object.entries(containerStyles)) {
container.style.setProperty(prop, ...value);
}
containerBeforeSetStyle.delete(containerBeforeSetStyle);
knowContainer.delete(container);
}
}

@@ -1,2 +0,2 @@

import applyContainerStyles from './apply-container-styles.js';
import * as containerStyles from './apply-container-styles.js';
import * as base64 from './base64.js';

@@ -20,3 +20,3 @@ import * as compare from './compare.js';

export default {
applyContainerStyles,
...containerStyles,
base64,

@@ -23,0 +23,0 @@ ...compare,

@@ -5,2 +5,3 @@ import App from './app/index.js';

import * as pages from './pages/index.js';
import inspector from './inspector/index.js';
import router from './core/router.js';

@@ -14,4 +15,5 @@ import utils from './core/utils/index.js';

pages,
inspector,
router,
utils
};

@@ -23,3 +23,3 @@ /* eslint-env browser */

//
const reportEditorEl = createElement('div', { class: 'report-editor', hidden: true }, [
const reportEditorEl = createElement('div', { class: 'report-editor discovery-hidden-in-dzen', hidden: true }, [
queryEditor.el,

@@ -26,0 +26,0 @@ viewEditor.el

@@ -40,3 +40,3 @@ /* eslint-env browser */

noeditToggleEl = createElement('button', {
class: 'edit-mode',
class: 'edit-mode discovery-hidden-in-dzen',
title: 'Toggle edit mode',

@@ -73,2 +73,3 @@ onclick: ({ target }) => {

titleInputEl = createElement('input', {
class: 'discovery-hidden-in-dzen',
placeholder: 'Untitled report',

@@ -75,0 +76,0 @@ oninput: ({ target }) => updateParams({

import Progressbar from './core/utils/progressbar.js';
import { dataSource, syncLoaderWithProgressbar } from './core/utils/load-data.js';
import applyContainerStyles from './core/utils/apply-container-styles.js';
import { applyContainerStyles } from './core/utils/apply-container-styles.js';
import injectStyles from './core/utils/inject-styles.js';

@@ -5,0 +5,0 @@

@@ -72,3 +72,3 @@ /* eslint-env browser */

// single event handler for all `signature` view instances
document.addEventListener('click', clickHandler, false);
discovery.addHostElEventListener('click', clickHandler, false);

@@ -75,0 +75,0 @@ // signature details popup

@@ -16,4 +16,4 @@ /* eslint-env browser */

import { DarkModeController } from '../core/darkmode.js';
import { WidgetNavigation } from './nav.js';
import * as lib from '../lib.js';
import { WidgetNavigation } from '../nav/index.js';
import * as lib from '../lib.js'; // FIXME: temporary solution to expose discovery's lib API
import jora from 'jora';

@@ -58,9 +58,2 @@

const lookupObjectMarkerAll = (value) => objectMarkers.lookupAll(value);
const queryCustomMethods = {
query: (...args) => instance.query(...args),
pageLink: (pageRef, pageId, pageParams) =>
instance.encodePageHash(pageId, pageRef, pageParams),
marker: lookupObjectMarker,
markerAll: lookupObjectMarkerAll
};
const addValueAnnotation = (query, options = false) => {

@@ -78,3 +71,28 @@ if (typeof options === 'boolean') {

};
const resolveValueLinks = (value) => {
const result = [];
const type = typeof value;
if (value && (type === 'object' || type === 'string')) {
for (const resolver of linkResolvers) {
const link = resolver(value);
if (link) {
result.push(link);
}
}
}
return result.length ? result : null;
};
let queryCustomMethods = {
query: (...args) => instance.query(...args),
pageLink: (pageRef, pageId, pageParams) =>
instance.encodePageHash(pageId, pageRef, pageParams),
marker: lookupObjectMarker,
markerAll: lookupObjectMarkerAll
};
let joraSetup = jora.setup(queryCustomMethods);
return {

@@ -85,4 +103,5 @@ apply() {

linkResolvers,
resolveValueLinks,
annotations,
queryFnFromString: jora.setup(queryCustomMethods)
queryFnFromString: joraSetup
});

@@ -93,2 +112,3 @@ },

lookupObjectMarkerAll,
resolveValueLinks,
defineObjectMarker(name, options) {

@@ -150,3 +170,10 @@ const { page, mark, lookup } = objectMarkers.define(name, options) || {};

addQueryHelpers(helpers) {
Object.assign(queryCustomMethods, helpers);
queryCustomMethods = {
...queryCustomMethods,
...helpers
};
joraSetup = jora.setup(queryCustomMethods);
},
query(query, ...args) {
return instance.queryFn.call({ queryFnFromString: joraSetup }, query)(...args);
}

@@ -217,3 +244,6 @@ }

this.setContainer(container);
attachViewInspector(this);
if (this.options.inspector || this.options.inspector === undefined) {
this.apply(attachViewInspector);
}
}

@@ -314,17 +344,5 @@

resolveValueLinks(value) {
const result = [];
const type = typeof value;
if (value && (type === 'object' || type === 'string')) {
for (const resolver of this.linkResolvers) {
const link = resolver(value);
if (link) {
result.push(link);
}
}
}
return result.length ? result : null;
// The method is overridden by createDataExtensionApi().apply()
resolveValueLinks() {
return null;
}

@@ -508,4 +526,4 @@

container.append(
this.dom.nav = createElement('div', 'discovery-nav'),
this.dom.sidebar = createElement('nav', 'discovery-sidebar'),
this.dom.nav = createElement('div', 'discovery-nav discovery-hidden-in-dzen'),
this.dom.sidebar = createElement('nav', 'discovery-sidebar discovery-hidden-in-dzen'),
this.dom.content = createElement('main', 'discovery-content', [

@@ -512,0 +530,0 @@ this.dom.pageContent = createElement('article')

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc