talkdom 0.1.2 → 0.1.3

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.
@@ -1 +1 @@
1
- !function(){function e(e){for(var t=e.trim(),r=t.split(/\s+/),n=r[0],o=t.substring(n.length).trim(),i=r.slice(1),c=[],s=[],u=[],a=0;a<i.length;a++){var l=i[a];l.endsWith(":")?(c.length>0&&u.length>0?(s.push(u.join(" ")),u=[]):c.length>0&&s.push(""),c.push(l)):u.push(l)}return c.length>0&&s.push(u.join(" ")),{receiver:n,selector:c.join(""),keywords:c,args:s,body:o}}function t(e){return e.getAttribute("receiver").trim().split(/\s+/)[0]}function r(e){return document.querySelectorAll('[receiver~="'+e+'"]')}function n(e,r,n){if(function(e,t){var r=e.getAttribute("accepts");return!r||-1!==r.split(/\s+/).indexOf(t)}(e,r)){switch(r){case"inner":e.innerHTML=n;break;case"text":e.textContent=n;break;case"append":e.insertAdjacentHTML("beforeend",n);break;case"outer":e.outerHTML=n}return function(e,r){if(e.hasAttribute("receiver")&&e.hasAttribute("persist")){var n="talkDOM:"+t(e);"outer"===r?localStorage.setItem(n,JSON.stringify({op:r,content:e.outerHTML})):localStorage.setItem(n,JSON.stringify({op:r,content:e.innerHTML}))}}(e,r),n}console.error(t(e)+" does not accept "+r)}function o(e,t,r){var n,o={"X-TalkDOM-Request":"true","X-TalkDOM-Current-URL":location.href};if(r&&(o["X-TalkDOM-Receiver"]=r),"GET"!==e){var i=(n=document.querySelector('meta[name="csrf-token"]'))?n.getAttribute("content"):"";i&&(o["X-CSRF-Token"]=i)}return fetch(t,{method:e,headers:o}).then(function(r){if(!r.ok)return console.error("talkDOM: "+e+" "+t+" "+r.status),Promise.reject(r.status);var n=r.headers.get("X-TalkDOM-Trigger");return r.text().then(function(e){return n&&f(n),e})},function(r){return console.error("talkDOM: "+e+" "+t+" failed",r),Promise.reject(r)})}function i(e){return e.hasAttribute("receiver")?t(e):""}const c={"get:":function(e,t){return o("GET",t,i(e))},"post:":function(e,t){return o("POST",t,i(e))},"put:":function(e,t){return o("PUT",t,i(e))},"delete:":function(e,t){return o("DELETE",t,i(e))},"confirm:":function(e,t){if(!confirm(t))return Promise.reject("cancelled")},"apply:":function(e,t,r){n(e,r,t)},"get:apply:":function(e,t,r){return o("GET",t,i(e)).then(function(t){n(e,r,t)})},"post:apply:":function(e,t,r){return o("POST",t,i(e)).then(function(t){n(e,r,t)})},"put:apply:":function(e,t,r){return o("PUT",t,i(e)).then(function(t){n(e,r,t)})},"delete:apply:":function(e,t,r){return o("DELETE",t,i(e)).then(function(t){n(e,r,t)})}};var s=!1;function u(e){e&&e.sender&&(s=!0,f(e.sender),s=!1)}function a(e,t){var n=r(e.receiver);if(0!==n.length){var o=c[e.selector];if(o){var i,s=void 0!==t?[t].concat(e.args):e.args;return n.forEach(function(t){var n={receiver:e.receiver,selector:e.selector,args:e.args},c=t.parentNode,u=t.nextElementSibling;function a(){return t.isConnected?t:(u&&u.isConnected?u.previousElementSibling:c&&c.isConnected?c.lastElementChild:null)||r(e.receiver)[0]}if((i=o(t,...s))&&"function"==typeof i.then)i.then(function(){var e=a();e&&e.dispatchEvent(new CustomEvent("talkdom:done",{bubbles:!0,detail:n}))},function(e){n.error=e;var t=a();t&&t.dispatchEvent(new CustomEvent("talkdom:error",{bubbles:!0,detail:n}))});else{var l=a();l&&l.dispatchEvent(new CustomEvent("talkdom:done",{bubbles:!0,detail:n}))}}),i}console.error(e.receiver+" does not understand "+e.selector)}else console.error(e.receiver+" not found")}function l(t){var r=t.split(";").map(function(t){var r=t.trim();if(!r)return Promise.resolve();var n=r.split("|").map(function(e){return e.trim()}).filter(Boolean);return 1===n.length?Promise.resolve(a(e(n[0]))):n.reduce(function(t,r){var n=e(r);return Promise.resolve(t).then(function(e){return a(n,e)})},void 0)});return Promise.all(r)}function f(e){l(e).catch(function(){})}function d(t){var r=t.getAttribute("sender");f(r),s||function(t,r){if(t.hasAttribute("push-url")){var n=t.getAttribute("push-url");n||(n=e(r.split(";")[0].split("|")[0].trim()).args[0]||""),n&&location.pathname+location.search!==n&&history.pushState({sender:r},"",n)}}(t,r)}window.addEventListener("popstate",function(e){u(e.state)}),document.addEventListener("click",function(e){const t=e.target.closest("[sender]");t&&(e.preventDefault(),d(t))}),document.querySelectorAll("[persist]").forEach(function(e){if(e.hasAttribute("receiver")){var r=t(e),n=localStorage.getItem("talkDOM:"+r);if(n){var o;try{o=JSON.parse(n)}catch(e){return void localStorage.removeItem("talkDOM:"+r)}"outer"===o.op?e.outerHTML=o.content:e.innerHTML=o.content}}}),u(history.state),document.querySelectorAll("[receiver]").forEach(function(t){var n=e(t.getAttribute("receiver"));if("poll:"===n.keywords[n.keywords.length-1]){var o=function(e){var t=e.match(/^(\d+)(s|ms)$/);if(!t)return null;var r=parseInt(t[1],10);return"s"===t[2]?1e3*r:r}(n.args[n.args.length-1]);if(o)var i=n.keywords.slice(0,-1).join(""),s=n.args.slice(0,-1),u=n.receiver,a=r(u),l=setInterval(function(){if(t.isConnected){if(0!==a.length&&a[0].isConnected||(a=r(u)),0!==a.length){var e=c[i];e?a.forEach(function(t){e(t,...s)}):console.error(u+" does not understand "+i)}}else clearInterval(l)},o);else console.error("poll: invalid interval for "+n.receiver)}}),window.talkDOM={methods:c,send:l}}();
1
+ !function(){function e(e){for(var t=e.trim(),r=t.split(/\s+/),n=r[0],o=t.substring(n.length).trim(),i=r.slice(1),c=[],u=[],s=[],a=0;a<i.length;a++){var l=i[a];l.endsWith(":")?(c.length>0&&s.length>0?(u.push(s.join(" ")),s=[]):c.length>0&&u.push(""),c.push(l)):s.push(l)}return c.length>0&&u.push(s.join(" ")),{receiver:n,selector:c.join(""),keywords:c,args:u,body:o}}function t(e){return e.getAttribute("receiver").trim().split(/\s+/)[0]}function r(e){return document.querySelectorAll('[receiver~="'+e+'"]')}function n(e,r,n){if(function(e,t){var r=e.getAttribute("accepts");return!r||-1!==r.split(/\s+/).indexOf(t)}(e,r)){switch(r){case"inner":e.innerHTML=n;break;case"text":e.textContent=n;break;case"append":e.insertAdjacentHTML("beforeend",n);break;case"outer":e.outerHTML=n}return function(e,r){if(e.hasAttribute("receiver")&&e.hasAttribute("persist")){var n="talkDOM:"+t(e);"outer"===r?localStorage.setItem(n,JSON.stringify({op:r,content:e.outerHTML})):localStorage.setItem(n,JSON.stringify({op:r,content:e.innerHTML}))}}(e,r),n}console.error(t(e)+" does not accept "+r)}function o(e,t,r){var n,o={"X-TalkDOM-Request":"true","X-TalkDOM-Current-URL":location.href};if(r&&(o["X-TalkDOM-Receiver"]=r),"GET"!==e){var i=(n=document.querySelector('meta[name="csrf-token"]'))?n.getAttribute("content"):"";i?o["X-CSRF-Token"]=i:console.warn("talkDOM: no CSRF token found for "+e+" "+t)}return fetch(t,{method:e,headers:o}).then(function(r){if(!r.ok)return console.error("talkDOM: "+e+" "+t+" "+r.status),Promise.reject(r.status);var n=r.headers.get("X-TalkDOM-Trigger");return r.text().then(function(e){return n&&f(n),e})},function(r){return console.error("talkDOM: "+e+" "+t+" failed",r),Promise.reject(r)})}function i(e){return e.hasAttribute("receiver")?t(e):""}const c={"get:":function(e,t){return o("GET",t,i(e))},"post:":function(e,t){return o("POST",t,i(e))},"put:":function(e,t){return o("PUT",t,i(e))},"delete:":function(e,t){return o("DELETE",t,i(e))},"confirm:":function(e,t){if(!confirm(t))return Promise.reject("cancelled")},"apply:":function(e,t,r){return n(e,r,t)},"get:apply:":function(e,t,r){return o("GET",t,i(e)).then(function(t){return n(e,r,t)})},"post:apply:":function(e,t,r){return o("POST",t,i(e)).then(function(t){return n(e,r,t)})},"put:apply:":function(e,t,r){return o("PUT",t,i(e)).then(function(t){return n(e,r,t)})},"delete:apply:":function(e,t,r){return o("DELETE",t,i(e)).then(function(t){return n(e,r,t)})}};var u=!1;function s(e){e&&e.sender&&(u=!0,f(e.sender),u=!1)}function a(e,t){var n=r(e.receiver);if(0!==n.length){var o=c[e.selector];if(o){var i,u=void 0!==t?[t].concat(e.args):e.args;return n.forEach(function(t){var n={receiver:e.receiver,selector:e.selector,args:e.args},c=t.parentNode,s=t.nextElementSibling;function a(){return t.isConnected?t:(s&&s.isConnected?s.previousElementSibling:c&&c.isConnected?c.lastElementChild:null)||r(e.receiver)[0]}if((i=o(t,...u))&&"function"==typeof i.then)i.then(function(){var e=a();e&&e.dispatchEvent(new CustomEvent("talkdom:done",{bubbles:!0,detail:n}))},function(e){n.error=e;var t=a();t&&t.dispatchEvent(new CustomEvent("talkdom:error",{bubbles:!0,detail:n}))});else{var l=a();l&&l.dispatchEvent(new CustomEvent("talkdom:done",{bubbles:!0,detail:n}))}}),i}console.error(e.receiver+" does not understand "+e.selector)}else console.error(e.receiver+" not found")}function l(t){var r=t.split(";").map(function(t){var r=t.trim();if(!r)return Promise.resolve();var n=r.split("|").map(function(e){return e.trim()}).filter(Boolean);return 1===n.length?Promise.resolve(a(e(n[0]))):n.reduce(function(t,r){var n=e(r);return Promise.resolve(t).then(function(e){return a(n,e)})},void 0)});return Promise.all(r)}function f(e){l(e).catch(function(e){console.warn("talkDOM:",e)})}function d(t){var r=t.getAttribute("sender");f(r),u||function(t,r){if(t.hasAttribute("push-url")){var n=t.getAttribute("push-url");n||(n=e(r.split(";")[0].split("|")[0].trim()).args[0]||""),n&&location.pathname+location.search!==n&&history.pushState({sender:r},"",n)}}(t,r)}window.addEventListener("popstate",function(e){s(e.state)}),document.addEventListener("click",function(e){const t=e.target.closest("[sender]");t&&(e.preventDefault(),d(t))}),document.querySelectorAll("[persist]").forEach(function(e){if(e.hasAttribute("receiver")){var r=t(e),n=localStorage.getItem("talkDOM:"+r);if(n){var o;try{o=JSON.parse(n)}catch(e){return void localStorage.removeItem("talkDOM:"+r)}"outer"===o.op?e.outerHTML=o.content:e.innerHTML=o.content}}}),s(history.state),document.querySelectorAll("[receiver]").forEach(function(t){var n=e(t.getAttribute("receiver"));if("poll:"===n.keywords[n.keywords.length-1]){var o=function(e){var t=e.match(/^(\d+)(s|ms)$/);if(!t)return null;var r=parseInt(t[1],10);return"s"===t[2]?1e3*r:r}(n.args[n.args.length-1]);if(o)var i=n.keywords.slice(0,-1).join(""),u=n.args.slice(0,-1),s=n.receiver,a=r(s),l=setInterval(function(){if(t.isConnected){if(0!==a.length&&a[0].isConnected||(a=r(s)),0!==a.length){var e=c[i];e?a.forEach(function(t){e(t,...u)}):console.error(s+" does not understand "+i)}}else clearInterval(l)},o);else console.error("poll: invalid interval for "+n.receiver)}}),window.talkDOM={methods:c,send:l}}();
@@ -1 +1 @@
1
- {"version":3,"names":["parseMessage","str","trimmed","trim","tokens","split","receiver","body","substring","length","rest","slice","keywords","args","currentArg","i","token","endsWith","push","join","selector","receiverName","el","getAttribute","findReceivers","name","document","querySelectorAll","apply","op","content","attr","indexOf","accepts","innerHTML","textContent","insertAdjacentHTML","outerHTML","hasAttribute","key","localStorage","setItem","JSON","stringify","persist","console","error","request","method","url","meta","headers","location","href","querySelector","fetch","then","r","ok","status","Promise","reject","trigger","get","text","dispatchRaw","err","recName","methods","message","confirm","t","pushing","replayState","state","sender","send","msg","piped","els","result","undefined","concat","forEach","detail","parent","parentNode","next","nextElementSibling","resolveTarget","isConnected","previousElementSibling","lastElementChild","target","dispatchEvent","CustomEvent","bubbles","run","raw","chains","map","chain","resolve","steps","s","filter","Boolean","reduce","prev","step","all","catch","dispatch","senderEl","pathname","search","history","pushState","pushUrl","window","addEventListener","e","closest","preventDefault","getItem","parse","removeItem","interval","match","n","parseInt","parseInterval","cachedTargets","id","setInterval","clearInterval","talkDOM"],"sources":["index.js"],"mappings":"CAAC,WAIC,SAASA,EAAaC,GAUpB,IATA,IAAIC,EAAUD,EAAIE,OACdC,EAASF,EAAQG,MAAM,OACvBC,EAAWF,EAAO,GAClBG,EAAOL,EAAQM,UAAUF,EAASG,QAAQN,OAC1CO,EAAON,EAAOO,MAAM,GACpBC,EAAW,GACXC,EAAO,GACPC,EAAa,GAERC,EAAI,EAAGA,EAAIL,EAAKD,OAAQM,IAAK,CACpC,IAAIC,EAAQN,EAAKK,GACbC,EAAMC,SAAS,MACbL,EAASH,OAAS,GAAKK,EAAWL,OAAS,GAC7CI,EAAKK,KAAKJ,EAAWK,KAAK,MAC1BL,EAAa,IACJF,EAASH,OAAS,GAC3BI,EAAKK,KAAK,IAEZN,EAASM,KAAKF,IAEdF,EAAWI,KAAKF,EAEpB,CAKA,OAJIJ,EAASH,OAAS,GACpBI,EAAKK,KAAKJ,EAAWK,KAAK,MAGrB,CAAEb,SAAUA,EAAUc,SAAUR,EAASO,KAAK,IAAKP,SAAUA,EAAUC,KAAMA,EAAMN,KAAMA,EAClG,CAGA,SAASc,EAAaC,GACpB,OAAOA,EAAGC,aAAa,YAAYpB,OAAOE,MAAM,OAAO,EACzD,CAGA,SAASmB,EAAcC,GACrB,OAAOC,SAASC,iBAAiB,eAAiBF,EAAO,KAC3D,CAwCA,SAASG,EAAMN,EAAIO,EAAIC,GACrB,GArCF,SAAiBR,EAAIO,GACnB,IAAIE,EAAOT,EAAGC,aAAa,WAC3B,OAAKQ,IACqC,IAAnCA,EAAK1B,MAAM,OAAO2B,QAAQH,EACnC,CAiCOI,CAAQX,EAAIO,GAAjB,CAIA,OAAQA,GACN,IAAK,QAASP,EAAGY,UAAYJ,EAAS,MACtC,IAAK,OAAQR,EAAGa,YAAcL,EAAS,MACvC,IAAK,SAAUR,EAAGc,mBAAmB,YAAaN,GAAU,MAC5D,IAAK,QAASR,EAAGe,UAAYP,EAG/B,OAzCF,SAAiBR,EAAIO,GACnB,GAAKP,EAAGgB,aAAa,aAAgBhB,EAAGgB,aAAa,WAArD,CACA,IACIC,EAAM,WADClB,EAAaC,GAEb,UAAPO,EACFW,aAAaC,QAAQF,EAAKG,KAAKC,UAAU,CAAEd,GAAIA,EAAIC,QAASR,EAAGe,aAE/DG,aAAaC,QAAQF,EAAKG,KAAKC,UAAU,CAAEd,GAAIA,EAAIC,QAASR,EAAGY,YANM,CAQzE,CA+BEU,CAAQtB,EAAIO,GACLC,CARP,CAFEe,QAAQC,MAAMzB,EAAaC,GAAM,oBAAsBO,EAW3D,CASA,SAASkB,EAAQC,EAAQC,EAAK3C,GAC5B,IAPI4C,EAOAC,EAAU,CACZ,oBAAqB,OACrB,wBAAyBC,SAASC,MAKpC,GAHI/C,IACF6C,EAAQ,sBAAwB7C,GAEnB,QAAX0C,EAAkB,CACpB,IAAIhC,GAfFkC,EAAOxB,SAAS4B,cAAc,4BACpBJ,EAAK3B,aAAa,WAAa,GAevCP,IAAOmC,EAAQ,gBAAkBnC,EACvC,CACA,OAAOuC,MAAMN,EAAK,CAAED,OAAQA,EAAQG,QAASA,IAAWK,KAAK,SAAUC,GACrE,IAAKA,EAAEC,GAEL,OADAb,QAAQC,MAAM,YAAcE,EAAS,IAAMC,EAAM,IAAMQ,EAAEE,QAClDC,QAAQC,OAAOJ,EAAEE,QAE1B,IAAIG,EAAUL,EAAEN,QAAQY,IAAI,qBAC5B,OAAON,EAAEO,OAAOR,KAAK,SAAUQ,GAE7B,OADIF,GAASG,EAAYH,GAClBE,CACT,EACF,EAAG,SAAUE,GAEX,OADArB,QAAQC,MAAM,YAAcE,EAAS,IAAMC,EAAM,UAAWiB,GACrDN,QAAQC,OAAOK,EACxB,EACF,CAEA,SAASC,EAAQ7C,GACf,OAAOA,EAAGgB,aAAa,YAAcjB,EAAaC,GAAM,EAC1D,CAIA,MAAM8C,EAAU,CACd,OAAQ,SAAU9C,EAAI2B,GAAO,OAAOF,EAAQ,MAAOE,EAAKkB,EAAQ7C,GAAM,EACtE,QAAS,SAAUA,EAAI2B,GAAO,OAAOF,EAAQ,OAAQE,EAAKkB,EAAQ7C,GAAM,EACxE,OAAQ,SAAUA,EAAI2B,GAAO,OAAOF,EAAQ,MAAOE,EAAKkB,EAAQ7C,GAAM,EACtE,UAAW,SAAUA,EAAI2B,GAAO,OAAOF,EAAQ,SAAUE,EAAKkB,EAAQ7C,GAAM,EAC5E,WAAY,SAAUA,EAAI+C,GAAW,IAAKC,QAAQD,GAAU,OAAOT,QAAQC,OAAO,YAAc,EAChG,SAAU,SAAUvC,EAAIQ,EAASD,GAAMD,EAAMN,EAAIO,EAAIC,EAAU,EAC/D,aAAc,SAAUR,EAAI2B,EAAKpB,GAAM,OAAOkB,EAAQ,MAAOE,EAAKkB,EAAQ7C,IAAKkC,KAAK,SAAUe,GAAK3C,EAAMN,EAAIO,EAAI0C,EAAI,EAAI,EACzH,cAAe,SAAUjD,EAAI2B,EAAKpB,GAAM,OAAOkB,EAAQ,OAAQE,EAAKkB,EAAQ7C,IAAKkC,KAAK,SAAUe,GAAK3C,EAAMN,EAAIO,EAAI0C,EAAI,EAAI,EAC3H,aAAc,SAAUjD,EAAI2B,EAAKpB,GAAM,OAAOkB,EAAQ,MAAOE,EAAKkB,EAAQ7C,IAAKkC,KAAK,SAAUe,GAAK3C,EAAMN,EAAIO,EAAI0C,EAAI,EAAI,EACzH,gBAAiB,SAAUjD,EAAI2B,EAAKpB,GAAM,OAAOkB,EAAQ,SAAUE,EAAKkB,EAAQ7C,IAAKkC,KAAK,SAAUe,GAAK3C,EAAMN,EAAIO,EAAI0C,EAAI,EAAI,GAGjI,IAAIC,GAAU,EAgBd,SAASC,EAAYC,GACdA,GAAUA,EAAMC,SACrBH,GAAU,EACVP,EAAYS,EAAMC,QAClBH,GAAU,EACZ,CAQA,SAASI,EAAKC,EAAKC,GACjB,IAAIC,EAAMvD,EAAcqD,EAAIvE,UAC5B,GAAmB,IAAfyE,EAAItE,OAAR,CAIA,IAAIuC,EAASoB,EAAQS,EAAIzD,UACzB,GAAK4B,EAAL,CAIA,IACIgC,EADAnE,OAAiBoE,IAAVH,EAAsB,CAACA,GAAOI,OAAOL,EAAIhE,MAAQgE,EAAIhE,KA2BhE,OAzBAkE,EAAII,QAAQ,SAAU7D,GACpB,IAAI8D,EAAS,CAAE9E,SAAUuE,EAAIvE,SAAUc,SAAUyD,EAAIzD,SAAUP,KAAMgE,EAAIhE,MACrEwE,EAAS/D,EAAGgE,WACZC,EAAOjE,EAAGkE,mBAEd,SAASC,IACP,OAAInE,EAAGoE,YAAoBpE,GACXiE,GAAQA,EAAKG,YAAcH,EAAKI,uBAC5CN,GAAUA,EAAOK,YAAcL,EAAOO,iBAAmB,OACzCpE,EAAcqD,EAAIvE,UAAU,EAClD,CACA,IAPA0E,EAAShC,EAAO1B,KAAOT,KAOc,mBAAhBmE,EAAOxB,KAC1BwB,EAAOxB,KAAK,WACV,IAAIqC,EAASJ,IACTI,GAAQA,EAAOC,cAAc,IAAIC,YAAY,eAAgB,CAAEC,SAAS,EAAMZ,OAAQA,IAC5F,EAAG,SAAUlB,GACXkB,EAAOtC,MAAQoB,EACf,IAAI2B,EAASJ,IACTI,GAAQA,EAAOC,cAAc,IAAIC,YAAY,gBAAiB,CAAEC,SAAS,EAAMZ,OAAQA,IAC7F,OACK,CACL,IAAIS,EAASJ,IACTI,GAAQA,EAAOC,cAAc,IAAIC,YAAY,eAAgB,CAAEC,SAAS,EAAMZ,OAAQA,IAC5F,CACF,GACOJ,CA5BP,CAFEnC,QAAQC,MAAM+B,EAAIvE,SAAW,wBAA0BuE,EAAIzD,SAH7D,MAFEyB,QAAQC,MAAM+B,EAAIvE,SAAW,aAoCjC,CAIA,SAAS2F,EAAIC,GACX,IAAIC,EAASD,EAAI7F,MAAM,KAAK+F,IAAI,SAAUC,GACxC,IAAInG,EAAUmG,EAAMlG,OACpB,IAAKD,EAAS,OAAO0D,QAAQ0C,UAC7B,IAAIC,EAAQrG,EAAQG,MAAM,KAAK+F,IAAI,SAAUI,GAAK,OAAOA,EAAErG,MAAQ,GAAGsG,OAAOC,SAC7E,OAAqB,IAAjBH,EAAM9F,OACDmD,QAAQ0C,QAAQ1B,EAAK5E,EAAauG,EAAM,MAE1CA,EAAMI,OAAO,SAAUC,EAAMC,GAClC,IAAIhC,EAAM7E,EAAa6G,GACvB,OAAOjD,QAAQ0C,QAAQM,GAAMpD,KAAK,SAAUsB,GAC1C,OAAOF,EAAKC,EAAKC,EACnB,EACF,OAAGG,EACL,GACA,OAAOrB,QAAQkD,IAAIX,EACrB,CAGA,SAASlC,EAAYiC,GACnBD,EAAIC,GAAKa,MAAM,WAAa,EAC9B,CAGA,SAASC,EAASC,GAChB,IAAIf,EAAMe,EAAS1F,aAAa,UAChC0C,EAAYiC,GACP1B,GAhGP,SAAiByC,EAAUf,GACzB,GAAKe,EAAS3E,aAAa,YAA3B,CACA,IAAIW,EAAMgE,EAAS1F,aAAa,YAC3B0B,IAEHA,EADejD,EAAakG,EAAI7F,MAAM,KAAK,GAAGA,MAAM,KAAK,GAAGF,QAC7CU,KAAK,IAAM,IAExBoC,GAAQG,SAAS8D,SAAW9D,SAAS+D,SAAYlE,GACnDmE,QAAQC,UAAU,CAAE1C,OAAQuB,GAAO,GAAIjD,EAPK,CAShD,CAsFgBqE,CAAQL,EAAUf,EAClC,CA7EAqB,OAAOC,iBAAiB,WAAY,SAAUC,GAC5ChD,EAAYgD,EAAE/C,MAChB,GAmHAhD,SAAS8F,iBAAiB,QAAS,SAAUC,GAC3C,MAAM9C,EAAS8C,EAAE5B,OAAO6B,QAAQ,YAC5B/C,IACF8C,EAAEE,iBACFX,EAASrC,GAEb,GAvOEjD,SAASC,iBAAiB,aAAawD,QAAQ,SAAU7D,GACvD,GAAKA,EAAGgB,aAAa,YAArB,CACA,IAAIb,EAAOJ,EAAaC,GACpB4E,EAAM1D,aAAaoF,QAAQ,WAAanG,GAC5C,GAAKyE,EAAL,CACA,IAAIxB,EACJ,IAAMA,EAAQhC,KAAKmF,MAAM3B,EAAM,CAAE,MAAOuB,GAAiD,YAA5CjF,aAAasF,WAAW,WAAarG,EAAe,CAChF,UAAbiD,EAAM7C,GACRP,EAAGe,UAAYqC,EAAM5C,QAErBR,EAAGY,UAAYwC,EAAM5C,OANP,CAHwB,CAW1C,GA8NF2C,EAAY2C,QAAQ1C,OACpBhD,SAASC,iBAAiB,cAAcwD,QAvCxC,SAAsB7D,GACpB,IACIuD,EAAM7E,EADCsB,EAAGC,aAAa,aAE3B,GAA8C,UAA1CsD,EAAIjE,SAASiE,EAAIjE,SAASH,OAAS,GAAvC,CACA,IAAIsH,EAbN,SAAuB9H,GACrB,IAAI+H,EAAQ/H,EAAI+H,MAAM,iBACtB,IAAKA,EAAO,OAAO,KACnB,IAAIC,EAAIC,SAASF,EAAM,GAAI,IAC3B,MAAoB,MAAbA,EAAM,GAAiB,IAAJC,EAAWA,CACvC,CAQiBE,CAActD,EAAIhE,KAAKgE,EAAIhE,KAAKJ,OAAS,IACxD,GAAKsH,EAIL,IAAI3G,EAAWyD,EAAIjE,SAASD,MAAM,GAAI,GAAGQ,KAAK,IAC1CN,EAAOgE,EAAIhE,KAAKF,MAAM,GAAI,GAC1Bc,EAAOoD,EAAIvE,SACX8H,EAAgB5G,EAAcC,GAC9B4G,EAAKC,YAAY,WACnB,GAAKhH,EAAGoE,aAIR,GAH6B,IAAzB0C,EAAc3H,QAAiB2H,EAAc,GAAG1C,cAClD0C,EAAgB5G,EAAcC,IAEH,IAAzB2G,EAAc3H,OAAlB,CACA,IAAIuC,EAASoB,EAAQhD,GAChB4B,EAILoF,EAAcjD,QAAQ,SAAUU,GAAU7C,EAAO6C,KAAWhF,EAAO,GAHjEgC,QAAQC,MAAMrB,EAAO,wBAA0BL,EAHX,OAJfmH,cAAcF,EAWvC,EAAGN,QAnBDlF,QAAQC,MAAM,8BAAgC+B,EAAIvE,SAHS,CAuB/D,GAeAiH,OAAOiB,QAAU,CAAEpE,QAASA,EAASQ,KAAMqB,EAE7C,CAlTA","ignoreList":[]}
1
+ {"version":3,"names":["parseMessage","str","trimmed","trim","tokens","split","receiver","body","substring","length","rest","slice","keywords","args","currentArg","i","token","endsWith","push","join","selector","receiverName","el","getAttribute","findReceivers","name","document","querySelectorAll","apply","op","content","attr","indexOf","accepts","innerHTML","textContent","insertAdjacentHTML","outerHTML","hasAttribute","key","localStorage","setItem","JSON","stringify","persist","console","error","request","method","url","meta","headers","location","href","querySelector","warn","fetch","then","r","ok","status","Promise","reject","trigger","get","text","dispatchRaw","err","recName","methods","message","confirm","t","pushing","replayState","state","sender","send","msg","piped","els","result","undefined","concat","forEach","detail","parent","parentNode","next","nextElementSibling","resolveTarget","isConnected","previousElementSibling","lastElementChild","target","dispatchEvent","CustomEvent","bubbles","run","raw","chains","map","chain","resolve","steps","s","filter","Boolean","reduce","prev","step","all","catch","dispatch","senderEl","pathname","search","history","pushState","pushUrl","window","addEventListener","e","closest","preventDefault","getItem","parse","removeItem","interval","match","n","parseInt","parseInterval","cachedTargets","id","setInterval","clearInterval","talkDOM"],"sources":["index.js"],"mappings":"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","ignoreList":[]}
package/index.js CHANGED
@@ -114,6 +114,7 @@
114
114
  if (method !== "GET") {
115
115
  var token = csrfToken();
116
116
  if (token) headers["X-CSRF-Token"] = token;
117
+ else console.warn("talkDOM: no CSRF token found for " + method + " " + url);
117
118
  }
118
119
  return fetch(url, { method: method, headers: headers }).then(function (r) {
119
120
  if (!r.ok) {
@@ -143,11 +144,11 @@
143
144
  "put:": function (el, url) { return request("PUT", url, recName(el)); },
144
145
  "delete:": function (el, url) { return request("DELETE", url, recName(el)); },
145
146
  "confirm:": function (el, message) { if (!confirm(message)) return Promise.reject("cancelled"); },
146
- "apply:": function (el, content, op) { apply(el, op, content); },
147
- "get:apply:": function (el, url, op) { return request("GET", url, recName(el)).then(function (t) { apply(el, op, t); }); },
148
- "post:apply:": function (el, url, op) { return request("POST", url, recName(el)).then(function (t) { apply(el, op, t); }); },
149
- "put:apply:": function (el, url, op) { return request("PUT", url, recName(el)).then(function (t) { apply(el, op, t); }); },
150
- "delete:apply:": function (el, url, op) { return request("DELETE", url, recName(el)).then(function (t) { apply(el, op, t); }); },
147
+ "apply:": function (el, content, op) { return apply(el, op, content); },
148
+ "get:apply:": function (el, url, op) { return request("GET", url, recName(el)).then(function (t) { return apply(el, op, t); }); },
149
+ "post:apply:": function (el, url, op) { return request("POST", url, recName(el)).then(function (t) { return apply(el, op, t); }); },
150
+ "put:apply:": function (el, url, op) { return request("PUT", url, recName(el)).then(function (t) { return apply(el, op, t); }); },
151
+ "delete:apply:": function (el, url, op) { return request("DELETE", url, recName(el)).then(function (t) { return apply(el, op, t); }); },
151
152
  };
152
153
 
153
154
  var pushing = false;
@@ -242,7 +243,7 @@
242
243
 
243
244
  // Fire-and-forget dispatch used by declarative senders and server triggers.
244
245
  function dispatchRaw(raw) {
245
- run(raw).catch(function () {});
246
+ run(raw).catch(function (err) { console.warn("talkDOM:", err); });
246
247
  }
247
248
 
248
249
  // Entry point for a sender click: dispatch its message and optionally push URL.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "talkdom",
3
- "version": "0.1.2",
3
+ "version": "0.1.3",
4
4
  "description": "Smalltalk-inspired message passing for the DOM",
5
5
  "main": "index.js",
6
6
  "jsdelivr": "dist/talkdom.min.js",