taggedjs 0.0.6 → 0.0.11

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.
Files changed (2) hide show
  1. package/index.js +1 -1
  2. package/package.json +3 -2
package/index.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,r(o.key),o)}}function r(e){var r=function(e,r){if("object"!=t(e)||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,"string");if("object"!=t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==t(r)?r:String(r)}var n=[];function o(t,e){var r=t.indexOf(e);-1!==r&&t.splice(r,1)}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,f(n.key),n)}}function u(){return u="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,r){var n=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=l(t)););return t}(t,e);if(n){var o=Object.getOwnPropertyDescriptor(n,e);return o.get?o.get.call(arguments.length<3?t:r):o.value}},u.apply(this,arguments)}function c(t,e){return c=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},c(t,e)}function s(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function l(t){return l=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},l(t)}function f(t){var e=function(t,e){if("object"!=i(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=i(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==i(e)?e:String(e)}var p=function(t){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&c(t,e)}(y,t);var e,r,n,o,p=(n=y,o=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=l(n);if(o){var r=l(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===i(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return s(t)}(this,t)});function y(t){var e,r,n,o;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,y),r=s(e=p.call(this)),o=void 0,(n=f(n="value"))in r?Object.defineProperty(r,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[n]=o,e.value=t,e}return e=y,(r=[{key:"subscribe",value:function(t){var e=u(l(y.prototype),"subscribe",this).call(this,t);return t(this.value),e}}])&&a(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),y}(function(){function t(){var e,n,o;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),e=this,n="next",o=this.set,(n=r(n))in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,this.subscribers=[]}var i,a;return i=t,(a=[{key:"subscribe",value:function(t){var e=this;this.subscribers.push(t),n.push(t);var r=function(){o(e.subscribers,t),o(n,t)};return r.unsubscribe=r,r}},{key:"set",value:function(t){this.value=t,this.subscribers.forEach((function(e){e.value=t,e(t)}))}}])&&e(i.prototype,a),Object.defineProperty(i,"prototype",{writable:!1}),t}());function y(t){return y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},y(t)}function v(t,e){if(t===e)return!0;if("object"!==y(t)||"object"!==y(e)||null===t||null===e)return!1;var r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(var o=0,i=r;o<i.length;o++){var a=i[o];if(!n.includes(a)||!v(t[a],e[a])){if(t[a]instanceof Function&&e[a]instanceof Function&&t[a].toString()===e[a].toString())continue;return!1}}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(var u=0;u<t.length;u++)if(!v(t[u],e[u]))return!1}else if(Array.isArray(t)||Array.isArray(e))return!1;return!0}var g={templater:function(){},renderCount:0,mutatingRender:function(){throw new Error('Tag function "render()" was called in sync but can only be called async')},render:function(){},init:function(t){},async:function(t){return function(){var e=t.apply(void 0,arguments);tagSupport.render(),e instanceof Promise&&e.then((function(){tagSupport.render()}))}},hasPropChanges:function(t,e,r){var n=this.templater.cloneProps;return!(void 0===t&&t===r||v(e,n))}};function h(t){var e={templater:t,renderCount:0,mutatingRender:function(){throw new Error('Tag function "render()" was called in sync but can only be called async')},render:function(){return++e.renderCount,e.mutatingRender.apply(e,arguments)},hasPropChanges:function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return g.hasPropChanges.apply(e,r)},init:function(t){t(),e.init=function(){}},async:function(t){return function(){var r=t.apply(void 0,arguments);e.render(),r instanceof Promise&&r.then((function(){e.render()}))}}};return e}var d={array:[],rearray:[],currentTag:void 0,ownerTag:void 0};function b(t){return t instanceof Function&&t.toString().includes("html`")}var m={array:[],rearray:[],currentTag:void 0};function S(t){return S="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},S(t)}function w(t){return function(t){if(Array.isArray(t))return T(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return T(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?T(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function P(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,R(n.key),n)}}function j(t,e,r){return(e=R(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function R(t){var e=function(t,e){if("object"!=S(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,"string");if("object"!=S(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==S(e)?e:String(e)}var O="__tagVar",k="--"+O+"--",E=new RegExp(O,"g"),C=(new RegExp(k,"g"),[{beforeRedraw:function(t){var e;m.currentTag=t,t.states.length&&(e=m.rearray).push.apply(e,w(t.states))},afterRender:function(t){if(m.rearray.length&&m.rearray.length!==m.array.length)throw new Error("States lengths mismatched ".concat(m.rearray.length," !== ").concat(m.array.length));m.rearray.length=0,t.states=w(m.array),m.array.length=0}},{beforeRedraw:function(t){var e;d.currentTag=t,d.ownerTag=t.ownerTag,t.providers.length&&(e=d.rearray).push.apply(e,w(t.providers))},afterRender:function(t){if(d.rearray.length&&d.rearray.length!==d.array.length)throw new Error("Providers lengths mismatched ".concat(d.rearray.length," !== ").concat(d.array.length));d.rearray.length=0,t.providers=w(d.array),d.array.length=0}}]),A=function(){function t(e,r){(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")})(this,t),j(this,"context",{}),j(this,"clones",[]),j(this,"cloneSubs",[]),j(this,"children",[]),j(this,"tagSupport",void 0),j(this,"states",[]),j(this,"providers",[]),j(this,"lastTemplateString",void 0),this.strings=e,this.values=r}return e=t,r=[{key:"beforeRedraw",value:function(){var t=this;C.forEach((function(e){return e.beforeRedraw(t)}))}},{key:"afterRender",value:function(){var t=this;C.forEach((function(e){return e.afterRender(t)}))}},{key:"key",value:function(t){return this.arrayValue=t,this}},{key:"destroy",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,e=arguments.length>1?arguments[1]:void 0;return this.children.forEach((function(t,e){return t.destroy(0,!0)})),this.destroySubscriptions(),e||(t=this.destroyClones(t).stagger),t}},{key:"destroySubscriptions",value:function(){this.cloneSubs.forEach((function(t){return t.unsubscribe()})),this.cloneSubs.length=0}},{key:"destroyClones",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.clones.reverse().forEach((function(e,r){var n=Promise.resolve();e.ondestroy&&(n=function(t,e){var r=t.ondestroy;if(r){var n=r.tagFunction;if(n){var o=n.tagFunction;if(o)return o({target:t,stagger:e})}}}(e,t)),n.then((function(){return e.parentNode.removeChild(e)}))})),this.clones.length=0,t}},{key:"updateByTag",value:function(t){this.updateConfig(t.strings,t.values),this.tagSupport.templater=t.tagSupport.templater}},{key:"setSupport",value:function(t){this.tagSupport=this.tagSupport||t,this.tagSupport.mutatingRender=this.tagSupport.mutatingRender||t.mutatingRender,this.children.forEach((function(e){return e.setSupport(t)}))}},{key:"updateConfig",value:function(t,e){this.strings=t,this.updateValues(e)}},{key:"getTemplate",value:function(){var t=this;return{string:this.lastTemplateString=this.strings.map((function(e,r){return e.replace(E,k)+(t.values.length>r?"{".concat(O).concat(r,"}"):"")})).join(""),strings:this.strings,values:this.values,context:this.context}}},{key:"isLikeTag",value:function(e){var r=this;return e.lastTemplateString===this.lastTemplateString&&e.values.length===this.values.length&&!!e.values.every((function(e,n){var o=r.values[n];return e instanceof Function&&o instanceof Function?!(e.toString()!==o.toString()):!(e instanceof t&&o instanceof t&&(e.ownerTag=r,r.children.push(e),e.lastTemplateString||e.getTemplate().string,!e.isLikeTag(o)))}))}},{key:"update",value:function(){return this.updateContext(this.context)}},{key:"updateValues",value:function(t,e){return this.values=t,this.updateContext(this.context,e)}},{key:"updateContext",value:function(e){var r=this;return this.strings.map((function(n,o){var i=O+o,a=r.values.length>o,u=r.values[o],c=e[i];if(c){var s,l=null===(s=c.value)||void 0===s?void 0:s.tag;if(b(u)){var f,y,g=u.cloneProps,d=c.tag;if(!c.tag)return F(u,c,r),void u.redraw(g);var m=d.tagSupport,S=u.tagSupport||m||h(u),w=null===(f=S.templater)||void 0===f?void 0:f.cloneProps,T=null===(y=S.templater)||void 0===y?void 0:y.props;if(d&&(void 0===T&&T===g||v(w,g)))return;return F(u,c,r),m.templater=u,void(c.value.tag=m.newest=u.redraw(g))}if(l){var P=l.tagSupport,j=u;P.oldest.beforeRedraw();var R=j(P);return j.newest=R,P.oldest.afterRender(),l.updateByTag(R),void c.set(u)}return u instanceof Function?void c.set(x(u,r)):void c.set(u)}b(u)?F(u,e[i]=new p(u),r):u instanceof Function?e[i]=function(t,e){return new p(x(t,e))}(u,r):a&&(u instanceof t&&(u.ownerTag=r,r.children.push(u)),e[i]=new p(u))})),e}},{key:"getAppElement",value:function(){for(var t=this;t.ownerTag;)t=t.ownerTag;return t}}],r&&P(e.prototype,r),n&&P(e,n),Object.defineProperty(e,"prototype",{writable:!1}),t;var e,r,n}();function x(t,e){function r(r,n){var o=e.tagSupport.renderCount,i=t.bind(r).apply(void 0,w(n));if(o===e.tagSupport.renderCount)return e.tagSupport.render(),i instanceof Promise&&i.then((function(){e.tagSupport.render()})),i}return r.tagFunction=t,r}function F(t,e,r){var n=this;t.redraw=function(){var o,i=e.tag,a=(null==i?void 0:i.tagSupport)||h(t);++a.renderCount,e.tagSupport=a,a.mutatingRender=a.mutatingRender||(null===(o=e.tagSupport)||void 0===o?void 0:o.mutatingRender)||n.tagSupport.mutatingRender;var u=(null==i?void 0:i.ownerTag)||r;a.oldest?a.oldest.beforeRedraw():d.ownerTag=u;var c=t(a);a.oldest?a.oldest.afterRender():c.afterRender(),t.newest=c,c.ownerTag=u,a.oldest=a.oldest||c,a.newest=c;var s=a.oldest.tagSupport;if(a.oldest.tagSupport=s||a,a.oldest.tagSupport.templater=t,c.setSupport(a),!i||!i.isLikeTag(c))return e.set(t),c;a.oldest.updateByTag(c)}}new A})();
1
+ var t={d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},e={};t.d(e,{xQ:()=>r,dy:()=>V,a:()=>m,TF:()=>$,SB:()=>C,_q:()=>B,Dc:()=>M});class r{constructor(){this.subscribers=[]}subscribe(t){this.subscribers.push(t),r.globalSubs.push(t),++r.globalSubCount;const e=()=>{n(this.subscribers,t),n(r.globalSubs,t),--r.globalSubCount};return e.unsubscribe=e,e}set(t){this.value=t,this.subscribers.forEach((e=>{e.value=t,e(t)}))}next=this.set}function n(t,e){const r=t.indexOf(e);-1!==r&&t.splice(r,1)}r.globalSubCount=0,r.globalSubs=[];class o extends r{value;constructor(t){super(),this.value=t}subscribe(t){const e=super.subscribe(t);return t(this.value),e}}function a(t,e=new WeakMap){if(null===t||"object"!=typeof t)return t;if(e.has(t))return e.get(t);if(t instanceof Date)return new Date(t);if(t instanceof RegExp)return new RegExp(t);const r=Array.isArray(t)?[]:Object.create(Object.getPrototypeOf(t));if(e.set(t,r),Array.isArray(t))for(let n=0;n<t.length;n++)r[n]=a(t[n],e);else for(const n in t)t.hasOwnProperty(n)&&(r[n]=a(t[n],e));return r}function s(t,e){if(t===e)return!0;if("object"!=typeof t||"object"!=typeof e||null===t||null===e)return!1;const r=Object.keys(t),n=Object.keys(e);if(r.length!==n.length)return!1;for(const o of r)if(!n.includes(o)||!s(t[o],e[o])){if(t[o]instanceof Function&&e[o]instanceof Function&&t[o].toString()===e[o].toString())continue;return!1}if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(!s(t[r],e[r]))return!1}else if(Array.isArray(t)||Array.isArray(e))return!1;return!0}function i(t,e,r){const n=t.split(".");if("style"===n[0]&&(r.style[n[1]]=e),"class"===n[0])return n.pop(),void(e?n.forEach((t=>r.classList.remove(t))):n.forEach((t=>r.classList.add(t))))}const u=/^\s*{/,c=/}\s*$/;function l(t,e,n){t.getAttributeNames().forEach((o=>{const a=t.getAttribute(o),s=function(t){return t.search(/^(class|style)(\.)/)>=0}(o);if(a.search(u)>=0&&a.search(c)>=0){const u=a.replace("{","").split("").reverse().join("").replace("}","").split("").reverse().join(""),c=e[u];if(c instanceof Function)return void(t[o]=function(...e){c(t,e)});if(c instanceof r){t.removeAttribute(o);const e=e=>{if(e instanceof Function)return t[o]=function(...r){e(t,r)},void(t[o].tagFunction=e);s&&i(o,e,t),e&&t.setAttribute(o,e),void 0===e||!1===e||null===e?t.removeAttribute(o,e):t.setAttribute(o,e)},r=c.subscribe(e);return void n.cloneSubs.push(r)}t.setAttribute(o,c.value)}else if(s)return i(o,a,t)}))}const g=/(?:<[^>]*>)|({__tagVar[^}]+})/g;function p(t,e,n){if(!t.children||"TEMPLATE"===t.tagName)return;const o={added:0,removed:0},i=new Array(...t.children);function u(t,i,u){u.forEach(((t,e)=>{if(!(e<i)&&"TEMPLATE"===t.tagName&&void 0!==t.getAttribute("interpolate")&&void 0!==t.getAttribute("end"))return t})),function(t,e,n,o){if(!t.hasAttribute("end"))return;const i=t.getAttribute("id");if(i.substring(0,P.length)!==P)return;const u=e[i];if(u instanceof r){const e=e=>{!function(t,e,r,n,o){if(t instanceof L)return t.tagSupport||(t.tagSupport=v(),t.tagSupport.mutatingRender=n.tagSupport.mutatingRender,t.tagSupport.oldest=t.tagSupport.oldest||t,n.children.push(t),t.ownerTag=n),void S(t,e,r,{counts:o});if(t instanceof Array&&t.every((t=>t instanceof L)))return function(t,e,r,n,o){t.lastArray=t.lastArray||[];let a=0;return t.lastArray=t.lastArray.filter(((r,n)=>{const s=e.length-1<n-a,i=e[n-a],u=i?.arrayValue;return!s&&u===r.tag.arrayValue||(t.lastArray[n].tag.destroy(o.removed,!1),++a,++o.removed,!1)})),void e.forEach(((e,a)=>{if(e.tagSupport=n.tagSupport,e.ownerTag=n,n.children.push(e),void 0===e.arrayValue&&!Object.keys(e).includes("arrayValue")){const t=new Error("Use html`...`.key(item) instead of html`...` to template an Array");throw t.code="add-array-key",t}const s=t.lastArray[a];if(s)return void(s.tag.arrayValue===e.arrayValue&&s.tag.updateValues(e.values));const i=r||r.clone;S(e,t,i,{index:a,counts:o})}))}(e,t,r,n,o);if(T(t))return function(t,e,r,n,o){if(!t.cloneProps)throw new Error(`Not a tag component. Use functionName = component(functionName) on component:\n\n${t.toString().substring(0,120)}\n\n`);const i=e.tagSupport||v(t);t.setCallback(n.tagSupport.async),i.mutatingRender=()=>{const r=i.renderCount;if(e.tag){if(function(t){t.providers.filter((t=>!s(t.instance,t.clone))).forEach((e=>{!function(t,e){E(t,e).forEach((({tag:t,renderCount:e,provider:r})=>{e===t.tagSupport.renderCount&&(r.clone=a(r.instance),t.tagSupport.render())}))}(t.getAppElement(),e),e.clone=a(e.instance)}))}(e.tag),r!==i.renderCount)return i.newest;if(!i.hasPropChanges(t.props,t.newProps,e.tag.tagSupport.templater.props))return i.newest=t.redraw(t.newProps),i.newest}return i.newest=n.tagSupport.render(t.newProps)};const u=t;let c=u.newest;b.ownerTag=n;return!c&&(c=u(i),c.afterRender(),u.oldest=c,i.oldest=c,t.oldest=c),u.newest=c,c.ownerTag=n,c.ownerTag=n,n.children.push(c),c.setSupport(i),void S(c,e,r,{counts:o})}(t,e,r,n,o);if(e.tag){const n=r.clone||r;n.parentNode.insertBefore(r,n);const a=o.removed,s=e.tag.destroy(a);o.removed=a+s,delete e.tag;const i=w(t,n);return void(r.clone=i)}const i=r.clone||r,u=w(t,i);r.clone=u;const c=n.clones.indexOf(i);c>=0&&!n.clones.includes(u)&&!i.parentNode&&(n.clones.splice(c,1),n.clones.push(u))}(e,u,t,n,o),setTimeout((()=>{o.added=0,o.removed=0}),0)},r=u.subscribe(e);return void n.cloneSubs.push(r)}const c=w(u,t.clone||t);n.clones.push(c),t.clone=c}(t,e,n,o)}i.forEach(((t,r)=>{if(u(t,r,i),t.children){const r=new Array(...t.children);r.forEach(((t,o)=>{(function(t){return"TEMPLATE"===t.tagName&&void 0!==t.getAttribute("interpolate")&&void 0!==t.getAttribute("end")})(t)&&u(t,o,r),p(t,e,n)}))}}))}function d(t,e,r){(function(t,e){const r=function(t){const e=[];return{string:t.replace(g,((t,r)=>{if(t.startsWith("<"))return t;const n=r.substring(1,r.length-1);return e.push(n),`<template interpolate end id="${n}"></template>`})),keys:e}}(t.innerHTML);return r.string=r.string.replace(j,P),t.innerHTML=r.string,r})(t).keys.length&&p(t,e,r),l(t,e,r),function t(n){new Array(...n).forEach((n=>{l(n,e,r),n.children&&t(n.children)}))}(t.children)}function h(t,e,r,n){const o=document.createElement("div");o.id="tag-temp-holder",o.innerHTML="<div></div>"+e.string,d(o,t.update(),t);const a=function(t,e,r){const n=[],o=t.children[0];let a=o.nextSibling;for(t.removeChild(o);a;){const t=a.nextSibling;f(a,0,e),n.push(a),a=t}return n}(o,r);return t.clones.push(...a),a}function f(t,e,r,n){r.parentNode.insertBefore(t,r)}const y={templater:()=>{},renderCount:0,mutatingRender:()=>{throw new Error('Tag function "render()" was called in sync but can only be called async')},render:(...t)=>{},init:t=>{},async:t=>(...e)=>{const r=t(...e);tagSupport.render(),r instanceof Promise&&r.then((()=>{tagSupport.render()}))},hasPropChanges:function(t,e,r){const n=this.templater.cloneProps;return!(void 0===t&&t===r||s(e,n))}};function v(t){const e={templater:t,renderCount:0,mutatingRender:()=>{throw new Error('Tag function "render()" was called in sync but can only be called async')},render:(...t)=>(++e.renderCount,e.mutatingRender(...t)),hasPropChanges:(...t)=>y.hasPropChanges.apply(e,t),init:t=>{t(),e.init=()=>{}},async:t=>(...r)=>{const n=t(...r);e.render(),n instanceof Promise&&n.then((()=>{e.render()}))}};return e}const b={array:[],rearray:[],currentTag:void 0,ownerTag:void 0},m={create:t=>{const e=b.rearray[b.array.length];if(e)return b.array.push(e),e.instance;const r=t.constructor?new t:t();return b.array.push({constructorMethod:t,instance:r,clone:a(r)}),r},inject:t=>{const e=b.rearray[b.array.length];if(e)return b.array.push(e),e.instance;let r={ownerTag:b.ownerTag};for(;r.ownerTag;){const e=r.ownerTag.providers.find((e=>{if(e.constructorMethod===t)return!0}));if(e)return e.clone=a(e.instance),b.array.push(e),e.instance;r=r.ownerTag}throw new Error(`Could not inject provider: ${t}`)}};function w(t,e){const r=e.parentNode;void 0!==t&&!1!==t&&null!==t||(t="");const n=document.createTextNode(t);return r.insertBefore(n,e),e.parentNode.removeChild(e),n}function S(t,e,r,{index:n,counts:o}){const a=t.getTemplate();if(void 0!==n){const s=e.lastArray[n];return s?.tag.isLikeTag(t)?void s.tag.updateByTag(t):(h(t,a,r).forEach((t=>A(t,o))),void e.lastArray.push({tag:t,index:n}))}if(e.tag&&e.tag.isLikeTag(t)){if(e instanceof Function){const t=e(e.tag.tagSupport);return void e.tag.updateByTag(t)}e.tag.updateByTag(t)}else h(t,a,r.clone||r).forEach((t=>A(t,o))),e.tag=t}function T(t){return t instanceof Function&&t.toString().includes("html`")}function A(t,e){t.getAttribute&&(function(t,e){const r=t.oninit;if(!r)return;const n=r.tagFunction;if(!n)return;const o=n.tagFunction;o&&(o({target:t,stagger:e.added}),++e.added)}(t,e),t.children&&new Array(...t.children).forEach((t=>A(t,e))))}function E(t,e,r=[]){const n=t.providers.find((t=>t.constructorMethod===e.constructorMethod));return n&&r.push({tag:t,renderCount:t.tagSupport.renderCount,provider:n}),t.children.forEach((t=>E(t,e,r))),r}const R={array:[],rearray:[],currentTag:void 0};function C(t,e){const r=R.rearray[R.array.length];if(r){const[t]=r();return r(t),R.array.push(e),t}return R.array.push(e),t}const P="__tagVar",x="--"+P+"--",F=new RegExp(P,"g"),j=new RegExp(x,"g"),k=[{beforeRedraw:t=>{R.currentTag=t,t.states.length&&R.rearray.push(...t.states)},afterRender:t=>{if(R.rearray.length&&R.rearray.length!==R.array.length)throw new Error(`States lengths mismatched ${R.rearray.length} !== ${R.array.length}`);R.rearray.length=0,t.states=[...R.array],R.array.length=0}},{beforeRedraw:t=>{b.currentTag=t,b.ownerTag=t.ownerTag,t.providers.length&&b.rearray.push(...t.providers)},afterRender:t=>{if(b.rearray.length&&b.rearray.length!==b.array.length)throw new Error(`Providers lengths mismatched ${b.rearray.length} !== ${b.array.length}`);b.rearray.length=0,t.providers=[...b.array],b.array.length=0}}];class L{context={};clones=[];cloneSubs=[];children=[];tagSupport;constructor(t,e){this.strings=t,this.values=e}states=[];providers=[];beforeRedraw(){k.forEach((t=>t.beforeRedraw(this)))}afterRender(){k.forEach((t=>t.afterRender(this)))}key(t){return this.arrayValue=t,this}destroy(t=0,e){return this.children.forEach(((t,e)=>t.destroy(0,!0))),this.destroySubscriptions(),e||(t=this.destroyClones(t).stagger),t}destroySubscriptions(){this.cloneSubs.forEach((t=>t.unsubscribe())),this.cloneSubs.length=0}destroyClones(t=0){return this.clones.reverse().forEach(((e,r)=>{let n=Promise.resolve();e.ondestroy&&(n=function(t,e){const r=t.ondestroy;if(!r)return;const n=r.tagFunction;if(!n)return;const o=n.tagFunction;if(!o)return;return o({target:t,stagger:e})}(e,t)),n.then((()=>e.parentNode.removeChild(e)))})),this.clones.length=0,t}updateByTag(t){this.updateConfig(t.strings,t.values),this.tagSupport.templater=t.tagSupport.templater}lastTemplateString=void 0;setSupport(t){this.tagSupport=this.tagSupport||t,this.tagSupport.mutatingRender=this.tagSupport.mutatingRender||t.mutatingRender,this.children.forEach((e=>e.setSupport(t)))}updateConfig(t,e){this.strings=t,this.updateValues(e)}getTemplate(){return{string:this.lastTemplateString=this.strings.map(((t,e)=>t.replace(F,x)+(this.values.length>e?`{${P}${e}}`:""))).join(""),strings:this.strings,values:this.values,context:this.context}}isLikeTag(t){return t.lastTemplateString===this.lastTemplateString&&(t.values.length===this.values.length&&!!t.values.every(((t,e)=>{const r=this.values[e];return t instanceof Function&&r instanceof Function?!(t.toString()!==r.toString()):!(t instanceof L&&r instanceof L&&(t.ownerTag=this,this.children.push(t),t.lastTemplateString||t.getTemplate().string,!t.isLikeTag(r)))})))}update(){return this.updateContext(this.context)}updateValues(t,e){return this.values=t,this.updateContext(this.context,e)}updateContext(t){return this.strings.map(((e,r)=>{const n=P+r,a=this.values.length>r,i=this.values[r],u=t[n];if(u){const t=u.value?.tag;if(T(i)){const t=i.cloneProps,e=u.tag;if(!u.tag)return O(i,u,this),void i.redraw(t);const r=e.tagSupport,n=i.tagSupport||r||v(i),o=n.templater?.cloneProps,a=n.templater?.props;if(e&&(void 0===a&&a===t||s(o,t)))return;return O(i,u,this),r.templater=i,void(u.value.tag=r.newest=i.redraw(t))}if(t){const e=t.tagSupport,r=i;e.oldest.beforeRedraw();const n=r(e);return r.newest=n,e.oldest.afterRender(),t.updateByTag(n),void u.set(i)}return i instanceof Function?void u.set(N(i,this)):void u.set(i)}T(i)?O(i,t[n]=new o(i),this):i instanceof Function?t[n]=function(t,e){return new o(N(t,e))}(i,this):a&&(i instanceof L&&(i.ownerTag=this,this.children.push(i)),t[n]=new o(i))})),t}getAppElement(){let t=this;for(;t.ownerTag;)t=t.ownerTag;return t}}function N(t,e){function r(r,n){const o=e.tagSupport.renderCount,a=t.bind(r)(...n);if(o===e.tagSupport.renderCount)return e.tagSupport.render(),a instanceof Promise&&a.then((()=>{e.tagSupport.render()})),a}return r.tagFunction=t,r}function O(t,e,r){t.redraw=()=>{const n=e.tag,o=n?.tagSupport||v(t);++o.renderCount,e.tagSupport=o,o.mutatingRender=o.mutatingRender||e.tagSupport?.mutatingRender||this.tagSupport.mutatingRender;const a=n?.ownerTag||r;o.oldest?o.oldest.beforeRedraw():b.ownerTag=a;const s=t(o);o.oldest?o.oldest.afterRender():s.afterRender(),t.newest=s,s.ownerTag=a,o.oldest=o.oldest||s,o.newest=s;const i=o.oldest.tagSupport;if(o.oldest.tagSupport=i||o,o.oldest.tagSupport.templater=t,s.setSupport(o),!n||!n.isLikeTag(s))return e.set(t),s;o.oldest.updateByTag(s)}}function V(t,...e){return new L(t,e)}function B(t){return e=>{const r=function(t,e){const r={...t};return Object.entries(r).forEach((([t,e])=>{r[t]=e instanceof Function?(...t)=>((t,e)=>{const r=t(...e);return n.newest.ownerTag.tagSupport.render(),r})(e,t):e})),r}(e),n=t(r);return n.props=e,n.newProps=r,n.cloneProps=a(r),n.setCallback=t=>t,n}}function M(t){return new Promise((e=>{setTimeout((()=>{e()}),t)}))}function $(t,e,r){const n=t(r),o=function(t){const e=v(t),r=t(e);return r.afterRender(),r.tagSupport=e,{tag:r,tagSupport:e}}(n),{tag:a,tagSupport:s}=o;let i;s.mutatingRender=()=>{a.beforeRedraw();const t=i=n(a.tagSupport);return a.afterRender(),t.setSupport(a.tagSupport),a.updateByTag(t,!0),i&&i.destroy(0),i};const u=a.updateValues(a.values),c=a.getTemplate();e.innerHTML=c.string,d(e,u,a)}new L;var _=e.xQ,D=e.dy,H=e.a,q=e.TF,Q=e.SB,U=e._q,W=e.Dc;export{_ as Subject,D as html,H as providers,q as renderAppToElement,Q as state,U as tag,W as wait};
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "taggedjs",
3
- "version": "0.0.6",
3
+ "version": "0.0.11",
4
4
  "description": "tagged template reactive html",
5
- "main": "index.js",
5
+ "main": "src/index.js",
6
+ "type": "module",
6
7
  "keywords": [
7
8
  "react",
8
9
  "angular",