diff --git a/.gitignore b/.gitignore index 40b878d..3e6d72c 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ -node_modules/ \ No newline at end of file +node_modules/ +dist +*.log +.npm diff --git a/dist/index.js b/dist/index.js deleted file mode 100644 index e281239..0000000 --- a/dist/index.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";function noop(){}function run(e){return e()}function blank_object(){return Object.create(null)}function run_all(e){e.forEach(run)}function is_function(e){return"function"==typeof e}function safe_not_equal(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function null_to_empty(e){return null==e?"":e}function append(e,t){e.appendChild(t)}function insert(e,t,n){e.insertBefore(t,n||null)}function detach(e){e.parentNode.removeChild(e)}function destroy_each(e,t){for(let n=0;ne.removeEventListener(t,n,r)}function attr(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function children(e){return Array.from(e.childNodes)}function set_data(e,t){t=""+t,e.data!==t&&(e.data=t)}function toggle_class(e,t,n){e.classList[n?"add":"remove"](t)}let current_component;function set_current_component(e){current_component=e}function get_current_component(){if(!current_component)throw new Error("Function called outside component initialization");return current_component}function setContext(e,t){get_current_component().$$.context.set(e,t)}function getContext(e){return get_current_component().$$.context.get(e)}function bubble(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e(t))}const dirty_components=[],binding_callbacks=[],render_callbacks=[],flush_callbacks=[],resolved_promise=Promise.resolve();let update_scheduled=!1;function schedule_update(){update_scheduled||(update_scheduled=!0,resolved_promise.then(flush))}function add_render_callback(e){render_callbacks.push(e)}function flush(){const e=new Set;do{for(;dirty_components.length;){const e=dirty_components.shift();set_current_component(e),update(e.$$)}for(;binding_callbacks.length;)binding_callbacks.pop()();for(let t=0;t{outroing.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}}function create_component(e){e&&e.c()}function mount_component(e,t,n){const{fragment:r,on_mount:a,on_destroy:o,after_update:s}=e.$$;r&&r.m(t,n),add_render_callback(()=>{const t=a.map(run).filter(is_function);o?o.push(...t):run_all(t),e.$$.on_mount=[]}),s.forEach(add_render_callback)}function destroy_component(e,t){const n=e.$$;null!==n.fragment&&(run_all(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function make_dirty(e,t){-1===e.$$.dirty[0]&&(dirty_components.push(e),schedule_update(),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<(c.ctx&&a(c.ctx[t],c.ctx[t]=r)&&(c.bound[t]&&c.bound[t](r),d&&make_dirty(e,t)),n)):[],c.update(),d=!0,run_all(c.before_update),c.fragment=!!r&&r(c.ctx),t.target&&(t.hydrate?c.fragment&&c.fragment.l(children(t.target)):c.fragment&&c.fragment.c(),t.intro&&transition_in(e.$$.fragment),mount_component(e,t.target,t.anchor),flush()),set_current_component(i)}class SvelteComponent{$destroy(){destroy_component(this,1),this.$destroy=noop}$on(e,t){const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const e=n.indexOf(t);-1!==e&&n.splice(e,1)}}$set(){}}var contextKey={};function add_css(){var e=element("style");e.id="svelte-1vyml86-style",e.textContent=".container.svelte-1vyml86{display:inline-block;cursor:pointer;transform:translate(calc(0px - var(--li-identation)), -50%);position:absolute;top:50%;padding-right:100%}.arrow.svelte-1vyml86{transform-origin:25% 50%;position:relative;line-height:1.1em;font-size:0.75em;margin-left:0;transition:150ms;color:var(--arrow-sign);user-select:none;font-family:'Courier New', Courier, monospace}.expanded.svelte-1vyml86{transform:rotateZ(90deg) translateX(-3px)}",append(document.head,e)}function create_fragment(e){let t,n,r;return{c(){t=element("div"),n=element("div"),n.textContent="▶",attr(n,"class","arrow svelte-1vyml86"),toggle_class(n,"expanded",e[0]),attr(t,"class","container svelte-1vyml86"),r=listen(t,"click",e[1])},m(e,r){insert(e,t,r),append(t,n)},p(e,[t]){1&t&&toggle_class(n,"expanded",e[0])},i:noop,o:noop,d(e){e&&detach(t),r()}}}function instance(e,t,n){let{expanded:r}=t;return e.$set=e=>{"expanded"in e&&n(0,r=e.expanded)},[r,function(t){bubble(e,t)}]}class JSONArrow extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-1vyml86-style")||add_css(),init(this,e,instance,create_fragment,safe_not_equal,{expanded:0})}}function add_css$1(){var e=element("style");e.id="svelte-1vlbacg-style",e.textContent="label.svelte-1vlbacg{display:inline-block;color:var(--label-color);padding:0}.spaced.svelte-1vlbacg{padding-right:var(--li-colon-space)}",append(document.head,e)}function create_if_block(e){let t,n,r,a,o;return{c(){t=element("label"),n=element("span"),r=text(e[0]),a=text(e[2]),attr(t,"class","svelte-1vlbacg"),toggle_class(t,"spaced",e[1]),o=listen(t,"click",e[5])},m(e,o){insert(e,t,o),append(t,n),append(n,r),append(n,a)},p(e,n){1&n&&set_data(r,e[0]),4&n&&set_data(a,e[2]),2&n&&toggle_class(t,"spaced",e[1])},d(e){e&&detach(t),o()}}}function create_fragment$1(e){let t,n=e[3]&&e[0]&&create_if_block(e);return{c(){n&&n.c(),t=empty()},m(e,r){n&&n.m(e,r),insert(e,t,r)},p(e,[r]){e[3]&&e[0]?n?n.p(e,r):(n=create_if_block(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop,o:noop,d(e){n&&n.d(e),e&&detach(t)}}}function instance$1(e,t,n){let r,{key:a}=t,{isParentExpanded:o}=t,{isParentArray:s=!1}=t,{colon:i=":"}=t;return e.$set=e=>{"key"in e&&n(0,a=e.key),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(4,s=e.isParentArray),"colon"in e&&n(2,i=e.colon)},e.$$.update=()=>{19&e.$$.dirty&&n(3,r=o||!s||a!=+a)},[a,o,i,r,s,function(t){bubble(e,t)}]}class JSONKey extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-1vlbacg-style")||add_css$1(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{key:0,isParentExpanded:1,isParentArray:4,colon:2})}}function add_css$2(){var e=element("style");e.id="svelte-rwxv37-style",e.textContent="label.svelte-rwxv37{display:inline-block}.indent.svelte-rwxv37{padding-left:var(--li-identation)}.collapse.svelte-rwxv37{--li-display:inline;display:inline;font-style:italic}.comma.svelte-rwxv37{margin-left:-0.5em;margin-right:0.5em}label.svelte-rwxv37{position:relative}",append(document.head,e)}function get_each_context(e,t,n){const r=e.slice();return r[12]=t[n],r[20]=n,r}function create_if_block_3(e){let t;const n=new JSONArrow({props:{expanded:e[0]}});return n.$on("click",e[15]),{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,t){const r={};1&t&&(r.expanded=e[0]),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function create_else_block(e){let t;return{c(){t=element("span"),t.textContent="…"},m(e,n){insert(e,t,n)},p:noop,i:noop,o:noop,d(e){e&&detach(t)}}}function create_if_block$1(e){let t,n,r,a,o=e[13],s=[];for(let t=0;ttransition_out(s[e],1,1,()=>{s[e]=null});let l=e[13].length{$=null}),check_outros());const o={};4096&a&&(o.key=e[12]),4&a&&(o.isParentExpanded=e[2]),8&a&&(o.isParentArray=e[3]),g.$set(o),(!m||2&a)&&set_data(i,e[1]),(!m||32&a)&&set_data(l,e[5]);let s=d;d=x(e),d===s?b[d].p(e,a):(group_outros(),transition_out(b[s],1,1,()=>{b[s]=null}),check_outros(),u=b[d],u||(u=b[d]=v[d](e),u.c()),transition_in(u,1),u.m(t,p)),(!m||64&a)&&set_data(y,e[6]),4&a&&toggle_class(t,"indent",e[2])},i(e){m||(transition_in($),transition_in(g.$$.fragment,e),transition_in(u),m=!0)},o(e){transition_out($),transition_out(g.$$.fragment,e),transition_out(u),m=!1},d(e){e&&detach(t),$&&$.d(),destroy_component(g),b[d].d(),f()}}}function instance$2(e,t,n){let{key:r}=t,{keys:a}=t,{colon:o=":"}=t,{label:s=""}=t,{isParentExpanded:i}=t,{isParentArray:l}=t,{isArray:c=!1}=t,{bracketOpen:d}=t,{bracketClose:u}=t,{previewKeys:p=a}=t,{getKey:_=(e=>e)}=t,{getValue:y=(e=>e)}=t,{getPreviewValue:m=y}=t,{expanded:f=!1}=t,{expandable:$=!0}=t;const g=getContext(contextKey);let v;return setContext(contextKey,{...g,colon:o}),e.$set=e=>{"key"in e&&n(12,r=e.key),"keys"in e&&n(17,a=e.keys),"colon"in e&&n(18,o=e.colon),"label"in e&&n(1,s=e.label),"isParentExpanded"in e&&n(2,i=e.isParentExpanded),"isParentArray"in e&&n(3,l=e.isParentArray),"isArray"in e&&n(4,c=e.isArray),"bracketOpen"in e&&n(5,d=e.bracketOpen),"bracketClose"in e&&n(6,u=e.bracketClose),"previewKeys"in e&&n(7,p=e.previewKeys),"getKey"in e&&n(8,_=e.getKey),"getValue"in e&&n(9,y=e.getValue),"getPreviewValue"in e&&n(10,m=e.getPreviewValue),"expanded"in e&&n(0,f=e.expanded),"expandable"in e&&n(11,$=e.expandable)},e.$$.update=()=>{4&e.$$.dirty&&(i||n(0,f=!1)),131201&e.$$.dirty&&n(13,v=f?a:p.slice(0,5))},[f,s,i,l,c,d,u,p,_,y,m,$,r,v,g,function(){n(0,f=!f)},function(){n(0,f=!0)},a,o]}class JSONNested extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-rwxv37-style")||add_css$2(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{key:12,keys:17,colon:18,label:1,isParentExpanded:2,isParentArray:3,isArray:4,bracketOpen:5,bracketClose:6,previewKeys:7,getKey:8,getValue:9,getPreviewValue:10,expanded:0,expandable:11})}}function create_fragment$3(e){let t;const n=new JSONNested({props:{key:e[0],expanded:e[4],isParentExpanded:e[1],isParentArray:e[2],keys:e[5],previewKeys:e[5],getValue:e[6],label:e[3]+" ",bracketOpen:"{",bracketClose:"}"}});return{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),16&t&&(r.expanded=e[4]),2&t&&(r.isParentExpanded=e[1]),4&t&&(r.isParentArray=e[2]),32&t&&(r.keys=e[5]),32&t&&(r.previewKeys=e[5]),8&t&&(r.label=e[3]+" "),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function instance$3(e,t,n){let r,{key:a}=t,{value:o}=t,{isParentExpanded:s}=t,{isParentArray:i}=t,{nodeType:l}=t,{expanded:c=!1}=t;return e.$set=e=>{"key"in e&&n(0,a=e.key),"value"in e&&n(7,o=e.value),"isParentExpanded"in e&&n(1,s=e.isParentExpanded),"isParentArray"in e&&n(2,i=e.isParentArray),"nodeType"in e&&n(3,l=e.nodeType),"expanded"in e&&n(4,c=e.expanded)},e.$$.update=()=>{128&e.$$.dirty&&n(5,r=Object.getOwnPropertyNames(o))},[a,s,i,l,c,r,function(e){return o[e]},o]}class JSONObjectNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,create_fragment$3,safe_not_equal,{key:0,value:7,isParentExpanded:1,isParentArray:2,nodeType:3,expanded:4})}}function create_fragment$4(e){let t;const n=new JSONNested({props:{key:e[0],expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],isArray:!0,keys:e[5],previewKeys:e[6],getValue:e[7],label:"Array("+e[1].length+")",bracketOpen:"[",bracketClose:"]"}});return{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),16&t&&(r.expanded=e[4]),4&t&&(r.isParentExpanded=e[2]),8&t&&(r.isParentArray=e[3]),32&t&&(r.keys=e[5]),64&t&&(r.previewKeys=e[6]),2&t&&(r.label="Array("+e[1].length+")"),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function instance$4(e,t,n){let{key:r}=t,{value:a}=t,{isParentExpanded:o}=t,{isParentArray:s}=t,{expanded:i=!1}=t;const l=new Set(["length"]);let c,d;return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,a=e.value),"isParentExpanded"in e&&n(2,o=e.isParentExpanded),"isParentArray"in e&&n(3,s=e.isParentArray),"expanded"in e&&n(4,i=e.expanded)},e.$$.update=()=>{2&e.$$.dirty&&n(5,c=Object.getOwnPropertyNames(a)),32&e.$$.dirty&&n(6,d=c.filter(e=>!l.has(e)))},[r,a,o,s,i,c,d,function(e){return a[e]}]}class JSONArrayNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$4,create_fragment$4,safe_not_equal,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function create_fragment$5(e){let t;const n=new JSONNested({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:getKey,getValue:getValue,isArray:!0,label:e[3]+"("+e[4].length+")",bracketOpen:"{",bracketClose:"}"}});return{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),2&t&&(r.isParentExpanded=e[1]),4&t&&(r.isParentArray=e[2]),16&t&&(r.keys=e[4]),24&t&&(r.label=e[3]+"("+e[4].length+")"),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function getKey(e){return String(e[0])}function getValue(e){return e[1]}function instance$5(e,t,n){let{key:r}=t,{value:a}=t,{isParentExpanded:o}=t,{isParentArray:s}=t,{nodeType:i}=t,l=[];return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,a=e.value),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(2,s=e.isParentArray),"nodeType"in e&&n(3,i=e.nodeType)},e.$$.update=()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of a)e.push([t++,n]);n(4,l=e)}},[r,o,s,i,l,a]}class JSONIterableArrayNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,create_fragment$5,safe_not_equal,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}class MapEntry{constructor(e,t){this.key=e,this.value=t}}function create_fragment$6(e){let t;const n=new JSONNested({props:{key:e[0],isParentExpanded:e[1],isParentArray:e[2],keys:e[4],getKey:getKey$1,getValue:getValue$1,label:e[3]+"("+e[4].length+")",colon:"",bracketOpen:"{",bracketClose:"}"}});return{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,[t]){const r={};1&t&&(r.key=e[0]),2&t&&(r.isParentExpanded=e[1]),4&t&&(r.isParentArray=e[2]),16&t&&(r.keys=e[4]),24&t&&(r.label=e[3]+"("+e[4].length+")"),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function getKey$1(e){return e[0]}function getValue$1(e){return e[1]}function instance$6(e,t,n){let{key:r}=t,{value:a}=t,{isParentExpanded:o}=t,{isParentArray:s}=t,{nodeType:i}=t,l=[];return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(5,a=e.value),"isParentExpanded"in e&&n(1,o=e.isParentExpanded),"isParentArray"in e&&n(2,s=e.isParentArray),"nodeType"in e&&n(3,i=e.nodeType)},e.$$.update=()=>{if(32&e.$$.dirty){let e=[],t=0;for(const n of a)e.push([t++,new MapEntry(n[0],n[1])]);n(4,l=e)}},[r,o,s,i,l,a]}class JSONIterableMapNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,create_fragment$6,safe_not_equal,{key:0,value:5,isParentExpanded:1,isParentArray:2,nodeType:3})}}function create_fragment$7(e){let t;const n=new JSONNested({props:{expanded:e[4],isParentExpanded:e[2],isParentArray:e[3],key:e[2]?String(e[0]):e[1].key,keys:e[5],getValue:e[6],label:e[2]?"Entry ":"=> ",bracketOpen:"{",bracketClose:"}"}});return{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,[t]){const r={};16&t&&(r.expanded=e[4]),4&t&&(r.isParentExpanded=e[2]),8&t&&(r.isParentArray=e[3]),7&t&&(r.key=e[2]?String(e[0]):e[1].key),4&t&&(r.label=e[2]?"Entry ":"=> "),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function instance$7(e,t,n){let{key:r}=t,{value:a}=t,{isParentExpanded:o}=t,{isParentArray:s}=t,{expanded:i=!1}=t;return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,a=e.value),"isParentExpanded"in e&&n(2,o=e.isParentExpanded),"isParentArray"in e&&n(3,s=e.isParentArray),"expanded"in e&&n(4,i=e.expanded)},[r,a,o,s,i,["key","value"],function(e){return a[e]}]}class JSONMapEntryNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$7,safe_not_equal,{key:0,value:1,isParentExpanded:2,isParentArray:3,expanded:4})}}function add_css$3(){var e=element("style");e.id="svelte-3bjyvl-style",e.textContent="li.svelte-3bjyvl{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-3bjyvl{padding-left:var(--li-identation)}.String.svelte-3bjyvl{color:var(--string-color)}.Date.svelte-3bjyvl{color:var(--date-color)}.Number.svelte-3bjyvl{color:var(--number-color)}.Boolean.svelte-3bjyvl{color:var(--boolean-color)}.Null.svelte-3bjyvl{color:var(--null-color)}.Undefined.svelte-3bjyvl{color:var(--undefined-color)}.Function.svelte-3bjyvl{color:var(--function-color);font-style:italic}.Symbol.svelte-3bjyvl{color:var(--symbol-color)}",append(document.head,e)}function create_fragment$8(e){let t,n,r,a,o,s,i=(e[2]?e[2](e[1]):e[1])+"";const l=new JSONKey({props:{key:e[0],colon:e[6],isParentExpanded:e[3],isParentArray:e[4]}});return{c(){t=element("li"),create_component(l.$$.fragment),n=space(),r=element("span"),a=text(i),attr(r,"class",o=null_to_empty(e[5])+" svelte-3bjyvl"),attr(t,"class","svelte-3bjyvl"),toggle_class(t,"indent",e[3])},m(e,o){insert(e,t,o),mount_component(l,t,null),append(t,n),append(t,r),append(r,a),s=!0},p(e,[n]){const c={};1&n&&(c.key=e[0]),8&n&&(c.isParentExpanded=e[3]),16&n&&(c.isParentArray=e[4]),l.$set(c),(!s||6&n)&&i!==(i=(e[2]?e[2](e[1]):e[1])+"")&&set_data(a,i),(!s||32&n&&o!==(o=null_to_empty(e[5])+" svelte-3bjyvl"))&&attr(r,"class",o),8&n&&toggle_class(t,"indent",e[3])},i(e){s||(transition_in(l.$$.fragment,e),s=!0)},o(e){transition_out(l.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(l)}}}function instance$8(e,t,n){let{key:r}=t,{value:a}=t,{valueGetter:o=null}=t,{isParentExpanded:s}=t,{isParentArray:i}=t,{nodeType:l}=t;const{colon:c}=getContext(contextKey);return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,a=e.value),"valueGetter"in e&&n(2,o=e.valueGetter),"isParentExpanded"in e&&n(3,s=e.isParentExpanded),"isParentArray"in e&&n(4,i=e.isParentArray),"nodeType"in e&&n(5,l=e.nodeType)},[r,a,o,s,i,l,c]}class JSONValueNode extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-3bjyvl-style")||add_css$3(),init(this,e,instance$8,create_fragment$8,safe_not_equal,{key:0,value:1,valueGetter:2,isParentExpanded:3,isParentArray:4,nodeType:5})}}function add_css$4(){var e=element("style");e.id="svelte-1ca3gb2-style",e.textContent="li.svelte-1ca3gb2{user-select:text;word-wrap:break-word;word-break:break-all}.indent.svelte-1ca3gb2{padding-left:var(--li-identation)}.collapse.svelte-1ca3gb2{--li-display:inline;display:inline;font-style:italic}",append(document.head,e)}function get_each_context$1(e,t,n){const r=e.slice();return r[8]=t[n],r[10]=n,r}function create_if_block_2$1(e){let t;const n=new JSONArrow({props:{expanded:e[0]}});return n.$on("click",e[7]),{c(){create_component(n.$$.fragment)},m(e,r){mount_component(n,e,r),t=!0},p(e,t){const r={};1&t&&(r.expanded=e[0]),n.$set(r)},i(e){t||(transition_in(n.$$.fragment,e),t=!0)},o(e){transition_out(n.$$.fragment,e),t=!1},d(e){destroy_component(n,e)}}}function create_if_block$2(e){let t,n,r=e[0]&&create_if_block_1$1(e);return{c(){t=element("ul"),r&&r.c(),attr(t,"class","svelte-1ca3gb2"),toggle_class(t,"collapse",!e[0])},m(e,a){insert(e,t,a),r&&r.m(t,null),n=!0},p(e,n){e[0]?r?(r.p(e,n),transition_in(r,1)):(r=create_if_block_1$1(e),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,()=>{r=null}),check_outros()),1&n&&toggle_class(t,"collapse",!e[0])},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r&&r.d()}}}function create_if_block_1$1(e){let t,n,r,a,o;const s=new JSONNode({props:{key:"message",value:e[2].message}}),i=new JSONKey({props:{key:"stack",colon:":",isParentExpanded:e[3]}});let l=e[5],c=[];for(let t=0;t0)},m(e,a){insert(e,t,a),append(t,n),insert(e,r,a)},p(e,t){32&t&&a!==(a=e[8]+"")&&set_data(n,a)},d(e){e&&detach(t),e&&detach(r)}}}function create_fragment$9(e){let t,n,r,a,o,s,i,l,c,d=(e[0]?"":e[2].message)+"",u=e[3]&&create_if_block_2$1(e);const p=new JSONKey({props:{key:e[1],colon:e[6].colon,isParentExpanded:e[3],isParentArray:e[4]}});let _=e[3]&&create_if_block$2(e);return{c(){t=element("li"),u&&u.c(),n=space(),create_component(p.$$.fragment),r=space(),a=element("span"),o=text("Error: "),s=text(d),i=space(),_&&_.c(),attr(t,"class","svelte-1ca3gb2"),toggle_class(t,"indent",e[3]),c=listen(a,"click",e[7])},m(e,c){insert(e,t,c),u&&u.m(t,null),append(t,n),mount_component(p,t,null),append(t,r),append(t,a),append(a,o),append(a,s),append(t,i),_&&_.m(t,null),l=!0},p(e,[r]){e[3]?u?(u.p(e,r),transition_in(u,1)):(u=create_if_block_2$1(e),u.c(),transition_in(u,1),u.m(t,n)):u&&(group_outros(),transition_out(u,1,1,()=>{u=null}),check_outros());const a={};2&r&&(a.key=e[1]),8&r&&(a.isParentExpanded=e[3]),16&r&&(a.isParentArray=e[4]),p.$set(a),(!l||5&r)&&d!==(d=(e[0]?"":e[2].message)+"")&&set_data(s,d),e[3]?_?(_.p(e,r),transition_in(_,1)):(_=create_if_block$2(e),_.c(),transition_in(_,1),_.m(t,null)):_&&(group_outros(),transition_out(_,1,1,()=>{_=null}),check_outros()),8&r&&toggle_class(t,"indent",e[3])},i(e){l||(transition_in(u),transition_in(p.$$.fragment,e),transition_in(_),l=!0)},o(e){transition_out(u),transition_out(p.$$.fragment,e),transition_out(_),l=!1},d(e){e&&detach(t),u&&u.d(),destroy_component(p),_&&_.d(),c()}}}function instance$9(e,t,n){let{key:r}=t,{value:a}=t,{isParentExpanded:o}=t,{isParentArray:s}=t,{expanded:i=!1}=t;const l=getContext(contextKey);let c;return setContext(contextKey,{...l,colon:":"}),e.$set=e=>{"key"in e&&n(1,r=e.key),"value"in e&&n(2,a=e.value),"isParentExpanded"in e&&n(3,o=e.isParentExpanded),"isParentArray"in e&&n(4,s=e.isParentArray),"expanded"in e&&n(0,i=e.expanded)},e.$$.update=()=>{4&e.$$.dirty&&n(5,c=a.stack.split("\n")),8&e.$$.dirty&&(o||n(0,i=!1))},[i,r,a,o,s,c,l,function(){n(0,i=!i)}]}class ErrorNode extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-1ca3gb2-style")||add_css$4(),init(this,e,instance$9,create_fragment$9,safe_not_equal,{key:1,value:2,isParentExpanded:3,isParentArray:4,expanded:0})}}function objType(e){const t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t?"function"==typeof e[Symbol.iterator]?"Iterable":e.constructor.name:t}function create_fragment$a(e){let t,n;var r=e[5];function a(e){return{props:{key:e[0],value:e[1],isParentExpanded:e[2],isParentArray:e[3],nodeType:e[4],valueGetter:e[6]}}}if(r)var o=new r(a(e));return{c(){o&&create_component(o.$$.fragment),t=empty()},m(e,r){o&&mount_component(o,e,r),insert(e,t,r),n=!0},p(e,[n]){const s={};if(1&n&&(s.key=e[0]),2&n&&(s.value=e[1]),4&n&&(s.isParentExpanded=e[2]),8&n&&(s.isParentArray=e[3]),16&n&&(s.nodeType=e[4]),64&n&&(s.valueGetter=e[6]),r!==(r=e[5])){if(o){group_outros();const e=o;transition_out(e.$$.fragment,1,0,()=>{destroy_component(e,1)}),check_outros()}r?(create_component((o=new r(a(e))).$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,t.parentNode,t)):o=null}else r&&o.$set(s)},i(e){n||(o&&transition_in(o.$$.fragment,e),n=!0)},o(e){o&&transition_out(o.$$.fragment,e),n=!1},d(e){e&&detach(t),o&&destroy_component(o,e)}}}function instance$a(e,t,n){let r,a,o,{key:s}=t,{value:i}=t,{isParentExpanded:l}=t,{isParentArray:c}=t;return e.$set=e=>{"key"in e&&n(0,s=e.key),"value"in e&&n(1,i=e.value),"isParentExpanded"in e&&n(2,l=e.isParentExpanded),"isParentArray"in e&&n(3,c=e.isParentArray)},e.$$.update=()=>{2&e.$$.dirty&&n(4,r=objType(i)),16&e.$$.dirty&&n(5,a=function(e){switch(e){case"Object":return JSONObjectNode;case"Error":return ErrorNode;case"Array":return JSONArrayNode;case"Iterable":case"Map":case"Set":return"function"==typeof i.set?JSONIterableMapNode:JSONIterableArrayNode;case"MapEntry":return JSONMapEntryNode;default:return JSONValueNode}}(r)),16&e.$$.dirty&&n(6,o=function(e){switch(e){case"Object":case"Error":case"Array":case"Iterable":case"Map":case"Set":case"MapEntry":case"Number":return;case"String":return e=>`"${e}"`;case"Boolean":return e=>e?"true":"false";case"Date":return e=>e.toISOString();case"Null":return()=>"null";case"Undefined":return()=>"undefined";case"Function":case"Symbol":return e=>e.toString();default:return()=>`<${e}>`}}(r))},[s,i,l,c,r,a,o]}class JSONNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$a,safe_not_equal,{key:0,value:1,isParentExpanded:2,isParentArray:3})}}function add_css$5(){var e=element("style");e.id="svelte-773n60-style",e.textContent="ul.svelte-773n60{--string-color:var(--json-tree-string-color, #cb3f41);--symbol-color:var(--json-tree-symbol-color, #cb3f41);--boolean-color:var(--json-tree-boolean-color, #112aa7);--function-color:var(--json-tree-function-color, #112aa7);--number-color:var(--json-tree-number-color, #3029cf);--label-color:var(--json-tree-label-color, #871d8f);--arrow-color:var(--json-tree-arrow-color, #727272);--null-color:var(--json-tree-null-color, #8d8d8d);--undefined-color:var(--json-tree-undefined-color, #8d8d8d);--date-color:var(--json-tree-date-color, #8d8d8d);--li-identation:var(--json-tree-li-indentation, 1em);--li-line-height:var(--json-tree-li-line-height, 1.3);--li-colon-space:0.3em;font-size:var(--json-tree-font-size, 12px);font-family:var(--json-tree-font-family, 'Courier New', Courier, monospace)}ul.svelte-773n60 li{line-height:var(--li-line-height);display:var(--li-display, list-item);list-style:none}ul.svelte-773n60,ul.svelte-773n60 ul{padding:0;margin:0}",append(document.head,e)}function create_fragment$b(e){let t,n;const r=new JSONNode({props:{key:e[0],value:e[1],isParentExpanded:!0,isParentArray:!1}});return{c(){t=element("ul"),create_component(r.$$.fragment),attr(t,"class","svelte-773n60")},m(e,a){insert(e,t,a),mount_component(r,t,null),n=!0},p(e,[t]){const n={};1&t&&(n.key=e[0]),2&t&&(n.value=e[1]),r.$set(n)},i(e){n||(transition_in(r.$$.fragment,e),n=!0)},o(e){transition_out(r.$$.fragment,e),n=!1},d(e){e&&detach(t),destroy_component(r)}}}function instance$b(e,t,n){setContext(contextKey,{});let{key:r=""}=t,{value:a}=t;return e.$set=e=>{"key"in e&&n(0,r=e.key),"value"in e&&n(1,a=e.value)},[r,a]}class Root extends SvelteComponent{constructor(e){super(),document.getElementById("svelte-773n60-style")||add_css$5(),init(this,e,instance$b,create_fragment$b,safe_not_equal,{key:0,value:1})}}module.exports=Root; -//# sourceMappingURL=index.js.map diff --git a/dist/index.js.map b/dist/index.js.map deleted file mode 100644 index ce23109..0000000 --- a/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sources":["../node_modules/svelte/internal/index.mjs","../src/context.js","../src/JSONArrow.svelte","../src/JSONKey.svelte","../src/JSONNested.svelte","../src/JSONObjectNode.svelte","../src/JSONArrayNode.svelte","../src/JSONIterableArrayNode.svelte","../src/utils/MapEntry.js","../src/JSONIterableMapNode.svelte","../src/JSONMapEntryNode.svelte","../src/JSONValueNode.svelte","../src/ErrorNode.svelte","../src/objType.js","../src/JSONNode.svelte","../src/Root.svelte"],"sourcesContent":["function noop() { }\nconst identity = x => x;\nfunction assign(tar, src) {\n // @ts-ignore\n for (const k in src)\n tar[k] = src[k];\n return tar;\n}\nfunction is_promise(value) {\n return value && typeof value === 'object' && typeof value.then === 'function';\n}\nfunction add_location(element, file, line, column, char) {\n element.__svelte_meta = {\n loc: { file, line, column, char }\n };\n}\nfunction run(fn) {\n return fn();\n}\nfunction blank_object() {\n return Object.create(null);\n}\nfunction run_all(fns) {\n fns.forEach(run);\n}\nfunction is_function(thing) {\n return typeof thing === 'function';\n}\nfunction safe_not_equal(a, b) {\n return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');\n}\nfunction not_equal(a, b) {\n return a != a ? b == b : a !== b;\n}\nfunction validate_store(store, name) {\n if (!store || typeof store.subscribe !== 'function') {\n throw new Error(`'${name}' is not a store with a 'subscribe' method`);\n }\n}\nfunction subscribe(store, callback) {\n const unsub = store.subscribe(callback);\n return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub;\n}\nfunction get_store_value(store) {\n let value;\n subscribe(store, _ => value = _)();\n return value;\n}\nfunction component_subscribe(component, store, callback) {\n component.$$.on_destroy.push(subscribe(store, callback));\n}\nfunction create_slot(definition, ctx, $$scope, fn) {\n if (definition) {\n const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);\n return definition[0](slot_ctx);\n }\n}\nfunction get_slot_context(definition, ctx, $$scope, fn) {\n return definition[1] && fn\n ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))\n : $$scope.ctx;\n}\nfunction get_slot_changes(definition, $$scope, dirty, fn) {\n if (definition[2] && fn) {\n const lets = definition[2](fn(dirty));\n if (typeof $$scope.dirty === 'object') {\n const merged = [];\n const len = Math.max($$scope.dirty.length, lets.length);\n for (let i = 0; i < len; i += 1) {\n merged[i] = $$scope.dirty[i] | lets[i];\n }\n return merged;\n }\n return $$scope.dirty | lets;\n }\n return $$scope.dirty;\n}\nfunction exclude_internal_props(props) {\n const result = {};\n for (const k in props)\n if (k[0] !== '$')\n result[k] = props[k];\n return result;\n}\nfunction once(fn) {\n let ran = false;\n return function (...args) {\n if (ran)\n return;\n ran = true;\n fn.call(this, ...args);\n };\n}\nfunction null_to_empty(value) {\n return value == null ? '' : value;\n}\nfunction set_store_value(store, ret, value = ret) {\n store.set(value);\n return ret;\n}\nconst has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop);\nfunction action_destroyer(action_result) {\n return action_result && is_function(action_result.destroy) ? action_result.destroy : noop;\n}\n\nconst is_client = typeof window !== 'undefined';\nlet now = is_client\n ? () => window.performance.now()\n : () => Date.now();\nlet raf = is_client ? cb => requestAnimationFrame(cb) : noop;\n// used internally for testing\nfunction set_now(fn) {\n now = fn;\n}\nfunction set_raf(fn) {\n raf = fn;\n}\n\nconst tasks = new Set();\nfunction run_tasks(now) {\n tasks.forEach(task => {\n if (!task.c(now)) {\n tasks.delete(task);\n task.f();\n }\n });\n if (tasks.size !== 0)\n raf(run_tasks);\n}\n/**\n * For testing purposes only!\n */\nfunction clear_loops() {\n tasks.clear();\n}\n/**\n * Creates a new task that runs on each raf frame\n * until it returns a falsy value or is aborted\n */\nfunction loop(callback) {\n let task;\n if (tasks.size === 0)\n raf(run_tasks);\n return {\n promise: new Promise(fulfill => {\n tasks.add(task = { c: callback, f: fulfill });\n }),\n abort() {\n tasks.delete(task);\n }\n };\n}\n\nfunction append(target, node) {\n target.appendChild(node);\n}\nfunction insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n}\nfunction detach(node) {\n node.parentNode.removeChild(node);\n}\nfunction destroy_each(iterations, detaching) {\n for (let i = 0; i < iterations.length; i += 1) {\n if (iterations[i])\n iterations[i].d(detaching);\n }\n}\nfunction element(name) {\n return document.createElement(name);\n}\nfunction element_is(name, is) {\n return document.createElement(name, { is });\n}\nfunction object_without_properties(obj, exclude) {\n const target = {};\n for (const k in obj) {\n if (has_prop(obj, k)\n // @ts-ignore\n && exclude.indexOf(k) === -1) {\n // @ts-ignore\n target[k] = obj[k];\n }\n }\n return target;\n}\nfunction svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n}\nfunction text(data) {\n return document.createTextNode(data);\n}\nfunction space() {\n return text(' ');\n}\nfunction empty() {\n return text('');\n}\nfunction listen(node, event, handler, options) {\n node.addEventListener(event, handler, options);\n return () => node.removeEventListener(event, handler, options);\n}\nfunction prevent_default(fn) {\n return function (event) {\n event.preventDefault();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction stop_propagation(fn) {\n return function (event) {\n event.stopPropagation();\n // @ts-ignore\n return fn.call(this, event);\n };\n}\nfunction self(fn) {\n return function (event) {\n // @ts-ignore\n if (event.target === this)\n fn.call(this, event);\n };\n}\nfunction attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n}\nfunction set_attributes(node, attributes) {\n // @ts-ignore\n const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);\n for (const key in attributes) {\n if (attributes[key] == null) {\n node.removeAttribute(key);\n }\n else if (key === 'style') {\n node.style.cssText = attributes[key];\n }\n else if (descriptors[key] && descriptors[key].set) {\n node[key] = attributes[key];\n }\n else {\n attr(node, key, attributes[key]);\n }\n }\n}\nfunction set_svg_attributes(node, attributes) {\n for (const key in attributes) {\n attr(node, key, attributes[key]);\n }\n}\nfunction set_custom_element_data(node, prop, value) {\n if (prop in node) {\n node[prop] = value;\n }\n else {\n attr(node, prop, value);\n }\n}\nfunction xlink_attr(node, attribute, value) {\n node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value);\n}\nfunction get_binding_group_value(group) {\n const value = [];\n for (let i = 0; i < group.length; i += 1) {\n if (group[i].checked)\n value.push(group[i].__value);\n }\n return value;\n}\nfunction to_number(value) {\n return value === '' ? undefined : +value;\n}\nfunction time_ranges_to_array(ranges) {\n const array = [];\n for (let i = 0; i < ranges.length; i += 1) {\n array.push({ start: ranges.start(i), end: ranges.end(i) });\n }\n return array;\n}\nfunction children(element) {\n return Array.from(element.childNodes);\n}\nfunction claim_element(nodes, name, attributes, svg) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeName === name) {\n for (let j = 0; j < node.attributes.length; j += 1) {\n const attribute = node.attributes[j];\n if (!attributes[attribute.name])\n node.removeAttribute(attribute.name);\n }\n return nodes.splice(i, 1)[0]; // TODO strip unwanted attributes\n }\n }\n return svg ? svg_element(name) : element(name);\n}\nfunction claim_text(nodes, data) {\n for (let i = 0; i < nodes.length; i += 1) {\n const node = nodes[i];\n if (node.nodeType === 3) {\n node.data = '' + data;\n return nodes.splice(i, 1)[0];\n }\n }\n return text(data);\n}\nfunction claim_space(nodes) {\n return claim_text(nodes, ' ');\n}\nfunction set_data(text, data) {\n data = '' + data;\n if (text.data !== data)\n text.data = data;\n}\nfunction set_input_value(input, value) {\n if (value != null || input.value) {\n input.value = value;\n }\n}\nfunction set_input_type(input, type) {\n try {\n input.type = type;\n }\n catch (e) {\n // do nothing\n }\n}\nfunction set_style(node, key, value, important) {\n node.style.setProperty(key, value, important ? 'important' : '');\n}\nfunction select_option(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n if (option.__value === value) {\n option.selected = true;\n return;\n }\n }\n}\nfunction select_options(select, value) {\n for (let i = 0; i < select.options.length; i += 1) {\n const option = select.options[i];\n option.selected = ~value.indexOf(option.__value);\n }\n}\nfunction select_value(select) {\n const selected_option = select.querySelector(':checked') || select.options[0];\n return selected_option && selected_option.__value;\n}\nfunction select_multiple_value(select) {\n return [].map.call(select.querySelectorAll(':checked'), option => option.__value);\n}\nfunction add_resize_listener(element, fn) {\n if (getComputedStyle(element).position === 'static') {\n element.style.position = 'relative';\n }\n const object = document.createElement('object');\n object.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; pointer-events: none; z-index: -1;');\n object.setAttribute('aria-hidden', 'true');\n object.type = 'text/html';\n object.tabIndex = -1;\n let win;\n object.onload = () => {\n win = object.contentDocument.defaultView;\n win.addEventListener('resize', fn);\n };\n if (/Trident/.test(navigator.userAgent)) {\n element.appendChild(object);\n object.data = 'about:blank';\n }\n else {\n object.data = 'about:blank';\n element.appendChild(object);\n }\n return {\n cancel: () => {\n win && win.removeEventListener && win.removeEventListener('resize', fn);\n element.removeChild(object);\n }\n };\n}\nfunction toggle_class(element, name, toggle) {\n element.classList[toggle ? 'add' : 'remove'](name);\n}\nfunction custom_event(type, detail) {\n const e = document.createEvent('CustomEvent');\n e.initCustomEvent(type, false, false, detail);\n return e;\n}\nclass HtmlTag {\n constructor(html, anchor = null) {\n this.e = element('div');\n this.a = anchor;\n this.u(html);\n }\n m(target, anchor = null) {\n for (let i = 0; i < this.n.length; i += 1) {\n insert(target, this.n[i], anchor);\n }\n this.t = target;\n }\n u(html) {\n this.e.innerHTML = html;\n this.n = Array.from(this.e.childNodes);\n }\n p(html) {\n this.d();\n this.u(html);\n this.m(this.t, this.a);\n }\n d() {\n this.n.forEach(detach);\n }\n}\n\nlet stylesheet;\nlet active = 0;\nlet current_rules = {};\n// https://github.com/darkskyapp/string-hash/blob/master/index.js\nfunction hash(str) {\n let hash = 5381;\n let i = str.length;\n while (i--)\n hash = ((hash << 5) - hash) ^ str.charCodeAt(i);\n return hash >>> 0;\n}\nfunction create_rule(node, a, b, duration, delay, ease, fn, uid = 0) {\n const step = 16.666 / duration;\n let keyframes = '{\\n';\n for (let p = 0; p <= 1; p += step) {\n const t = a + (b - a) * ease(p);\n keyframes += p * 100 + `%{${fn(t, 1 - t)}}\\n`;\n }\n const rule = keyframes + `100% {${fn(b, 1 - b)}}\\n}`;\n const name = `__svelte_${hash(rule)}_${uid}`;\n if (!current_rules[name]) {\n if (!stylesheet) {\n const style = element('style');\n document.head.appendChild(style);\n stylesheet = style.sheet;\n }\n current_rules[name] = true;\n stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length);\n }\n const animation = node.style.animation || '';\n node.style.animation = `${animation ? `${animation}, ` : ``}${name} ${duration}ms linear ${delay}ms 1 both`;\n active += 1;\n return name;\n}\nfunction delete_rule(node, name) {\n node.style.animation = (node.style.animation || '')\n .split(', ')\n .filter(name\n ? anim => anim.indexOf(name) < 0 // remove specific animation\n : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations\n )\n .join(', ');\n if (name && !--active)\n clear_rules();\n}\nfunction clear_rules() {\n raf(() => {\n if (active)\n return;\n let i = stylesheet.cssRules.length;\n while (i--)\n stylesheet.deleteRule(i);\n current_rules = {};\n });\n}\n\nfunction create_animation(node, from, fn, params) {\n if (!from)\n return noop;\n const to = node.getBoundingClientRect();\n if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom)\n return noop;\n const { delay = 0, duration = 300, easing = identity, \n // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation?\n start: start_time = now() + delay, \n // @ts-ignore todo:\n end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params);\n let running = true;\n let started = false;\n let name;\n function start() {\n if (css) {\n name = create_rule(node, 0, 1, duration, delay, easing, css);\n }\n if (!delay) {\n started = true;\n }\n }\n function stop() {\n if (css)\n delete_rule(node, name);\n running = false;\n }\n loop(now => {\n if (!started && now >= start_time) {\n started = true;\n }\n if (started && now >= end) {\n tick(1, 0);\n stop();\n }\n if (!running) {\n return false;\n }\n if (started) {\n const p = now - start_time;\n const t = 0 + 1 * easing(p / duration);\n tick(t, 1 - t);\n }\n return true;\n });\n start();\n tick(0, 1);\n return stop;\n}\nfunction fix_position(node) {\n const style = getComputedStyle(node);\n if (style.position !== 'absolute' && style.position !== 'fixed') {\n const { width, height } = style;\n const a = node.getBoundingClientRect();\n node.style.position = 'absolute';\n node.style.width = width;\n node.style.height = height;\n add_transform(node, a);\n }\n}\nfunction add_transform(node, a) {\n const b = node.getBoundingClientRect();\n if (a.left !== b.left || a.top !== b.top) {\n const style = getComputedStyle(node);\n const transform = style.transform === 'none' ? '' : style.transform;\n node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`;\n }\n}\n\nlet current_component;\nfunction set_current_component(component) {\n current_component = component;\n}\nfunction get_current_component() {\n if (!current_component)\n throw new Error(`Function called outside component initialization`);\n return current_component;\n}\nfunction beforeUpdate(fn) {\n get_current_component().$$.before_update.push(fn);\n}\nfunction onMount(fn) {\n get_current_component().$$.on_mount.push(fn);\n}\nfunction afterUpdate(fn) {\n get_current_component().$$.after_update.push(fn);\n}\nfunction onDestroy(fn) {\n get_current_component().$$.on_destroy.push(fn);\n}\nfunction createEventDispatcher() {\n const component = get_current_component();\n return (type, detail) => {\n const callbacks = component.$$.callbacks[type];\n if (callbacks) {\n // TODO are there situations where events could be dispatched\n // in a server (non-DOM) environment?\n const event = custom_event(type, detail);\n callbacks.slice().forEach(fn => {\n fn.call(component, event);\n });\n }\n };\n}\nfunction setContext(key, context) {\n get_current_component().$$.context.set(key, context);\n}\nfunction getContext(key) {\n return get_current_component().$$.context.get(key);\n}\n// TODO figure out if we still want to support\n// shorthand events, or if we want to implement\n// a real bubbling mechanism\nfunction bubble(component, event) {\n const callbacks = component.$$.callbacks[event.type];\n if (callbacks) {\n callbacks.slice().forEach(fn => fn(event));\n }\n}\n\nconst dirty_components = [];\nconst intros = { enabled: false };\nconst binding_callbacks = [];\nconst render_callbacks = [];\nconst flush_callbacks = [];\nconst resolved_promise = Promise.resolve();\nlet update_scheduled = false;\nfunction schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n}\nfunction tick() {\n schedule_update();\n return resolved_promise;\n}\nfunction add_render_callback(fn) {\n render_callbacks.push(fn);\n}\nfunction add_flush_callback(fn) {\n flush_callbacks.push(fn);\n}\nfunction flush() {\n const seen_callbacks = new Set();\n do {\n // first, call beforeUpdate functions\n // and update components\n while (dirty_components.length) {\n const component = dirty_components.shift();\n set_current_component(component);\n update(component.$$);\n }\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n callback();\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n}\nfunction update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n}\n\nlet promise;\nfunction wait() {\n if (!promise) {\n promise = Promise.resolve();\n promise.then(() => {\n promise = null;\n });\n }\n return promise;\n}\nfunction dispatch(node, direction, kind) {\n node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`));\n}\nconst outroing = new Set();\nlet outros;\nfunction group_outros() {\n outros = {\n r: 0,\n c: [],\n p: outros // parent group\n };\n}\nfunction check_outros() {\n if (!outros.r) {\n run_all(outros.c);\n }\n outros = outros.p;\n}\nfunction transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n}\nfunction transition_out(block, local, detach, callback) {\n if (block && block.o) {\n if (outroing.has(block))\n return;\n outroing.add(block);\n outros.c.push(() => {\n outroing.delete(block);\n if (callback) {\n if (detach)\n block.d(1);\n callback();\n }\n });\n block.o(local);\n }\n}\nconst null_transition = { duration: 0 };\nfunction create_in_transition(node, fn, params) {\n let config = fn(node, params);\n let running = false;\n let animation_name;\n let task;\n let uid = 0;\n function cleanup() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++);\n tick(0, 1);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n if (task)\n task.abort();\n running = true;\n add_render_callback(() => dispatch(node, true, 'start'));\n task = loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(1, 0);\n dispatch(node, true, 'end');\n cleanup();\n return running = false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(t, 1 - t);\n }\n }\n return running;\n });\n }\n let started = false;\n return {\n start() {\n if (started)\n return;\n delete_rule(node);\n if (is_function(config)) {\n config = config();\n wait().then(go);\n }\n else {\n go();\n }\n },\n invalidate() {\n started = false;\n },\n end() {\n if (running) {\n cleanup();\n running = false;\n }\n }\n };\n}\nfunction create_out_transition(node, fn, params) {\n let config = fn(node, params);\n let running = true;\n let animation_name;\n const group = outros;\n group.r += 1;\n function go() {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n if (css)\n animation_name = create_rule(node, 1, 0, duration, delay, easing, css);\n const start_time = now() + delay;\n const end_time = start_time + duration;\n add_render_callback(() => dispatch(node, false, 'start'));\n loop(now => {\n if (running) {\n if (now >= end_time) {\n tick(0, 1);\n dispatch(node, false, 'end');\n if (!--group.r) {\n // this will result in `end()` being called,\n // so we don't need to clean up here\n run_all(group.c);\n }\n return false;\n }\n if (now >= start_time) {\n const t = easing((now - start_time) / duration);\n tick(1 - t, t);\n }\n }\n return running;\n });\n }\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go();\n });\n }\n else {\n go();\n }\n return {\n end(reset) {\n if (reset && config.tick) {\n config.tick(1, 0);\n }\n if (running) {\n if (animation_name)\n delete_rule(node, animation_name);\n running = false;\n }\n }\n };\n}\nfunction create_bidirectional_transition(node, fn, params, intro) {\n let config = fn(node, params);\n let t = intro ? 0 : 1;\n let running_program = null;\n let pending_program = null;\n let animation_name = null;\n function clear_animation() {\n if (animation_name)\n delete_rule(node, animation_name);\n }\n function init(program, duration) {\n const d = program.b - t;\n duration *= Math.abs(d);\n return {\n a: t,\n b: program.b,\n d,\n duration,\n start: program.start,\n end: program.start + duration,\n group: program.group\n };\n }\n function go(b) {\n const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition;\n const program = {\n start: now() + delay,\n b\n };\n if (!b) {\n // @ts-ignore todo: improve typings\n program.group = outros;\n outros.r += 1;\n }\n if (running_program) {\n pending_program = program;\n }\n else {\n // if this is an intro, and there's a delay, we need to do\n // an initial tick and/or apply CSS animation immediately\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, b, duration, delay, easing, css);\n }\n if (b)\n tick(0, 1);\n running_program = init(program, duration);\n add_render_callback(() => dispatch(node, b, 'start'));\n loop(now => {\n if (pending_program && now > pending_program.start) {\n running_program = init(pending_program, duration);\n pending_program = null;\n dispatch(node, running_program.b, 'start');\n if (css) {\n clear_animation();\n animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css);\n }\n }\n if (running_program) {\n if (now >= running_program.end) {\n tick(t = running_program.b, 1 - t);\n dispatch(node, running_program.b, 'end');\n if (!pending_program) {\n // we're done\n if (running_program.b) {\n // intro — we can tidy up immediately\n clear_animation();\n }\n else {\n // outro — needs to be coordinated\n if (!--running_program.group.r)\n run_all(running_program.group.c);\n }\n }\n running_program = null;\n }\n else if (now >= running_program.start) {\n const p = now - running_program.start;\n t = running_program.a + running_program.d * easing(p / running_program.duration);\n tick(t, 1 - t);\n }\n }\n return !!(running_program || pending_program);\n });\n }\n }\n return {\n run(b) {\n if (is_function(config)) {\n wait().then(() => {\n // @ts-ignore\n config = config();\n go(b);\n });\n }\n else {\n go(b);\n }\n },\n end() {\n clear_animation();\n running_program = pending_program = null;\n }\n };\n}\n\nfunction handle_promise(promise, info) {\n const token = info.token = {};\n function update(type, index, key, value) {\n if (info.token !== token)\n return;\n info.resolved = value;\n let child_ctx = info.ctx;\n if (key !== undefined) {\n child_ctx = child_ctx.slice();\n child_ctx[key] = value;\n }\n const block = type && (info.current = type)(child_ctx);\n let needs_flush = false;\n if (info.block) {\n if (info.blocks) {\n info.blocks.forEach((block, i) => {\n if (i !== index && block) {\n group_outros();\n transition_out(block, 1, 1, () => {\n info.blocks[i] = null;\n });\n check_outros();\n }\n });\n }\n else {\n info.block.d(1);\n }\n block.c();\n transition_in(block, 1);\n block.m(info.mount(), info.anchor);\n needs_flush = true;\n }\n info.block = block;\n if (info.blocks)\n info.blocks[index] = block;\n if (needs_flush) {\n flush();\n }\n }\n if (is_promise(promise)) {\n const current_component = get_current_component();\n promise.then(value => {\n set_current_component(current_component);\n update(info.then, 1, info.value, value);\n set_current_component(null);\n }, error => {\n set_current_component(current_component);\n update(info.catch, 2, info.error, error);\n set_current_component(null);\n });\n // if we previously had a then/catch block, destroy it\n if (info.current !== info.pending) {\n update(info.pending, 0);\n return true;\n }\n }\n else {\n if (info.current !== info.then) {\n update(info.then, 1, info.value, promise);\n return true;\n }\n info.resolved = promise;\n }\n}\n\nconst globals = (typeof window !== 'undefined' ? window : global);\n\nfunction destroy_block(block, lookup) {\n block.d(1);\n lookup.delete(block.key);\n}\nfunction outro_and_destroy_block(block, lookup) {\n transition_out(block, 1, 1, () => {\n lookup.delete(block.key);\n });\n}\nfunction fix_and_destroy_block(block, lookup) {\n block.f();\n destroy_block(block, lookup);\n}\nfunction fix_and_outro_and_destroy_block(block, lookup) {\n block.f();\n outro_and_destroy_block(block, lookup);\n}\nfunction update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {\n let o = old_blocks.length;\n let n = list.length;\n let i = o;\n const old_indexes = {};\n while (i--)\n old_indexes[old_blocks[i].key] = i;\n const new_blocks = [];\n const new_lookup = new Map();\n const deltas = new Map();\n i = n;\n while (i--) {\n const child_ctx = get_context(ctx, list, i);\n const key = get_key(child_ctx);\n let block = lookup.get(key);\n if (!block) {\n block = create_each_block(key, child_ctx);\n block.c();\n }\n else if (dynamic) {\n block.p(child_ctx, dirty);\n }\n new_lookup.set(key, new_blocks[i] = block);\n if (key in old_indexes)\n deltas.set(key, Math.abs(i - old_indexes[key]));\n }\n const will_move = new Set();\n const did_move = new Set();\n function insert(block) {\n transition_in(block, 1);\n block.m(node, next);\n lookup.set(block.key, block);\n next = block.first;\n n--;\n }\n while (o && n) {\n const new_block = new_blocks[n - 1];\n const old_block = old_blocks[o - 1];\n const new_key = new_block.key;\n const old_key = old_block.key;\n if (new_block === old_block) {\n // do nothing\n next = new_block.first;\n o--;\n n--;\n }\n else if (!new_lookup.has(old_key)) {\n // remove old block\n destroy(old_block, lookup);\n o--;\n }\n else if (!lookup.has(new_key) || will_move.has(new_key)) {\n insert(new_block);\n }\n else if (did_move.has(old_key)) {\n o--;\n }\n else if (deltas.get(new_key) > deltas.get(old_key)) {\n did_move.add(new_key);\n insert(new_block);\n }\n else {\n will_move.add(old_key);\n o--;\n }\n }\n while (o--) {\n const old_block = old_blocks[o];\n if (!new_lookup.has(old_block.key))\n destroy(old_block, lookup);\n }\n while (n)\n insert(new_blocks[n - 1]);\n return new_blocks;\n}\nfunction measure(blocks) {\n const rects = {};\n let i = blocks.length;\n while (i--)\n rects[blocks[i].key] = blocks[i].node.getBoundingClientRect();\n return rects;\n}\n\nfunction get_spread_update(levels, updates) {\n const update = {};\n const to_null_out = {};\n const accounted_for = { $$scope: 1 };\n let i = levels.length;\n while (i--) {\n const o = levels[i];\n const n = updates[i];\n if (n) {\n for (const key in o) {\n if (!(key in n))\n to_null_out[key] = 1;\n }\n for (const key in n) {\n if (!accounted_for[key]) {\n update[key] = n[key];\n accounted_for[key] = 1;\n }\n }\n levels[i] = n;\n }\n else {\n for (const key in o) {\n accounted_for[key] = 1;\n }\n }\n }\n for (const key in to_null_out) {\n if (!(key in update))\n update[key] = undefined;\n }\n return update;\n}\nfunction get_spread_object(spread_props) {\n return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};\n}\n\n// source: https://html.spec.whatwg.org/multipage/indices.html\nconst boolean_attributes = new Set([\n 'allowfullscreen',\n 'allowpaymentrequest',\n 'async',\n 'autofocus',\n 'autoplay',\n 'checked',\n 'controls',\n 'default',\n 'defer',\n 'disabled',\n 'formnovalidate',\n 'hidden',\n 'ismap',\n 'loop',\n 'multiple',\n 'muted',\n 'nomodule',\n 'novalidate',\n 'open',\n 'playsinline',\n 'readonly',\n 'required',\n 'reversed',\n 'selected'\n]);\n\nconst invalid_attribute_name_character = /[\\s'\">/=\\u{FDD0}-\\u{FDEF}\\u{FFFE}\\u{FFFF}\\u{1FFFE}\\u{1FFFF}\\u{2FFFE}\\u{2FFFF}\\u{3FFFE}\\u{3FFFF}\\u{4FFFE}\\u{4FFFF}\\u{5FFFE}\\u{5FFFF}\\u{6FFFE}\\u{6FFFF}\\u{7FFFE}\\u{7FFFF}\\u{8FFFE}\\u{8FFFF}\\u{9FFFE}\\u{9FFFF}\\u{AFFFE}\\u{AFFFF}\\u{BFFFE}\\u{BFFFF}\\u{CFFFE}\\u{CFFFF}\\u{DFFFE}\\u{DFFFF}\\u{EFFFE}\\u{EFFFF}\\u{FFFFE}\\u{FFFFF}\\u{10FFFE}\\u{10FFFF}]/u;\n// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n// https://infra.spec.whatwg.org/#noncharacter\nfunction spread(args, classes_to_add) {\n const attributes = Object.assign({}, ...args);\n if (classes_to_add) {\n if (attributes.class == null) {\n attributes.class = classes_to_add;\n }\n else {\n attributes.class += ' ' + classes_to_add;\n }\n }\n let str = '';\n Object.keys(attributes).forEach(name => {\n if (invalid_attribute_name_character.test(name))\n return;\n const value = attributes[name];\n if (value === true)\n str += \" \" + name;\n else if (boolean_attributes.has(name.toLowerCase())) {\n if (value)\n str += \" \" + name;\n }\n else if (value != null) {\n str += \" \" + name + \"=\" + JSON.stringify(String(value)\n .replace(/\"/g, '"')\n .replace(/'/g, '''));\n }\n });\n return str;\n}\nconst escaped = {\n '\"': '"',\n \"'\": ''',\n '&': '&',\n '<': '<',\n '>': '>'\n};\nfunction escape(html) {\n return String(html).replace(/[\"'&<>]/g, match => escaped[match]);\n}\nfunction each(items, fn) {\n let str = '';\n for (let i = 0; i < items.length; i += 1) {\n str += fn(items[i], i);\n }\n return str;\n}\nconst missing_component = {\n $$render: () => ''\n};\nfunction validate_component(component, name) {\n if (!component || !component.$$render) {\n if (name === 'svelte:component')\n name += ' this={...}';\n throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`);\n }\n return component;\n}\nfunction debug(file, line, column, values) {\n console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console\n console.log(values); // eslint-disable-line no-console\n return '';\n}\nlet on_destroy;\nfunction create_ssr_component(fn) {\n function $$render(result, props, bindings, slots) {\n const parent_component = current_component;\n const $$ = {\n on_destroy,\n context: new Map(parent_component ? parent_component.$$.context : []),\n // these will be immediately discarded\n on_mount: [],\n before_update: [],\n after_update: [],\n callbacks: blank_object()\n };\n set_current_component({ $$ });\n const html = fn(result, props, bindings, slots);\n set_current_component(parent_component);\n return html;\n }\n return {\n render: (props = {}, options = {}) => {\n on_destroy = [];\n const result = { head: '', css: new Set() };\n const html = $$render(result, props, {}, options);\n run_all(on_destroy);\n return {\n html,\n css: {\n code: Array.from(result.css).map(css => css.code).join('\\n'),\n map: null // TODO\n },\n head: result.head\n };\n },\n $$render\n };\n}\nfunction add_attribute(name, value, boolean) {\n if (value == null || (boolean && !value))\n return '';\n return ` ${name}${value === true ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `\"${value}\"`}`}`;\n}\nfunction add_classes(classes) {\n return classes ? ` class=\"${classes}\"` : ``;\n}\n\nfunction bind(component, name, callback) {\n const index = component.$$.props[name];\n if (index !== undefined) {\n component.$$.bound[index] = callback;\n callback(component.$$.ctx[index]);\n }\n}\nfunction create_component(block) {\n block && block.c();\n}\nfunction claim_component(block, parent_nodes) {\n block && block.l(parent_nodes);\n}\nfunction mount_component(component, target, anchor) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n}\nfunction destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n}\nfunction make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n}\nfunction init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const prop_values = options.props || {};\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n before_update: [],\n after_update: [],\n context: new Map(parent_component ? parent_component.$$.context : []),\n // everything else\n callbacks: blank_object(),\n dirty\n };\n let ready = false;\n $$.ctx = instance\n ? instance(component, prop_values, (i, ret, value = ret) => {\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if ($$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(children(options.target));\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor);\n flush();\n }\n set_current_component(parent_component);\n}\nlet SvelteElement;\nif (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n };\n}\nclass SvelteComponent {\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set() {\n // overridden by instance, if it has props\n }\n}\n\nfunction dispatch_dev(type, detail) {\n document.dispatchEvent(custom_event(type, detail));\n}\nfunction append_dev(target, node) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node });\n append(target, node);\n}\nfunction insert_dev(target, node, anchor) {\n dispatch_dev(\"SvelteDOMInsert\", { target, node, anchor });\n insert(target, node, anchor);\n}\nfunction detach_dev(node) {\n dispatch_dev(\"SvelteDOMRemove\", { node });\n detach(node);\n}\nfunction detach_between_dev(before, after) {\n while (before.nextSibling && before.nextSibling !== after) {\n detach_dev(before.nextSibling);\n }\n}\nfunction detach_before_dev(after) {\n while (after.previousSibling) {\n detach_dev(after.previousSibling);\n }\n}\nfunction detach_after_dev(before) {\n while (before.nextSibling) {\n detach_dev(before.nextSibling);\n }\n}\nfunction listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) {\n const modifiers = options === true ? [\"capture\"] : options ? Array.from(Object.keys(options)) : [];\n if (has_prevent_default)\n modifiers.push('preventDefault');\n if (has_stop_propagation)\n modifiers.push('stopPropagation');\n dispatch_dev(\"SvelteDOMAddEventListener\", { node, event, handler, modifiers });\n const dispose = listen(node, event, handler, options);\n return () => {\n dispatch_dev(\"SvelteDOMRemoveEventListener\", { node, event, handler, modifiers });\n dispose();\n };\n}\nfunction attr_dev(node, attribute, value) {\n attr(node, attribute, value);\n if (value == null)\n dispatch_dev(\"SvelteDOMRemoveAttribute\", { node, attribute });\n else\n dispatch_dev(\"SvelteDOMSetAttribute\", { node, attribute, value });\n}\nfunction prop_dev(node, property, value) {\n node[property] = value;\n dispatch_dev(\"SvelteDOMSetProperty\", { node, property, value });\n}\nfunction dataset_dev(node, property, value) {\n node.dataset[property] = value;\n dispatch_dev(\"SvelteDOMSetDataset\", { node, property, value });\n}\nfunction set_data_dev(text, data) {\n data = '' + data;\n if (text.data === data)\n return;\n dispatch_dev(\"SvelteDOMSetData\", { node: text, data });\n text.data = data;\n}\nclass SvelteComponentDev extends SvelteComponent {\n constructor(options) {\n if (!options || (!options.target && !options.$$inline)) {\n throw new Error(`'target' is a required option`);\n }\n super();\n }\n $destroy() {\n super.$destroy();\n this.$destroy = () => {\n console.warn(`Component was already destroyed`); // eslint-disable-line no-console\n };\n }\n}\nfunction loop_guard(timeout) {\n const start = Date.now();\n return () => {\n if (Date.now() - start > timeout) {\n throw new Error(`Infinite loop detected`);\n }\n };\n}\n\nexport { HtmlTag, SvelteComponent, SvelteComponentDev, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_transform, afterUpdate, append, append_dev, assign, attr, attr_dev, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_space, claim_text, clear_loops, component_subscribe, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, escape, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getContext, get_binding_group_value, get_current_component, get_slot_changes, get_slot_context, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, has_prop, identity, init, insert, insert_dev, intros, invalid_attribute_name_character, is_client, is_function, is_promise, listen, listen_dev, loop, loop_guard, measure, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, update_keyed_each, validate_component, validate_store, xlink_attr };\n","export default {};","\n\n\n
\n
{'\\u25B6'}
\n
","\n\n{#if showKey && key}\n \n{/if}","\n\n
  • \n \n {#if isParentExpanded}\n
      \n {#each slicedKeys as key, index}\n \n {#if !expanded && index < previewKeys.length - 1}\n ,\n {/if}\n {/each}\n {#if slicedKeys.length < previewKeys.length }\n \n {/if}\n
    \n {:else}\n \n {/if}\n {bracketClose}\n
  • ","\n","\n","\n","export default class MapEntry {\n constructor(key, value) {\n this.key = key;\n this.value = value;\n }\n}\n","\n\n","\n '}\n bracketOpen={'{'}\n bracketClose={'}'}\n/>","\n\n
  • \n \n \n {valueGetter ? valueGetter(value) : value}\n \n
  • ","\n\n
  • \n {#if isParentExpanded}\n \n {/if}\n \n Error: {expanded?'':value.message}\n {#if isParentExpanded}\n
      \n {#if expanded}\n \n
    • \n \n \n {#each stack as line, index}\n 0}>{line}
      \n {/each}\n
      \n
    • \n {/if}\n
    \n {/if}\n
  • ","export default function objType(obj) {\n const type = Object.prototype.toString.call(obj).slice(8, -1);\n if (type === 'Object') {\n if (typeof obj[Symbol.iterator] === 'function') {\n return 'Iterable';\n }\n return obj.constructor.name;\n }\n\n return type;\n}\n","\n\n","\n\n
      \n \n
    \n"],"names":["noop","run","fn","blank_object","Object","create","run_all","fns","forEach","is_function","thing","safe_not_equal","a","b","null_to_empty","value","append","target","node","appendChild","insert","anchor","insertBefore","detach","parentNode","removeChild","destroy_each","iterations","detaching","i","length","d","element","name","document","createElement","text","data","createTextNode","space","empty","listen","event","handler","options","addEventListener","removeEventListener","attr","attribute","removeAttribute","getAttribute","setAttribute","children","Array","from","childNodes","set_data","toggle_class","toggle","classList","current_component","set_current_component","component","get_current_component","Error","setContext","key","context","$$","set","getContext","get","bubble","callbacks","type","slice","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","Promise","resolve","update_scheduled","schedule_update","then","flush","add_render_callback","push","seen_callbacks","Set","shift","update","pop","callback","has","add","fragment","before_update","dirty","p","ctx","after_update","outroing","outros","group_outros","r","c","check_outros","transition_in","block","local","delete","transition_out","o","create_component","mount_component","on_mount","on_destroy","m","new_on_destroy","map","filter","destroy_component","make_dirty","fill","init","instance","create_fragment","not_equal","props","parent_component","prop_values","bound","Map","ready","ret","hydrate","l","intro","SvelteComponent","[object Object]","this","$destroy","index","indexOf","splice","expanded","isParentExpanded","isParentArray","colon","showKey","keys","label","isArray","bracketOpen","bracketClose","previewKeys","getKey","getValue","getPreviewValue","expandable","contextKey","slicedKeys","nodeType","getOwnPropertyNames","filteredKey","String","result","entry","MapEntry","valueGetter","message","stack","split","objType","obj","prototype","toString","call","Symbol","iterator","constructor","componentType","JSONObjectNode","ErrorNode","JSONArrayNode","JSONIterableMapNode","JSONIterableArrayNode","JSONMapEntryNode","JSONValueNode","getComponent","raw","toISOString","getValueGetter"],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 214610a..576304f 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,13 @@ { - "name": "svelte-json-tree", - "version": "0.1.0", + "name": "@unwebio/svelte-json-tree", + "version": "0.1.2", "description": "Svelte JSON Viewer Component", "main": "dist/index.js", + "publishConfig": { + "cache": "~/.npm", + "access": "restricted", + "registry": "https://npm.pkg.github.com" + }, "svelte": "src/Root.svelte", "author": "Tan Li Hau ", "license": "MIT", @@ -15,7 +20,7 @@ ], "repository": { "type": "git", - "url": "https://github.com/tanhauhau/svelte-json-tree.git" + "url": "https://github.com/unwebio/svelte-json-tree.git" }, "scripts": { "build": "rollup -c", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..87fb1dd --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,314 @@ +devDependencies: + rollup: 1.32.1 + rollup-plugin-commonjs: 10.1.0_rollup@1.32.1 + rollup-plugin-node-resolve: 5.2.0_rollup@1.32.1 + rollup-plugin-svelte: 5.2.3_rollup@1.32.1+svelte@3.16.7 + rollup-plugin-terser: 5.3.1_rollup@1.32.1 + svelte: 3.16.7 +lockfileVersion: 5.2 +packages: + /@babel/code-frame/7.12.13: + dependencies: + '@babel/highlight': 7.13.10 + dev: true + resolution: + integrity: sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== + /@babel/helper-validator-identifier/7.12.11: + dev: true + resolution: + integrity: sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + /@babel/highlight/7.13.10: + dependencies: + '@babel/helper-validator-identifier': 7.12.11 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + resolution: + integrity: sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== + /@types/estree/0.0.46: + dev: true + resolution: + integrity: sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== + /@types/node/14.14.35: + dev: true + resolution: + integrity: sha512-Lt+wj8NVPx0zUmUwumiVXapmaLUcAk3yPuHCFVXras9k5VT9TdhJqKqGVUQCD60OTMCl0qxJ57OiTL0Mic3Iag== + /@types/resolve/0.0.8: + dependencies: + '@types/node': 14.14.35 + dev: true + resolution: + integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== + /acorn/7.4.1: + dev: true + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + /ansi-styles/3.2.1: + dependencies: + color-convert: 1.9.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /buffer-from/1.1.1: + dev: true + resolution: + integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /builtin-modules/3.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + /chalk/2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + /color-convert/1.9.3: + dependencies: + color-name: 1.1.3 + dev: true + resolution: + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + /color-name/1.1.3: + dev: true + resolution: + integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /commander/2.20.3: + dev: true + resolution: + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + /escape-string-regexp/1.0.5: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /estree-walker/0.6.1: + dev: true + resolution: + integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== + /function-bind/1.1.1: + dev: true + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /has-flag/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /is-core-module/2.2.0: + dependencies: + has: 1.0.3 + dev: true + resolution: + integrity: sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + /is-module/1.0.0: + dev: true + resolution: + integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + /is-reference/1.2.1: + dependencies: + '@types/estree': 0.0.46 + dev: true + resolution: + integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + /jest-worker/24.9.0: + dependencies: + merge-stream: 2.0.0 + supports-color: 6.1.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== + /js-tokens/4.0.0: + dev: true + resolution: + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + /magic-string/0.25.7: + dependencies: + sourcemap-codec: 1.4.8 + dev: true + resolution: + integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + /merge-stream/2.0.0: + dev: true + resolution: + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + /path-parse/1.0.6: + dev: true + resolution: + integrity: sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + /randombytes/2.1.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + /require-relative/0.8.7: + dev: true + resolution: + integrity: sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= + /resolve/1.20.0: + dependencies: + is-core-module: 2.2.0 + path-parse: 1.0.6 + dev: true + resolution: + integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + /rollup-plugin-commonjs/10.1.0_rollup@1.32.1: + dependencies: + estree-walker: 0.6.1 + is-reference: 1.2.1 + magic-string: 0.25.7 + resolve: 1.20.0 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-commonjs. + dev: true + peerDependencies: + rollup: '>=1.12.0' + resolution: + integrity: sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q== + /rollup-plugin-node-resolve/5.2.0_rollup@1.32.1: + dependencies: + '@types/resolve': 0.0.8 + builtin-modules: 3.2.0 + is-module: 1.0.0 + resolve: 1.20.0 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-node-resolve. + dev: true + peerDependencies: + rollup: '>=1.11.0' + resolution: + integrity: sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== + /rollup-plugin-svelte/5.2.3_rollup@1.32.1+svelte@3.16.7: + dependencies: + require-relative: 0.8.7 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + sourcemap-codec: 1.4.8 + svelte: 3.16.7 + dev: true + peerDependencies: + rollup: '>=0.60.0' + svelte: '*' + resolution: + integrity: sha512-513vOht9A93OV7fvmpIq8mD1JFgTZ5LidmpULKM2Od9P1l8oI5KwvO32fwCnASuVJS1EkRfvCnS7vKQ8DF4srg== + /rollup-plugin-terser/5.3.1_rollup@1.32.1: + dependencies: + '@babel/code-frame': 7.12.13 + jest-worker: 24.9.0 + rollup: 1.32.1 + rollup-pluginutils: 2.8.2 + serialize-javascript: 4.0.0 + terser: 4.8.0 + dev: true + peerDependencies: + rollup: '>=0.66.0 <3' + resolution: + integrity: sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== + /rollup-pluginutils/2.8.2: + dependencies: + estree-walker: 0.6.1 + dev: true + resolution: + integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== + /rollup/1.32.1: + dependencies: + '@types/estree': 0.0.46 + '@types/node': 14.14.35 + acorn: 7.4.1 + dev: true + hasBin: true + resolution: + integrity: sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== + /safe-buffer/5.2.1: + dev: true + resolution: + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + /serialize-javascript/4.0.0: + dependencies: + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + /source-map-support/0.5.19: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + /source-map/0.6.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /sourcemap-codec/1.4.8: + dev: true + resolution: + integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + /supports-color/5.5.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /supports-color/6.1.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + /svelte/3.16.7: + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-egrva1UklB1n7KAv179IhDpQzMGAvubJUlOQ9PitmmZmAfrCUEgrQnx2vPxn2s+mGV3aYegXvJ/yQ35N2SfnYQ== + /terser/4.8.0: + dependencies: + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.19 + dev: true + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== +specifiers: + rollup: ^1.27.14 + rollup-plugin-commonjs: ^10.1.0 + rollup-plugin-node-resolve: ^5.2.0 + rollup-plugin-svelte: ^5.1.1 + rollup-plugin-terser: ^5.1.3 + svelte: 3.16.7 diff --git a/src/JSONArrayNode.svelte b/src/JSONArrayNode.svelte index a5429ae..ee73fea 100644 --- a/src/JSONArrayNode.svelte +++ b/src/JSONArrayNode.svelte @@ -1,7 +1,7 @@ - \ No newline at end of file + diff --git a/src/JSONObjectNode.svelte b/src/JSONObjectNode.svelte index b17aadf..132eed2 100644 --- a/src/JSONObjectNode.svelte +++ b/src/JSONObjectNode.svelte @@ -1,7 +1,7 @@