@graffiti-garden/wrapper-vue 1.0.4 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/plugin.mjs +1272 -628
- package/dist/browser/plugin.mjs.map +1 -1
- package/dist/node/components/ObjectInfo.vue.d.ts.map +1 -1
- package/dist/node/composables/discover.d.ts.map +1 -1
- package/dist/node/composables/resolve-string.d.ts.map +1 -1
- package/dist/node/plugin.d.ts.map +1 -1
- package/dist/node/plugin.js +1 -1
- package/dist/node/plugin.js.map +1 -1
- package/dist/node/plugin.mjs +967 -332
- package/dist/node/plugin.mjs.map +1 -1
- package/package.json +5 -5
- package/src/components/Discover.vue +1 -1
- package/src/components/GetMedia.vue +2 -2
- package/src/components/ObjectInfo.vue +53 -69
- package/src/composables/discover.ts +4 -2
- package/src/composables/resolve-string.ts +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectInfo.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectInfo.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ObjectInfo.vue.d.ts","sourceRoot":"","sources":["../../../src/components/ObjectInfo.vue"],"names":[],"mappings":"AAiHA,OAAO,KAAK,EAAE,kBAAkB,EAAmB,MAAM,sBAAsB,CAAC;AAKhF,KAAK,WAAW,GAAG;IACf,MAAM,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;CACjD,CAAC;;AAkNF,wBAMG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/composables/discover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAKd,eAAe,EACf,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,UAAU,EAC3D,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EACpC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAChC,OAAO,CAAC,EAAE,gBAAgB,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAC9D;;GAEG;AACH,QAAQ,GAAE,gBAAgB,CAAC,OAAO,CAAS;;;;
|
|
1
|
+
{"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../../src/composables/discover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EAKd,eAAe,EACf,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAIjD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,SAAS,UAAU,EAC3D,QAAQ,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EACpC,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAChC,OAAO,CAAC,EAAE,gBAAgB,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;AAC9D;;GAEG;AACH,QAAQ,GAAE,gBAAgB,CAAC,OAAO,CAAS;;;;EA4J5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-string.d.ts","sourceRoot":"","sources":["../../../src/composables/resolve-string.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAG5C,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;;
|
|
1
|
+
{"version":3,"file":"resolve-string.d.ts","sourceRoot":"","sources":["../../../src/composables/resolve-string.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,KAAK,CAAC;AAG5C,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC/B,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;;EAgC5C;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,UAI9D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,GAAG,MAAM,sBAAsB,CAAC;AACvC,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAiB,yBAAyB;QACxC;;;;;;;;;;WAUG;QACH,SAAS,EAAE,QAAQ,CAAC;QACpB;;;;;;;;;;;;;;WAcG;QACH,gBAAgB,EAAE,GAAG,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;KAC3D;IAED,UAAiB,gBAAgB;QAC/B,gBAAgB,EAAE,OAAO,QAAQ,CAAC;QAClC,WAAW,EAAE,OAAO,GAAG,CAAC;QACxB,gBAAgB,EAAE,OAAO,QAAQ,CAAC;QAClC,qBAAqB,EAAE,OAAO,aAAa,CAAC;QAC5C,qBAAqB,EAAE,OAAO,aAAa,CAAC;QAC5C,kBAAkB,EAAE,OAAO,UAAU,CAAC;KACvC;CACF;AACD,YAAY,EAAE,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,qBAAqB,CAiExD,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAO,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE5C,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,GAAG,MAAM,sBAAsB,CAAC;AACvC,OAAO,QAAQ,MAAM,2BAA2B,CAAC;AACjD,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,UAAU,MAAM,6BAA6B,CAAC;AACrD,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EAIhB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,QAAQ,KAAK,CAAC;IACnB,UAAiB,yBAAyB;QACxC;;;;;;;;;;WAUG;QACH,SAAS,EAAE,QAAQ,CAAC;QACpB;;;;;;;;;;;;;;WAcG;QACH,gBAAgB,EAAE,GAAG,CAAC,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;KAC3D;IAED,UAAiB,gBAAgB;QAC/B,gBAAgB,EAAE,OAAO,QAAQ,CAAC;QAClC,WAAW,EAAE,OAAO,GAAG,CAAC;QACxB,gBAAgB,EAAE,OAAO,QAAQ,CAAC;QAClC,qBAAqB,EAAE,OAAO,aAAa,CAAC;QAC5C,qBAAqB,EAAE,OAAO,aAAa,CAAC;QAC5C,kBAAkB,EAAE,OAAO,UAAU,CAAC;KACvC;CACF;AACD,YAAY,EAAE,yBAAyB,EAAE,MAAM,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;OAQG;IACH,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8FG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,qBAAqB,CAiExD,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EACL,WAAW,EACX,sBAAsB,EACtB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA9JF,CAAC;CA8JY,CAAC;AACzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SArLb,CAAC;CAqLkB,CAAC;AAC/B;;;;;;;;;;GAUG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAW,CAAC;AACzC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAAgB,CAAC;AACnD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAAgB,CAAC;AACnD;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;iGAAa,CAAC"}
|
package/dist/node/plugin.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("@graffiti-garden/wrapper-synchronize");var G=class R extends Error{constructor(a){super(a),this.name="GraffitiErrorNotFound",Object.setPrototypeOf(this,R.prototype)}};const E={};function W(t){if(!E.graffitiSession)E.graffitiSession=t;else throw new Error("Graffiti session already set - plugin installed multiple times?")}function x(t){if(!E.graffitiSynchronize)E.graffitiSynchronize=t;else throw new Error("Graffiti synchronize already set - plugin installed multiple times?")}function b(){const t=E.graffitiSynchronize;if(!t)throw new Error("No Graffiti instance provided, did you forget to install the plugin?");return t}function N(){return b()}function q(){const t=E.graffitiSession;if(!t)throw new Error("No Graffiti session provided, did you forget to install the plugin?");return t}function T(t,a,n,i=!1){const l=b(),o=new Map,r=e.ref([]);let s=async()=>{};const m=async()=>s(),u=e.ref(!0);let k,p;e.onScopeDispose(()=>{k?.return(null),p?.return({continue:()=>p,cursor:""})});const y=e.ref(0);function f(c=0){setTimeout(()=>{y.value++},c)}return e.watch(()=>({args:[e.toValue(t),e.toValue(a),e.toValue(n)],refresh:y.value}),({args:c},A,w)=>{o.clear(),r.value=[],u.value=!0;const j=l.synchronizeDiscover(...c);k=j;let h,v=!0;w(()=>{v=!1,j.return(null),h?.return({continue:()=>p,cursor:""})});let g;(async()=>{for await(const d of j){if(!v)break;d.tombstone?o.delete(d.object.url):o.set(d.object.url,d.object),g||(g=new Promise($=>{setTimeout(()=>{v&&(r.value=Array.from(o.values())),g=void 0,$()},50)}))}})();let S=!1,D=()=>l.discover(...c);s=async()=>{if(!(S||!v)){S=!0;try{h=D(c[2])}catch{return f(5e3)}if(v){for(p=h;;){let d;try{d=await h.next()}catch($){return $ instanceof G?f():f(5e3)}if(!v)return;if(d.done){D=d.value.continue;break}else d.value.error&&console.error(d.value.error)}await new Promise(d=>setTimeout(d,0)),g&&await g,v&&(S=!1,u.value=!1,e.toValue(i)&&m())}}},m()},{immediate:!0}),e.watch(()=>e.toValue(i),c=>c&&m()),{objects:r,poll:m,isFirstPoll:u}}function P(t,a){const n=e.ref(void 0);return e.watch(()=>e.toValue(t),async(i,l,o)=>{let r=!0;o(()=>{r=!1}),n.value=void 0;try{const s=await a(i);r&&(n.value=s)}catch(s){if(!r)return;s instanceof G?n.value=null:console.error(s)}},{immediate:!0}),{output:n}}function L(t){return t===void 0?"Loading...":t===null?"Not found":t}function U(t){const a=N(),{output:n}=P(t,a.actorToHandle.bind(a));return{handle:n}}const V=e.defineComponent({__name:"ActorToHandle",props:{actor:{}},setup(t){const a=t,n=e.toRef(a,"actor"),{handle:i}=U(n);return(l,o)=>e.renderSlot(l.$slots,"default",{handle:e.unref(i)},()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(L)(e.unref(i))),1)])}}),J=["data-url"],K={key:0},Q={key:1},X={key:0},Y={key:1},Z={key:0},ee=["disabled"],te={key:1},oe={key:2},B=e.defineComponent({__name:"ObjectInfo",props:{object:{}},setup(t){const a=N(),n=e.ref(!1);async function i(l,o){n.value=!0,await new Promise(r=>setTimeout(r,0)),confirm("Are you sure you want to delete this object? It cannot be undone.")&&await a.delete(l,o),n.value=!1}return(l,o)=>t.object?(e.openBlock(),e.createElementBlock("article",{key:0,"data-url":t.object.url},[e.createElementVNode("header",null,[o[4]||(o[4]=e.createElementVNode("h2",null,"Graffiti Object",-1)),e.createElementVNode("dl",null,[o[1]||(o[1]=e.createElementVNode("dt",null,"Object URL",-1)),e.createElementVNode("dd",null,[e.createElementVNode("code",null,e.toDisplayString(t.object.url),1)]),o[2]||(o[2]=e.createElementVNode("dt",null,"Actor",-1)),e.createElementVNode("dd",null,[e.createElementVNode("code",null,e.toDisplayString(t.object.actor),1)]),o[3]||(o[3]=e.createElementVNode("dt",null,"Handle",-1)),e.createElementVNode("dd",null,[e.createVNode(V,{actor:t.object.actor},null,8,["actor"])])])]),e.createElementVNode("section",null,[o[5]||(o[5]=e.createElementVNode("h3",null,"Content",-1)),e.createElementVNode("pre",null,e.toDisplayString(t.object.value),1)]),e.createElementVNode("section",null,[o[10]||(o[10]=e.createElementVNode("h3",null,"Allowed Actors",-1)),Array.isArray(t.object.allowed)?t.object.allowed.length===0?(e.openBlock(),e.createElementBlock("p",Q,[...o[7]||(o[7]=[e.createElementVNode("em",null,"Noone",-1)])])):e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("p",K,[...o[6]||(o[6]=[e.createElementVNode("em",null,"Public",-1)])])),e.createElementVNode("ul",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.object.allowed,r=>(e.openBlock(),e.createElementBlock("li",{key:r},[e.createElementVNode("dl",null,[o[8]||(o[8]=e.createElementVNode("dt",null,"Actor",-1)),e.createElementVNode("dd",null,[e.createElementVNode("code",null,e.toDisplayString(r),1)]),o[9]||(o[9]=e.createElementVNode("dt",null,"Handle",-1)),e.createElementVNode("dd",null,[e.createVNode(V,{actor:r},null,8,["actor"])])])]))),128))])]),e.createElementVNode("section",null,[o[12]||(o[12]=e.createElementVNode("h3",null,"Channels",-1)),t.object.channels?.length?(e.openBlock(),e.createElementBlock("ul",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.object.channels,r=>(e.openBlock(),e.createElementBlock("li",{key:r},[e.createElementVNode("code",null,e.toDisplayString(r),1)]))),128))])):(e.openBlock(),e.createElementBlock("p",Y,[...o[11]||(o[11]=[e.createElementVNode("em",null,"No channels",-1)])]))]),e.createElementVNode("footer",null,[e.createElementVNode("nav",null,[e.createElementVNode("ul",null,[l.$graffitiSession.value?.actor===t.object.actor?(e.openBlock(),e.createElementBlock("li",Z,[e.createElementVNode("button",{disabled:n.value,onClick:o[0]||(o[0]=r=>i(t.object,l.$graffitiSession.value))},e.toDisplayString(n.value?"Deleting...":"Delete"),9,ee)])):e.createCommentVNode("",!0)])])])],8,J)):t.object===null?(e.openBlock(),e.createElementBlock("article",te,[...o[13]||(o[13]=[e.createElementVNode("header",null,[e.createElementVNode("h2",null,"Graffiti Object")],-1),e.createElementVNode("p",null,[e.createElementVNode("em",null,"Object not found")],-1)])])):(e.openBlock(),e.createElementBlock("article",oe,[...o[14]||(o[14]=[e.createElementVNode("header",null,[e.createElementVNode("h2",null,"Graffiti Object")],-1),e.createElementVNode("p",null,[e.createElementVNode("em",null,"Loading...")],-1)])]))}}),ne={key:0},re={key:1},O=e.defineComponent({__name:"Discover",props:{channels:{},schema:{},session:{},autopoll:{type:Boolean}},setup(t){const a=t,{objects:n,poll:i,isFirstPoll:l}=T(e.toRef(a,"channels"),e.toRef(a,"schema"),e.toRef(a,"session"),e.toRef(a,"autopoll"));return(o,r)=>e.renderSlot(o.$slots,"default",{objects:e.unref(n),poll:e.unref(i),isFirstPoll:e.unref(l)},()=>[e.unref(l)?(e.openBlock(),e.createElementBlock("p",re,[...r[0]||(r[0]=[e.createElementVNode("em",null," Loading... ",-1)])])):(e.openBlock(),e.createElementBlock("ul",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),s=>(e.openBlock(),e.createElementBlock("li",{key:s.url},[e.createVNode(B,{object:s},null,8,["object"])]))),128))]))])}});function H(t,a,n){const i=b(),l=e.ref(void 0);let o=async()=>{};const r=async()=>o();let s;return e.onScopeDispose(()=>{s?.return(null)}),e.watch(()=>[e.toValue(t),e.toValue(a),e.toValue(n)],(m,u,k)=>{l.value=void 0;const p=i.synchronizeGet(...m);s=p;let y=!0;k(()=>{y=!1,p.return(null)}),(async()=>{for await(const c of p){if(!y)return;c.tombstone?l.value=null:l.value=c.object}})();let f=!1;o=async()=>{if(!(f||!y)){f=!0;try{await i.get(...m)}catch(c){c instanceof G||console.error(c)}await new Promise(c=>setTimeout(c,0)),f=!1}},r()},{immediate:!0}),{object:l,poll:r}}const C=e.defineComponent({__name:"Get",props:{url:{},schema:{},session:{}},setup(t){const a=t,{object:n,poll:i}=H(e.toRef(a,"url"),e.toRef(a,"schema"),e.toRef(a,"session"));return(l,o)=>e.renderSlot(l.$slots,"default",{object:e.unref(n),poll:e.unref(i)},()=>[e.createVNode(B,{object:e.unref(n)},null,8,["object"])])}});function z(t,a,n){const i=b(),l=e.ref(void 0),o=e.ref(0);let r=null,s=()=>{};function m(){return r||(o.value++,r=new Promise(u=>{s=()=>{r=null,u()}}),r)}return e.watch(()=>({args:[e.toValue(t),e.toValue(a),e.toValue(n)],pollCounter:o.value}),async({args:u},k,p)=>{l.value?.dataUrl&&URL.revokeObjectURL(l.value.dataUrl),l.value=void 0;let y=!0;p(()=>{y=!1});try{const{data:f,actor:c,allowed:A}=await i.getMedia(...u);if(!y)return;const w=URL.createObjectURL(f);l.value={data:f,dataUrl:w,actor:c,allowed:A}}catch(f){if(!y)return;f instanceof G?l.value=null:console.error(f)}finally{s()}},{immediate:!0}),e.onScopeDispose(()=>{s(),l.value?.dataUrl&&URL.revokeObjectURL(l.value.dataUrl)}),{media:l,poll:m}}const le=["src","alt"],ae=["src","alt"],ie=["src","alt"],se=["src","alt"],ce=["data","alt"],ue={key:6},fe={key:7},M=e.defineComponent({__name:"GetMedia",props:{url:{},accept:{},session:{}},setup(t){const a=t,{media:n,poll:i}=z(e.toRef(a,"url"),e.toRef(a,"accept"),e.toRef(a,"session"));function l(){n.value&&(window.location.href=n.value.dataUrl)}return(o,r)=>e.renderSlot(o.$slots,"default",{media:e.unref(n),poll:e.unref(i)},()=>[e.unref(n)?.data.type.startsWith("image/")?(e.openBlock(),e.createElementBlock("img",{key:0,src:e.unref(n).dataUrl,alt:`An image by ${e.unref(n).actor}`},null,8,le)):e.unref(n)?.data.type.startsWith("video/")?(e.openBlock(),e.createElementBlock("video",{key:1,controls:"",src:e.unref(n).dataUrl,alt:`A video by ${e.unref(n).actor}`},null,8,ae)):e.unref(n)?.data.type.startsWith("audio/")?(e.openBlock(),e.createElementBlock("audio",{key:2,controls:"",src:e.unref(n).dataUrl,alt:`Audio by ${e.unref(n).actor}`},null,8,ie)):e.unref(n)?.data.type==="text/html"?(e.openBlock(),e.createElementBlock("iframe",{key:3,src:e.unref(n).dataUrl,alt:`HTML by ${e.unref(n).actor}`,sandbox:""},null,8,se)):e.unref(n)?.data.type.startsWith("application/pdf")?(e.openBlock(),e.createElementBlock("object",{key:4,data:e.unref(n).dataUrl,type:"application/pdf",alt:`PDF by ${e.unref(n).actor}`},null,8,ce)):e.unref(n)?(e.openBlock(),e.createElementBlock("button",{key:5,onClick:l},"Download")):e.unref(n)===null?(e.openBlock(),e.createElementBlock("p",ue,[...r[0]||(r[0]=[e.createElementVNode("em",null,"Media not found",-1)])])):(e.openBlock(),e.createElementBlock("p",fe,[...r[1]||(r[1]=[e.createElementVNode("em",null," Loading... ",-1)])]))])}});function F(t){const a=N(),{output:n}=P(t,a.handleToActor.bind(a));return{actor:n}}const I=e.defineComponent({__name:"HandleToActor",props:{handle:{}},setup(t){const a=t,n=e.toRef(a,"handle"),{actor:i}=F(n);return(l,o)=>e.renderSlot(l.$slots,"default",{actor:e.unref(i)},()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(L)(e.unref(i))),1)])}}),de={install(t,a){const n=a.graffiti,i=new _.GraffitiSynchronize(n),l=e.ref(void 0);i.sessionEvents.addEventListener("initialized",async o=>{const r=o.detail;if(r&&r.error&&console.error(r.error),r&&r.href){const s=t.config.globalProperties.$router;if(s){const m=s.options.history.base,u=new URL(r.href);u.pathname.startsWith(m)&&(u.pathname=u.pathname.slice(m.length)),await s.replace(u.pathname+u.search+u.hash)}}l.value||(l.value=null)}),i.sessionEvents.addEventListener("login",o=>{const r=o.detail;if(r.error){console.error("Error logging in:"),console.error(r.error);return}else l.value=r.session}),i.sessionEvents.addEventListener("logout",o=>{const r=o.detail;r.error?(console.error("Error logging out:"),console.error(r.error)):l.value=null}),x(i),W(l),t.component("GraffitiDiscover",O),t.component("GraffitiGet",C),t.component("GraffitiGetMedia",M),t.component("GraffitiActorToHandle",V),t.component("GraffitiHandleToActor",I),t.component("GraffitiObjectInfo",B),t.config.globalProperties.$graffiti=i,t.config.globalProperties.$graffitiSession=l}},me=O,pe=C,ye=M,ve=V,Ee=I,ke=B;exports.GraffitiActorToHandle=ve;exports.GraffitiDiscover=me;exports.GraffitiGet=pe;exports.GraffitiGetMedia=ye;exports.GraffitiHandleToActor=Ee;exports.GraffitiObjectInfo=ke;exports.GraffitiPlugin=de;exports.useGraffiti=N;exports.useGraffitiActorToHandle=U;exports.useGraffitiDiscover=T;exports.useGraffitiGet=H;exports.useGraffitiGetMedia=z;exports.useGraffitiHandleToActor=F;exports.useGraffitiSession=q;exports.useGraffitiSynchronize=b;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),pe=require("@graffiti-garden/wrapper-synchronize");class S extends Error{constructor(t){super(t),this.name="GraffitiErrorNotFound",Object.setPrototypeOf(this,S.prototype)}}class F extends Error{constructor(t){super(t),this.name="GraffitiErrorCursorExpired",Object.setPrototypeOf(this,F.prototype)}}function v(e,t,r){function o(l,c){if(l._zod||Object.defineProperty(l,"_zod",{value:{def:c,constr:i,traits:new Set},enumerable:!1}),l._zod.traits.has(e))return;l._zod.traits.add(e),t(l,c);const u=i.prototype,f=Object.keys(u);for(let d=0;d<f.length;d++){const m=f[d];m in l||(l[m]=u[m].bind(l))}}const a=r?.Parent??Object;class s extends a{}Object.defineProperty(s,"name",{value:e});function i(l){var c;const u=r?.Parent?new s:this;o(u,l),(c=u._zod).deferred??(c.deferred=[]);for(const f of u._zod.deferred)f();return u}return Object.defineProperty(i,"init",{value:o}),Object.defineProperty(i,Symbol.hasInstance,{value:l=>r?.Parent&&l instanceof r.Parent?!0:l?._zod?.traits?.has(e)}),Object.defineProperty(i,"name",{value:e}),i}class N extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const he={};function Z(e){return he}function ve(e,t){return typeof t=="bigint"?t.toString():t}function ge(e){return{get value(){{const t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function be(e){const t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}const H=Symbol("evaluating");function $(e,t,r){let o;Object.defineProperty(e,t,{get(){if(o!==H)return o===void 0&&(o=H,o=r()),o},set(a){Object.defineProperty(e,t,{value:a})},configurable:!0})}const q="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};function ye(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function _e(e,t,r){const o=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(o._zod.parent=e),o}function G(e){return{}}function ke(e){return Object.keys(e).filter(t=>e[t]._zod.optin==="optional"&&e[t]._zod.optout==="optional")}const Ee={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function O(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function J(e,t){return t.map(r=>{var o;return(o=r).path??(o.path=[]),r.path.unshift(e),r})}function B(e){return typeof e=="string"?e:e?.message}function M(e,t,r){const o={...e,path:e.path??[]};if(!e.message){const a=B(e.inst?._zod.def?.error?.(e))??B(t?.error?.(e))??B(r.customError?.(e))??B(r.localeError?.(e))??"Invalid input";o.message=a}return delete o.inst,delete o.continue,t?.reportInput||delete o.input,o}const Y=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,ve,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},we=v("$ZodError",Y),R=v("$ZodError",Y,{Parent:Error}),ze=e=>(t,r,o,a)=>{const s=o?Object.assign(o,{async:!1}):{async:!1},i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise)throw new N;if(i.issues.length){const l=new(a?.Err??e)(i.issues.map(c=>M(c,s,Z())));throw q(l,a?.callee),l}return i.value},Ne=ze(R),je=e=>async(t,r,o,a)=>{const s=o?Object.assign(o,{async:!0}):{async:!0};let i=t._zod.run({value:r,issues:[]},s);if(i instanceof Promise&&(i=await i),i.issues.length){const l=new(a?.Err??e)(i.issues.map(c=>M(c,s,Z())));throw q(l,a?.callee),l}return i.value},$e=je(R),Se=e=>(t,r,o)=>{const a=o?{...o,async:!1}:{async:!1},s=t._zod.run({value:r,issues:[]},a);if(s instanceof Promise)throw new N;return s.issues.length?{success:!1,error:new(e??we)(s.issues.map(i=>M(i,a,Z())))}:{success:!0,data:s.value}},Q=Se(R),Ge=e=>async(t,r,o)=>{const a=o?Object.assign(o,{async:!0}):{async:!0};let s=t._zod.run({value:r,issues:[]},a);return s instanceof Promise&&(s=await s),s.issues.length?{success:!1,error:new e(s.issues.map(i=>M(i,a,Z())))}:{success:!0,data:s.value}},ee=Ge(R),Pe=e=>{const t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Ve=/^-?\d+$/,Ae=/^-?\d+(?:\.\d+)?$/,te=v("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Oe={number:"number",bigint:"bigint",object:"date"},Be=v("$ZodCheckGreaterThan",(e,t)=>{te.init(e,t);const r=Oe[typeof t.value];e._zod.onattach.push(o=>{const a=o._zod.bag,s=(t.inclusive?a.minimum:a.exclusiveMinimum)??Number.NEGATIVE_INFINITY;t.value>s&&(t.inclusive?a.minimum=t.value:a.exclusiveMinimum=t.value)}),e._zod.check=o=>{(t.inclusive?o.value>=t.value:o.value>t.value)||o.issues.push({origin:r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:o.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Te=v("$ZodCheckNumberFormat",(e,t)=>{te.init(e,t),t.format=t.format||"float64";const r=t.format?.includes("int"),o=r?"int":"number",[a,s]=Ee[t.format];e._zod.onattach.push(i=>{const l=i._zod.bag;l.format=t.format,l.minimum=a,l.maximum=s,r&&(l.pattern=Ve)}),e._zod.check=i=>{const l=i.value;if(r){if(!Number.isInteger(l)){i.issues.push({expected:o,format:t.format,code:"invalid_type",continue:!1,input:l,inst:e});return}if(!Number.isSafeInteger(l)){l>0?i.issues.push({input:l,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort}):i.issues.push({input:l,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:o,inclusive:!0,continue:!t.abort});return}}l<a&&i.issues.push({origin:"number",input:l,code:"too_small",minimum:a,inclusive:!0,inst:e,continue:!t.abort}),l>s&&i.issues.push({origin:"number",input:l,code:"too_big",maximum:s,inclusive:!0,inst:e,continue:!t.abort})}}),Ze={major:4,minor:3,patch:5},y=v("$ZodType",(e,t)=>{var r;e??(e={}),e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Ze;const o=[...e._zod.def.checks??[]];e._zod.traits.has("$ZodCheck")&&o.unshift(e);for(const a of o)for(const s of a._zod.onattach)s(e);if(o.length===0)(r=e._zod).deferred??(r.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{const a=(i,l,c)=>{let u=O(i),f;for(const d of l){if(d._zod.def.when){if(!d._zod.def.when(i))continue}else if(u)continue;const m=i.issues.length,h=d._zod.check(i);if(h instanceof Promise&&c?.async===!1)throw new N;if(f||h instanceof Promise)f=(f??Promise.resolve()).then(async()=>{await h,i.issues.length!==m&&(u||(u=O(i,m)))});else{if(i.issues.length===m)continue;u||(u=O(i,m))}}return f?f.then(()=>i):i},s=(i,l,c)=>{if(O(i))return i.aborted=!0,i;const u=a(l,o,c);if(u instanceof Promise){if(c.async===!1)throw new N;return u.then(f=>e._zod.parse(f,c))}return e._zod.parse(u,c)};e._zod.run=(i,l)=>{if(l.skipChecks)return e._zod.parse(i,l);if(l.direction==="backward"){const u=e._zod.parse({value:i.value,issues:[]},{...l,skipChecks:!0});return u instanceof Promise?u.then(f=>s(f,i,l)):s(u,i,l)}const c=e._zod.parse(i,l);if(c instanceof Promise){if(l.async===!1)throw new N;return c.then(u=>a(u,o,l))}return a(c,o,l)}}$(e,"~standard",()=>({validate:a=>{try{const s=Q(e,a);return s.success?{value:s.data}:{issues:s.error?.issues}}catch{return ee(e,a).then(i=>i.success?{value:i.data}:{issues:i.error?.issues})}},vendor:"zod",version:1}))}),Me=v("$ZodString",(e,t)=>{y.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Pe(e._zod.bag),e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=String(r.value)}catch{}return typeof r.value=="string"||r.issues.push({expected:"string",code:"invalid_type",input:r.value,inst:e}),r}}),ne=v("$ZodNumber",(e,t)=>{y.init(e,t),e._zod.pattern=e._zod.bag.pattern??Ae,e._zod.parse=(r,o)=>{if(t.coerce)try{r.value=Number(r.value)}catch{}const a=r.value;if(typeof a=="number"&&!Number.isNaN(a)&&Number.isFinite(a))return r;const s=typeof a=="number"?Number.isNaN(a)?"NaN":Number.isFinite(a)?void 0:"Infinity":void 0;return r.issues.push({expected:"number",code:"invalid_type",input:a,inst:e,...s?{received:s}:{}}),r}}),Re=v("$ZodNumberFormat",(e,t)=>{Te.init(e,t),ne.init(e,t)}),Ie=v("$ZodUnknown",(e,t)=>{y.init(e,t),e._zod.parse=r=>r});function x(e,t,r){e.issues.length&&t.issues.push(...J(r,e.issues)),t.value[r]=e.value}const Ce=v("$ZodArray",(e,t)=>{y.init(e,t),e._zod.parse=(r,o)=>{const a=r.value;if(!Array.isArray(a))return r.issues.push({expected:"array",code:"invalid_type",input:a,inst:e}),r;r.value=Array(a.length);const s=[];for(let i=0;i<a.length;i++){const l=a[i],c=t.element._zod.run({value:l,issues:[]},o);c instanceof Promise?s.push(c.then(u=>x(u,r,i))):x(c,r,i)}return s.length?Promise.all(s).then(()=>r):r}});function T(e,t,r,o,a){if(e.issues.length){if(a&&!(r in o))return;t.issues.push(...J(r,e.issues))}e.value===void 0?r in o&&(t.value[r]=void 0):t.value[r]=e.value}function Ue(e){const t=Object.keys(e.shape);for(const o of t)if(!e.shape?.[o]?._zod?.traits?.has("$ZodType"))throw new Error(`Invalid element at key "${o}": expected a Zod schema`);const r=ke(e.shape);return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(r)}}function De(e,t,r,o,a,s){const i=[],l=a.keySet,c=a.catchall._zod,u=c.def.type,f=c.optout==="optional";for(const d in t){if(l.has(d))continue;if(u==="never"){i.push(d);continue}const m=c.run({value:t[d],issues:[]},o);m instanceof Promise?e.push(m.then(h=>T(h,r,d,t,f))):T(m,r,d,t,f)}return i.length&&r.issues.push({code:"unrecognized_keys",keys:i,input:t,inst:s}),e.length?Promise.all(e).then(()=>r):r}const Fe=v("$ZodObject",(e,t)=>{if(y.init(e,t),!Object.getOwnPropertyDescriptor(t,"shape")?.get){const l=t.shape;Object.defineProperty(t,"shape",{get:()=>{const c={...l};return Object.defineProperty(t,"shape",{value:c}),c}})}const o=ge(()=>Ue(t));$(e._zod,"propValues",()=>{const l=t.shape,c={};for(const u in l){const f=l[u]._zod;if(f.values){c[u]??(c[u]=new Set);for(const d of f.values)c[u].add(d)}}return c});const a=ye,s=t.catchall;let i;e._zod.parse=(l,c)=>{i??(i=o.value);const u=l.value;if(!a(u))return l.issues.push({expected:"object",code:"invalid_type",input:u,inst:e}),l;l.value={};const f=[],d=i.shape;for(const m of i.keys){const h=d[m],p=h._zod.optout==="optional",_=h._zod.run({value:u[m],issues:[]},c);_ instanceof Promise?f.push(_.then(w=>T(w,l,m,u,p))):T(_,l,m,u,p)}return s?De(f,u,l,c,o.value,e):f.length?Promise.all(f).then(()=>l):l}});function W(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}const Le=v("$ZodOptional",(e,t)=>{y.init(e,t),e._zod.optin="optional",e._zod.optout="optional",$(e._zod,"values",()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),$(e._zod,"pattern",()=>{const r=t.innerType._zod.pattern;return r?new RegExp(`^(${be(r.source)})?$`):void 0}),e._zod.parse=(r,o)=>{if(t.innerType._zod.optin==="optional"){const a=t.innerType._zod.run(r,o);return a instanceof Promise?a.then(s=>W(s,r.value)):W(a,r.value)}return r.value===void 0?r:t.innerType._zod.run(r,o)}});var X;class He{constructor(){this._map=new WeakMap,this._idmap=new Map}add(t,...r){const o=r[0];return this._map.set(t,o),o&&typeof o=="object"&&"id"in o&&this._idmap.set(o.id,t),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(t){const r=this._map.get(t);return r&&typeof r=="object"&&"id"in r&&this._idmap.delete(r.id),this._map.delete(t),this}get(t){const r=t._zod.parent;if(r){const o={...this.get(r)??{}};delete o.id;const a={...o,...this._map.get(t)};return Object.keys(a).length?a:void 0}return this._map.get(t)}has(t){return this._map.has(t)}}function xe(){return new He}(X=globalThis).__zod_globalRegistry??(X.__zod_globalRegistry=xe());function We(e,t){return new e({type:"string",...G()})}function Xe(e,t){return new e({type:"number",check:"number_format",abort:!1,format:"safeint",...G()})}function Ke(e){return new e({type:"unknown"})}function qe(e,t){return new Be({check:"greater_than",...G(),value:e,inclusive:!0})}function Je(e){return qe(0)}const E=v("ZodMiniType",(e,t)=>{if(!e._zod)throw new Error("Uninitialized schema in ZodMiniType.");y.init(e,t),e.def=t,e.type=t.type,e.parse=(r,o)=>Ne(e,r,o,{callee:e.parse}),e.safeParse=(r,o)=>Q(e,r,o),e.parseAsync=async(r,o)=>$e(e,r,o,{callee:e.parseAsync}),e.safeParseAsync=async(r,o)=>ee(e,r,o),e.check=(...r)=>e.clone({...t,checks:[...t.checks??[],...r.map(o=>typeof o=="function"?{_zod:{check:o,def:{check:"custom"},onattach:[]}}:o)]},{parent:!0}),e.with=e.check,e.clone=(r,o)=>_e(e,r,o),e.brand=()=>e,e.register=((r,o)=>(r.add(e,o),e)),e.apply=r=>r(e)}),Ye=v("ZodMiniString",(e,t)=>{Me.init(e,t),E.init(e,t)});function Qe(e){return We(Ye)}const et=v("ZodMiniNumber",(e,t)=>{ne.init(e,t),E.init(e,t)}),tt=v("ZodMiniNumberFormat",(e,t)=>{Re.init(e,t),et.init(e,t)});function nt(e){return Xe(tt)}const rt=v("ZodMiniUnknown",(e,t)=>{Ie.init(e,t),E.init(e,t)});function ot(){return Ke(rt)}const it=v("ZodMiniArray",(e,t)=>{Ce.init(e,t),E.init(e,t)});function st(e,t){return new it({type:"array",element:e,...G()})}const at=v("ZodMiniObject",(e,t)=>{Fe.init(e,t),E.init(e,t),$(e,"shape",()=>t.shape)});function lt(e,t){return new at({type:"object",shape:e,catchall:ot(),...G()})}const ut=v("ZodMiniOptional",(e,t)=>{Le.init(e,t),E.init(e,t)});function K(e){return new ut({type:"optional",innerType:e})}nt().check(Je());const k={};function ct(e){if(!k.graffitiSession)k.graffitiSession=e;else throw new Error("Graffiti session already set - plugin installed multiple times?")}function ft(e){if(!k.graffitiSynchronize)k.graffitiSynchronize=e;else throw new Error("Graffiti synchronize already set - plugin installed multiple times?")}function P(){const e=k.graffitiSynchronize;if(!e)throw new Error("No Graffiti instance provided, did you forget to install the plugin?");return e}function I(){return P()}function dt(){const e=k.graffitiSession;if(!e)throw new Error("No Graffiti session provided, did you forget to install the plugin?");return e}function re(e,t,r,o=!1){const a=P(),s=new Map,i=n.ref([]);let l=async()=>{};const c=async()=>l(),u=n.ref(!0);let f,d;n.onScopeDispose(()=>{f?.return(null),d?.return({continue:()=>d,cursor:""})});const m=n.ref(0);function h(p=0){setTimeout(()=>{m.value++},p)}return n.watch(()=>({args:[n.toValue(e),n.toValue(t),n.toValue(r)],refresh:m.value}),({args:p},_,w)=>{s.clear(),i.value=[],u.value=!0;const U=a.synchronizeDiscover(...p);f=U;let V,b=!0;w(()=>{b=!1,U.return(null),V?.return({continue:()=>d,cursor:""})});let z;(async()=>{for await(const g of U){if(!b)break;g.tombstone?s.delete(g.object.url):s.set(g.object.url,g.object),z||(z=new Promise(A=>{setTimeout(()=>{b&&(i.value=Array.from(s.values())),z=void 0,A()},50)}))}})();let D=!1,L=()=>a.discover(...p);l=async()=>{if(!(D||!b)){D=!0;try{V=L(p[2])}catch{return h(5e3)}if(b){for(d=V;;){let g;try{g=await V.next()}catch(A){return A instanceof F?h():(console.error("Fatal error in discover"),console.error(A),h(5e3))}if(!b)return;if(g.done){L=g.value.continue;break}else g.value.error&&console.error(g.value.error)}await new Promise(g=>setTimeout(g,0)),z&&await z,b&&(D=!1,u.value=!1,n.toValue(o)&&c())}}},c()},{immediate:!0}),n.watch(()=>n.toValue(o),p=>p&&c()),{objects:i,poll:c,isFirstPoll:u}}function oe(e,t){const r=n.ref(void 0);return n.watch(()=>n.toValue(e),async(o,a,s)=>{let i=!0;s(()=>{i=!1}),r.value=void 0;try{const l=await t(o);i&&(r.value=l)}catch(l){if(!i)return;r.value=null,l instanceof S||console.error(l)}},{immediate:!0}),{output:r}}function ie(e){return e===void 0?"Loading...":e===null?"Not found":e}function se(e){const t=I(),{output:r}=oe(e,t.actorToHandle.bind(t));return{handle:r}}const j=n.defineComponent({__name:"ActorToHandle",props:{actor:{}},setup(e){const t=e,r=n.toRef(t,"actor"),{handle:o}=se(r);return(a,s)=>n.renderSlot(a.$slots,"default",{handle:n.unref(o)},()=>[n.createElementVNode("span",null,n.toDisplayString(n.unref(ie)(n.unref(o))),1)])}}),mt=["data-url"],pt={key:0},ht={key:1},vt={key:0},gt={key:1},bt=["disabled"],yt={key:1},_t={key:2},C=n.defineComponent({__name:"ObjectInfo",props:{object:{}},setup(e){const t=I(),r=n.ref(!1);async function o(a,s){r.value=!0,await new Promise(i=>setTimeout(i,0)),confirm("Are you sure you want to delete this object? It cannot be undone.")&&await t.delete(a,s),r.value=!1}return(a,s)=>e.object?(n.openBlock(),n.createElementBlock("article",{key:0,"data-url":e.object.url},[n.createElementVNode("p",null,[s[1]||(s[1]=n.createTextVNode("@",-1)),n.createVNode(j,{actor:e.object.actor},null,8,["actor"]),s[2]||(s[2]=n.createTextVNode(" posted:",-1))]),n.createElementVNode("pre",null,n.toDisplayString(e.object.value),1),n.createElementVNode("details",null,[s[14]||(s[14]=n.createElementVNode("summary",null,"Show object properties",-1)),n.createElementVNode("dl",null,[s[8]||(s[8]=n.createElementVNode("dt",null,"Object URL",-1)),n.createElementVNode("dd",null,[n.createElementVNode("code",null,n.toDisplayString(e.object.url),1)]),s[9]||(s[9]=n.createElementVNode("dt",null,"Actor",-1)),n.createElementVNode("dd",null,[n.createElementVNode("code",null,n.toDisplayString(e.object.actor),1)]),s[10]||(s[10]=n.createElementVNode("dt",null,"Handle",-1)),n.createElementVNode("dd",null,[n.createVNode(j,{actor:e.object.actor},null,8,["actor"])]),s[11]||(s[11]=n.createElementVNode("dt",null,"Content",-1)),n.createElementVNode("dd",null,[n.createElementVNode("pre",null,n.toDisplayString(e.object.value),1)]),s[12]||(s[12]=n.createElementVNode("dt",null,"Allowed actors",-1)),n.createElementVNode("dd",null,[Array.isArray(e.object.allowed)?e.object.allowed.length===0?(n.openBlock(),n.createElementBlock("p",ht,[...s[4]||(s[4]=[n.createElementVNode("em",null,"No one is allowed (except you)",-1)])])):n.createCommentVNode("",!0):(n.openBlock(),n.createElementBlock("p",pt,[...s[3]||(s[3]=[n.createElementVNode("em",null,"Public",-1)])])),n.createElementVNode("ul",null,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.object.allowed,i=>(n.openBlock(),n.createElementBlock("li",{key:i},[n.createElementVNode("dl",null,[s[5]||(s[5]=n.createElementVNode("dt",null,"Actor",-1)),n.createElementVNode("dd",null,[n.createElementVNode("code",null,n.toDisplayString(i),1)]),s[6]||(s[6]=n.createElementVNode("dt",null,"Handle",-1)),n.createElementVNode("dd",null,[n.createVNode(j,{actor:i},null,8,["actor"])])])]))),128))])]),s[13]||(s[13]=n.createElementVNode("dt",null,"Channels",-1)),n.createElementVNode("dd",null,[e.object.channels?.length?(n.openBlock(),n.createElementBlock("ul",vt,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(e.object.channels,i=>(n.openBlock(),n.createElementBlock("li",{key:i},[n.createElementVNode("code",null,n.toDisplayString(i),1)]))),128))])):(n.openBlock(),n.createElementBlock("p",gt,[...s[7]||(s[7]=[n.createElementVNode("em",null,"No channels",-1)])]))])])]),a.$graffitiSession.value?.actor===e.object.actor?(n.openBlock(),n.createElementBlock("button",{key:0,disabled:r.value,onClick:s[0]||(s[0]=i=>o(e.object,a.$graffitiSession.value))},n.toDisplayString(r.value?"Deleting...":"Delete"),9,bt)):n.createCommentVNode("",!0)],8,mt)):e.object===null?(n.openBlock(),n.createElementBlock("article",yt,[...s[15]||(s[15]=[n.createElementVNode("p",null,[n.createElementVNode("em",null,"Graffiti object not found")],-1)])])):(n.openBlock(),n.createElementBlock("article",_t,[...s[16]||(s[16]=[n.createElementVNode("p",null,[n.createElementVNode("em",null,"Graffiti object loading...")],-1)])]))}}),kt={key:0},Et={key:1},ae=n.defineComponent({__name:"Discover",props:{channels:{},schema:{},session:{},autopoll:{type:Boolean}},setup(e){const t=e,{objects:r,poll:o,isFirstPoll:a}=re(n.toRef(t,"channels"),n.toRef(t,"schema"),n.toRef(t,"session"),n.toRef(t,"autopoll"));return(s,i)=>n.renderSlot(s.$slots,"default",{objects:n.unref(r),poll:n.unref(o),isFirstPoll:n.unref(a)},()=>[n.unref(a)?(n.openBlock(),n.createElementBlock("p",Et,[...i[0]||(i[0]=[n.createElementVNode("em",null," Graffiti discover loading... ",-1)])])):(n.openBlock(),n.createElementBlock("ul",kt,[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(n.unref(r),l=>(n.openBlock(),n.createElementBlock("li",{key:l.url},[n.createVNode(C,{object:l},null,8,["object"])]))),128))]))])}});function le(e,t,r){const o=P(),a=n.ref(void 0);let s=async()=>{};const i=async()=>s();let l;return n.onScopeDispose(()=>{l?.return(null)}),n.watch(()=>[n.toValue(e),n.toValue(t),n.toValue(r)],(c,u,f)=>{a.value=void 0;const d=o.synchronizeGet(...c);l=d;let m=!0;f(()=>{m=!1,d.return(null)}),(async()=>{for await(const p of d){if(!m)return;p.tombstone?a.value=null:a.value=p.object}})();let h=!1;s=async()=>{if(!(h||!m)){h=!0;try{await o.get(...c)}catch(p){p instanceof S||console.error(p)}await new Promise(p=>setTimeout(p,0)),h=!1}},i()},{immediate:!0}),{object:a,poll:i}}const ue=n.defineComponent({__name:"Get",props:{url:{},schema:{},session:{}},setup(e){const t=e,{object:r,poll:o}=le(n.toRef(t,"url"),n.toRef(t,"schema"),n.toRef(t,"session"));return(a,s)=>n.renderSlot(a.$slots,"default",{object:n.unref(r),poll:n.unref(o)},()=>[n.createVNode(C,{object:n.unref(r)},null,8,["object"])])}});function ce(e,t,r){const o=P(),a=n.ref(void 0),s=n.ref(0);let i=null,l=()=>{};function c(){return i||(s.value++,i=new Promise(u=>{l=()=>{i=null,u()}}),i)}return n.watch(()=>({args:[n.toValue(e),n.toValue(t),n.toValue(r)],pollCounter:s.value}),async({args:u},f,d)=>{a.value?.dataUrl&&URL.revokeObjectURL(a.value.dataUrl),a.value=void 0;let m=!0;d(()=>{m=!1});try{const{data:h,actor:p,allowed:_}=await o.getMedia(...u);if(!m)return;const w=URL.createObjectURL(h);a.value={data:h,dataUrl:w,actor:p,allowed:_}}catch(h){if(!m)return;h instanceof S?a.value=null:console.error(h)}finally{l()}},{immediate:!0}),n.onScopeDispose(()=>{l(),a.value?.dataUrl&&URL.revokeObjectURL(a.value.dataUrl)}),{media:a,poll:c}}const wt=["src","alt"],zt=["src","alt"],Nt=["src","alt"],jt=["src","alt"],$t=["data","alt"],St={key:6},Gt={key:7},fe=n.defineComponent({__name:"GetMedia",props:{url:{},accept:{},session:{}},setup(e){const t=e,{media:r,poll:o}=ce(n.toRef(t,"url"),n.toRef(t,"accept"),n.toRef(t,"session"));function a(){r.value&&(window.location.href=r.value.dataUrl)}return(s,i)=>n.renderSlot(s.$slots,"default",{media:n.unref(r),poll:n.unref(o)},()=>[n.unref(r)?.data.type.startsWith("image/")?(n.openBlock(),n.createElementBlock("img",{key:0,src:n.unref(r).dataUrl,alt:`An image by ${n.unref(r).actor}`},null,8,wt)):n.unref(r)?.data.type.startsWith("video/")?(n.openBlock(),n.createElementBlock("video",{key:1,controls:"",src:n.unref(r).dataUrl,alt:`A video by ${n.unref(r).actor}`},null,8,zt)):n.unref(r)?.data.type.startsWith("audio/")?(n.openBlock(),n.createElementBlock("audio",{key:2,controls:"",src:n.unref(r).dataUrl,alt:`Audio by ${n.unref(r).actor}`},null,8,Nt)):n.unref(r)?.data.type==="text/html"?(n.openBlock(),n.createElementBlock("iframe",{key:3,src:n.unref(r).dataUrl,alt:`HTML by ${n.unref(r).actor}`,sandbox:""},null,8,jt)):n.unref(r)?.data.type.startsWith("application/pdf")?(n.openBlock(),n.createElementBlock("object",{key:4,data:n.unref(r).dataUrl,type:"application/pdf",alt:`PDF by ${n.unref(r).actor}`},null,8,$t)):n.unref(r)?(n.openBlock(),n.createElementBlock("button",{key:5,onClick:a},"Download media")):n.unref(r)===null?(n.openBlock(),n.createElementBlock("p",St,[...i[0]||(i[0]=[n.createElementVNode("em",null,"Media not found",-1)])])):(n.openBlock(),n.createElementBlock("p",Gt,[...i[1]||(i[1]=[n.createElementVNode("em",null," Media loading... ",-1)])]))])}});function de(e){const t=I(),{output:r}=oe(e,t.handleToActor.bind(t));return{actor:r}}const me=n.defineComponent({__name:"HandleToActor",props:{handle:{}},setup(e){const t=e,r=n.toRef(t,"handle"),{actor:o}=de(r);return(a,s)=>n.renderSlot(a.$slots,"default",{actor:n.unref(o)},()=>[n.createElementVNode("span",null,n.toDisplayString(n.unref(ie)(n.unref(o))),1)])}}),Pt={install(e,t){const r=t.graffiti,o=new pe.GraffitiSynchronize(r),a=n.ref(void 0);o.sessionEvents.addEventListener("initialized",async s=>{const i=s.detail;if(i&&i.error&&console.error(i.error),i&&i.href){const l=e.config.globalProperties.$router;if(l){const c=l.options.history.base,u=new URL(i.href);u.pathname.startsWith(c)&&(u.pathname=u.pathname.slice(c.length)),await l.replace(u.pathname+u.search+u.hash)}}a.value||(a.value=null)}),o.sessionEvents.addEventListener("login",s=>{const i=s.detail;if(i.error){console.error("Error logging in:"),console.error(i.error);return}else a.value=i.session}),o.sessionEvents.addEventListener("logout",s=>{const i=s.detail;i.error?(console.error("Error logging out:"),console.error(i.error)):a.value=null}),ft(o),ct(a),e.component("GraffitiDiscover",ae),e.component("GraffitiGet",ue),e.component("GraffitiGetMedia",fe),e.component("GraffitiActorToHandle",j),e.component("GraffitiHandleToActor",me),e.component("GraffitiObjectInfo",C),e.config.globalProperties.$graffiti=o,e.config.globalProperties.$graffitiSession=a}},Vt=ae,At=ue,Ot=fe,Bt=j,Tt=me,Zt=C;exports.GraffitiActorToHandle=Bt;exports.GraffitiDiscover=Vt;exports.GraffitiGet=At;exports.GraffitiGetMedia=Ot;exports.GraffitiHandleToActor=Tt;exports.GraffitiObjectInfo=Zt;exports.GraffitiPlugin=Pt;exports.useGraffiti=I;exports.useGraffitiActorToHandle=se;exports.useGraffitiDiscover=re;exports.useGraffitiGet=le;exports.useGraffitiGetMedia=ce;exports.useGraffitiHandleToActor=de;exports.useGraffitiSession=dt;exports.useGraffitiSynchronize=P;
|
|
2
2
|
//# sourceMappingURL=plugin.js.map
|